diff --git a/third_party/intel/backend/driver.c b/third_party/intel/backend/driver.c index 77dfb81d08..aaabd95fc6 100644 --- a/third_party/intel/backend/driver.c +++ b/third_party/intel/backend/driver.c @@ -192,9 +192,13 @@ static PyObject *loadBinary(PyObject *self, PyObject *args) { // If the register mode isn't set, and the number of spills is greater // than the threshold, recompile the kernel using large GRF mode. if (!is_GRF_mode_specified && n_spills > max_reg_spill) { - std::cout << "(I): Detected " << n_spills - << " spills, recompiling the kernel using large GRF mode" - << std::endl; + const std::optional debugEnabled = + isEnvValueBool(getStrEnv("TRITON_DEBUG")); + if (debugEnabled) + std::cout << "(I): Detected " << n_spills + << " spills, recompiling kernel \"" << kernel_name + << "\" using large GRF mode" << std::endl; + const std::string new_build_flags = build_flags_str.append(" -cl-intel-256-GRF-per-thread"); l0_module = checkSyclErrors( @@ -204,7 +208,10 @@ static PyObject *loadBinary(PyObject *self, PyObject *args) { l0_kernel = checkL0Errors(l0_module); gpuAssert(zeKernelGetProperties(l0_kernel, &props)); n_spills = props.spillMemSize; - std::cout << "(I): Kernel has now " << n_spills << " spills" << std::endl; + + if (debugEnabled) + std::cout << "(I): Kernel has now " << n_spills << " spills" + << std::endl; } } diff --git a/third_party/intel/backend/lib/libsycl-spir64-unknown-unknown.ll b/third_party/intel/backend/lib/libsycl-spir64-unknown-unknown.ll new file mode 100644 index 0000000000..24286e912c --- /dev/null +++ b/third_party/intel/backend/lib/libsycl-spir64-unknown-unknown.ll @@ -0,0 +1,63895 @@ +; ModuleID = 'libsycl-spir64-unknown-unknown.bc' +source_filename = "llvm-link" +target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64-G1" +target triple = "spir64-unknown-unknown" + +%struct.AssertHappened = type { i32, [257 x i8], [257 x i8], [129 x i8], i32, i64, i64, i64, i64, i64, i64 } +%"struct.__imf_impl_cos_s_la::(anonymous namespace)::__devicelib_imf_internal_scos_data_t" = type { [256 x [4 x i32]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } +%"struct.__imf_impl_cos_s_la::(anonymous namespace)::__scos_la_ReductionTab_t" = type { [256 x [3 x i32]] } +%"struct.__imf_impl_sin_s_la::(anonymous namespace)::__devicelib_imf_internal_ssin_data_t" = type { [256 x [4 x i32]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } +%union._iml_sp_union_t = type { [1 x i32] } +%"struct.__imf_impl_log1p_s_ha::(anonymous namespace)::__devicelib_imf_internal_slog1p_data_t" = type { [258 x i32], i32, i32, i32, i32, i32, [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, [10 x i32], i32, i32, i32, i32, i32, i32, [2 x i32], [2 x i32], [2 x i32] } +%"struct.__imf_impl_erfinv_s_ha::(anonymous namespace)::__devicelib_imf_internal_serfinv_data_t" = type { [24 x [8 x [8 x i32]]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], [2 x i32], [2 x i32] } +%"struct.__imf_impl_erfc_s_la::(anonymous namespace)::__devicelib_imf_internal_serfc_data_t" = type { [1290 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } +%"struct.__imf_impl_tan_s_la::(anonymous namespace)::__devicelib_imf_internal_stan_data_t" = type { i32, i32, i32, i32, i32, i32, [32 x i32], [32 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [128 x [10 x i32]] } +%"struct.__imf_impl_sincos_s_la::(anonymous namespace)::__devicelib_imf_internal_ssincos_data_t" = type { [256 x [4 x i32]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } +%"struct.__imf_impl_tanh_s_ha::(anonymous namespace)::__devicelib_imf_internal_stanh_data_t" = type { [32 x i32], [32 x i32], [32 x i32], [32 x i32], [32 x i32], [32 x i32], [32 x i32], [32 x i32], [32 x i32], i32, i32, i32, [216 x i64], i32, i32, i32, i32, i32, i32 } +%"struct.__imf_impl_cdfnorm_s_la::(anonymous namespace)::__devicelib_imf_internal_scdfnorm_data_t" = type { [1816 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } +%"struct.__imf_impl_cdfnorminv_s_la::(anonymous namespace)::__devicelib_imf_internal_scdfnorminv_data_t" = type { [24 x [8 x [4 x i32]]], i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], [2 x i32], [2 x i32] } +%"struct.__imf_impl_exp10_d_la::(anonymous namespace)::__devicelib_imf_internal_dexp10_data_t" = type { [128 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32 } +%"struct.__imf_impl_ln_d_ha::(anonymous namespace)::__devicelib_imf_internal_dln_data_t" = type { [1026 x i64], [513 x i64], [4 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_log10_d_ha::(anonymous namespace)::__devicelib_imf_internal_dlog10_data_t" = type { [514 x i64], [513 x i64], [6 x i64], [5 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_log2_d_ha::(anonymous namespace)::__devicelib_imf_internal_dlog2_data_t" = type { [1026 x i64], [513 x i64], [6 x i64], [5 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_erfinv_d_la::(anonymous namespace)::__devicelib_imf_internal_derfinv_data_avx512_t" = type { [11010 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64], [2 x i64], [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_acosh_d_la::(anonymous namespace)::__devicelib_imf_internal_dacosh_data_t" = type { [1026 x i64], [513 x i64], [4 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_atan2_d_ha::(anonymous namespace)::__devicelib_imf_internal_datan2_data_t" = type { [6 x [4 x i64]], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i64, i64, i32, i64, i64, i64, i32, i32 } +%"struct.__imf_impl_atan_d_ha::(anonymous namespace)::__devicelib_imf_internal_datan_data_t" = type { [6 x [4 x i64]], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32 } +%"struct.__imf_impl_atanh_d_ha::(anonymous namespace)::__devicelib_imf_internal_datanh_data_t" = type { [1026 x i64], [513 x i64], [4 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_cdfnorm_d_la::(anonymous namespace)::__devicelib_imf_internal_dcdfnorm_data_t" = type { [9856 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } +%"struct.__imf_impl_cdfnorminv_d_la::(anonymous namespace)::__devicelib_imf_internal_dcdfnorminv_data_avx512_t" = type { [21762 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"struct.__imf_impl_cosh_d_ha::(anonymous namespace)::__devicelib_imf_internal_dcosh_data_t" = type { [16 x i64], [16 x i64], [16 x i64], i64, i64, i64, i64, i64, i64, i64, i64, [128 x [3 x i64]], i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i32 } +%"struct.__imf_impl_erfc_d_la::(anonymous namespace)::__devicelib_imf_internal_derfc_data_t" = type { [6976 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } +%"struct.__imf_impl_erfcinv_d_la::(anonymous namespace)::__devicelib_imf_internal_derfcinv_data_avx512_t" = type { [22018 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [2 x i64], [2 x i64], [2 x i64] } +%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" = type { i64 } +%"struct.__imf_impl_sinh_d_la::(anonymous namespace)::__devicelib_imf_internal_dsinh_data_t" = type { [16 x i64], [16 x i64], [16 x i64], [16 x i64], i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [128 x [2 x i64]], i64, i32, i64, i64, i64, i64, i64, i64, i64, i64 } +%"struct.__imf_impl_tan_d_ha::(anonymous namespace)::__devicelib_imf_internal_dtan_data_t" = type { i64, i64, i64, i64, i64, i64, [16 x i64], [16 x i64], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [256 x [13 x i64]], i64 } +%"struct.__imf_impl_tan_d_ha::(anonymous namespace)::__dtan_ha_ReductionTab_t" = type { [2048 x [3 x i64]] } +%struct.__devicelib_div_t_32 = type { i32, i32 } +%struct.__devicelib_div_t_64 = type { i64, i64 } +%class.__add_ss_op = type { i8 } +%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double" = type { [2 x double] } +%class.__iml_ui128 = type { [2 x i64] } + +$_Z28__spirv_GlobalInvocationId_xv = comdat any + +$_Z28__spirv_GlobalInvocationId_yv = comdat any + +$_Z28__spirv_GlobalInvocationId_zv = comdat any + +$_Z27__spirv_LocalInvocationId_xv = comdat any + +$_Z27__spirv_LocalInvocationId_yv = comdat any + +$_Z27__spirv_LocalInvocationId_zv = comdat any + +$_ZN11__add_ss_opIsEclERKsS2_ = comdat any + +$_ZNSt14numeric_limitsIsE3minEv = comdat any + +$_ZN8__max_opIiEclERKiS2_ = comdat any + +$_ZNSt14numeric_limitsIsE3maxEv = comdat any + +$_ZN8__min_opIiEclERKiS2_ = comdat any + +$_ZN11__add_ss_opIaEclERKaS2_ = comdat any + +$_ZNSt14numeric_limitsIaE3minEv = comdat any + +$_ZN8__max_opIsEclERKsS2_ = comdat any + +$_ZNSt14numeric_limitsIaE3maxEv = comdat any + +$_ZN8__min_opIsEclERKsS2_ = comdat any + +$_ZN11__sub_ss_opIsEclERKsS2_ = comdat any + +$_ZN11__sub_ss_opIaEclERKaS2_ = comdat any + +$_Z18__fp_add_sub_entryIfET_S0_S0_i = comdat any + +$_Z17__fp_add_sig_sameIfET_S0_S0_i = comdat any + +$_Z17__fp_add_sig_diffIfET_S0_S0_i = comdat any + +$_Z8__fp_mulIfET_S0_S0_i = comdat any + +$_Z8__fp_divIfET_S0_S0_i = comdat any + +$_Z18__fp_add_sub_entryIdET_S0_S0_i = comdat any + +$_Z17__fp_add_sig_sameIdET_S0_S0_i = comdat any + +$_Z17__fp_add_sig_diffIdET_S0_S0_i = comdat any + +$_Z8__fp_mulIdET_S0_S0_i = comdat any + +$_ZN11__iml_ui128mlERKS_ = comdat any + +$_ZNK11__iml_ui12813ui128_msb_posEv = comdat any + +$_ZN11__iml_ui128lsEm = comdat any + +$_ZN11__iml_ui128rsEm = comdat any + +$_Z8__fp_divIdET_S0_S0_i = comdat any + +@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInLocalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@SPIR_AssertHappenedMem = linkonce_odr dso_local addrspace(1) global %struct.AssertHappened zeroinitializer, align 8 +@_ZN19__imf_impl_cos_s_la12_GLOBAL__N_134__devicelib_imf_internal_scos_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cos_s_la::(anonymous namespace)::__devicelib_imf_internal_scos_data_t" { [256 x [4 x i32]] [[4 x i32] [i32 0, i32 1065353216, i32 0, i32 0], [4 x i32] [i32 1004262721, i32 1065348163, i32 814009613, i32 -1124073472], [4 x i32] [i32 1012667202, i32 1065333007, i32 836655967, i32 -1115684864], [4 x i32] [i32 -1137358811, i32 1065307757, i32 852498564, i32 -1115684864], [4 x i32] [i32 1021119272, i32 1065272429, i32 838093129, i32 -1107296256], [4 x i32] [i32 992588201, i32 1065227044, i32 -1292769789, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 1065171628, i32 -1325966615, i32 -1107296256], [4 x i32] [i32 -1120124279, i32 1065106216, i32 -1305356661, i32 -1107296256], [4 x i32] [i32 1029761272, i32 1065030846, i32 855602635, i32 -1098907648], [4 x i32] [i32 1023221605, i32 1064945565, i32 851856985, i32 -1098907648], [4 x i32] [i32 1004930693, i32 1064850424, i32 -1307723291, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 1064745479, i32 846006572, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 1064630795, i32 -1298948830, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 1064506439, i32 851742225, i32 -1098907648], [4 x i32] [i32 -1112411313, i32 1064372488, i32 840880349, i32 -1098907648], [4 x i32] [i32 1041201069, i32 1064229022, i32 -1298975780, i32 -1090519040], [4 x i32] [i32 1039156139, i32 1064076126, i32 854796500, i32 -1090519040], [4 x i32] [i32 1036128472, i32 1063913895, i32 -1293212820, i32 -1090519040], [4 x i32] [i32 1033133567, i32 1063742424, i32 -1296288887, i32 -1090519040], [4 x i32] [i32 1028547674, i32 1063561817, i32 823789818, i32 -1090519040], [4 x i32] [i32 1021989220, i32 1063372184, i32 -1293421531, i32 -1090519040], [4 x i32] [i32 1005106760, i32 1063173637, i32 851900755, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 1062966298, i32 841166280, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 1062750291, i32 -1300406336, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 1062525745, i32 848357914, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 1062292797, i32 806113028, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 1062051586, i32 847147240, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 1061802258, i32 848897600, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 1061544963, i32 850481524, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 1061279856, i32 851442039, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 1061007097, i32 832220140, i32 -1090519040], [4 x i32] [i32 -1102965013, i32 1060726850, i32 -1300168697, i32 -1090519040], [4 x i32] [i32 1050015258, i32 1060439283, i32 844097402, i32 -1082130432], [4 x i32] [i32 1049440125, i32 1060144571, i32 -1297208014, i32 -1082130432], [4 x i32] [i32 1048879630, i32 1059842890, i32 -1296617162, i32 -1082130432], [4 x i32] [i32 1048092223, i32 1059534422, i32 -1308392637, i32 -1082130432], [4 x i32] [i32 1047031795, i32 1059219353, i32 841032635, i32 -1082130432], [4 x i32] [i32 1046002615, i32 1058897873, i32 848430348, i32 -1082130432], [4 x i32] [i32 1045005303, i32 1058570176, i32 -1312316429, i32 -1082130432], [4 x i32] [i32 1044040460, i32 1058236458, i32 852349230, i32 -1082130432], [4 x i32] [i32 1043108667, i32 1057896922, i32 -1303760153, i32 -1082130432], [4 x i32] [i32 1042210485, i32 1057551771, i32 -1296151730, i32 -1082130432], [4 x i32] [i32 1041346455, i32 1057201213, i32 -1302618110, i32 -1082130432], [4 x i32] [i32 1040517098, i32 1056726311, i32 -1316950871, i32 -1082130432], [4 x i32] [i32 1039258436, i32 1056004842, i32 -1308679879, i32 -1082130432], [4 x i32] [i32 1037741368, i32 1055273845, i32 -1311127692, i32 -1082130432], [4 x i32] [i32 1036296515, i32 1054533760, i32 840832460, i32 -1082130432], [4 x i32] [i32 1034924748, i32 1053785034, i32 829045603, i32 -1082130432], [4 x i32] [i32 1033626892, i32 1053028117, i32 836097324, i32 -1082130432], [4 x i32] [i32 1032403730, i32 1052263466, i32 -1301259354, i32 -1082130432], [4 x i32] [i32 1030713214, i32 1051491540, i32 -1306178046, i32 -1082130432], [4 x i32] [i32 1028569994, i32 1050712805, i32 -1304524384, i32 -1082130432], [4 x i32] [i32 1026580309, i32 1049927729, i32 846027248, i32 -1082130432], [4 x i32] [i32 1024745356, i32 1049136787, i32 824999326, i32 -1082130432], [4 x i32] [i32 1022722308, i32 1048104908, i32 -1323576291, i32 -1082130432], [4 x i32] [i32 1019677780, i32 1046502419, i32 833086710, i32 -1082130432], [4 x i32] [i32 1016948784, i32 1044891074, i32 -1327131011, i32 -1082130432], [4 x i32] [i32 1014052363, i32 1043271842, i32 823224313, i32 -1082130432], [4 x i32] [i32 1009865986, i32 1041645699, i32 837346836, i32 -1082130432], [4 x i32] [i32 1006005820, i32 1039839859, i32 -1323996977, i32 -1082130432], [4 x i32] [i32 1000196465, i32 1036565814, i32 -1334471947, i32 -1082130432], [4 x i32] [i32 993104536, i32 1033283845, i32 -1319952799, i32 -1082130432], [4 x i32] [i32 983425480, i32 1028193072, i32 -1326505345, i32 -1082130432], [4 x i32] [i32 966649823, i32 1019808432, i32 -1341797992, i32 -1082130432], [4 x i32] [i32 0, i32 0, i32 0, i32 -1082130432], [4 x i32] [i32 966649823, i32 -1127675216, i32 805685656, i32 -1082130432], [4 x i32] [i32 983425480, i32 -1119290576, i32 820978303, i32 -1082130432], [4 x i32] [i32 993104536, i32 -1114199803, i32 827530849, i32 -1082130432], [4 x i32] [i32 1000196465, i32 -1110917834, i32 813011701, i32 -1082130432], [4 x i32] [i32 1006005820, i32 -1107643789, i32 823486671, i32 -1082130432], [4 x i32] [i32 1009865986, i32 -1105837949, i32 -1310136812, i32 -1082130432], [4 x i32] [i32 1014052363, i32 -1104211806, i32 -1324259335, i32 -1082130432], [4 x i32] [i32 1016948784, i32 -1102592574, i32 820352637, i32 -1082130432], [4 x i32] [i32 1019677780, i32 -1100981229, i32 -1314396938, i32 -1082130432], [4 x i32] [i32 1022722308, i32 -1099378740, i32 823907357, i32 -1082130432], [4 x i32] [i32 1024745356, i32 -1098346861, i32 -1322484322, i32 -1082130432], [4 x i32] [i32 1026580309, i32 -1097555919, i32 -1301456400, i32 -1082130432], [4 x i32] [i32 1028569994, i32 -1096770843, i32 842959264, i32 -1082130432], [4 x i32] [i32 1030713214, i32 -1095992108, i32 841305602, i32 -1082130432], [4 x i32] [i32 1032403730, i32 -1095220182, i32 846224294, i32 -1082130432], [4 x i32] [i32 1033626892, i32 -1094455531, i32 -1311386324, i32 -1082130432], [4 x i32] [i32 1034924748, i32 -1093698614, i32 -1318438045, i32 -1082130432], [4 x i32] [i32 1036296515, i32 -1092949888, i32 -1306651188, i32 -1082130432], [4 x i32] [i32 1037741368, i32 -1092209803, i32 836355956, i32 -1082130432], [4 x i32] [i32 1039258436, i32 -1091478806, i32 838803769, i32 -1082130432], [4 x i32] [i32 1040517098, i32 -1090757337, i32 830532777, i32 -1082130432], [4 x i32] [i32 1041346455, i32 -1090282435, i32 844865538, i32 -1082130432], [4 x i32] [i32 1042210485, i32 -1089931877, i32 851331918, i32 -1082130432], [4 x i32] [i32 1043108667, i32 -1089586726, i32 843723495, i32 -1082130432], [4 x i32] [i32 1044040460, i32 -1089247190, i32 -1295134418, i32 -1082130432], [4 x i32] [i32 1045005303, i32 -1088913472, i32 835167219, i32 -1082130432], [4 x i32] [i32 1046002615, i32 -1088585775, i32 -1299053300, i32 -1082130432], [4 x i32] [i32 1047031795, i32 -1088264295, i32 -1306451013, i32 -1082130432], [4 x i32] [i32 1048092223, i32 -1087949226, i32 839091011, i32 -1082130432], [4 x i32] [i32 1048879630, i32 -1087640758, i32 850866486, i32 -1082130432], [4 x i32] [i32 1049440125, i32 -1087339077, i32 850275634, i32 -1082130432], [4 x i32] [i32 1050015258, i32 -1087044365, i32 -1303386246, i32 -1082130432], [4 x i32] [i32 -1102965013, i32 -1086756798, i32 847314951, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 -1086476551, i32 -1315263508, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 -1086203792, i32 -1296041609, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 -1085938685, i32 -1297002124, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 -1085681390, i32 -1298586048, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 -1085432062, i32 -1300336408, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 -1085190851, i32 -1341370620, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 -1084957903, i32 -1299125734, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 -1084733357, i32 847077312, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 -1084517350, i32 -1306317368, i32 -1090519040], [4 x i32] [i32 1005106760, i32 -1084310011, i32 -1295582893, i32 -1090519040], [4 x i32] [i32 1021989220, i32 -1084111464, i32 854062117, i32 -1090519040], [4 x i32] [i32 1028547674, i32 -1083921831, i32 -1323693830, i32 -1090519040], [4 x i32] [i32 1033133567, i32 -1083741224, i32 851194761, i32 -1090519040], [4 x i32] [i32 1036128472, i32 -1083569753, i32 854270828, i32 -1090519040], [4 x i32] [i32 1039156139, i32 -1083407522, i32 -1292687148, i32 -1090519040], [4 x i32] [i32 1041201069, i32 -1083254626, i32 848507868, i32 -1090519040], [4 x i32] [i32 -1112411313, i32 -1083111160, i32 -1306603299, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 -1082977209, i32 -1295741423, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 -1082852853, i32 848534818, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 -1082738169, i32 -1301477076, i32 -1098907648], [4 x i32] [i32 1004930693, i32 -1082633224, i32 839760357, i32 -1098907648], [4 x i32] [i32 1023221605, i32 -1082538083, i32 -1295626663, i32 -1098907648], [4 x i32] [i32 1029761272, i32 -1082452802, i32 -1291881013, i32 -1098907648], [4 x i32] [i32 -1120124279, i32 -1082377432, i32 842126987, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 -1082312020, i32 821517033, i32 -1107296256], [4 x i32] [i32 992588201, i32 -1082256604, i32 854713859, i32 -1107296256], [4 x i32] [i32 1021119272, i32 -1082211219, i32 -1309390519, i32 -1107296256], [4 x i32] [i32 -1137358811, i32 -1082175891, i32 -1294985084, i32 -1115684864], [4 x i32] [i32 1012667202, i32 -1082150641, i32 -1310827681, i32 -1115684864], [4 x i32] [i32 1004262721, i32 -1082135485, i32 -1333474035, i32 -1124073472], [4 x i32] [i32 0, i32 -1082130432, i32 0, i32 0], [4 x i32] [i32 -1143220927, i32 -1082135485, i32 -1333474035, i32 1023410176], [4 x i32] [i32 -1134816446, i32 -1082150641, i32 -1310827681, i32 1031798784], [4 x i32] [i32 1010124837, i32 -1082175891, i32 -1294985084, i32 1031798784], [4 x i32] [i32 -1126364376, i32 -1082211219, i32 -1309390519, i32 1040187392], [4 x i32] [i32 -1154895447, i32 -1082256604, i32 854713859, i32 1040187392], [4 x i32] [i32 1018299420, i32 -1082312020, i32 821517033, i32 1040187392], [4 x i32] [i32 1027359369, i32 -1082377432, i32 842126987, i32 1040187392], [4 x i32] [i32 -1117722376, i32 -1082452802, i32 -1291881013, i32 1048576000], [4 x i32] [i32 -1124262043, i32 -1082538083, i32 -1295626663, i32 1048576000], [4 x i32] [i32 -1142552955, i32 -1082633224, i32 839760357, i32 1048576000], [4 x i32] [i32 1015605553, i32 -1082738169, i32 -1301477076, i32 1048576000], [4 x i32] [i32 1025835404, i32 -1082852853, i32 848534818, i32 1048576000], [4 x i32] [i32 1031957395, i32 -1082977209, i32 -1295741423, i32 1048576000], [4 x i32] [i32 1035072335, i32 -1083111160, i32 -1306603299, i32 1048576000], [4 x i32] [i32 -1106282579, i32 -1083254626, i32 848507868, i32 1056964608], [4 x i32] [i32 -1108327509, i32 -1083407522, i32 -1292687148, i32 1056964608], [4 x i32] [i32 -1111355176, i32 -1083569753, i32 854270828, i32 1056964608], [4 x i32] [i32 -1114350081, i32 -1083741224, i32 851194761, i32 1056964608], [4 x i32] [i32 -1118935974, i32 -1083921831, i32 -1323693830, i32 1056964608], [4 x i32] [i32 -1125494428, i32 -1084111464, i32 854062117, i32 1056964608], [4 x i32] [i32 -1142376888, i32 -1084310011, i32 -1295582893, i32 1056964608], [4 x i32] [i32 1013387058, i32 -1084517350, i32 -1306317368, i32 1056964608], [4 x i32] [i32 1024416170, i32 -1084733357, i32 847077312, i32 1056964608], [4 x i32] [i32 1029938589, i32 -1084957903, i32 -1299125734, i32 1056964608], [4 x i32] [i32 1033584979, i32 -1085190851, i32 -1341370620, i32 1056964608], [4 x i32] [i32 1036254719, i32 -1085432062, i32 -1300336408, i32 1056964608], [4 x i32] [i32 1038876298, i32 -1085681390, i32 -1298586048, i32 1056964608], [4 x i32] [i32 1040817765, i32 -1085938685, i32 -1297002124, i32 1056964608], [4 x i32] [i32 1042078039, i32 -1086203792, i32 -1296041609, i32 1056964608], [4 x i32] [i32 1043311911, i32 -1086476551, i32 -1315263508, i32 1056964608], [4 x i32] [i32 1044518635, i32 -1086756798, i32 847314951, i32 1056964608], [4 x i32] [i32 -1097468390, i32 -1087044365, i32 -1303386246, i32 1065353216], [4 x i32] [i32 -1098043523, i32 -1087339077, i32 850275634, i32 1065353216], [4 x i32] [i32 -1098604018, i32 -1087640758, i32 850866486, i32 1065353216], [4 x i32] [i32 -1099391425, i32 -1087949226, i32 839091011, i32 1065353216], [4 x i32] [i32 -1100451853, i32 -1088264295, i32 -1306451013, i32 1065353216], [4 x i32] [i32 -1101481033, i32 -1088585775, i32 -1299053300, i32 1065353216], [4 x i32] [i32 -1102478345, i32 -1088913472, i32 835167219, i32 1065353216], [4 x i32] [i32 -1103443188, i32 -1089247190, i32 -1295134418, i32 1065353216], [4 x i32] [i32 -1104374981, i32 -1089586726, i32 843723495, i32 1065353216], [4 x i32] [i32 -1105273163, i32 -1089931877, i32 851331918, i32 1065353216], [4 x i32] [i32 -1106137193, i32 -1090282435, i32 844865538, i32 1065353216], [4 x i32] [i32 -1106966550, i32 -1090757337, i32 830532777, i32 1065353216], [4 x i32] [i32 -1108225212, i32 -1091478806, i32 838803769, i32 1065353216], [4 x i32] [i32 -1109742280, i32 -1092209803, i32 836355956, i32 1065353216], [4 x i32] [i32 -1111187133, i32 -1092949888, i32 -1306651188, i32 1065353216], [4 x i32] [i32 -1112558900, i32 -1093698614, i32 -1318438045, i32 1065353216], [4 x i32] [i32 -1113856756, i32 -1094455531, i32 -1311386324, i32 1065353216], [4 x i32] [i32 -1115079918, i32 -1095220182, i32 846224294, i32 1065353216], [4 x i32] [i32 -1116770434, i32 -1095992108, i32 841305602, i32 1065353216], [4 x i32] [i32 -1118913654, i32 -1096770843, i32 842959264, i32 1065353216], [4 x i32] [i32 -1120903339, i32 -1097555919, i32 -1301456400, i32 1065353216], [4 x i32] [i32 -1122738292, i32 -1098346861, i32 -1322484322, i32 1065353216], [4 x i32] [i32 -1124761340, i32 -1099378740, i32 823907357, i32 1065353216], [4 x i32] [i32 -1127805868, i32 -1100981229, i32 -1314396938, i32 1065353216], [4 x i32] [i32 -1130534864, i32 -1102592574, i32 820352637, i32 1065353216], [4 x i32] [i32 -1133431285, i32 -1104211806, i32 -1324259335, i32 1065353216], [4 x i32] [i32 -1137617662, i32 -1105837949, i32 -1310136812, i32 1065353216], [4 x i32] [i32 -1141477828, i32 -1107643789, i32 823486671, i32 1065353216], [4 x i32] [i32 -1147287183, i32 -1110917834, i32 813011701, i32 1065353216], [4 x i32] [i32 -1154379112, i32 -1114199803, i32 827530849, i32 1065353216], [4 x i32] [i32 -1164058168, i32 -1119290576, i32 820978303, i32 1065353216], [4 x i32] [i32 -1180833825, i32 -1127675216, i32 805685656, i32 1065353216], [4 x i32] [i32 0, i32 0, i32 0, i32 1065353216], [4 x i32] [i32 -1180833825, i32 1019808432, i32 -1341797992, i32 1065353216], [4 x i32] [i32 -1164058168, i32 1028193072, i32 -1326505345, i32 1065353216], [4 x i32] [i32 -1154379112, i32 1033283845, i32 -1319952799, i32 1065353216], [4 x i32] [i32 -1147287183, i32 1036565814, i32 -1334471947, i32 1065353216], [4 x i32] [i32 -1141477828, i32 1039839859, i32 -1323996977, i32 1065353216], [4 x i32] [i32 -1137617662, i32 1041645699, i32 837346836, i32 1065353216], [4 x i32] [i32 -1133431285, i32 1043271842, i32 823224313, i32 1065353216], [4 x i32] [i32 -1130534864, i32 1044891074, i32 -1327131011, i32 1065353216], [4 x i32] [i32 -1127805868, i32 1046502419, i32 833086710, i32 1065353216], [4 x i32] [i32 -1124761340, i32 1048104908, i32 -1323576291, i32 1065353216], [4 x i32] [i32 -1122738292, i32 1049136787, i32 824999326, i32 1065353216], [4 x i32] [i32 -1120903339, i32 1049927729, i32 846027248, i32 1065353216], [4 x i32] [i32 -1118913654, i32 1050712805, i32 -1304524384, i32 1065353216], [4 x i32] [i32 -1116770434, i32 1051491540, i32 -1306178046, i32 1065353216], [4 x i32] [i32 -1115079918, i32 1052263466, i32 -1301259354, i32 1065353216], [4 x i32] [i32 -1113856756, i32 1053028117, i32 836097324, i32 1065353216], [4 x i32] [i32 -1112558900, i32 1053785034, i32 829045603, i32 1065353216], [4 x i32] [i32 -1111187133, i32 1054533760, i32 840832460, i32 1065353216], [4 x i32] [i32 -1109742280, i32 1055273845, i32 -1311127692, i32 1065353216], [4 x i32] [i32 -1108225212, i32 1056004842, i32 -1308679879, i32 1065353216], [4 x i32] [i32 -1106966550, i32 1056726311, i32 -1316950871, i32 1065353216], [4 x i32] [i32 -1106137193, i32 1057201213, i32 -1302618110, i32 1065353216], [4 x i32] [i32 -1105273163, i32 1057551771, i32 -1296151730, i32 1065353216], [4 x i32] [i32 -1104374981, i32 1057896922, i32 -1303760153, i32 1065353216], [4 x i32] [i32 -1103443188, i32 1058236458, i32 852349230, i32 1065353216], [4 x i32] [i32 -1102478345, i32 1058570176, i32 -1312316429, i32 1065353216], [4 x i32] [i32 -1101481033, i32 1058897873, i32 848430348, i32 1065353216], [4 x i32] [i32 -1100451853, i32 1059219353, i32 841032635, i32 1065353216], [4 x i32] [i32 -1099391425, i32 1059534422, i32 -1308392637, i32 1065353216], [4 x i32] [i32 -1098604018, i32 1059842890, i32 -1296617162, i32 1065353216], [4 x i32] [i32 -1098043523, i32 1060144571, i32 -1297208014, i32 1065353216], [4 x i32] [i32 -1097468390, i32 1060439283, i32 844097402, i32 1065353216], [4 x i32] [i32 1044518635, i32 1060726850, i32 -1300168697, i32 1056964608], [4 x i32] [i32 1043311911, i32 1061007097, i32 832220140, i32 1056964608], [4 x i32] [i32 1042078039, i32 1061279856, i32 851442039, i32 1056964608], [4 x i32] [i32 1040817765, i32 1061544963, i32 850481524, i32 1056964608], [4 x i32] [i32 1038876298, i32 1061802258, i32 848897600, i32 1056964608], [4 x i32] [i32 1036254719, i32 1062051586, i32 847147240, i32 1056964608], [4 x i32] [i32 1033584979, i32 1062292797, i32 806113028, i32 1056964608], [4 x i32] [i32 1029938589, i32 1062525745, i32 848357914, i32 1056964608], [4 x i32] [i32 1024416170, i32 1062750291, i32 -1300406336, i32 1056964608], [4 x i32] [i32 1013387058, i32 1062966298, i32 841166280, i32 1056964608], [4 x i32] [i32 -1142376888, i32 1063173637, i32 851900755, i32 1056964608], [4 x i32] [i32 -1125494428, i32 1063372184, i32 -1293421531, i32 1056964608], [4 x i32] [i32 -1118935974, i32 1063561817, i32 823789818, i32 1056964608], [4 x i32] [i32 -1114350081, i32 1063742424, i32 -1296288887, i32 1056964608], [4 x i32] [i32 -1111355176, i32 1063913895, i32 -1293212820, i32 1056964608], [4 x i32] [i32 -1108327509, i32 1064076126, i32 854796500, i32 1056964608], [4 x i32] [i32 -1106282579, i32 1064229022, i32 -1298975780, i32 1056964608], [4 x i32] [i32 1035072335, i32 1064372488, i32 840880349, i32 1048576000], [4 x i32] [i32 1031957395, i32 1064506439, i32 851742225, i32 1048576000], [4 x i32] [i32 1025835404, i32 1064630795, i32 -1298948830, i32 1048576000], [4 x i32] [i32 1015605553, i32 1064745479, i32 846006572, i32 1048576000], [4 x i32] [i32 -1142552955, i32 1064850424, i32 -1307723291, i32 1048576000], [4 x i32] [i32 -1124262043, i32 1064945565, i32 851856985, i32 1048576000], [4 x i32] [i32 -1117722376, i32 1065030846, i32 855602635, i32 1048576000], [4 x i32] [i32 1027359369, i32 1065106216, i32 -1305356661, i32 1040187392], [4 x i32] [i32 1018299420, i32 1065171628, i32 -1325966615, i32 1040187392], [4 x i32] [i32 -1154895447, i32 1065227044, i32 -1292769789, i32 1040187392], [4 x i32] [i32 -1126364376, i32 1065272429, i32 838093129, i32 1040187392], [4 x i32] [i32 1010124837, i32 1065307757, i32 852498564, i32 1031798784], [4 x i32] [i32 -1134816446, i32 1065333007, i32 836655967, i32 1031798784], [4 x i32] [i32 -1143220927, i32 1065348163, i32 814009613, i32 1023410176]], i32 2147483647, i32 1176256512, i32 2139095040, i32 -1104500053, i32 1007192156, i32 -1090519040, i32 1026206332, i32 1078525952, i32 981311488, i32 874651648, i32 750018842, i32 1078530011, i32 -1279541970, i32 -1485361939, i32 -1104500053, i32 1007192201, i32 -1185936130, i32 909700723, i32 -1294532481, i32 791238261, i32 1007191908, i32 -1185958193, i32 909034293, i32 1050868099, i32 1262485504, i32 1070141403, i32 1056964608, i32 1065353216 }, align 4 +@_ZN19__imf_impl_cos_s_la12_GLOBAL__N_144__devicelib_imf_internal_scos_reduction_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cos_s_la::(anonymous namespace)::__scos_la_ReductionTab_t" { [256 x [3 x i32]] [[3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] [i32 0, i32 0, i32 1], [3 x i32] [i32 0, i32 0, i32 2], [3 x i32] [i32 0, i32 0, i32 5], [3 x i32] [i32 0, i32 0, i32 10], [3 x i32] [i32 0, i32 0, i32 20], [3 x i32] [i32 0, i32 0, i32 40], [3 x i32] [i32 0, i32 0, i32 81], [3 x i32] [i32 0, i32 0, i32 162], [3 x i32] [i32 0, i32 0, i32 325], [3 x i32] [i32 0, i32 0, i32 651], [3 x i32] [i32 0, i32 0, i32 1303], [3 x i32] [i32 0, i32 0, i32 2607], [3 x i32] [i32 0, i32 0, i32 5215], [3 x i32] [i32 0, i32 0, i32 10430], [3 x i32] [i32 0, i32 0, i32 20860], [3 x i32] [i32 0, i32 0, i32 41721], [3 x i32] [i32 0, i32 0, i32 83443], [3 x i32] [i32 0, i32 0, i32 166886], [3 x i32] [i32 0, i32 0, i32 333772], [3 x i32] [i32 0, i32 0, i32 667544], [3 x i32] [i32 0, i32 0, i32 1335088], [3 x i32] [i32 0, i32 0, i32 2670176], [3 x i32] [i32 0, i32 0, i32 5340353], [3 x i32] [i32 0, i32 0, i32 10680707], [3 x i32] [i32 0, i32 0, i32 21361414], [3 x i32] [i32 0, i32 0, i32 42722829], [3 x i32] [i32 0, i32 0, i32 85445659], [3 x i32] [i32 0, i32 0, i32 170891318], [3 x i32] [i32 0, i32 0, i32 341782637], [3 x i32] [i32 0, i32 0, i32 683565275], [3 x i32] [i32 0, i32 0, i32 1367130551], [3 x i32] [i32 0, i32 0, i32 -1560706194], [3 x i32] [i32 0, i32 1, i32 1173554908], [3 x i32] [i32 0, i32 2, i32 -1947857479], [3 x i32] [i32 0, i32 5, i32 399252338], [3 x i32] [i32 0, i32 10, i32 798504676], [3 x i32] [i32 0, i32 20, i32 1597009353], [3 x i32] [i32 0, i32 40, i32 -1100948589], [3 x i32] [i32 0, i32 81, i32 2093070119], [3 x i32] [i32 0, i32 162, i32 -108827058], [3 x i32] [i32 0, i32 325, i32 -217654116], [3 x i32] [i32 0, i32 651, i32 -435308231], [3 x i32] [i32 0, i32 1303, i32 -870616462], [3 x i32] [i32 0, i32 2607, i32 -1741232924], [3 x i32] [i32 0, i32 5215, i32 812501448], [3 x i32] [i32 0, i32 10430, i32 1625002897], [3 x i32] [i32 0, i32 20860, i32 -1044961502], [3 x i32] [i32 0, i32 41721, i32 -2089923004], [3 x i32] [i32 0, i32 83443, i32 115121288], [3 x i32] [i32 0, i32 166886, i32 230242576], [3 x i32] [i32 0, i32 333772, i32 460485152], [3 x i32] [i32 0, i32 667544, i32 920970305], [3 x i32] [i32 0, i32 1335088, i32 1841940610], [3 x i32] [i32 0, i32 2670176, i32 -611086075], [3 x i32] [i32 0, i32 5340353, i32 -1222172150], [3 x i32] [i32 0, i32 10680707, i32 1850622997], [3 x i32] [i32 0, i32 21361414, i32 -593721302], [3 x i32] [i32 0, i32 42722829, i32 -1187442604], [3 x i32] [i32 0, i32 85445659, i32 1920082089], [3 x i32] [i32 0, i32 170891318, i32 -454803118], [3 x i32] [i32 0, i32 341782637, i32 -909606235], [3 x i32] [i32 0, i32 683565275, i32 -1819212470], [3 x i32] [i32 0, i32 1367130551, i32 656542356], [3 x i32] [i32 0, i32 -1560706194, i32 1313084713], [3 x i32] [i32 1, i32 1173554908, i32 -1668797869], [3 x i32] [i32 2, i32 -1947857479, i32 957371559], [3 x i32] [i32 5, i32 399252338, i32 1914743119], [3 x i32] [i32 10, i32 798504676, i32 -465481057], [3 x i32] [i32 20, i32 1597009353, i32 -930962113], [3 x i32] [i32 40, i32 -1100948589, i32 -1861924225], [3 x i32] [i32 81, i32 2093070119, i32 571118846], [3 x i32] [i32 162, i32 -108827058, i32 1142237692], [3 x i32] [i32 325, i32 -217654116, i32 -2010491912], [3 x i32] [i32 651, i32 -435308231, i32 273983472], [3 x i32] [i32 1303, i32 -870616462, i32 547966945], [3 x i32] [i32 2607, i32 -1741232924, i32 1095933890], [3 x i32] [i32 5215, i32 812501448, i32 -2103099516], [3 x i32] [i32 10430, i32 1625002897, i32 88768265], [3 x i32] [i32 20860, i32 -1044961502, i32 177536531], [3 x i32] [i32 41721, i32 -2089923004, i32 355073063], [3 x i32] [i32 83443, i32 115121288, i32 710146126], [3 x i32] [i32 166886, i32 230242576, i32 1420292253], [3 x i32] [i32 333772, i32 460485152, i32 -1454382790], [3 x i32] [i32 667544, i32 920970305, i32 1386201717], [3 x i32] [i32 1335088, i32 1841940610, i32 -1522563862], [3 x i32] [i32 2670176, i32 -611086075, i32 1249839573], [3 x i32] [i32 5340353, i32 -1222172150, i32 -1795288149], [3 x i32] [i32 10680707, i32 1850622997, i32 704390999], [3 x i32] [i32 21361414, i32 -593721302, i32 1408781999], [3 x i32] [i32 42722829, i32 -1187442604, i32 -1477403297], [3 x i32] [i32 85445659, i32 1920082089, i32 1340160702], [3 x i32] [i32 170891318, i32 -454803118, i32 -1614645891], [3 x i32] [i32 341782637, i32 -909606235, i32 1065675514], [3 x i32] [i32 683565275, i32 -1819212470, i32 2131351028], [3 x i32] [i32 1367130551, i32 656542356, i32 -32265240], [3 x i32] [i32 -1560706194, i32 1313084713, i32 -64530479], [3 x i32] [i32 1173554908, i32 -1668797869, i32 -129060957], [3 x i32] [i32 -1947857479, i32 957371559, i32 -258121913], [3 x i32] [i32 399252338, i32 1914743119, i32 -516243825], [3 x i32] [i32 798504676, i32 -465481057, i32 -1032487649], [3 x i32] [i32 1597009353, i32 -930962113, i32 -2064975298], [3 x i32] [i32 -1100948589, i32 -1861924225, i32 165016701], [3 x i32] [i32 2093070119, i32 571118846, i32 330033402], [3 x i32] [i32 -108827058, i32 1142237692, i32 660066805], [3 x i32] [i32 -217654116, i32 -2010491912, i32 1320133610], [3 x i32] [i32 -435308231, i32 273983472, i32 -1654700076], [3 x i32] [i32 -870616462, i32 547966945, i32 985567145], [3 x i32] [i32 -1741232924, i32 1095933890, i32 1971134291], [3 x i32] [i32 812501448, i32 -2103099516, i32 -352698714], [3 x i32] [i32 1625002897, i32 88768265, i32 -705397427], [3 x i32] [i32 -1044961502, i32 177536531, i32 -1410794854], [3 x i32] [i32 -2089923004, i32 355073063, i32 1473377588], [3 x i32] [i32 115121288, i32 710146126, i32 -1348212119], [3 x i32] [i32 230242576, i32 1420292253, i32 1598543059], [3 x i32] [i32 460485152, i32 -1454382790, i32 -1097881178], [3 x i32] [i32 920970305, i32 1386201717, i32 2099204941], [3 x i32] [i32 1841940610, i32 -1522563862, i32 -96557413], [3 x i32] [i32 -611086075, i32 1249839573, i32 -193114825], [3 x i32] [i32 -1222172150, i32 -1795288149, i32 -386229650], [3 x i32] [i32 1850622997, i32 704390999, i32 -772459299], [3 x i32] [i32 -593721302, i32 1408781999, i32 -1544918597], [3 x i32] [i32 -1187442604, i32 -1477403297, i32 1205130103], [3 x i32] [i32 1920082089, i32 1340160702, i32 -1884707090], [3 x i32] [i32 -454803118, i32 -1614645891, i32 525553116], [3 x i32] [i32 -909606235, i32 1065675514, i32 1051106232], [3 x i32] [i32 -1819212470, i32 2131351028, i32 2102212464], [3 x i32] [i32 656542356, i32 -32265240, i32 -90542368], [3 x i32] [i32 1313084713, i32 -64530479, i32 -181084736], [3 x i32] [i32 -1668797869, i32 -129060957, i32 -362169471], [3 x i32] [i32 957371559, i32 -258121913, i32 -724338941], [3 x i32] [i32 1914743119, i32 -516243825, i32 -1448677882], [3 x i32] [i32 -465481057, i32 -1032487649, i32 1397611533], [3 x i32] [i32 -930962113, i32 -2064975298, i32 -1499744229], [3 x i32] [i32 -1861924225, i32 165016701, i32 1295478838], [3 x i32] [i32 571118846, i32 330033402, i32 -1704009619], [3 x i32] [i32 1142237692, i32 660066805, i32 886948059], [3 x i32] [i32 -2010491912, i32 1320133610, i32 1773896118], [3 x i32] [i32 273983472, i32 -1654700076, i32 -747175059], [3 x i32] [i32 547966945, i32 985567145, i32 -1494350117], [3 x i32] [i32 1095933890, i32 1971134291, i32 1306267062], [3 x i32] [i32 -2103099516, i32 -352698714, i32 -1682433172], [3 x i32] [i32 88768265, i32 -705397427, i32 930100952], [3 x i32] [i32 177536531, i32 -1410794854, i32 1860201905], [3 x i32] [i32 355073063, i32 1473377588, i32 -574563486], [3 x i32] [i32 710146126, i32 -1348212119, i32 -1149126971], [3 x i32] [i32 1420292253, i32 1598543059, i32 1996713354], [3 x i32] [i32 -1454382790, i32 -1097881178, i32 -301540588], [3 x i32] [i32 1386201717, i32 2099204941, i32 -603081175], [3 x i32] [i32 -1522563862, i32 -96557413, i32 -1206162350], [3 x i32] [i32 1249839573, i32 -193114825, i32 1882642597], [3 x i32] [i32 -1795288149, i32 -386229650, i32 -529682102], [3 x i32] [i32 704390999, i32 -772459299, i32 -1059364203], [3 x i32] [i32 1408781999, i32 -1544918597, i32 -2118728405], [3 x i32] [i32 -1477403297, i32 1205130103, i32 57510486], [3 x i32] [i32 1340160702, i32 -1884707090, i32 115020972], [3 x i32] [i32 -1614645891, i32 525553116, i32 230041945], [3 x i32] [i32 1065675514, i32 1051106232, i32 460083891], [3 x i32] [i32 2131351028, i32 2102212464, i32 920167782], [3 x i32] [i32 -32265240, i32 -90542368, i32 1840335564], [3 x i32] [i32 -64530479, i32 -181084736, i32 -614296167], [3 x i32] [i32 -129060957, i32 -362169471, i32 -1228592334], [3 x i32] [i32 -258121913, i32 -724338941, i32 1837782628], [3 x i32] [i32 -516243825, i32 -1448677882, i32 -619402039], [3 x i32] [i32 -1032487649, i32 1397611533, i32 -1238804077], [3 x i32] [i32 -2064975298, i32 -1499744229, i32 1817359143], [3 x i32] [i32 165016701, i32 1295478838, i32 -660249009], [3 x i32] [i32 330033402, i32 -1704009619, i32 -1320498018], [3 x i32] [i32 660066805, i32 886948059, i32 1653971260], [3 x i32] [i32 1320133610, i32 1773896118, i32 -987024776], [3 x i32] [i32 -1654700076, i32 -747175059, i32 -1974049551], [3 x i32] [i32 985567145, i32 -1494350117, i32 346868194], [3 x i32] [i32 1971134291, i32 1306267062, i32 693736388], [3 x i32] [i32 -352698714, i32 -1682433172, i32 1387472776], [3 x i32] [i32 -705397427, i32 930100952, i32 -1520021744], [3 x i32] [i32 -1410794854, i32 1860201905, i32 1254923809], [3 x i32] [i32 1473377588, i32 -574563486, i32 -1785119677], [3 x i32] [i32 -1348212119, i32 -1149126971, i32 724727943], [3 x i32] [i32 1598543059, i32 1996713354, i32 1449455886], [3 x i32] [i32 -1097881178, i32 -301540588, i32 -1396055524], [3 x i32] [i32 2099204941, i32 -603081175, i32 1502856249], [3 x i32] [i32 -96557413, i32 -1206162350, i32 -1289254798], [3 x i32] [i32 -193114825, i32 1882642597, i32 1716457700], [3 x i32] [i32 -386229650, i32 -529682102, i32 -862051896], [3 x i32] [i32 -772459299, i32 -1059364203, i32 -1724103792], [3 x i32] [i32 -1544918597, i32 -2118728405, i32 846759712], [3 x i32] [i32 1205130103, i32 57510486, i32 1693519425], [3 x i32] [i32 -1884707090, i32 115020972, i32 -907928446], [3 x i32] [i32 525553116, i32 230041945, i32 -1815856892], [3 x i32] [i32 1051106232, i32 460083891, i32 663253512], [3 x i32] [i32 2102212464, i32 920167782, i32 1326507024], [3 x i32] [i32 -90542368, i32 1840335564, i32 -1641953248], [3 x i32] [i32 -181084736, i32 -614296167, i32 1011060801], [3 x i32] [i32 -362169471, i32 -1228592334, i32 2022121603], [3 x i32] [i32 -724338941, i32 1837782628, i32 -250724089], [3 x i32] [i32 -1448677882, i32 -619402039, i32 -501448177], [3 x i32] [i32 1397611533, i32 -1238804077, i32 -1002896353], [3 x i32] [i32 -1499744229, i32 1817359143, i32 -2005792705], [3 x i32] [i32 1295478838, i32 -660249009, i32 283381887], [3 x i32] [i32 -1704009619, i32 -1320498018, i32 566763775]] }, align 4 +@_ZN19__imf_impl_sin_s_la12_GLOBAL__N_134__devicelib_imf_internal_ssin_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_sin_s_la::(anonymous namespace)::__devicelib_imf_internal_ssin_data_t" { [256 x [4 x i32]] [[4 x i32] [i32 0, i32 0, i32 0, i32 1065353216], [4 x i32] [i32 -1180833825, i32 1019808432, i32 -1341797992, i32 1065353216], [4 x i32] [i32 -1164058168, i32 1028193072, i32 -1326505345, i32 1065353216], [4 x i32] [i32 -1154379112, i32 1033283845, i32 -1319952799, i32 1065353216], [4 x i32] [i32 -1147287183, i32 1036565814, i32 -1334471947, i32 1065353216], [4 x i32] [i32 -1141477828, i32 1039839859, i32 -1323996977, i32 1065353216], [4 x i32] [i32 -1137617662, i32 1041645699, i32 837346836, i32 1065353216], [4 x i32] [i32 -1133431285, i32 1043271842, i32 823224313, i32 1065353216], [4 x i32] [i32 -1130534864, i32 1044891074, i32 -1327131011, i32 1065353216], [4 x i32] [i32 -1127805868, i32 1046502419, i32 833086710, i32 1065353216], [4 x i32] [i32 -1124761340, i32 1048104908, i32 -1323576291, i32 1065353216], [4 x i32] [i32 -1122738292, i32 1049136787, i32 824999326, i32 1065353216], [4 x i32] [i32 -1120903339, i32 1049927729, i32 846027248, i32 1065353216], [4 x i32] [i32 -1118913654, i32 1050712805, i32 -1304524384, i32 1065353216], [4 x i32] [i32 -1116770434, i32 1051491540, i32 -1306178046, i32 1065353216], [4 x i32] [i32 -1115079918, i32 1052263466, i32 -1301259354, i32 1065353216], [4 x i32] [i32 -1113856756, i32 1053028117, i32 836097324, i32 1065353216], [4 x i32] [i32 -1112558900, i32 1053785034, i32 829045603, i32 1065353216], [4 x i32] [i32 -1111187133, i32 1054533760, i32 840832460, i32 1065353216], [4 x i32] [i32 -1109742280, i32 1055273845, i32 -1311127692, i32 1065353216], [4 x i32] [i32 -1108225212, i32 1056004842, i32 -1308679879, i32 1065353216], [4 x i32] [i32 -1106966550, i32 1056726311, i32 -1316950871, i32 1065353216], [4 x i32] [i32 -1106137193, i32 1057201213, i32 -1302618110, i32 1065353216], [4 x i32] [i32 -1105273163, i32 1057551771, i32 -1296151730, i32 1065353216], [4 x i32] [i32 -1104374981, i32 1057896922, i32 -1303760153, i32 1065353216], [4 x i32] [i32 -1103443188, i32 1058236458, i32 852349230, i32 1065353216], [4 x i32] [i32 -1102478345, i32 1058570176, i32 -1312316429, i32 1065353216], [4 x i32] [i32 -1101481033, i32 1058897873, i32 848430348, i32 1065353216], [4 x i32] [i32 -1100451853, i32 1059219353, i32 841032635, i32 1065353216], [4 x i32] [i32 -1099391425, i32 1059534422, i32 -1308392637, i32 1065353216], [4 x i32] [i32 -1098604018, i32 1059842890, i32 -1296617162, i32 1065353216], [4 x i32] [i32 -1098043523, i32 1060144571, i32 -1297208014, i32 1065353216], [4 x i32] [i32 -1097468390, i32 1060439283, i32 844097402, i32 1065353216], [4 x i32] [i32 1044518635, i32 1060726850, i32 -1300168697, i32 1056964608], [4 x i32] [i32 1043311911, i32 1061007097, i32 832220140, i32 1056964608], [4 x i32] [i32 1042078039, i32 1061279856, i32 851442039, i32 1056964608], [4 x i32] [i32 1040817765, i32 1061544963, i32 850481524, i32 1056964608], [4 x i32] [i32 1038876298, i32 1061802258, i32 848897600, i32 1056964608], [4 x i32] [i32 1036254719, i32 1062051586, i32 847147240, i32 1056964608], [4 x i32] [i32 1033584979, i32 1062292797, i32 806113028, i32 1056964608], [4 x i32] [i32 1029938589, i32 1062525745, i32 848357914, i32 1056964608], [4 x i32] [i32 1024416170, i32 1062750291, i32 -1300406336, i32 1056964608], [4 x i32] [i32 1013387058, i32 1062966298, i32 841166280, i32 1056964608], [4 x i32] [i32 -1142376888, i32 1063173637, i32 851900755, i32 1056964608], [4 x i32] [i32 -1125494428, i32 1063372184, i32 -1293421531, i32 1056964608], [4 x i32] [i32 -1118935974, i32 1063561817, i32 823789818, i32 1056964608], [4 x i32] [i32 -1114350081, i32 1063742424, i32 -1296288887, i32 1056964608], [4 x i32] [i32 -1111355176, i32 1063913895, i32 -1293212820, i32 1056964608], [4 x i32] [i32 -1108327509, i32 1064076126, i32 854796500, i32 1056964608], [4 x i32] [i32 -1106282579, i32 1064229022, i32 -1298975780, i32 1056964608], [4 x i32] [i32 1035072335, i32 1064372488, i32 840880349, i32 1048576000], [4 x i32] [i32 1031957395, i32 1064506439, i32 851742225, i32 1048576000], [4 x i32] [i32 1025835404, i32 1064630795, i32 -1298948830, i32 1048576000], [4 x i32] [i32 1015605553, i32 1064745479, i32 846006572, i32 1048576000], [4 x i32] [i32 -1142552955, i32 1064850424, i32 -1307723291, i32 1048576000], [4 x i32] [i32 -1124262043, i32 1064945565, i32 851856985, i32 1048576000], [4 x i32] [i32 -1117722376, i32 1065030846, i32 855602635, i32 1048576000], [4 x i32] [i32 1027359369, i32 1065106216, i32 -1305356661, i32 1040187392], [4 x i32] [i32 1018299420, i32 1065171628, i32 -1325966615, i32 1040187392], [4 x i32] [i32 -1154895447, i32 1065227044, i32 -1292769789, i32 1040187392], [4 x i32] [i32 -1126364376, i32 1065272429, i32 838093129, i32 1040187392], [4 x i32] [i32 1010124837, i32 1065307757, i32 852498564, i32 1031798784], [4 x i32] [i32 -1134816446, i32 1065333007, i32 836655967, i32 1031798784], [4 x i32] [i32 -1143220927, i32 1065348163, i32 814009613, i32 1023410176], [4 x i32] [i32 0, i32 1065353216, i32 0, i32 0], [4 x i32] [i32 1004262721, i32 1065348163, i32 814009613, i32 -1124073472], [4 x i32] [i32 1012667202, i32 1065333007, i32 836655967, i32 -1115684864], [4 x i32] [i32 -1137358811, i32 1065307757, i32 852498564, i32 -1115684864], [4 x i32] [i32 1021119272, i32 1065272429, i32 838093129, i32 -1107296256], [4 x i32] [i32 992588201, i32 1065227044, i32 -1292769789, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 1065171628, i32 -1325966615, i32 -1107296256], [4 x i32] [i32 -1120124279, i32 1065106216, i32 -1305356661, i32 -1107296256], [4 x i32] [i32 1029761272, i32 1065030846, i32 855602635, i32 -1098907648], [4 x i32] [i32 1023221605, i32 1064945565, i32 851856985, i32 -1098907648], [4 x i32] [i32 1004930693, i32 1064850424, i32 -1307723291, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 1064745479, i32 846006572, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 1064630795, i32 -1298948830, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 1064506439, i32 851742225, i32 -1098907648], [4 x i32] [i32 -1112411313, i32 1064372488, i32 840880349, i32 -1098907648], [4 x i32] [i32 1041201069, i32 1064229022, i32 -1298975780, i32 -1090519040], [4 x i32] [i32 1039156139, i32 1064076126, i32 854796500, i32 -1090519040], [4 x i32] [i32 1036128472, i32 1063913895, i32 -1293212820, i32 -1090519040], [4 x i32] [i32 1033133567, i32 1063742424, i32 -1296288887, i32 -1090519040], [4 x i32] [i32 1028547674, i32 1063561817, i32 823789818, i32 -1090519040], [4 x i32] [i32 1021989220, i32 1063372184, i32 -1293421531, i32 -1090519040], [4 x i32] [i32 1005106760, i32 1063173637, i32 851900755, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 1062966298, i32 841166280, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 1062750291, i32 -1300406336, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 1062525745, i32 848357914, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 1062292797, i32 806113028, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 1062051586, i32 847147240, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 1061802258, i32 848897600, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 1061544963, i32 850481524, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 1061279856, i32 851442039, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 1061007097, i32 832220140, i32 -1090519040], [4 x i32] [i32 -1102965013, i32 1060726850, i32 -1300168697, i32 -1090519040], [4 x i32] [i32 1050015258, i32 1060439283, i32 844097402, i32 -1082130432], [4 x i32] [i32 1049440125, i32 1060144571, i32 -1297208014, i32 -1082130432], [4 x i32] [i32 1048879630, i32 1059842890, i32 -1296617162, i32 -1082130432], [4 x i32] [i32 1048092223, i32 1059534422, i32 -1308392637, i32 -1082130432], [4 x i32] [i32 1047031795, i32 1059219353, i32 841032635, i32 -1082130432], [4 x i32] [i32 1046002615, i32 1058897873, i32 848430348, i32 -1082130432], [4 x i32] [i32 1045005303, i32 1058570176, i32 -1312316429, i32 -1082130432], [4 x i32] [i32 1044040460, i32 1058236458, i32 852349230, i32 -1082130432], [4 x i32] [i32 1043108667, i32 1057896922, i32 -1303760153, i32 -1082130432], [4 x i32] [i32 1042210485, i32 1057551771, i32 -1296151730, i32 -1082130432], [4 x i32] [i32 1041346455, i32 1057201213, i32 -1302618110, i32 -1082130432], [4 x i32] [i32 1040517098, i32 1056726311, i32 -1316950871, i32 -1082130432], [4 x i32] [i32 1039258436, i32 1056004842, i32 -1308679879, i32 -1082130432], [4 x i32] [i32 1037741368, i32 1055273845, i32 -1311127692, i32 -1082130432], [4 x i32] [i32 1036296515, i32 1054533760, i32 840832460, i32 -1082130432], [4 x i32] [i32 1034924748, i32 1053785034, i32 829045603, i32 -1082130432], [4 x i32] [i32 1033626892, i32 1053028117, i32 836097324, i32 -1082130432], [4 x i32] [i32 1032403730, i32 1052263466, i32 -1301259354, i32 -1082130432], [4 x i32] [i32 1030713214, i32 1051491540, i32 -1306178046, i32 -1082130432], [4 x i32] [i32 1028569994, i32 1050712805, i32 -1304524384, i32 -1082130432], [4 x i32] [i32 1026580309, i32 1049927729, i32 846027248, i32 -1082130432], [4 x i32] [i32 1024745356, i32 1049136787, i32 824999326, i32 -1082130432], [4 x i32] [i32 1022722308, i32 1048104908, i32 -1323576291, i32 -1082130432], [4 x i32] [i32 1019677780, i32 1046502419, i32 833086710, i32 -1082130432], [4 x i32] [i32 1016948784, i32 1044891074, i32 -1327131011, i32 -1082130432], [4 x i32] [i32 1014052363, i32 1043271842, i32 823224313, i32 -1082130432], [4 x i32] [i32 1009865986, i32 1041645699, i32 837346836, i32 -1082130432], [4 x i32] [i32 1006005820, i32 1039839859, i32 -1323996977, i32 -1082130432], [4 x i32] [i32 1000196465, i32 1036565814, i32 -1334471947, i32 -1082130432], [4 x i32] [i32 993104536, i32 1033283845, i32 -1319952799, i32 -1082130432], [4 x i32] [i32 983425480, i32 1028193072, i32 -1326505345, i32 -1082130432], [4 x i32] [i32 966649823, i32 1019808432, i32 -1341797992, i32 -1082130432], [4 x i32] [i32 0, i32 0, i32 0, i32 -1082130432], [4 x i32] [i32 966649823, i32 -1127675216, i32 805685656, i32 -1082130432], [4 x i32] [i32 983425480, i32 -1119290576, i32 820978303, i32 -1082130432], [4 x i32] [i32 993104536, i32 -1114199803, i32 827530849, i32 -1082130432], [4 x i32] [i32 1000196465, i32 -1110917834, i32 813011701, i32 -1082130432], [4 x i32] [i32 1006005820, i32 -1107643789, i32 823486671, i32 -1082130432], [4 x i32] [i32 1009865986, i32 -1105837949, i32 -1310136812, i32 -1082130432], [4 x i32] [i32 1014052363, i32 -1104211806, i32 -1324259335, i32 -1082130432], [4 x i32] [i32 1016948784, i32 -1102592574, i32 820352637, i32 -1082130432], [4 x i32] [i32 1019677780, i32 -1100981229, i32 -1314396938, i32 -1082130432], [4 x i32] [i32 1022722308, i32 -1099378740, i32 823907357, i32 -1082130432], [4 x i32] [i32 1024745356, i32 -1098346861, i32 -1322484322, i32 -1082130432], [4 x i32] [i32 1026580309, i32 -1097555919, i32 -1301456400, i32 -1082130432], [4 x i32] [i32 1028569994, i32 -1096770843, i32 842959264, i32 -1082130432], [4 x i32] [i32 1030713214, i32 -1095992108, i32 841305602, i32 -1082130432], [4 x i32] [i32 1032403730, i32 -1095220182, i32 846224294, i32 -1082130432], [4 x i32] [i32 1033626892, i32 -1094455531, i32 -1311386324, i32 -1082130432], [4 x i32] [i32 1034924748, i32 -1093698614, i32 -1318438045, i32 -1082130432], [4 x i32] [i32 1036296515, i32 -1092949888, i32 -1306651188, i32 -1082130432], [4 x i32] [i32 1037741368, i32 -1092209803, i32 836355956, i32 -1082130432], [4 x i32] [i32 1039258436, i32 -1091478806, i32 838803769, i32 -1082130432], [4 x i32] [i32 1040517098, i32 -1090757337, i32 830532777, i32 -1082130432], [4 x i32] [i32 1041346455, i32 -1090282435, i32 844865538, i32 -1082130432], [4 x i32] [i32 1042210485, i32 -1089931877, i32 851331918, i32 -1082130432], [4 x i32] [i32 1043108667, i32 -1089586726, i32 843723495, i32 -1082130432], [4 x i32] [i32 1044040460, i32 -1089247190, i32 -1295134418, i32 -1082130432], [4 x i32] [i32 1045005303, i32 -1088913472, i32 835167219, i32 -1082130432], [4 x i32] [i32 1046002615, i32 -1088585775, i32 -1299053300, i32 -1082130432], [4 x i32] [i32 1047031795, i32 -1088264295, i32 -1306451013, i32 -1082130432], [4 x i32] [i32 1048092223, i32 -1087949226, i32 839091011, i32 -1082130432], [4 x i32] [i32 1048879630, i32 -1087640758, i32 850866486, i32 -1082130432], [4 x i32] [i32 1049440125, i32 -1087339077, i32 850275634, i32 -1082130432], [4 x i32] [i32 1050015258, i32 -1087044365, i32 -1303386246, i32 -1082130432], [4 x i32] [i32 -1102965013, i32 -1086756798, i32 847314951, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 -1086476551, i32 -1315263508, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 -1086203792, i32 -1296041609, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 -1085938685, i32 -1297002124, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 -1085681390, i32 -1298586048, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 -1085432062, i32 -1300336408, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 -1085190851, i32 -1341370620, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 -1084957903, i32 -1299125734, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 -1084733357, i32 847077312, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 -1084517350, i32 -1306317368, i32 -1090519040], [4 x i32] [i32 1005106760, i32 -1084310011, i32 -1295582893, i32 -1090519040], [4 x i32] [i32 1021989220, i32 -1084111464, i32 854062117, i32 -1090519040], [4 x i32] [i32 1028547674, i32 -1083921831, i32 -1323693830, i32 -1090519040], [4 x i32] [i32 1033133567, i32 -1083741224, i32 851194761, i32 -1090519040], [4 x i32] [i32 1036128472, i32 -1083569753, i32 854270828, i32 -1090519040], [4 x i32] [i32 1039156139, i32 -1083407522, i32 -1292687148, i32 -1090519040], [4 x i32] [i32 1041201069, i32 -1083254626, i32 848507868, i32 -1090519040], [4 x i32] [i32 -1112411313, i32 -1083111160, i32 -1306603299, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 -1082977209, i32 -1295741423, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 -1082852853, i32 848534818, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 -1082738169, i32 -1301477076, i32 -1098907648], [4 x i32] [i32 1004930693, i32 -1082633224, i32 839760357, i32 -1098907648], [4 x i32] [i32 1023221605, i32 -1082538083, i32 -1295626663, i32 -1098907648], [4 x i32] [i32 1029761272, i32 -1082452802, i32 -1291881013, i32 -1098907648], [4 x i32] [i32 -1120124279, i32 -1082377432, i32 842126987, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 -1082312020, i32 821517033, i32 -1107296256], [4 x i32] [i32 992588201, i32 -1082256604, i32 854713859, i32 -1107296256], [4 x i32] [i32 1021119272, i32 -1082211219, i32 -1309390519, i32 -1107296256], [4 x i32] [i32 -1137358811, i32 -1082175891, i32 -1294985084, i32 -1115684864], [4 x i32] [i32 1012667202, i32 -1082150641, i32 -1310827681, i32 -1115684864], [4 x i32] [i32 1004262721, i32 -1082135485, i32 -1333474035, i32 -1124073472], [4 x i32] [i32 0, i32 -1082130432, i32 0, i32 0], [4 x i32] [i32 -1143220927, i32 -1082135485, i32 -1333474035, i32 1023410176], [4 x i32] [i32 -1134816446, i32 -1082150641, i32 -1310827681, i32 1031798784], [4 x i32] [i32 1010124837, i32 -1082175891, i32 -1294985084, i32 1031798784], [4 x i32] [i32 -1126364376, i32 -1082211219, i32 -1309390519, i32 1040187392], [4 x i32] [i32 -1154895447, i32 -1082256604, i32 854713859, i32 1040187392], [4 x i32] [i32 1018299420, i32 -1082312020, i32 821517033, i32 1040187392], [4 x i32] [i32 1027359369, i32 -1082377432, i32 842126987, i32 1040187392], [4 x i32] [i32 -1117722376, i32 -1082452802, i32 -1291881013, i32 1048576000], [4 x i32] [i32 -1124262043, i32 -1082538083, i32 -1295626663, i32 1048576000], [4 x i32] [i32 -1142552955, i32 -1082633224, i32 839760357, i32 1048576000], [4 x i32] [i32 1015605553, i32 -1082738169, i32 -1301477076, i32 1048576000], [4 x i32] [i32 1025835404, i32 -1082852853, i32 848534818, i32 1048576000], [4 x i32] [i32 1031957395, i32 -1082977209, i32 -1295741423, i32 1048576000], [4 x i32] [i32 1035072335, i32 -1083111160, i32 -1306603299, i32 1048576000], [4 x i32] [i32 -1106282579, i32 -1083254626, i32 848507868, i32 1056964608], [4 x i32] [i32 -1108327509, i32 -1083407522, i32 -1292687148, i32 1056964608], [4 x i32] [i32 -1111355176, i32 -1083569753, i32 854270828, i32 1056964608], [4 x i32] [i32 -1114350081, i32 -1083741224, i32 851194761, i32 1056964608], [4 x i32] [i32 -1118935974, i32 -1083921831, i32 -1323693830, i32 1056964608], [4 x i32] [i32 -1125494428, i32 -1084111464, i32 854062117, i32 1056964608], [4 x i32] [i32 -1142376888, i32 -1084310011, i32 -1295582893, i32 1056964608], [4 x i32] [i32 1013387058, i32 -1084517350, i32 -1306317368, i32 1056964608], [4 x i32] [i32 1024416170, i32 -1084733357, i32 847077312, i32 1056964608], [4 x i32] [i32 1029938589, i32 -1084957903, i32 -1299125734, i32 1056964608], [4 x i32] [i32 1033584979, i32 -1085190851, i32 -1341370620, i32 1056964608], [4 x i32] [i32 1036254719, i32 -1085432062, i32 -1300336408, i32 1056964608], [4 x i32] [i32 1038876298, i32 -1085681390, i32 -1298586048, i32 1056964608], [4 x i32] [i32 1040817765, i32 -1085938685, i32 -1297002124, i32 1056964608], [4 x i32] [i32 1042078039, i32 -1086203792, i32 -1296041609, i32 1056964608], [4 x i32] [i32 1043311911, i32 -1086476551, i32 -1315263508, i32 1056964608], [4 x i32] [i32 1044518635, i32 -1086756798, i32 847314951, i32 1056964608], [4 x i32] [i32 -1097468390, i32 -1087044365, i32 -1303386246, i32 1065353216], [4 x i32] [i32 -1098043523, i32 -1087339077, i32 850275634, i32 1065353216], [4 x i32] [i32 -1098604018, i32 -1087640758, i32 850866486, i32 1065353216], [4 x i32] [i32 -1099391425, i32 -1087949226, i32 839091011, i32 1065353216], [4 x i32] [i32 -1100451853, i32 -1088264295, i32 -1306451013, i32 1065353216], [4 x i32] [i32 -1101481033, i32 -1088585775, i32 -1299053300, i32 1065353216], [4 x i32] [i32 -1102478345, i32 -1088913472, i32 835167219, i32 1065353216], [4 x i32] [i32 -1103443188, i32 -1089247190, i32 -1295134418, i32 1065353216], [4 x i32] [i32 -1104374981, i32 -1089586726, i32 843723495, i32 1065353216], [4 x i32] [i32 -1105273163, i32 -1089931877, i32 851331918, i32 1065353216], [4 x i32] [i32 -1106137193, i32 -1090282435, i32 844865538, i32 1065353216], [4 x i32] [i32 -1106966550, i32 -1090757337, i32 830532777, i32 1065353216], [4 x i32] [i32 -1108225212, i32 -1091478806, i32 838803769, i32 1065353216], [4 x i32] [i32 -1109742280, i32 -1092209803, i32 836355956, i32 1065353216], [4 x i32] [i32 -1111187133, i32 -1092949888, i32 -1306651188, i32 1065353216], [4 x i32] [i32 -1112558900, i32 -1093698614, i32 -1318438045, i32 1065353216], [4 x i32] [i32 -1113856756, i32 -1094455531, i32 -1311386324, i32 1065353216], [4 x i32] [i32 -1115079918, i32 -1095220182, i32 846224294, i32 1065353216], [4 x i32] [i32 -1116770434, i32 -1095992108, i32 841305602, i32 1065353216], [4 x i32] [i32 -1118913654, i32 -1096770843, i32 842959264, i32 1065353216], [4 x i32] [i32 -1120903339, i32 -1097555919, i32 -1301456400, i32 1065353216], [4 x i32] [i32 -1122738292, i32 -1098346861, i32 -1322484322, i32 1065353216], [4 x i32] [i32 -1124761340, i32 -1099378740, i32 823907357, i32 1065353216], [4 x i32] [i32 -1127805868, i32 -1100981229, i32 -1314396938, i32 1065353216], [4 x i32] [i32 -1130534864, i32 -1102592574, i32 820352637, i32 1065353216], [4 x i32] [i32 -1133431285, i32 -1104211806, i32 -1324259335, i32 1065353216], [4 x i32] [i32 -1137617662, i32 -1105837949, i32 -1310136812, i32 1065353216], [4 x i32] [i32 -1141477828, i32 -1107643789, i32 823486671, i32 1065353216], [4 x i32] [i32 -1147287183, i32 -1110917834, i32 813011701, i32 1065353216], [4 x i32] [i32 -1154379112, i32 -1114199803, i32 827530849, i32 1065353216], [4 x i32] [i32 -1164058168, i32 -1119290576, i32 820978303, i32 1065353216], [4 x i32] [i32 -1180833825, i32 -1127675216, i32 805685656, i32 1065353216]], i32 2147483647, i32 1176256512, i32 2139095040, i32 -1104500053, i32 1007192156, i32 -1090519040, i32 1026206332, i32 1078525952, i32 981311488, i32 874651648, i32 750018842, i32 1078530011, i32 -1279541970, i32 -1485361939, i32 -1104500053, i32 1007192201, i32 -1185936130, i32 909700723, i32 -1294532481, i32 791238261, i32 1050868099, i32 1262485504 }, align 4 +@_ZN19__imf_impl_sin_s_la12_GLOBAL__N_144__devicelib_imf_internal_ssin_reduction_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cos_s_la::(anonymous namespace)::__scos_la_ReductionTab_t" { [256 x [3 x i32]] [[3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] [i32 0, i32 0, i32 1], [3 x i32] [i32 0, i32 0, i32 2], [3 x i32] [i32 0, i32 0, i32 5], [3 x i32] [i32 0, i32 0, i32 10], [3 x i32] [i32 0, i32 0, i32 20], [3 x i32] [i32 0, i32 0, i32 40], [3 x i32] [i32 0, i32 0, i32 81], [3 x i32] [i32 0, i32 0, i32 162], [3 x i32] [i32 0, i32 0, i32 325], [3 x i32] [i32 0, i32 0, i32 651], [3 x i32] [i32 0, i32 0, i32 1303], [3 x i32] [i32 0, i32 0, i32 2607], [3 x i32] [i32 0, i32 0, i32 5215], [3 x i32] [i32 0, i32 0, i32 10430], [3 x i32] [i32 0, i32 0, i32 20860], [3 x i32] [i32 0, i32 0, i32 41721], [3 x i32] [i32 0, i32 0, i32 83443], [3 x i32] [i32 0, i32 0, i32 166886], [3 x i32] [i32 0, i32 0, i32 333772], [3 x i32] [i32 0, i32 0, i32 667544], [3 x i32] [i32 0, i32 0, i32 1335088], [3 x i32] [i32 0, i32 0, i32 2670176], [3 x i32] [i32 0, i32 0, i32 5340353], [3 x i32] [i32 0, i32 0, i32 10680707], [3 x i32] [i32 0, i32 0, i32 21361414], [3 x i32] [i32 0, i32 0, i32 42722829], [3 x i32] [i32 0, i32 0, i32 85445659], [3 x i32] [i32 0, i32 0, i32 170891318], [3 x i32] [i32 0, i32 0, i32 341782637], [3 x i32] [i32 0, i32 0, i32 683565275], [3 x i32] [i32 0, i32 0, i32 1367130551], [3 x i32] [i32 0, i32 0, i32 -1560706194], [3 x i32] [i32 0, i32 1, i32 1173554908], [3 x i32] [i32 0, i32 2, i32 -1947857479], [3 x i32] [i32 0, i32 5, i32 399252338], [3 x i32] [i32 0, i32 10, i32 798504676], [3 x i32] [i32 0, i32 20, i32 1597009353], [3 x i32] [i32 0, i32 40, i32 -1100948589], [3 x i32] [i32 0, i32 81, i32 2093070119], [3 x i32] [i32 0, i32 162, i32 -108827058], [3 x i32] [i32 0, i32 325, i32 -217654116], [3 x i32] [i32 0, i32 651, i32 -435308231], [3 x i32] [i32 0, i32 1303, i32 -870616462], [3 x i32] [i32 0, i32 2607, i32 -1741232924], [3 x i32] [i32 0, i32 5215, i32 812501448], [3 x i32] [i32 0, i32 10430, i32 1625002897], [3 x i32] [i32 0, i32 20860, i32 -1044961502], [3 x i32] [i32 0, i32 41721, i32 -2089923004], [3 x i32] [i32 0, i32 83443, i32 115121288], [3 x i32] [i32 0, i32 166886, i32 230242576], [3 x i32] [i32 0, i32 333772, i32 460485152], [3 x i32] [i32 0, i32 667544, i32 920970305], [3 x i32] [i32 0, i32 1335088, i32 1841940610], [3 x i32] [i32 0, i32 2670176, i32 -611086075], [3 x i32] [i32 0, i32 5340353, i32 -1222172150], [3 x i32] [i32 0, i32 10680707, i32 1850622997], [3 x i32] [i32 0, i32 21361414, i32 -593721302], [3 x i32] [i32 0, i32 42722829, i32 -1187442604], [3 x i32] [i32 0, i32 85445659, i32 1920082089], [3 x i32] [i32 0, i32 170891318, i32 -454803118], [3 x i32] [i32 0, i32 341782637, i32 -909606235], [3 x i32] [i32 0, i32 683565275, i32 -1819212470], [3 x i32] [i32 0, i32 1367130551, i32 656542356], [3 x i32] [i32 0, i32 -1560706194, i32 1313084713], [3 x i32] [i32 1, i32 1173554908, i32 -1668797869], [3 x i32] [i32 2, i32 -1947857479, i32 957371559], [3 x i32] [i32 5, i32 399252338, i32 1914743119], [3 x i32] [i32 10, i32 798504676, i32 -465481057], [3 x i32] [i32 20, i32 1597009353, i32 -930962113], [3 x i32] [i32 40, i32 -1100948589, i32 -1861924225], [3 x i32] [i32 81, i32 2093070119, i32 571118846], [3 x i32] [i32 162, i32 -108827058, i32 1142237692], [3 x i32] [i32 325, i32 -217654116, i32 -2010491912], [3 x i32] [i32 651, i32 -435308231, i32 273983472], [3 x i32] [i32 1303, i32 -870616462, i32 547966945], [3 x i32] [i32 2607, i32 -1741232924, i32 1095933890], [3 x i32] [i32 5215, i32 812501448, i32 -2103099516], [3 x i32] [i32 10430, i32 1625002897, i32 88768265], [3 x i32] [i32 20860, i32 -1044961502, i32 177536531], [3 x i32] [i32 41721, i32 -2089923004, i32 355073063], [3 x i32] [i32 83443, i32 115121288, i32 710146126], [3 x i32] [i32 166886, i32 230242576, i32 1420292253], [3 x i32] [i32 333772, i32 460485152, i32 -1454382790], [3 x i32] [i32 667544, i32 920970305, i32 1386201717], [3 x i32] [i32 1335088, i32 1841940610, i32 -1522563862], [3 x i32] [i32 2670176, i32 -611086075, i32 1249839573], [3 x i32] [i32 5340353, i32 -1222172150, i32 -1795288149], [3 x i32] [i32 10680707, i32 1850622997, i32 704390999], [3 x i32] [i32 21361414, i32 -593721302, i32 1408781999], [3 x i32] [i32 42722829, i32 -1187442604, i32 -1477403297], [3 x i32] [i32 85445659, i32 1920082089, i32 1340160702], [3 x i32] [i32 170891318, i32 -454803118, i32 -1614645891], [3 x i32] [i32 341782637, i32 -909606235, i32 1065675514], [3 x i32] [i32 683565275, i32 -1819212470, i32 2131351028], [3 x i32] [i32 1367130551, i32 656542356, i32 -32265240], [3 x i32] [i32 -1560706194, i32 1313084713, i32 -64530479], [3 x i32] [i32 1173554908, i32 -1668797869, i32 -129060957], [3 x i32] [i32 -1947857479, i32 957371559, i32 -258121913], [3 x i32] [i32 399252338, i32 1914743119, i32 -516243825], [3 x i32] [i32 798504676, i32 -465481057, i32 -1032487649], [3 x i32] [i32 1597009353, i32 -930962113, i32 -2064975298], [3 x i32] [i32 -1100948589, i32 -1861924225, i32 165016701], [3 x i32] [i32 2093070119, i32 571118846, i32 330033402], [3 x i32] [i32 -108827058, i32 1142237692, i32 660066805], [3 x i32] [i32 -217654116, i32 -2010491912, i32 1320133610], [3 x i32] [i32 -435308231, i32 273983472, i32 -1654700076], [3 x i32] [i32 -870616462, i32 547966945, i32 985567145], [3 x i32] [i32 -1741232924, i32 1095933890, i32 1971134291], [3 x i32] [i32 812501448, i32 -2103099516, i32 -352698714], [3 x i32] [i32 1625002897, i32 88768265, i32 -705397427], [3 x i32] [i32 -1044961502, i32 177536531, i32 -1410794854], [3 x i32] [i32 -2089923004, i32 355073063, i32 1473377588], [3 x i32] [i32 115121288, i32 710146126, i32 -1348212119], [3 x i32] [i32 230242576, i32 1420292253, i32 1598543059], [3 x i32] [i32 460485152, i32 -1454382790, i32 -1097881178], [3 x i32] [i32 920970305, i32 1386201717, i32 2099204941], [3 x i32] [i32 1841940610, i32 -1522563862, i32 -96557413], [3 x i32] [i32 -611086075, i32 1249839573, i32 -193114825], [3 x i32] [i32 -1222172150, i32 -1795288149, i32 -386229650], [3 x i32] [i32 1850622997, i32 704390999, i32 -772459299], [3 x i32] [i32 -593721302, i32 1408781999, i32 -1544918597], [3 x i32] [i32 -1187442604, i32 -1477403297, i32 1205130103], [3 x i32] [i32 1920082089, i32 1340160702, i32 -1884707090], [3 x i32] [i32 -454803118, i32 -1614645891, i32 525553116], [3 x i32] [i32 -909606235, i32 1065675514, i32 1051106232], [3 x i32] [i32 -1819212470, i32 2131351028, i32 2102212464], [3 x i32] [i32 656542356, i32 -32265240, i32 -90542368], [3 x i32] [i32 1313084713, i32 -64530479, i32 -181084736], [3 x i32] [i32 -1668797869, i32 -129060957, i32 -362169471], [3 x i32] [i32 957371559, i32 -258121913, i32 -724338941], [3 x i32] [i32 1914743119, i32 -516243825, i32 -1448677882], [3 x i32] [i32 -465481057, i32 -1032487649, i32 1397611533], [3 x i32] [i32 -930962113, i32 -2064975298, i32 -1499744229], [3 x i32] [i32 -1861924225, i32 165016701, i32 1295478838], [3 x i32] [i32 571118846, i32 330033402, i32 -1704009619], [3 x i32] [i32 1142237692, i32 660066805, i32 886948059], [3 x i32] [i32 -2010491912, i32 1320133610, i32 1773896118], [3 x i32] [i32 273983472, i32 -1654700076, i32 -747175059], [3 x i32] [i32 547966945, i32 985567145, i32 -1494350117], [3 x i32] [i32 1095933890, i32 1971134291, i32 1306267062], [3 x i32] [i32 -2103099516, i32 -352698714, i32 -1682433172], [3 x i32] [i32 88768265, i32 -705397427, i32 930100952], [3 x i32] [i32 177536531, i32 -1410794854, i32 1860201905], [3 x i32] [i32 355073063, i32 1473377588, i32 -574563486], [3 x i32] [i32 710146126, i32 -1348212119, i32 -1149126971], [3 x i32] [i32 1420292253, i32 1598543059, i32 1996713354], [3 x i32] [i32 -1454382790, i32 -1097881178, i32 -301540588], [3 x i32] [i32 1386201717, i32 2099204941, i32 -603081175], [3 x i32] [i32 -1522563862, i32 -96557413, i32 -1206162350], [3 x i32] [i32 1249839573, i32 -193114825, i32 1882642597], [3 x i32] [i32 -1795288149, i32 -386229650, i32 -529682102], [3 x i32] [i32 704390999, i32 -772459299, i32 -1059364203], [3 x i32] [i32 1408781999, i32 -1544918597, i32 -2118728405], [3 x i32] [i32 -1477403297, i32 1205130103, i32 57510486], [3 x i32] [i32 1340160702, i32 -1884707090, i32 115020972], [3 x i32] [i32 -1614645891, i32 525553116, i32 230041945], [3 x i32] [i32 1065675514, i32 1051106232, i32 460083891], [3 x i32] [i32 2131351028, i32 2102212464, i32 920167782], [3 x i32] [i32 -32265240, i32 -90542368, i32 1840335564], [3 x i32] [i32 -64530479, i32 -181084736, i32 -614296167], [3 x i32] [i32 -129060957, i32 -362169471, i32 -1228592334], [3 x i32] [i32 -258121913, i32 -724338941, i32 1837782628], [3 x i32] [i32 -516243825, i32 -1448677882, i32 -619402039], [3 x i32] [i32 -1032487649, i32 1397611533, i32 -1238804077], [3 x i32] [i32 -2064975298, i32 -1499744229, i32 1817359143], [3 x i32] [i32 165016701, i32 1295478838, i32 -660249009], [3 x i32] [i32 330033402, i32 -1704009619, i32 -1320498018], [3 x i32] [i32 660066805, i32 886948059, i32 1653971260], [3 x i32] [i32 1320133610, i32 1773896118, i32 -987024776], [3 x i32] [i32 -1654700076, i32 -747175059, i32 -1974049551], [3 x i32] [i32 985567145, i32 -1494350117, i32 346868194], [3 x i32] [i32 1971134291, i32 1306267062, i32 693736388], [3 x i32] [i32 -352698714, i32 -1682433172, i32 1387472776], [3 x i32] [i32 -705397427, i32 930100952, i32 -1520021744], [3 x i32] [i32 -1410794854, i32 1860201905, i32 1254923809], [3 x i32] [i32 1473377588, i32 -574563486, i32 -1785119677], [3 x i32] [i32 -1348212119, i32 -1149126971, i32 724727943], [3 x i32] [i32 1598543059, i32 1996713354, i32 1449455886], [3 x i32] [i32 -1097881178, i32 -301540588, i32 -1396055524], [3 x i32] [i32 2099204941, i32 -603081175, i32 1502856249], [3 x i32] [i32 -96557413, i32 -1206162350, i32 -1289254798], [3 x i32] [i32 -193114825, i32 1882642597, i32 1716457700], [3 x i32] [i32 -386229650, i32 -529682102, i32 -862051896], [3 x i32] [i32 -772459299, i32 -1059364203, i32 -1724103792], [3 x i32] [i32 -1544918597, i32 -2118728405, i32 846759712], [3 x i32] [i32 1205130103, i32 57510486, i32 1693519425], [3 x i32] [i32 -1884707090, i32 115020972, i32 -907928446], [3 x i32] [i32 525553116, i32 230041945, i32 -1815856892], [3 x i32] [i32 1051106232, i32 460083891, i32 663253512], [3 x i32] [i32 2102212464, i32 920167782, i32 1326507024], [3 x i32] [i32 -90542368, i32 1840335564, i32 -1641953248], [3 x i32] [i32 -181084736, i32 -614296167, i32 1011060801], [3 x i32] [i32 -362169471, i32 -1228592334, i32 2022121603], [3 x i32] [i32 -724338941, i32 1837782628, i32 -250724089], [3 x i32] [i32 -1448677882, i32 -619402039, i32 -501448177], [3 x i32] [i32 1397611533, i32 -1238804077, i32 -1002896353], [3 x i32] [i32 -1499744229, i32 1817359143, i32 -2005792705], [3 x i32] [i32 1295478838, i32 -660249009, i32 283381887], [3 x i32] [i32 -1704009619, i32 -1320498018, i32 566763775]] }, align 4 +@_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_116__sln_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [210 x %union._iml_sp_union_t] [%union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1065091072] }, %union._iml_sp_union_t { [1 x i32] [i32 1015087104] }, %union._iml_sp_union_t { [1 x i32] [i32 900509991] }, %union._iml_sp_union_t { [1 x i32] [i32 1064828928] }, %union._iml_sp_union_t { [1 x i32] [i32 1023541248] }, %union._iml_sp_union_t { [1 x i32] [i32 925811956] }, %union._iml_sp_union_t { [1 x i32] [i32 1064566784] }, %union._iml_sp_union_t { [1 x i32] [i32 1027915776] }, %union._iml_sp_union_t { [1 x i32] [i32 -1210746152] }, %union._iml_sp_union_t { [1 x i32] [i32 1064304640] }, %union._iml_sp_union_t { [1 x i32] [i32 1032073216] }, %union._iml_sp_union_t { [1 x i32] [i32 -1227975484] }, %union._iml_sp_union_t { [1 x i32] [i32 1064173568] }, %union._iml_sp_union_t { [1 x i32] [i32 1033195520] }, %union._iml_sp_union_t { [1 x i32] [i32 882149603] }, %union._iml_sp_union_t { [1 x i32] [i32 1063911424] }, %union._iml_sp_union_t { [1 x i32] [i32 1035468800] }, %union._iml_sp_union_t { [1 x i32] [i32 928189163] }, %union._iml_sp_union_t { [1 x i32] [i32 1063649280] }, %union._iml_sp_union_t { [1 x i32] [i32 1037783040] }, %union._iml_sp_union_t { [1 x i32] [i32 927501741] }, %union._iml_sp_union_t { [1 x i32] [i32 1063518208] }, %union._iml_sp_union_t { [1 x i32] [i32 1038958592] }, %union._iml_sp_union_t { [1 x i32] [i32 -1218929540] }, %union._iml_sp_union_t { [1 x i32] [i32 1063256064] }, %union._iml_sp_union_t { [1 x i32] [i32 1040759808] }, %union._iml_sp_union_t { [1 x i32] [i32 904405630] }, %union._iml_sp_union_t { [1 x i32] [i32 1063124992] }, %union._iml_sp_union_t { [1 x i32] [i32 1041361920] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242735772] }, %union._iml_sp_union_t { [1 x i32] [i32 1062862848] }, %union._iml_sp_union_t { [1 x i32] [i32 1042581504] }, %union._iml_sp_union_t { [1 x i32] [i32 922094799] }, %union._iml_sp_union_t { [1 x i32] [i32 1062731776] }, %union._iml_sp_union_t { [1 x i32] [i32 1043201024] }, %union._iml_sp_union_t { [1 x i32] [i32 -1224846673] }, %union._iml_sp_union_t { [1 x i32] [i32 1062469632] }, %union._iml_sp_union_t { [1 x i32] [i32 1044455424] }, %union._iml_sp_union_t { [1 x i32] [i32 -1225102663] }, %union._iml_sp_union_t { [1 x i32] [i32 1062338560] }, %union._iml_sp_union_t { [1 x i32] [i32 1045091328] }, %union._iml_sp_union_t { [1 x i32] [i32 -1231778780] }, %union._iml_sp_union_t { [1 x i32] [i32 1062207488] }, %union._iml_sp_union_t { [1 x i32] [i32 1045733376] }, %union._iml_sp_union_t { [1 x i32] [i32 -1240065111] }, %union._iml_sp_union_t { [1 x i32] [i32 1061945344] }, %union._iml_sp_union_t { [1 x i32] [i32 1047035904] }, %union._iml_sp_union_t { [1 x i32] [i32 920635797] }, %union._iml_sp_union_t { [1 x i32] [i32 1061814272] }, %union._iml_sp_union_t { [1 x i32] [i32 1047697408] }, %union._iml_sp_union_t { [1 x i32] [i32 904920689] }, %union._iml_sp_union_t { [1 x i32] [i32 1061683200] }, %union._iml_sp_union_t { [1 x i32] [i32 1048365056] }, %union._iml_sp_union_t { [1 x i32] [i32 912483742] }, %union._iml_sp_union_t { [1 x i32] [i32 1061552128] }, %union._iml_sp_union_t { [1 x i32] [i32 1048807936] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242302891] }, %union._iml_sp_union_t { [1 x i32] [i32 1061421056] }, %union._iml_sp_union_t { [1 x i32] [i32 1049148416] }, %union._iml_sp_union_t { [1 x i32] [i32 912794238] }, %union._iml_sp_union_t { [1 x i32] [i32 1061158912] }, %union._iml_sp_union_t { [1 x i32] [i32 1049840384] }, %union._iml_sp_union_t { [1 x i32] [i32 889474359] }, %union._iml_sp_union_t { [1 x i32] [i32 1061027840] }, %union._iml_sp_union_t { [1 x i32] [i32 1050191872] }, %union._iml_sp_union_t { [1 x i32] [i32 -1235098934] }, %union._iml_sp_union_t { [1 x i32] [i32 1060896768] }, %union._iml_sp_union_t { [1 x i32] [i32 1050546944] }, %union._iml_sp_union_t { [1 x i32] [i32 -1235710771] }, %union._iml_sp_union_t { [1 x i32] [i32 1060765696] }, %union._iml_sp_union_t { [1 x i32] [i32 1050905600] }, %union._iml_sp_union_t { [1 x i32] [i32 912008988] }, %union._iml_sp_union_t { [1 x i32] [i32 1060634624] }, %union._iml_sp_union_t { [1 x i32] [i32 1051268352] }, %union._iml_sp_union_t { [1 x i32] [i32 912290698] }, %union._iml_sp_union_t { [1 x i32] [i32 1060503552] }, %union._iml_sp_union_t { [1 x i32] [i32 1051635200] }, %union._iml_sp_union_t { [1 x i32] [i32 -1257756248] }, %union._iml_sp_union_t { [1 x i32] [i32 1060372480] }, %union._iml_sp_union_t { [1 x i32] [i32 1052005888] }, %union._iml_sp_union_t { [1 x i32] [i32 906226119] }, %union._iml_sp_union_t { [1 x i32] [i32 1060241408] }, %union._iml_sp_union_t { [1 x i32] [i32 1052380928] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242486991] }, %union._iml_sp_union_t { [1 x i32] [i32 1060110336] }, %union._iml_sp_union_t { [1 x i32] [i32 1052760064] }, %union._iml_sp_union_t { [1 x i32] [i32 -1246198531] }, %union._iml_sp_union_t { [1 x i32] [i32 1059979264] }, %union._iml_sp_union_t { [1 x i32] [i32 1053143552] }, %union._iml_sp_union_t { [1 x i32] [i32 -1244991846] }, %union._iml_sp_union_t { [1 x i32] [i32 1059848192] }, %union._iml_sp_union_t { [1 x i32] [i32 1053531392] }, %union._iml_sp_union_t { [1 x i32] [i32 894485718] }, %union._iml_sp_union_t { [1 x i32] [i32 1059717120] }, %union._iml_sp_union_t { [1 x i32] [i32 1053923840] }, %union._iml_sp_union_t { [1 x i32] [i32 897598623] }, %union._iml_sp_union_t { [1 x i32] [i32 1059586048] }, %union._iml_sp_union_t { [1 x i32] [i32 1054320896] }, %union._iml_sp_union_t { [1 x i32] [i32 907355277] }, %union._iml_sp_union_t { [1 x i32] [i32 1059586048] }, %union._iml_sp_union_t { [1 x i32] [i32 1054320896] }, %union._iml_sp_union_t { [1 x i32] [i32 907355277] }, %union._iml_sp_union_t { [1 x i32] [i32 1059454976] }, %union._iml_sp_union_t { [1 x i32] [i32 1054722816] }, %union._iml_sp_union_t { [1 x i32] [i32 881705073] }, %union._iml_sp_union_t { [1 x i32] [i32 1059323904] }, %union._iml_sp_union_t { [1 x i32] [i32 1055129600] }, %union._iml_sp_union_t { [1 x i32] [i32 -1245243563] }, %union._iml_sp_union_t { [1 x i32] [i32 1059192832] }, %union._iml_sp_union_t { [1 x i32] [i32 1055541248] }, %union._iml_sp_union_t { [1 x i32] [i32 890353599] }, %union._iml_sp_union_t { [1 x i32] [i32 1059061760] }, %union._iml_sp_union_t { [1 x i32] [i32 1055958016] }, %union._iml_sp_union_t { [1 x i32] [i32 908173938] }, %union._iml_sp_union_t { [1 x i32] [i32 1059061760] }, %union._iml_sp_union_t { [1 x i32] [i32 1055958016] }, %union._iml_sp_union_t { [1 x i32] [i32 908173938] }, %union._iml_sp_union_t { [1 x i32] [i32 1058930688] }, %union._iml_sp_union_t { [1 x i32] [i32 1056380160] }, %union._iml_sp_union_t { [1 x i32] [i32 883644938] }, %union._iml_sp_union_t { [1 x i32] [i32 1058799616] }, %union._iml_sp_union_t { [1 x i32] [i32 1056807680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242951497] }, %union._iml_sp_union_t { [1 x i32] [i32 1058668544] }, %union._iml_sp_union_t { [1 x i32] [i32 1057102592] }, %union._iml_sp_union_t { [1 x i32] [i32 884897284] }, %union._iml_sp_union_t { [1 x i32] [i32 1058668544] }, %union._iml_sp_union_t { [1 x i32] [i32 1057102592] }, %union._iml_sp_union_t { [1 x i32] [i32 884897284] }, %union._iml_sp_union_t { [1 x i32] [i32 1058537472] }, %union._iml_sp_union_t { [1 x i32] [i32 1057321920] }, %union._iml_sp_union_t { [1 x i32] [i32 -1257334826] }, %union._iml_sp_union_t { [1 x i32] [i32 1058406400] }, %union._iml_sp_union_t { [1 x i32] [i32 1057544128] }, %union._iml_sp_union_t { [1 x i32] [i32 865017195] }, %union._iml_sp_union_t { [1 x i32] [i32 1058275328] }, %union._iml_sp_union_t { [1 x i32] [i32 1057769344] }, %union._iml_sp_union_t { [1 x i32] [i32 -1252030750] }, %union._iml_sp_union_t { [1 x i32] [i32 1058275328] }, %union._iml_sp_union_t { [1 x i32] [i32 1057769344] }, %union._iml_sp_union_t { [1 x i32] [i32 -1252030750] }, %union._iml_sp_union_t { [1 x i32] [i32 1058144256] }, %union._iml_sp_union_t { [1 x i32] [i32 1057997568] }, %union._iml_sp_union_t { [1 x i32] [i32 903344518] }, %union._iml_sp_union_t { [1 x i32] [i32 1058013184] }, %union._iml_sp_union_t { [1 x i32] [i32 1058228992] }, %union._iml_sp_union_t { [1 x i32] [i32 897862967] }, %union._iml_sp_union_t { [1 x i32] [i32 1058013184] }, %union._iml_sp_union_t { [1 x i32] [i32 1058228992] }, %union._iml_sp_union_t { [1 x i32] [i32 897862967] }, %union._iml_sp_union_t { [1 x i32] [i32 1057882112] }, %union._iml_sp_union_t { [1 x i32] [i32 1058463680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247145016] }, %union._iml_sp_union_t { [1 x i32] [i32 1057882112] }, %union._iml_sp_union_t { [1 x i32] [i32 1058463680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247145016] }, %union._iml_sp_union_t { [1 x i32] [i32 1057751040] }, %union._iml_sp_union_t { [1 x i32] [i32 1058701632] }, %union._iml_sp_union_t { [1 x i32] [i32 883793293] }, %union._iml_sp_union_t { [1 x i32] [i32 1057619968] }, %union._iml_sp_union_t { [1 x i32] [i32 1058943040] }, %union._iml_sp_union_t { [1 x i32] [i32 851667963] }, %union._iml_sp_union_t { [1 x i32] [i32 1057619968] }, %union._iml_sp_union_t { [1 x i32] [i32 1058943040] }, %union._iml_sp_union_t { [1 x i32] [i32 851667963] }, %union._iml_sp_union_t { [1 x i32] [i32 1057488896] }, %union._iml_sp_union_t { [1 x i32] [i32 1059187968] }, %union._iml_sp_union_t { [1 x i32] [i32 -1294963260] }, %union._iml_sp_union_t { [1 x i32] [i32 1057488896] }, %union._iml_sp_union_t { [1 x i32] [i32 1059187968] }, %union._iml_sp_union_t { [1 x i32] [i32 -1294963260] }, %union._iml_sp_union_t { [1 x i32] [i32 1057357824] }, %union._iml_sp_union_t { [1 x i32] [i32 1059436544] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247536579] }, %union._iml_sp_union_t { [1 x i32] [i32 1057357824] }, %union._iml_sp_union_t { [1 x i32] [i32 1059436544] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247536579] }, %union._iml_sp_union_t { [1 x i32] [i32 1057226752] }, %union._iml_sp_union_t { [1 x i32] [i32 1059688832] }, %union._iml_sp_union_t { [1 x i32] [i32 -1251164988] }, %union._iml_sp_union_t { [1 x i32] [i32 1057226752] }, %union._iml_sp_union_t { [1 x i32] [i32 1059688832] }, %union._iml_sp_union_t { [1 x i32] [i32 -1251164988] }, %union._iml_sp_union_t { [1 x i32] [i32 1057095680] }, %union._iml_sp_union_t { [1 x i32] [i32 1059944960] }, %union._iml_sp_union_t { [1 x i32] [i32 876113044] }, %union._iml_sp_union_t { [1 x i32] [i32 1057095680] }, %union._iml_sp_union_t { [1 x i32] [i32 1059944960] }, %union._iml_sp_union_t { [1 x i32] [i32 876113044] }, %union._iml_sp_union_t { [1 x i32] [i32 1056964608] }, %union._iml_sp_union_t { [1 x i32] [i32 1060205056] }, %union._iml_sp_union_t { [1 x i32] [i32 901758606] }, %union._iml_sp_union_t { [1 x i32] [i32 1060205056] }, %union._iml_sp_union_t { [1 x i32] [i32 901758606] }, %union._iml_sp_union_t { [1 x i32] [i32 1207959616] }, %union._iml_sp_union_t { [1 x i32] [i32 1174405120] }, %union._iml_sp_union_t { [1 x i32] [i32 1008730112] }, %union._iml_sp_union_t { [1 x i32] [i32 1291845632] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t { [1 x i32] [i32 -1090519040] }, %union._iml_sp_union_t { [1 x i32] [i32 1051372203] }, %union._iml_sp_union_t { [1 x i32] [i32 -1098907648] }, %union._iml_sp_union_t { [1 x i32] [i32 1045220557] }, %union._iml_sp_union_t { [1 x i32] [i32 -1104500053] }, %union._iml_sp_union_t { [1 x i32] [i32 1041387009] }, %union._iml_sp_union_t { [1 x i32] [i32 -1107294816] }], align 4 +@_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_136__devicelib_imf_internal_slog1p_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_log1p_s_ha::(anonymous namespace)::__devicelib_imf_internal_slog1p_data_t" { [258 x i32] [i32 -1028740040, i32 -1187201272, i32 -1028739020, i32 -1187190414, i32 -1028738012, i32 -1185017751, i32 -1028737004, i32 -1186911450, i32 -1028736004, i32 -1188615359, i32 -1028735020, i32 -1185874729, i32 -1028734036, i32 -1187019080, i32 -1028733060, i32 -1187796336, i32 -1028732092, i32 -1188150009, i32 -1028731132, i32 -1188024847, i32 -1028730180, i32 -1187366807, i32 -1028729236, i32 -1186123017, i32 -1028728292, i32 -1188436043, i32 -1028727364, i32 -1185866646, i32 -1028726436, i32 -1186753876, i32 -1028725516, i32 -1186854915, i32 -1028724604, i32 -1186122262, i32 -1028723692, i32 -1188703707, i32 -1028722796, i32 -1186165087, i32 -1028721900, i32 -1186850387, i32 -1028721012, i32 -1186521589, i32 -1028720132, i32 -1185135861, i32 -1028719252, i32 -1186845536, i32 -1028718380, i32 -1187415173, i32 -1028717516, i32 -1186804452, i32 -1028716652, i32 -1189168150, i32 -1028715804, i32 -1186078903, i32 -1028714956, i32 -1185887317, i32 -1028714108, i32 -1188556123, i32 -1028713276, i32 -1185660157, i32 -1028712444, i32 -1185552169, i32 -1028711612, i32 -1188196979, i32 -1028710796, i32 -1185171462, i32 -1028709972, i32 -1189024655, i32 -1028709164, i32 -1187140404, i32 -1028708356, i32 -1187874686, i32 -1028707556, i32 -1187001165, i32 -1028706756, i32 -1188682700, i32 -1028705964, i32 -1188694108, i32 -1028705180, i32 -1187005070, i32 -1028704396, i32 -1187780110, i32 -1028703620, i32 -1186795679, i32 -1028702844, i32 -1188217349, i32 -1028702076, i32 -1187822593, i32 -1028701316, i32 -1185583681, i32 -1028700556, i32 -1185667667, i32 -1028699796, i32 -1188047775, i32 -1028699044, i32 -1188503383, i32 -1028698300, i32 -1187008626, i32 -1028697556, i32 -1187732379, i32 -1028696820, i32 -1186455342, i32 -1028696084, i32 -1187347240, i32 -1028695356, i32 -1186189603, i32 -1028694628, i32 -1187152971, i32 -1028693908, i32 -1186019666, i32 -1028693188, i32 -1186961006, i32 -1028692476, i32 -1185760074, i32 -1028691764, i32 -1186588930, i32 -1028691060, i32 -1185231384, i32 -1028690356, i32 -1185860209, i32 -1028689652, i32 -1188454217, i32 -1028688956, i32 -1188798252, i32 -1028688268, i32 -1186871793, i32 -1028687580, i32 -1186848947, i32 -1028686892, i32 -1188709833, i32 -1028686212, i32 -1188240576, i32 -1028685540, i32 -1185421907, i32 -1028684860, i32 -1188623463, i32 -1028684196, i32 -1185243654, i32 -1028683524, i32 -1187846996, i32 -1028682860, i32 -1188026767, i32 -1028682204, i32 -1185765126, i32 -1028681548, i32 -1185238802, i32 -1028680892, i32 -1186430488, i32 -1028680244, i32 -1185128825, i32 -1028679596, i32 -1185511319, i32 -1028678948, i32 -1187561417, i32 -1028678308, i32 -1187068506, i32 -1028677668, i32 -1188210819, i32 -1028677036, i32 -1186778215, i32 -1028676404, i32 -1186949389, i32 -1028675772, i32 -1188708957, i32 -1028675148, i32 -1187847451, i32 -1028674524, i32 -1188544227, i32 -1028673908, i32 -1186590246, i32 -1028673292, i32 -1186165285, i32 -1028672676, i32 -1187255019, i32 -1028672068, i32 -1185651022, i32 -1028671460, i32 -1185533671, i32 -1028670852, i32 -1186889232, i32 -1028670252, i32 -1185509858, i32 -1028669652, i32 -1185576495, i32 -1028669052, i32 -1187075967, i32 -1028668460, i32 -1185800973, i32 -1028667868, i32 -1185932997, i32 -1028667276, i32 -1187459392, i32 -1028666692, i32 -1186173377, i32 -1028666108, i32 -1186256944, i32 -1028665524, i32 -1187697946, i32 -1028664948, i32 -1186290093, i32 -1028664372, i32 -1186215860, i32 -1028663796, i32 -1187463576, i32 -1028663228, i32 -1185827415, i32 -1028662660, i32 -1185490311, i32 -1028662092, i32 -1186441042, i32 -1028661524, i32 -1188668528, i32 -1028660964, i32 -1187967531, i32 -1028660404, i32 -1188521557, i32 -1028659852, i32 -1186125646, i32 -1028659292, i32 -1189157881, i32 -1028658748, i32 -1185024960, i32 -1028658196, i32 -1186299536, i32 -1028657644, i32 -1188777174, i32 -1028657100, i32 -1188253564, i32 -1028656556, i32 -1188913131, i32 -1028656020, i32 -1186551812, i32 -1028655484, i32 -1185354273, i32 -1028654948, i32 -1185310995, i32 -1028654412, i32 -1186412573, i32 -1028653876, i32 -1188649720, i32 -1028653348, i32 -1187818955, i32 -1028652820, i32 -1188105516, i32 -1028652300, i32 -1185306143, i32 -1028651772, i32 -1187800594, i32 -1028651252, i32 -1187191518, i32 -1028650732, i32 -1187664579, i32 -1028650220, i32 -1185016935, i32 -1028649700, i32 -1187628757, i32 -1028649188, i32 -1187103100], i32 2147483647, i32 964689920, i32 -256, i32 2139095040, i32 2063597568, [2 x i32] [i32 1051372345, i32 -1090518986], i32 8388607, i32 998244352, i32 -1082130433, i32 2055208960, i32 -256, i32 1060205056, i32 901758464, i32 1065353216, [10 x i32] [i32 -1090519040, i32 1051372203, i32 -1098907769, i32 1045220287, i32 -1104491388, i32 1041398342, i32 -1107704578, i32 1037844266, i32 -1107064686, i32 1039525906], i32 16777216, i32 25165824, i32 1059760811, i32 8388607, i32 1060205056, i32 901758606, [2 x i32] [i32 2139095040, i32 -8388608], [2 x i32] [i32 1065353216, i32 -1082130432], [2 x i32] [i32 0, i32 -2147483648] }, align 4 +@_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_119__slog1p_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [210 x %union._iml_sp_union_t] [%union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1065091072] }, %union._iml_sp_union_t { [1 x i32] [i32 1015087104] }, %union._iml_sp_union_t { [1 x i32] [i32 900509991] }, %union._iml_sp_union_t { [1 x i32] [i32 1064828928] }, %union._iml_sp_union_t { [1 x i32] [i32 1023541248] }, %union._iml_sp_union_t { [1 x i32] [i32 925811956] }, %union._iml_sp_union_t { [1 x i32] [i32 1064566784] }, %union._iml_sp_union_t { [1 x i32] [i32 1027915776] }, %union._iml_sp_union_t { [1 x i32] [i32 -1210746152] }, %union._iml_sp_union_t { [1 x i32] [i32 1064304640] }, %union._iml_sp_union_t { [1 x i32] [i32 1032073216] }, %union._iml_sp_union_t { [1 x i32] [i32 -1227975484] }, %union._iml_sp_union_t { [1 x i32] [i32 1064173568] }, %union._iml_sp_union_t { [1 x i32] [i32 1033195520] }, %union._iml_sp_union_t { [1 x i32] [i32 882149603] }, %union._iml_sp_union_t { [1 x i32] [i32 1063911424] }, %union._iml_sp_union_t { [1 x i32] [i32 1035468800] }, %union._iml_sp_union_t { [1 x i32] [i32 928189163] }, %union._iml_sp_union_t { [1 x i32] [i32 1063649280] }, %union._iml_sp_union_t { [1 x i32] [i32 1037783040] }, %union._iml_sp_union_t { [1 x i32] [i32 927501741] }, %union._iml_sp_union_t { [1 x i32] [i32 1063518208] }, %union._iml_sp_union_t { [1 x i32] [i32 1038958592] }, %union._iml_sp_union_t { [1 x i32] [i32 -1218929540] }, %union._iml_sp_union_t { [1 x i32] [i32 1063256064] }, %union._iml_sp_union_t { [1 x i32] [i32 1040759808] }, %union._iml_sp_union_t { [1 x i32] [i32 904405630] }, %union._iml_sp_union_t { [1 x i32] [i32 1063124992] }, %union._iml_sp_union_t { [1 x i32] [i32 1041361920] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242735772] }, %union._iml_sp_union_t { [1 x i32] [i32 1062862848] }, %union._iml_sp_union_t { [1 x i32] [i32 1042581504] }, %union._iml_sp_union_t { [1 x i32] [i32 922094799] }, %union._iml_sp_union_t { [1 x i32] [i32 1062731776] }, %union._iml_sp_union_t { [1 x i32] [i32 1043201024] }, %union._iml_sp_union_t { [1 x i32] [i32 -1224846673] }, %union._iml_sp_union_t { [1 x i32] [i32 1062469632] }, %union._iml_sp_union_t { [1 x i32] [i32 1044455424] }, %union._iml_sp_union_t { [1 x i32] [i32 -1225102663] }, %union._iml_sp_union_t { [1 x i32] [i32 1062338560] }, %union._iml_sp_union_t { [1 x i32] [i32 1045091328] }, %union._iml_sp_union_t { [1 x i32] [i32 -1231778780] }, %union._iml_sp_union_t { [1 x i32] [i32 1062207488] }, %union._iml_sp_union_t { [1 x i32] [i32 1045733376] }, %union._iml_sp_union_t { [1 x i32] [i32 -1240065111] }, %union._iml_sp_union_t { [1 x i32] [i32 1061945344] }, %union._iml_sp_union_t { [1 x i32] [i32 1047035904] }, %union._iml_sp_union_t { [1 x i32] [i32 920635797] }, %union._iml_sp_union_t { [1 x i32] [i32 1061814272] }, %union._iml_sp_union_t { [1 x i32] [i32 1047697408] }, %union._iml_sp_union_t { [1 x i32] [i32 904920689] }, %union._iml_sp_union_t { [1 x i32] [i32 1061683200] }, %union._iml_sp_union_t { [1 x i32] [i32 1048365056] }, %union._iml_sp_union_t { [1 x i32] [i32 912483742] }, %union._iml_sp_union_t { [1 x i32] [i32 1061552128] }, %union._iml_sp_union_t { [1 x i32] [i32 1048807936] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242302891] }, %union._iml_sp_union_t { [1 x i32] [i32 1061421056] }, %union._iml_sp_union_t { [1 x i32] [i32 1049148416] }, %union._iml_sp_union_t { [1 x i32] [i32 912794238] }, %union._iml_sp_union_t { [1 x i32] [i32 1061158912] }, %union._iml_sp_union_t { [1 x i32] [i32 1049840384] }, %union._iml_sp_union_t { [1 x i32] [i32 889474359] }, %union._iml_sp_union_t { [1 x i32] [i32 1061027840] }, %union._iml_sp_union_t { [1 x i32] [i32 1050191872] }, %union._iml_sp_union_t { [1 x i32] [i32 -1235098934] }, %union._iml_sp_union_t { [1 x i32] [i32 1060896768] }, %union._iml_sp_union_t { [1 x i32] [i32 1050546944] }, %union._iml_sp_union_t { [1 x i32] [i32 -1235710771] }, %union._iml_sp_union_t { [1 x i32] [i32 1060765696] }, %union._iml_sp_union_t { [1 x i32] [i32 1050905600] }, %union._iml_sp_union_t { [1 x i32] [i32 912008988] }, %union._iml_sp_union_t { [1 x i32] [i32 1060634624] }, %union._iml_sp_union_t { [1 x i32] [i32 1051268352] }, %union._iml_sp_union_t { [1 x i32] [i32 912290698] }, %union._iml_sp_union_t { [1 x i32] [i32 1060503552] }, %union._iml_sp_union_t { [1 x i32] [i32 1051635200] }, %union._iml_sp_union_t { [1 x i32] [i32 -1257756248] }, %union._iml_sp_union_t { [1 x i32] [i32 1060372480] }, %union._iml_sp_union_t { [1 x i32] [i32 1052005888] }, %union._iml_sp_union_t { [1 x i32] [i32 906226119] }, %union._iml_sp_union_t { [1 x i32] [i32 1060241408] }, %union._iml_sp_union_t { [1 x i32] [i32 1052380928] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242486991] }, %union._iml_sp_union_t { [1 x i32] [i32 1060110336] }, %union._iml_sp_union_t { [1 x i32] [i32 1052760064] }, %union._iml_sp_union_t { [1 x i32] [i32 -1246198531] }, %union._iml_sp_union_t { [1 x i32] [i32 1059979264] }, %union._iml_sp_union_t { [1 x i32] [i32 1053143552] }, %union._iml_sp_union_t { [1 x i32] [i32 -1244991846] }, %union._iml_sp_union_t { [1 x i32] [i32 1059848192] }, %union._iml_sp_union_t { [1 x i32] [i32 1053531392] }, %union._iml_sp_union_t { [1 x i32] [i32 894485718] }, %union._iml_sp_union_t { [1 x i32] [i32 1059717120] }, %union._iml_sp_union_t { [1 x i32] [i32 1053923840] }, %union._iml_sp_union_t { [1 x i32] [i32 897598623] }, %union._iml_sp_union_t { [1 x i32] [i32 1059586048] }, %union._iml_sp_union_t { [1 x i32] [i32 1054320896] }, %union._iml_sp_union_t { [1 x i32] [i32 907355277] }, %union._iml_sp_union_t { [1 x i32] [i32 1059586048] }, %union._iml_sp_union_t { [1 x i32] [i32 1054320896] }, %union._iml_sp_union_t { [1 x i32] [i32 907355277] }, %union._iml_sp_union_t { [1 x i32] [i32 1059454976] }, %union._iml_sp_union_t { [1 x i32] [i32 1054722816] }, %union._iml_sp_union_t { [1 x i32] [i32 881705073] }, %union._iml_sp_union_t { [1 x i32] [i32 1059323904] }, %union._iml_sp_union_t { [1 x i32] [i32 1055129600] }, %union._iml_sp_union_t { [1 x i32] [i32 -1245243563] }, %union._iml_sp_union_t { [1 x i32] [i32 1059192832] }, %union._iml_sp_union_t { [1 x i32] [i32 1055541248] }, %union._iml_sp_union_t { [1 x i32] [i32 890353599] }, %union._iml_sp_union_t { [1 x i32] [i32 1059061760] }, %union._iml_sp_union_t { [1 x i32] [i32 1055958016] }, %union._iml_sp_union_t { [1 x i32] [i32 908173938] }, %union._iml_sp_union_t { [1 x i32] [i32 1059061760] }, %union._iml_sp_union_t { [1 x i32] [i32 1055958016] }, %union._iml_sp_union_t { [1 x i32] [i32 908173938] }, %union._iml_sp_union_t { [1 x i32] [i32 1058930688] }, %union._iml_sp_union_t { [1 x i32] [i32 1056380160] }, %union._iml_sp_union_t { [1 x i32] [i32 883644938] }, %union._iml_sp_union_t { [1 x i32] [i32 1058799616] }, %union._iml_sp_union_t { [1 x i32] [i32 1056807680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242951497] }, %union._iml_sp_union_t { [1 x i32] [i32 1058668544] }, %union._iml_sp_union_t { [1 x i32] [i32 1057102592] }, %union._iml_sp_union_t { [1 x i32] [i32 884897284] }, %union._iml_sp_union_t { [1 x i32] [i32 1058668544] }, %union._iml_sp_union_t { [1 x i32] [i32 1057102592] }, %union._iml_sp_union_t { [1 x i32] [i32 884897284] }, %union._iml_sp_union_t { [1 x i32] [i32 1058537472] }, %union._iml_sp_union_t { [1 x i32] [i32 1057321920] }, %union._iml_sp_union_t { [1 x i32] [i32 -1257334826] }, %union._iml_sp_union_t { [1 x i32] [i32 1058406400] }, %union._iml_sp_union_t { [1 x i32] [i32 1057544128] }, %union._iml_sp_union_t { [1 x i32] [i32 865017195] }, %union._iml_sp_union_t { [1 x i32] [i32 1058275328] }, %union._iml_sp_union_t { [1 x i32] [i32 1057769344] }, %union._iml_sp_union_t { [1 x i32] [i32 -1252030750] }, %union._iml_sp_union_t { [1 x i32] [i32 1058275328] }, %union._iml_sp_union_t { [1 x i32] [i32 1057769344] }, %union._iml_sp_union_t { [1 x i32] [i32 -1252030750] }, %union._iml_sp_union_t { [1 x i32] [i32 1058144256] }, %union._iml_sp_union_t { [1 x i32] [i32 1057997568] }, %union._iml_sp_union_t { [1 x i32] [i32 903344518] }, %union._iml_sp_union_t { [1 x i32] [i32 1058013184] }, %union._iml_sp_union_t { [1 x i32] [i32 1058228992] }, %union._iml_sp_union_t { [1 x i32] [i32 897862967] }, %union._iml_sp_union_t { [1 x i32] [i32 1058013184] }, %union._iml_sp_union_t { [1 x i32] [i32 1058228992] }, %union._iml_sp_union_t { [1 x i32] [i32 897862967] }, %union._iml_sp_union_t { [1 x i32] [i32 1057882112] }, %union._iml_sp_union_t { [1 x i32] [i32 1058463680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247145016] }, %union._iml_sp_union_t { [1 x i32] [i32 1057882112] }, %union._iml_sp_union_t { [1 x i32] [i32 1058463680] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247145016] }, %union._iml_sp_union_t { [1 x i32] [i32 1057751040] }, %union._iml_sp_union_t { [1 x i32] [i32 1058701632] }, %union._iml_sp_union_t { [1 x i32] [i32 883793293] }, %union._iml_sp_union_t { [1 x i32] [i32 1057619968] }, %union._iml_sp_union_t { [1 x i32] [i32 1058943040] }, %union._iml_sp_union_t { [1 x i32] [i32 851667963] }, %union._iml_sp_union_t { [1 x i32] [i32 1057619968] }, %union._iml_sp_union_t { [1 x i32] [i32 1058943040] }, %union._iml_sp_union_t { [1 x i32] [i32 851667963] }, %union._iml_sp_union_t { [1 x i32] [i32 1057488896] }, %union._iml_sp_union_t { [1 x i32] [i32 1059187968] }, %union._iml_sp_union_t { [1 x i32] [i32 -1294963260] }, %union._iml_sp_union_t { [1 x i32] [i32 1057488896] }, %union._iml_sp_union_t { [1 x i32] [i32 1059187968] }, %union._iml_sp_union_t { [1 x i32] [i32 -1294963260] }, %union._iml_sp_union_t { [1 x i32] [i32 1057357824] }, %union._iml_sp_union_t { [1 x i32] [i32 1059436544] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247536579] }, %union._iml_sp_union_t { [1 x i32] [i32 1057357824] }, %union._iml_sp_union_t { [1 x i32] [i32 1059436544] }, %union._iml_sp_union_t { [1 x i32] [i32 -1247536579] }, %union._iml_sp_union_t { [1 x i32] [i32 1057226752] }, %union._iml_sp_union_t { [1 x i32] [i32 1059688832] }, %union._iml_sp_union_t { [1 x i32] [i32 -1251164988] }, %union._iml_sp_union_t { [1 x i32] [i32 1057226752] }, %union._iml_sp_union_t { [1 x i32] [i32 1059688832] }, %union._iml_sp_union_t { [1 x i32] [i32 -1251164988] }, %union._iml_sp_union_t { [1 x i32] [i32 1057095680] }, %union._iml_sp_union_t { [1 x i32] [i32 1059944960] }, %union._iml_sp_union_t { [1 x i32] [i32 876113044] }, %union._iml_sp_union_t { [1 x i32] [i32 1057095680] }, %union._iml_sp_union_t { [1 x i32] [i32 1059944960] }, %union._iml_sp_union_t { [1 x i32] [i32 876113044] }, %union._iml_sp_union_t { [1 x i32] [i32 1056964608] }, %union._iml_sp_union_t { [1 x i32] [i32 1060205056] }, %union._iml_sp_union_t { [1 x i32] [i32 901758606] }, %union._iml_sp_union_t { [1 x i32] [i32 1060205056] }, %union._iml_sp_union_t { [1 x i32] [i32 901758606] }, %union._iml_sp_union_t { [1 x i32] [i32 1207959616] }, %union._iml_sp_union_t { [1 x i32] [i32 1174405120] }, %union._iml_sp_union_t { [1 x i32] [i32 1008730112] }, %union._iml_sp_union_t { [1 x i32] [i32 1400897536] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t { [1 x i32] [i32 -1090519040] }, %union._iml_sp_union_t { [1 x i32] [i32 1051372203] }, %union._iml_sp_union_t { [1 x i32] [i32 -1098907648] }, %union._iml_sp_union_t { [1 x i32] [i32 1045220557] }, %union._iml_sp_union_t { [1 x i32] [i32 -1104500053] }, %union._iml_sp_union_t { [1 x i32] [i32 1041387009] }, %union._iml_sp_union_t { [1 x i32] [i32 -1107294816] }], align 4 +@_ZN21__imf_impl_log10_s_la12_GLOBAL__N_119__slog10_la_CoutTabE = internal unnamed_addr addrspace(1) constant [212 x %union._iml_sp_union_t] [%union._iml_sp_union_t { [1 x i32] [i32 1121868800] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1121641104] }, %union._iml_sp_union_t { [1 x i32] [i32 1004535808] }, %union._iml_sp_union_t { [1 x i32] [i32 912917177] }, %union._iml_sp_union_t { [1 x i32] [i32 1121413408] }, %union._iml_sp_union_t { [1 x i32] [i32 1013055488] }, %union._iml_sp_union_t { [1 x i32] [i32 -1229065694] }, %union._iml_sp_union_t { [1 x i32] [i32 1121185712] }, %union._iml_sp_union_t { [1 x i32] [i32 1017839616] }, %union._iml_sp_union_t { [1 x i32] [i32 -1211606145] }, %union._iml_sp_union_t { [1 x i32] [i32 1120958016] }, %union._iml_sp_union_t { [1 x i32] [i32 1021673472] }, %union._iml_sp_union_t { [1 x i32] [i32 929297206] }, %union._iml_sp_union_t { [1 x i32] [i32 1120844168] }, %union._iml_sp_union_t { [1 x i32] [i32 1023524864] }, %union._iml_sp_union_t { [1 x i32] [i32 -1217470707] }, %union._iml_sp_union_t { [1 x i32] [i32 1120616472] }, %union._iml_sp_union_t { [1 x i32] [i32 1025499136] }, %union._iml_sp_union_t { [1 x i32] [i32 -1224467250] }, %union._iml_sp_union_t { [1 x i32] [i32 1120388776] }, %union._iml_sp_union_t { [1 x i32] [i32 1027506176] }, %union._iml_sp_union_t { [1 x i32] [i32 912271551] }, %union._iml_sp_union_t { [1 x i32] [i32 1120274928] }, %union._iml_sp_union_t { [1 x i32] [i32 1028521984] }, %union._iml_sp_union_t { [1 x i32] [i32 927716856] }, %union._iml_sp_union_t { [1 x i32] [i32 1120047232] }, %union._iml_sp_union_t { [1 x i32] [i32 1030586368] }, %union._iml_sp_union_t { [1 x i32] [i32 923757491] }, %union._iml_sp_union_t { [1 x i32] [i32 1119933384] }, %union._iml_sp_union_t { [1 x i32] [i32 1031634944] }, %union._iml_sp_union_t { [1 x i32] [i32 -1238214448] }, %union._iml_sp_union_t { [1 x i32] [i32 1119705688] }, %union._iml_sp_union_t { [1 x i32] [i32 1032775680] }, %union._iml_sp_union_t { [1 x i32] [i32 917029265] }, %union._iml_sp_union_t { [1 x i32] [i32 1119591840] }, %union._iml_sp_union_t { [1 x i32] [i32 1033314304] }, %union._iml_sp_union_t { [1 x i32] [i32 -1229881711] }, %union._iml_sp_union_t { [1 x i32] [i32 1119364144] }, %union._iml_sp_union_t { [1 x i32] [i32 1034403840] }, %union._iml_sp_union_t { [1 x i32] [i32 -1230353272] }, %union._iml_sp_union_t { [1 x i32] [i32 1119250296] }, %union._iml_sp_union_t { [1 x i32] [i32 1034954752] }, %union._iml_sp_union_t { [1 x i32] [i32 921091539] }, %union._iml_sp_union_t { [1 x i32] [i32 1119136448] }, %union._iml_sp_union_t { [1 x i32] [i32 1035513856] }, %union._iml_sp_union_t { [1 x i32] [i32 -1237530842] }, %union._iml_sp_union_t { [1 x i32] [i32 1118908752] }, %union._iml_sp_union_t { [1 x i32] [i32 1036644352] }, %union._iml_sp_union_t { [1 x i32] [i32 922468856] }, %union._iml_sp_union_t { [1 x i32] [i32 1118794904] }, %union._iml_sp_union_t { [1 x i32] [i32 1037219840] }, %union._iml_sp_union_t { [1 x i32] [i32 -1245811451] }, %union._iml_sp_union_t { [1 x i32] [i32 1118681056] }, %union._iml_sp_union_t { [1 x i32] [i32 1037799424] }, %union._iml_sp_union_t { [1 x i32] [i32 904301451] }, %union._iml_sp_union_t { [1 x i32] [i32 1118567208] }, %union._iml_sp_union_t { [1 x i32] [i32 1038385152] }, %union._iml_sp_union_t { [1 x i32] [i32 908617625] }, %union._iml_sp_union_t { [1 x i32] [i32 1118453360] }, %union._iml_sp_union_t { [1 x i32] [i32 1038977024] }, %union._iml_sp_union_t { [1 x i32] [i32 905362229] }, %union._iml_sp_union_t { [1 x i32] [i32 1118225664] }, %union._iml_sp_union_t { [1 x i32] [i32 1040179200] }, %union._iml_sp_union_t { [1 x i32] [i32 -1267396382] }, %union._iml_sp_union_t { [1 x i32] [i32 1118111816] }, %union._iml_sp_union_t { [1 x i32] [i32 1040488448] }, %union._iml_sp_union_t { [1 x i32] [i32 882280038] }, %union._iml_sp_union_t { [1 x i32] [i32 1117997968] }, %union._iml_sp_union_t { [1 x i32] [i32 1040796672] }, %union._iml_sp_union_t { [1 x i32] [i32 911375775] }, %union._iml_sp_union_t { [1 x i32] [i32 1117884120] }, %union._iml_sp_union_t { [1 x i32] [i32 1041108480] }, %union._iml_sp_union_t { [1 x i32] [i32 904500572] }, %union._iml_sp_union_t { [1 x i32] [i32 1117770272] }, %union._iml_sp_union_t { [1 x i32] [i32 1041423872] }, %union._iml_sp_union_t { [1 x i32] [i32 -1237387992] }, %union._iml_sp_union_t { [1 x i32] [i32 1117656424] }, %union._iml_sp_union_t { [1 x i32] [i32 1041742336] }, %union._iml_sp_union_t { [1 x i32] [i32 -1241632591] }, %union._iml_sp_union_t { [1 x i32] [i32 1117542576] }, %union._iml_sp_union_t { [1 x i32] [i32 1042064384] }, %union._iml_sp_union_t { [1 x i32] [i32 -1241577365] }, %union._iml_sp_union_t { [1 x i32] [i32 1117428728] }, %union._iml_sp_union_t { [1 x i32] [i32 1042390016] }, %union._iml_sp_union_t { [1 x i32] [i32 -1243405831] }, %union._iml_sp_union_t { [1 x i32] [i32 1117314880] }, %union._iml_sp_union_t { [1 x i32] [i32 1042719232] }, %union._iml_sp_union_t { [1 x i32] [i32 -1283779401] }, %union._iml_sp_union_t { [1 x i32] [i32 1117201032] }, %union._iml_sp_union_t { [1 x i32] [i32 1043052544] }, %union._iml_sp_union_t { [1 x i32] [i32 -1235060207] }, %union._iml_sp_union_t { [1 x i32] [i32 1117087184] }, %union._iml_sp_union_t { [1 x i32] [i32 1043389440] }, %union._iml_sp_union_t { [1 x i32] [i32 -1237961922] }, %union._iml_sp_union_t { [1 x i32] [i32 1116973336] }, %union._iml_sp_union_t { [1 x i32] [i32 1043729920] }, %union._iml_sp_union_t { [1 x i32] [i32 911932638] }, %union._iml_sp_union_t { [1 x i32] [i32 1116859488] }, %union._iml_sp_union_t { [1 x i32] [i32 1044075008] }, %union._iml_sp_union_t { [1 x i32] [i32 892958461] }, %union._iml_sp_union_t { [1 x i32] [i32 1116859488] }, %union._iml_sp_union_t { [1 x i32] [i32 1044075008] }, %union._iml_sp_union_t { [1 x i32] [i32 892958461] }, %union._iml_sp_union_t { [1 x i32] [i32 1116745640] }, %union._iml_sp_union_t { [1 x i32] [i32 1044424192] }, %union._iml_sp_union_t { [1 x i32] [i32 -1246306749] }, %union._iml_sp_union_t { [1 x i32] [i32 1116631792] }, %union._iml_sp_union_t { [1 x i32] [i32 1044777472] }, %union._iml_sp_union_t { [1 x i32] [i32 -1245935253] }, %union._iml_sp_union_t { [1 x i32] [i32 1116517944] }, %union._iml_sp_union_t { [1 x i32] [i32 1045134848] }, %union._iml_sp_union_t { [1 x i32] [i32 906867152] }, %union._iml_sp_union_t { [1 x i32] [i32 1116404096] }, %union._iml_sp_union_t { [1 x i32] [i32 1045496832] }, %union._iml_sp_union_t { [1 x i32] [i32 911484894] }, %union._iml_sp_union_t { [1 x i32] [i32 1116404096] }, %union._iml_sp_union_t { [1 x i32] [i32 1045496832] }, %union._iml_sp_union_t { [1 x i32] [i32 911484894] }, %union._iml_sp_union_t { [1 x i32] [i32 1116290248] }, %union._iml_sp_union_t { [1 x i32] [i32 1045863424] }, %union._iml_sp_union_t { [1 x i32] [i32 912580963] }, %union._iml_sp_union_t { [1 x i32] [i32 1116176400] }, %union._iml_sp_union_t { [1 x i32] [i32 1046235136] }, %union._iml_sp_union_t { [1 x i32] [i32 -1236527052] }, %union._iml_sp_union_t { [1 x i32] [i32 1116062552] }, %union._iml_sp_union_t { [1 x i32] [i32 1046610944] }, %union._iml_sp_union_t { [1 x i32] [i32 895945194] }, %union._iml_sp_union_t { [1 x i32] [i32 1116062552] }, %union._iml_sp_union_t { [1 x i32] [i32 1046610944] }, %union._iml_sp_union_t { [1 x i32] [i32 895945194] }, %union._iml_sp_union_t { [1 x i32] [i32 1115948704] }, %union._iml_sp_union_t { [1 x i32] [i32 1046991872] }, %union._iml_sp_union_t { [1 x i32] [i32 904357324] }, %union._iml_sp_union_t { [1 x i32] [i32 1115834856] }, %union._iml_sp_union_t { [1 x i32] [i32 1047377920] }, %union._iml_sp_union_t { [1 x i32] [i32 902293870] }, %union._iml_sp_union_t { [1 x i32] [i32 1115721008] }, %union._iml_sp_union_t { [1 x i32] [i32 1047769088] }, %union._iml_sp_union_t { [1 x i32] [i32 907149878] }, %union._iml_sp_union_t { [1 x i32] [i32 1115721008] }, %union._iml_sp_union_t { [1 x i32] [i32 1047769088] }, %union._iml_sp_union_t { [1 x i32] [i32 907149878] }, %union._iml_sp_union_t { [1 x i32] [i32 1115529456] }, %union._iml_sp_union_t { [1 x i32] [i32 1048165888] }, %union._iml_sp_union_t { [1 x i32] [i32 -1242938033] }, %union._iml_sp_union_t { [1 x i32] [i32 1115301760] }, %union._iml_sp_union_t { [1 x i32] [i32 1048567808] }, %union._iml_sp_union_t { [1 x i32] [i32 -1259007774] }, %union._iml_sp_union_t { [1 x i32] [i32 1115301760] }, %union._iml_sp_union_t { [1 x i32] [i32 1048567808] }, %union._iml_sp_union_t { [1 x i32] [i32 -1259007774] }, %union._iml_sp_union_t { [1 x i32] [i32 1115074064] }, %union._iml_sp_union_t { [1 x i32] [i32 1048775680] }, %union._iml_sp_union_t { [1 x i32] [i32 892998645] }, %union._iml_sp_union_t { [1 x i32] [i32 1115074064] }, %union._iml_sp_union_t { [1 x i32] [i32 1048775680] }, %union._iml_sp_union_t { [1 x i32] [i32 892998645] }, %union._iml_sp_union_t { [1 x i32] [i32 1114846368] }, %union._iml_sp_union_t { [1 x i32] [i32 1048982400] }, %union._iml_sp_union_t { [1 x i32] [i32 881767775] }, %union._iml_sp_union_t { [1 x i32] [i32 1114618672] }, %union._iml_sp_union_t { [1 x i32] [i32 1049192064] }, %union._iml_sp_union_t { [1 x i32] [i32 893839142] }, %union._iml_sp_union_t { [1 x i32] [i32 1114618672] }, %union._iml_sp_union_t { [1 x i32] [i32 1049192064] }, %union._iml_sp_union_t { [1 x i32] [i32 893839142] }, %union._iml_sp_union_t { [1 x i32] [i32 1114390976] }, %union._iml_sp_union_t { [1 x i32] [i32 1049404800] }, %union._iml_sp_union_t { [1 x i32] [i32 896498651] }, %union._iml_sp_union_t { [1 x i32] [i32 1114390976] }, %union._iml_sp_union_t { [1 x i32] [i32 1049404800] }, %union._iml_sp_union_t { [1 x i32] [i32 896498651] }, %union._iml_sp_union_t { [1 x i32] [i32 1114163280] }, %union._iml_sp_union_t { [1 x i32] [i32 1049620736] }, %union._iml_sp_union_t { [1 x i32] [i32 -1261271393] }, %union._iml_sp_union_t { [1 x i32] [i32 1114163280] }, %union._iml_sp_union_t { [1 x i32] [i32 1049620736] }, %union._iml_sp_union_t { [1 x i32] [i32 -1261271393] }, %union._iml_sp_union_t { [1 x i32] [i32 1113935584] }, %union._iml_sp_union_t { [1 x i32] [i32 1049839872] }, %union._iml_sp_union_t { [1 x i32] [i32 -1264981240] }, %union._iml_sp_union_t { [1 x i32] [i32 1113935584] }, %union._iml_sp_union_t { [1 x i32] [i32 1049839872] }, %union._iml_sp_union_t { [1 x i32] [i32 -1264981240] }, %union._iml_sp_union_t { [1 x i32] [i32 1113707888] }, %union._iml_sp_union_t { [1 x i32] [i32 1050062336] }, %union._iml_sp_union_t { [1 x i32] [i32 884671939] }, %union._iml_sp_union_t { [1 x i32] [i32 1113707888] }, %union._iml_sp_union_t { [1 x i32] [i32 1050062336] }, %union._iml_sp_union_t { [1 x i32] [i32 884671939] }, %union._iml_sp_union_t { [1 x i32] [i32 1113480192] }, %union._iml_sp_union_t { [1 x i32] [i32 1050288256] }, %union._iml_sp_union_t { [1 x i32] [i32 894707678] }, %union._iml_sp_union_t { [1 x i32] [i32 1050279936] }, %union._iml_sp_union_t { [1 x i32] [i32 964848148] }, %union._iml_sp_union_t { [1 x i32] [i32 1207959616] }, %union._iml_sp_union_t { [1 x i32] [i32 1174405120] }, %union._iml_sp_union_t { [1 x i32] [i32 1002438656] }, %union._iml_sp_union_t { [1 x i32] [i32 1400897536] }, %union._iml_sp_union_t zeroinitializer, %union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t { [1 x i32] [i32 1121868800] }, %union._iml_sp_union_t { [1 x i32] [i32 -1082195968] }, %union._iml_sp_union_t { [1 x i32] [i32 -1215079078] }, %union._iml_sp_union_t { [1 x i32] [i32 870463078] }, %union._iml_sp_union_t { [1 x i32] [i32 -1337764935] }, %union._iml_sp_union_t { [1 x i32] [i32 749987585] }, %union._iml_sp_union_t { [1 x i32] [i32 -1456694901] }, %union._iml_sp_union_t { [1 x i32] [i32 631921661] }, %union._iml_sp_union_t { [1 x i32] [i32 -1574216274] }], align 4 +@_ZN19__imf_impl_pow_s_la12_GLOBAL__N_119__spow_la___rcp_tblE = internal unnamed_addr addrspace(1) constant [17 x i8] c"\FF\F0\E3\D7\CC\C2\B9\B1\AA\A3\9D\97\91\8C\88\83\7F", align 1 +@_ZN19__imf_impl_pow_s_la12_GLOBAL__N_120__spow_la___log2_tblE = internal unnamed_addr addrspace(1) constant [17 x i64] [i64 0, i64 3138492423157932, i64 6020771759500466, i64 8831108431363638, i64 11547946435456814, i64 14147416421415542, i64 16603553652566770, i64 18888693799540316, i64 20974073576276336, i64 23146628420855364, i64 25083942104622120, i64 27096266961688564, i64 29189646517861456, i64 31000929669665924, i64 32496819000632916, i64 34429330303762592, i64 36028797018963968], align 8 +@_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_erfinv_s_ha::(anonymous namespace)::__devicelib_imf_internal_serfinv_data_t" { [24 x [8 x [8 x i32]]] [[8 x [8 x i32]] [[8 x i32] [i32 -1312990922, i32 899296159, i32 1030641979, i32 -1157427952, i32 1006898570, i32 -1174004423, i32 1063448224, i32 -1142038528], [8 x i32] [i32 -1297410135, i32 903639213, i32 1031049966, i32 -1144397636, i32 1007604511, i32 -1160477915, i32 1063478799, i32 -1129058304], [8 x i32] [i32 853582261, i32 927401992, i32 1031849107, i32 -1137605391, i32 1009138217, i32 -1153061644, i32 1063540750, i32 -1122459648], [8 x i32] [i32 833066121, i32 -1243918557, i32 1032530980, i32 -1132011534, i32 1011780397, i32 -1146924684, i32 1063635750, i32 -1118085120], [8 x i32] [i32 852577401, i32 931563901, i32 1033532786, i32 -1128140680, i32 1015542148, i32 -1140639770, i32 1063766481, i32 -1114484736], [8 x i32] [i32 -1293730097, i32 -1224172612, i32 1034956479, i32 -1123488314, i32 1018992721, i32 -1135291881, i32 1063936891, i32 -1111789568], [8 x i32] [i32 -1301910149, i32 919286803, i32 1036966783, i32 -1119757911, i32 1024042717, i32 -1129185882, i32 1064152592, i32 -1108664320], [8 x i32] [i32 837343188, i32 931544714, i32 1039835939, i32 -1114922586, i32 1028914422, i32 -1122228687, i32 1064421525, i32 -1106116608]], [8 x [8 x i32]] [[8 x i32] [i32 844181762, i32 936221438, i32 1024727429, i32 -1136968716, i32 999813767, i32 -1158207985, i32 1064664816, i32 -1112829952], [8 x i32] [i32 -1296732866, i32 -1227027716, i32 1026005105, i32 -1134128341, i32 1002811860, i32 -1154718881, i32 1064850318, i32 -1111543808], [8 x i32] [i32 -1305809923, i32 925136648, i32 1027588466, i32 -1131429187, i32 1006838757, i32 -1149887852, i32 1065057321, i32 -1110073344], [8 x i32] [i32 854606571, i32 -1221263618, i32 1029577793, i32 -1128925692, i32 1009902469, i32 -1145802023, i32 1065288934, i32 -1108385792], [8 x i32] [i32 -1290574964, i32 924220292, i32 1031958646, i32 -1125485567, i32 1014469422, i32 -1140291281, i32 1065451142, i32 -1106853888], [8 x i32] [i32 -1284034185, i32 -1202517620, i32 1033613320, i32 -1122349004, i32 1018269066, i32 -1135183957, i32 1065597967, i32 -1105690624], [8 x i32] [i32 862846286, i32 944724603, i32 1035820395, i32 -1118798929, i32 1023672906, i32 -1129305481, i32 1065764808, i32 -1104277504], [8 x i32] [i32 -1293001895, i32 936048558, i32 1038851187, i32 -1114543286, i32 1028464326, i32 -1122443262, i32 1065956022, i32 -1102548992]], [8 x [8 x i32]] [[8 x i32] [i32 858141118, i32 926162974, i32 1024281949, i32 -1136685530, i32 999516701, i32 -1158635989, i32 1066118946, i32 -1109352448], [8 x i32] [i32 -1335975656, i32 932145507, i32 1025582405, i32 -1133929045, i32 1002430728, i32 -1155051424, i32 1066238666, i32 -1108115456], [8 x i32] [i32 819490494, i32 935509560, i32 1027179537, i32 -1131384653, i32 1006532817, i32 -1150405356, i32 1066368723, i32 -1106997248], [8 x i32] [i32 -1308106100, i32 931207212, i32 1029170520, i32 -1128956794, i32 1009544350, i32 -1146209880, i32 1066510685, i32 -1106178048], [8 x i32] [i32 861167919, i32 -1225624328, i32 1031695906, i32 -1125624714, i32 1013948319, i32 -1140619837, i32 1066666507, i32 -1105219584], [8 x i32] [i32 -1284463004, i32 -1212203387, i32 1033381973, i32 -1122498772, i32 1017875119, i32 -1135729671, i32 1066838674, i32 -1104080896], [8 x i32] [i32 -1305777317, i32 -1223358015, i32 1035550234, i32 -1119072507, i32 1023315450, i32 -1129777014, i32 1067030402, i32 -1102704640], [8 x i32] [i32 854880885, i32 941795779, i32 1038512575, i32 -1114779834, i32 1027953410, i32 -1122871886, i32 1067245969, i32 -1101008896]], [8 x [8 x i32]] [[8 x i32] [i32 -1295492208, i32 920455017, i32 1024071675, i32 -1137039619, i32 999133322, i32 -1159332601, i32 1067426731, i32 -1107849216], [8 x i32] [i32 859354700, i32 927677378, i32 1025333984, i32 -1134394156, i32 1001917199, i32 -1155545824, i32 1067558090, i32 -1106968576], [8 x i32] [i32 -1289783011, i32 938015639, i32 1026880840, i32 -1131692248, i32 1005832369, i32 -1151123124, i32 1067699544, i32 -1106276352], [8 x i32] [i32 -1301085889, i32 935158423, i32 1028804986, i32 -1129367826, i32 1009056580, i32 -1146744698, i32 1067852609, i32 -1105477632], [8 x i32] [i32 -1295346164, i32 929687121, i32 1031240440, i32 -1126181583, i32 1013252264, i32 -1141210743, i32 1068019176, i32 -1104543744], [8 x i32] [i32 -1303780168, i32 944740807, i32 1033092768, i32 -1122882783, i32 1017363998, i32 -1136384309, i32 1068201639, i32 -1103433728], [8 x i32] [i32 -1283537792, i32 919184724, i32 1035175265, i32 -1119614297, i32 1022538425, i32 -1130321786, i32 1068403096, i32 -1102102528], [8 x i32] [i32 -1290799057, i32 916709571, i32 1038014807, i32 -1115173250, i32 1027337255, i32 -1123350141, i32 1068627653, i32 -1100464128]], [8 x [8 x i32]] [[8 x i32] [i32 -1288519765, i32 -1215603465, i32 1023758269, i32 -1137572647, i32 998684293, i32 -1160091300, i32 1068814530, i32 -1107357696], [8 x i32] [i32 -1306206244, i32 891996806, i32 1024964847, i32 -1135055887, i32 1001327609, i32 -1156075753, i32 1068949592, i32 -1106743296], [8 x i32] [i32 858900222, i32 936525543, i32 1026442059, i32 -1132108382, i32 1005044076, i32 -1151880545, i32 1069094386, i32 -1106075648], [8 x i32] [i32 -1287988347, i32 -1213555481, i32 1028277938, i32 -1129899171, i32 1008518463, i32 -1147300484, i32 1069250363, i32 -1105309696], [8 x i32] [i32 -1303153865, i32 936073797, i32 1030599670, i32 -1126872168, i32 1012499426, i32 -1142051973, i32 1069419324, i32 -1104408576], [8 x i32] [i32 -1290276868, i32 -1222596248, i32 1032697687, i32 -1123341098, i32 1016821940, i32 -1137044627, i32 1069603553, i32 -1103347712], [8 x i32] [i32 853444153, i32 941894488, i32 1034679753, i32 -1120238241, i32 1021730257, i32 -1130863351, i32 1069805999, i32 -1102065664], [8 x i32] [i32 859157330, i32 -1216160459, i32 1037380390, i32 -1115611365, i32 1026708629, i32 -1123818823, i32 1070030572, i32 -1100500992]], [8 x [8 x i32]] [[8 x i32] [i32 -1290546730, i32 918647507, i32 1023330049, i32 -1138152154, i32 998220843, i32 -1160827111, i32 1070216661, i32 -1107456000], [8 x i32] [i32 -1289778354, i32 943602647, i32 1024516587, i32 -1135764231, i32 1000740095, i32 -1156586120, i32 1070350733, i32 -1106817024], [8 x i32] [i32 -1311213226, i32 -1208878977, i32 1025919834, i32 -1132632141, i32 1004265894, i32 -1152604978, i32 1070494098, i32 -1106186240], [8 x i32] [i32 -1286597818, i32 937162210, i32 1027663375, i32 -1130451085, i32 1007992175, i32 -1147828434, i32 1070648134, i32 -1105448960], [8 x i32] [i32 833081123, i32 936000918, i32 1029867881, i32 -1127579074, i32 1011769911, i32 -1142845675, i32 1070814552, i32 -1104592896], [8 x i32] [i32 -1286940702, i32 921170895, i32 1032255906, i32 -1123803550, i32 1016301466, i32 -1137663482, i32 1070995521, i32 -1103581184], [8 x i32] [i32 831182500, i32 -1223269509, i32 1034137386, i32 -1120858972, i32 1020961280, i32 -1131367571, i32 1071193840, i32 -1102364672], [8 x i32] [i32 -1301270222, i32 -1207752470, i32 1036700848, i32 -1116397519, i32 1026115830, i32 -1124431261, i32 1071413221, i32 -1100873728]], [8 x [8 x i32]] [[8 x i32] [i32 -1287203948, i32 -1293918092, i32 1022512045, i32 -1138714858, i32 997374513, i32 -1161504536, i32 1071594557, i32 -1107898368], [8 x i32] [i32 -1310055398, i32 -1204913566, i32 1024049429, i32 -1136447362, i32 1000192097, i32 -1157054521, i32 1071724970, i32 -1107070976], [8 x i32] [i32 857315450, i32 -1216655372, i32 1025381596, i32 -1133472657, i32 1003543197, i32 -1153267794, i32 1071864219, i32 -1106464768], [8 x i32] [i32 832745866, i32 -1208536107, i32 1027036992, i32 -1130976224, i32 1007505503, i32 -1148310017, i32 1072013612, i32 -1105768448], [8 x i32] [i32 823068014, i32 -1223355260, i32 1029130347, i32 -1128247224, i32 1011098162, i32 -1143567523, i32 1072174774, i32 -1104953344], [8 x i32] [i32 857042079, i32 -1224375497, i32 1031815659, i32 -1124402076, i32 1015824197, i32 -1138224687, i32 1072349763, i32 -1103990784], [8 x i32] [i32 -1306534933, i32 936575603, i32 1033603017, i32 -1121438026, i32 1020259009, i32 -1131823542, i32 1072541240, i32 -1102831616], [8 x i32] [i32 -1303264731, i32 -1202874126, i32 1036038947, i32 -1117194311, i32 1025576605, i32 -1125213274, i32 1072752729, i32 -1101418496]], [8 x [8 x i32]] [[8 x i32] [i32 841319981, i32 923034387, i32 1021722127, i32 -1139233942, i32 996606874, i32 -1162114308, i32 1072927309, i32 -1108508672], [8 x i32] [i32 -1312987620, i32 -1224428318, i32 1023600909, i32 -1137075569, i32 999695987, i32 -1157475623, i32 1073052745, i32 -1107505152], [8 x i32] [i32 -1303157550, i32 923174687, i32 1024867814, i32 -1134243211, i32 1002890131, i32 -1153862972, i32 1073186578, i32 -1106825216], [8 x i32] [i32 854568706, i32 933708043, i32 1026442531, i32 -1131456189, i32 1007066507, i32 -1148741969, i32 1073330051, i32 -1106161664], [8 x i32] [i32 -1286882806, i32 -1207588102, i32 1028434454, i32 -1128856073, i32 1010493261, i32 -1144214292, i32 1073484712, i32 -1105391616], [8 x i32] [i32 859637338, i32 913972889, i32 1031006570, i32 -1125191136, i32 1015395132, i32 -1138727026, i32 1073652517, i32 -1104474112], [8 x i32] [i32 865711520, i32 937776738, i32 1033104643, i32 -1121962650, i32 1019628650, i32 -1132231323, i32 1073788912, i32 -1103372288], [8 x i32] [i32 -1314970998, i32 920675529, i32 1035425199, i32 -1117914226, i32 1025093297, i32 -1125912096, i32 1073890171, i32 -1102024704]], [8 x [8 x i32]] [[8 x i32] [i32 -1281911656, i32 930576070, i32 1020992832, i32 -1139702017, i32 995919517, i32 -1162658920, i32 1073973709, i32 -1109180416], [8 x i32] [i32 864886399, i32 -1228557917, i32 1022965817, i32 -1137641322, i32 999252035, i32 -1158075339, i32 1074033706, i32 -1108226048], [8 x i32] [i32 867064257, i32 -1227817980, i32 1024396165, i32 -1134936308, i32 1002306054, i32 -1154394280, i32 1074097700, i32 -1107214336], [8 x i32] [i32 -1283355109, i32 -1221261608, i32 1025898358, i32 -1131887401, i32 1006674087, i32 -1149127499, i32 1074166284, i32 -1106583552], [8 x i32] [i32 861242735, i32 -1235216636, i32 1027799205, i32 -1129402467, i32 1009952780, i32 -1144791489, i32 1074240194, i32 -1105846272], [8 x i32] [i32 857672806, i32 915825085, i32 1030254656, i32 -1125898516, i32 1015002238, i32 -1139175315, i32 1074320366, i32 -1104973824], [8 x i32] [i32 862118274, i32 909890053, i32 1032652174, i32 -1122432519, i32 1019065790, i32 -1132728418, i32 1074408008, i32 -1103925248], [8 x i32] [i32 866742642, i32 890456580, i32 1034869443, i32 -1118558457, i32 1024661814, i32 -1126535873, i32 1074504723, i32 -1102639104]], [8 x [8 x i32]] [[8 x i32] [i32 -1311346182, i32 921694593, i32 1020333708, i32 -1140120652, i32 995305892, i32 -1163145126, i32 1074584502, i32 -1109852160], [8 x i32] [i32 -1282531016, i32 922853704, i32 1022220372, i32 -1138147160, i32 998855695, i32 -1158746816, i32 1074641796, i32 -1108938752], [8 x i32] [i32 -1278158109, i32 -1214517698, i32 1023970935, i32 -1135555836, i32 1001784582, i32 -1154868809, i32 1074702904, i32 -1107898368], [8 x i32] [i32 -1280863877, i32 917479278, i32 1025408308, i32 -1132272757, i32 1006014410, i32 -1149704562, i32 1074768393, i32 -1106993152], [8 x i32] [i32 -1290596185, i32 -1204299259, i32 1027227772, i32 -1129890682, i32 1009470082, i32 -1145307334, i32 1074838969, i32 -1106292736], [8 x i32] [i32 -1277811738, i32 -1226806461, i32 1029578986, i32 -1126530524, i32 1014317544, i32 -1139576124, i32 1074915527, i32 -1105457152], [8 x i32] [i32 860581768, i32 925532688, i32 1032245979, i32 -1122852326, i32 1018562801, i32 -1133379513, i32 1074999223, i32 -1104453632], [8 x i32] [i32 864241178, i32 -1223723580, i32 1034370962, i32 -1119134114, i32 1024276055, i32 -1127094210, i32 1075091594, i32 -1103224832]], [8 x [8 x i32]] [[8 x i32] [i32 -1280295088, i32 931228214, i32 1019742853, i32 -1140494790, i32 994757063, i32 -1163580536, i32 1075167800, i32 -1110487040], [8 x i32] [i32 -1302838557, i32 912367663, i32 1021552365, i32 -1138599305, i32 998501091, i32 -1159348384, i32 1075222534, i32 -1109614592], [8 x i32] [i32 -1299676632, i32 914886921, i32 1023589992, i32 -1136109718, i32 1001317849, i32 -1155294125, i32 1075280919, i32 -1108615168], [8 x i32] [i32 -1281011795, i32 927481605, i32 1024969407, i32 -1132772659, i32 1005386906, i32 -1150322287, i32 1075343499, i32 -1107460096], [8 x i32] [i32 -1278987749, i32 -1212058596, i32 1026716080, i32 -1130327418, i32 1009037664, i32 -1145770166, i32 1075410951, i32 -1106706432], [8 x i32] [i32 869781015, i32 -1215323362, i32 1028974030, i32 -1127096111, i32 1013703837, i32 -1139935965, i32 1075484133, i32 -1105907712], [8 x i32] [i32 -1276887060, i32 921525393, i32 1031882311, i32 -1123228190, i32 1018111676, i32 -1133964466, i32 1075564159, i32 -1104945152], [8 x i32] [i32 864171440, i32 919700529, i32 1033924643, i32 -1119649809, i32 1023929821, i32 -1127596229, i32 1075652501, i32 -1103765504]], [8 x [8 x i32]] [[8 x i32] [i32 858280256, i32 -1232733694, i32 1019213762, i32 -1140830129, i32 994264165, i32 -1163972271, i32 1075725403, i32 -1111076864], [8 x i32] [i32 868027687, i32 904789862, i32 1020954109, i32 -1139004717, i32 998120606, i32 -1159889874, i32 1075777776, i32 -1110237184], [8 x i32] [i32 -1295970050, i32 -1230109862, i32 1023087357, i32 -1136606564, i32 1000898281, i32 -1155677166, i32 1075833654, i32 -1109278720], [8 x i32] [i32 859664650, i32 -1212425552, i32 1024576180, i32 -1133391206, i32 1004822506, i32 -1150878930, i32 1075893559, i32 -1108172800], [8 x i32] [i32 854271904, i32 940173368, i32 1026257509, i32 -1130719574, i32 1008648499, i32 -1146187493, i32 1075958144, i32 -1107083264], [8 x i32] [i32 864137985, i32 930784770, i32 1028431689, i32 -1127604269, i32 1013151151, i32 -1140260649, i32 1076028235, i32 -1106317312], [8 x i32] [i32 -1289938034, i32 -1215207743, i32 1031313504, i32 -1123566117, i32 1017705110, i32 -1134492670, i32 1076104903, i32 -1105395712], [8 x i32] [i32 -1298813577, i32 -1215699656, i32 1033524139, i32 -1120113810, i32 1023617527, i32 -1128049928, i32 1076189568, i32 -1104261120]], [8 x [8 x i32]] [[8 x i32] [i32 868285654, i32 -1216005025, i32 1018738757, i32 -1141413409, i32 993819284, i32 -1164326533, i32 1076259458, i32 -1111613440], [8 x i32] [i32 869618222, i32 926996196, i32 1020416818, i32 -1139369899, i32 997545172, i32 -1160379813, i32 1076309681, i32 -1110802432], [8 x i32] [i32 866989793, i32 -1237302601, i32 1022474206, i32 -1137054337, i32 1000519194, i32 -1156023929, i32 1076363277, i32 -1109880832], [8 x i32] [i32 -1302350004, i32 927355416, i32 1024222724, i32 -1133948969, i32 1004312268, i32 -1151383145, i32 1076420751, i32 -1108811776], [8 x i32] [i32 855950361, i32 -1231370372, i32 1025845113, i32 -1131073410, i32 1008296459, i32 -1146565751, i32 1076482731, i32 -1107566592], [8 x i32] [i32 871874696, i32 938687259, i32 1027943683, i32 -1128063077, i32 1012650849, i32 -1140555139, i32 1076550015, i32 -1106690048], [8 x i32] [i32 844137720, i32 921345258, i32 1030726151, i32 -1123871451, i32 1017336801, i32 -1134972112, i32 1076623637, i32 -1105801216], [8 x i32] [i32 -1295164730, i32 914372038, i32 1033163265, i32 -1120533403, i32 1023258595, i32 -1128462086, i32 1076704968, i32 -1104707584]], [8 x [8 x i32]] [[8 x i32] [i32 872370904, i32 -1228666387, i32 1018310489, i32 -1141959831, i32 993415656, i32 -1164648567, i32 1076772129, i32 -1112096768], [8 x i32] [i32 -1287476846, i32 -1221614625, i32 1019932172, i32 -1139700521, i32 997022840, i32 -1160825398, i32 1076820405, i32 -1111318528], [8 x i32] [i32 870128079, i32 909368141, i32 1021920862, i32 -1137459948, i32 1000174909, i32 -1156339463, i32 1076871934, i32 -1110425600], [8 x i32] [i32 866252258, i32 -1220937996, i32 1023903575, i32 -1134454501, i32 1003848608, i32 -1151842209, i32 1076927206, i32 -1109397504], [8 x i32] [i32 872407372, i32 -1220407028, i32 1025472525, i32 -1131394309, i32 1007976361, i32 -1146910344, i32 1076986828, i32 -1108193280], [8 x i32] [i32 866136518, i32 910198818, i32 1027502499, i32 -1128479456, i32 1012195639, i32 -1140823595, i32 1077051572, i32 -1107030016], [8 x i32] [i32 842671797, i32 915864179, i32 1030194772, i32 -1124224033, i32 1017001445, i32 -1135409482, i32 1077122437, i32 -1106169856], [8 x i32] [i32 866120266, i32 893829186, i32 1032836523, i32 -1120914783, i32 1022742565, i32 -1128838372, i32 1077200750, i32 -1105113088]], [8 x [8 x i32]] [[8 x i32] [i32 856421935, i32 -1237416097, i32 1017922469, i32 -1142456823, i32 993047610, i32 -1164942752, i32 1077265442, i32 -1112535040], [8 x i32] [i32 -1275720554, i32 903937939, i32 1019492861, i32 -1140001380, i32 996546330, i32 -1161232637, i32 1077311955, i32 -1111781376], [8 x i32] [i32 -1282840759, i32 -1221379078, i32 1021419021, i32 -1137829234, i32 999860668, i32 -1156627985, i32 1077361614, i32 -1110921216], [8 x i32] [i32 868595526, i32 928617753, i32 1023613969, i32 -1134915015, i32 1003425184, i32 -1152262193, i32 1077414892, i32 -1109921792], [8 x i32] [i32 -1275937155, i32 -1247715736, i32 1025134226, i32 -1131686804, i32 1007683872, i32 -1147225781, i32 1077472380, i32 -1108758528], [8 x i32] [i32 -1276755334, i32 933997573, i32 1027101655, i32 -1128859224, i32 1011779432, i32 -1141288283, i32 1077534823, i32 -1107374080], [8 x i32] [i32 -1310606365, i32 -1210517221, i32 1029711634, i32 -1124730226, i32 1016694615, i32 -1135810356, i32 1077603190, i32 -1106505728], [8 x i32] [i32 -1289879363, i32 -1214406106, i32 1032539208, i32 -1121263142, i32 1022270077, i32 -1129183511, i32 1077678769, i32 -1105481728]], [8 x [8 x i32]] [[8 x i32] [i32 -1295178188, i32 873481479, i32 1017569164, i32 -1142911071, i32 992710415, i32 -1165212738, i32 1077741222, i32 -1112932352], [8 x i32] [i32 -1285346379, i32 -1235098516, i32 1019092665, i32 -1140276488, i32 996109571, i32 -1161606538, i32 1077786136, i32 -1112203264], [8 x i32] [i32 -1277523395, i32 885968695, i32 1020961632, i32 -1138167077, i32 999572508, i32 -1156893007, i32 1077834099, i32 -1111367680], [8 x i32] [i32 -1291369767, i32 923991945, i32 1023289574, i32 -1135336535, i32 1003036708, i32 -1152648158, i32 1077885569, i32 -1110401024], [8 x i32] [i32 866509207, i32 -1217535714, i32 1024825547, i32 -1131954682, i32 1007415380, i32 -1147515817, i32 1077941118, i32 -1109274624], [8 x i32] [i32 870037580, i32 931163930, i32 1026735678, i32 -1129207237, i32 1011397153, i32 -1141740720, i32 1078001472, i32 -1107931136], [8 x i32] [i32 -1275089750, i32 -1212123106, i32 1029270219, i32 -1125194396, i32 1016412619, i32 -1136179383, i32 1078067572, i32 -1106808832], [8 x i32] [i32 869323414, i32 928728963, i32 1032267363, i32 -1121582810, i32 1021835531, i32 -1129501446, i32 1078140665, i32 -1105813504]], [8 x [8 x i32]] [[8 x i32] [i32 -1291696729, i32 924778948, i32 1017245925, i32 -1143328154, i32 992400124, i32 -1165461575, i32 1078201083, i32 -1113292800], [8 x i32] [i32 -1282645976, i32 -1215444337, i32 1018726363, i32 -1140529194, i32 995707497, i32 -1161951284, i32 1078244543, i32 -1112588288], [8 x i32] [i32 -1291790303, i32 931899469, i32 1020542783, i32 -1138477548, i32 999307118, i32 -1157137467, i32 1078290962, i32 -1111773184], [8 x i32] [i32 824773360, i32 934312112, i32 1022805644, i32 -1135724089, i32 1002678765, i32 -1153004334, i32 1078340786, i32 -1110835200], [8 x i32] [i32 -1288058645, i32 -1239488866, i32 1024542580, i32 -1132201100, i32 1007167870, i32 -1147783597, i32 1078394571, i32 -1109741568], [8 x i32] [i32 -1279591960, i32 -1212884343, i32 1026399988, i32 -1129527549, i32 1011044560, i32 -1142158653, i32 1078453022, i32 -1108443136], [8 x i32] [i32 -1288894441, i32 924201147, i32 1028865073, i32 -1125621877, i32 1016152371, i32 -1136520460, i32 1078517053, i32 -1107083264], [8 x i32] [i32 841374803, i32 -1211288930, i32 1032017680, i32 -1121877406, i32 1021434242, i32 -1129795481, i32 1078587880, i32 -1106120704]], [8 x [8 x i32]] [[8 x i32] [i32 -1279551775, i32 -1240316219, i32 1016948864, i32 -1143712732, i32 992113434, i32 -1165691817, i32 1078646440, i32 -1113624576], [8 x i32] [i32 -1286622270, i32 -1235167672, i32 1018389587, i32 -1140762296, i32 995335868, i32 -1162270384, i32 1078688572, i32 -1112936448], [8 x i32] [i32 -1290691231, i32 930651957, i32 1020157525, i32 -1138764052, i32 999061726, i32 -1157363827, i32 1078733581, i32 -1112145920], [8 x i32] [i32 -1278918265, i32 -1244677691, i32 1022360317, i32 -1136081883, i32 1002347655, i32 -1153334276, i32 1078781901, i32 -1111236608], [8 x i32] [i32 815523148, i32 -1217424454, i32 1024282054, i32 -1132428703, i32 1006938810, i32 -1148031762, i32 1078834072, i32 -1110171648], [8 x i32] [i32 -1283751532, i32 -1218514900, i32 1026090751, i32 -1129823555, i32 1010718090, i32 -1142546156, i32 1078890782, i32 -1108905984], [8 x i32] [i32 864509320, i32 -1241047836, i32 1028491633, i32 -1126017138, i32 1015911277, i32 -1136836866, i32 1078952920, i32 -1107378176], [8 x i32] [i32 -1275740047, i32 -1216251534, i32 1031775987, i32 -1122149964, i32 1021062272, i32 -1130068403, i32 1079021672, i32 -1106399232]], [8 x [8 x i32]] [[8 x i32] [i32 -1277141053, i32 -1229899567, i32 1016674726, i32 -1144068718, i32 991847564, i32 -1165905621, i32 1079078529, i32 -1113927680], [8 x i32] [i32 871168300, i32 922283944, i32 1018078680, i32 -1141105602, i32 994991109, i32 -1162566800, i32 1079119443, i32 -1113255936], [8 x i32] [i32 860078988, i32 -1238268958, i32 1019801716, i32 -1139029451, i32 998833994, i32 -1157574170, i32 1079163159, i32 -1112489984], [8 x i32] [i32 -1276099226, i32 920405497, i32 1021948852, i32 -1136413454, i32 1002040255, i32 -1153640986, i32 1079210099, i32 -1111601152], [8 x i32] [i32 -1283727861, i32 -1219380221, i32 1024041226, i32 -1132817353, i32 1006726064, i32 -1148262546, i32 1079260789, i32 -1110564864], [8 x i32] [i32 866979033, i32 -1220756947, i32 1025804752, i32 -1130098114, i32 1010414738, i32 -1142906677, i32 1079315899, i32 -1109331968], [8 x i32] [i32 870854004, i32 932711328, i32 1028146067, i32 -1126383948, i32 1015687146, i32 -1137131380, i32 1079376298, i32 -1107841024], [8 x i32] [i32 -1282521905, i32 -1206854179, i32 1031349522, i32 -1122403043, i32 1020716287, i32 -1130322574, i32 1079443141, i32 -1106657280]], [8 x [8 x i32]] [[8 x i32] [i32 862553005, i32 -1230754799, i32 1016420774, i32 -1144399414, i32 991600161, i32 -1166193123, i32 1079498431, i32 -1114206208], [8 x i32] [i32 -1278476808, i32 -1214387024, i32 1017790565, i32 -1141506762, i32 994670196, i32 -1162843048, i32 1079538226, i32 -1113554944], [8 x i32] [i32 865986558, i32 -1225208925, i32 1019471868, i32 -1139276162, i32 998621943, i32 -1157912625, i32 1079580750, i32 -1112805376], [8 x i32] [i32 -1294451745, i32 -1215879123, i32 1021567256, i32 -1136721792, i32 1001753920, i32 -1153927017, i32 1079626418, i32 -1111941120], [8 x i32] [i32 -1298887841, i32 915903633, i32 1023817785, i32 -1133209966, i32 1006422683, i32 -1148477851, i32 1079675743, i32 -1110925312], [8 x i32] [i32 -1289487544, i32 -1220412423, i32 1025539279, i32 -1130353646, i32 1010131948, i32 -1143243151, i32 1079729379, i32 -1109725184], [8 x i32] [i32 854562164, i32 -1216188855, i32 1027825142, i32 -1126725497, i32 1015478113, i32 -1137406369, i32 1079788173, i32 -1108275200], [8 x i32] [i32 842393578, i32 -1204995464, i32 1030953249, i32 -1122638815, i32 1020393451, i32 -1130560009, i32 1079853253, i32 -1106894848]], [8 x [8 x i32]] [[8 x i32] [i32 -1276587208, i32 -1222345281, i32 1016184694, i32 -1144707625, i32 991369219, i32 -1166565422, i32 1079907097, i32 -1114464256], [8 x i32] [i32 870466772, i32 905186057, i32 1017522640, i32 -1141880759, i32 994370548, i32 -1163101274, i32 1079945855, i32 -1113825280], [8 x i32] [i32 854617812, i32 -1228652511, i32 1019165030, i32 -1139506241, i32 998423884, i32 -1158279339, i32 1079987279, i32 -1113096192], [8 x i32] [i32 -1277453009, i32 -1218357544, i32 1021212151, i32 -1137009441, i32 1001486390, i32 -1154194554, i32 1080031771, i32 -1112252416], [8 x i32] [i32 -1275752152, i32 911052703, i32 1023609774, i32 -1133576369, i32 1006052107, i32 -1148679303, i32 1080079833, i32 -1111261184], [8 x i32] [i32 869950838, i32 930927460, i32 1025292034, i32 -1130592214, i32 1009867538, i32 -1143558093, i32 1080132103, i32 -1110085632], [8 x i32] [i32 871276785, i32 -1221730695, i32 1027526115, i32 -1127044509, i32 1015282586, i32 -1137663865, i32 1080189411, i32 -1108672512], [8 x i32] [i32 868957142, i32 -1247155899, i32 1030583829, i32 -1122859133, i32 1020091335, i32 -1130782437, i32 1080252858, i32 -1107111936]], [8 x [8 x i32]] [[8 x i32] [i32 868771224, i32 -1244885341, i32 1015964520, i32 -1144995746, i32 991153020, i32 -1166914312, i32 1080305360, i32 -1114701824], [8 x i32] [i32 -1297448710, i32 -1237865737, i32 1017272693, i32 -1142230473, i32 994089956, i32 -1163343327, i32 1080343159, i32 -1114079232], [8 x i32] [i32 847530790, i32 -1224435612, i32 1018878691, i32 -1139721444, i32 998232381, i32 -1158623178, i32 1080383561, i32 -1113366528], [8 x i32] [i32 -1296038287, i32 918949540, i32 1020880658, i32 -1137278578, i32 1001235727, i32 -1154445477, i32 1080426961, i32 -1112539136], [8 x i32] [i32 848643621, i32 920026163, i32 1023415524, i32 -1133919306, i32 1005704782, i32 -1148868304, i32 1080473850, i32 -1111572480], [8 x i32] [i32 830382754, i32 906529575, i32 1025061056, i32 -1130815585, i32 1009619630, i32 -1143853670, i32 1080524853, i32 -1110425600], [8 x i32] [i32 -1289133915, i32 -1260341880, i32 1027246643, i32 -1127343317, i32 1015099192, i32 -1137905617, i32 1080580780, i32 -1109041152], [8 x i32] [i32 868428313, i32 -1225765862, i32 1030238407, i32 -1123065588, i32 1019807849, i32 -1130991352, i32 1080642708, i32 -1107337216]], [8 x [8 x i32]] [[8 x i32] [i32 869598155, i32 917369587, i32 1015758571, i32 -1145265833, i32 990950084, i32 -1167242110, i32 1080693962, i32 -1114923008], [8 x i32] [i32 860864700, i32 930422347, i32 1017038830, i32 -1142558383, i32 993826512, i32 -1163570801, i32 1080730867, i32 -1114312704], [8 x i32] [i32 868757310, i32 914645059, i32 1018610700, i32 -1139923286, i32 997883931, i32 -1158946389, i32 1080770318, i32 -1113616384], [8 x i32] [i32 -1281071767, i32 -1257004095, i32 1020570311, i32 -1137531076, i32 1001000255, i32 -1154681410, i32 1080812702, i32 -1112809472], [8 x i32] [i32 865649277, i32 914368469, i32 1023057034, i32 -1134241144, i32 1005378409, i32 -1149046066, i32 1080858498, i32 -1111863296], [8 x i32] [i32 -1276877425, i32 899107484, i32 1024844663, i32 -1131025283, i32 1009386602, i32 -1144131759, i32 1080908320, i32 -1110740992], [8 x i32] [i32 -1277714190, i32 920830473, i32 1026984715, i32 -1127623938, i32 1014831921, i32 -1138133145, i32 1080962959, i32 -1109385216], [8 x i32] [i32 -1285210534, i32 -1234895497, i32 1029914531, i32 -1123259554, i32 1019541181, i32 -1131188048, i32 1081023471, i32 -1107718144]], [8 x [8 x i32]] [[8 x i32] [i32 859965680, i32 935819487, i32 1015565400, i32 -1145519667, i32 990759127, i32 -1167550829, i32 1081073560, i32 -1115127808], [8 x i32] [i32 -1279451345, i32 921358464, i32 1016819422, i32 -1142866633, i32 993578562, i32 -1163785082, i32 1081109631, i32 -1114533888], [8 x i32] [i32 -1286021733, i32 929928944, i32 1018359206, i32 -1140113072, i32 997555896, i32 -1159250928, i32 1081148194, i32 -1113849856], [8 x i32] [i32 872047447, i32 929349780, i32 1020278985, i32 -1137768559, i32 1000778522, i32 -1154903768, i32 1081189627, i32 -1113059328], [8 x i32] [i32 859655995, i32 -1214730737, i32 1022715391, i32 -1134543929, i32 1005070992, i32 -1149213646, i32 1081234403, i32 -1112137728], [8 x i32] [i32 -1287733156, i32 860698093, i32 1024641402, i32 -1131222628, i32 1009167043, i32 -1144393996, i32 1081283120, i32 -1111035904], [8 x i32] [i32 -1276522862, i32 884556917, i32 1026738595, i32 -1127888118, i32 1014506855, i32 -1138347771, i32 1081336555, i32 -1109708800], [8 x i32] [i32 -1279991941, i32 897472863, i32 1029610081, i32 -1123442225, i32 1019289754, i32 -1131373656, i32 1081395742, i32 -1108074496]]], i32 -2147483648, i32 1065353216, i32 864026624, i32 1065353216, i32 1015, i32 1048575, i32 1065877504, i32 -4096, i32 2130706432, i32 -2147483648, i32 1063444421, [2 x i32] [i32 2139095040, i32 -8388608], [2 x i32] [i32 1065353216, i32 -1082130432], [2 x i32] [i32 0, i32 -2147483648] }, align 4 +@_ZN20__imf_impl_erfc_s_la12_GLOBAL__N_135__devicelib_imf_internal_serfc_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_erfc_s_la::(anonymous namespace)::__devicelib_imf_internal_serfc_data_t" { [1290 x i32] [i32 1468006400, i32 1469083323, i32 1467710626, i32 1469081012, i32 1467414997, i32 1469074083, i32 1467119656, i32 1469062547, i32 1466824747, i32 1469046420, i32 1466530414, i32 1469025725, i32 1466236799, i32 1469000494, i32 1465944042, i32 1468970762, i32 1465652285, i32 1468936573, i32 1465361664, i32 1468897977, i32 1465072319, i32 1468855029, i32 1464784382, i32 1468807791, i32 1464497988, i32 1468756332, i32 1464213266, i32 1468700724, i32 1463930347, i32 1468641048, i32 1463649354, i32 1468577388, i32 1463370412, i32 1468509835, i32 1463093641, i32 1468438483, i32 1462819158, i32 1468363432, i32 1462547076, i32 1468284786, i32 1462277507, i32 1468202655, i32 1462010557, i32 1468117152, i32 1461746331, i32 1468028392, i32 1461484928, i32 1467866591, i32 1461226443, i32 1467676775, i32 1460970970, i32 1467481186, i32 1460718597, i32 1467280084, i32 1460469407, i32 1467073732, i32 1460223481, i32 1466862398, i32 1459980894, i32 1466646353, i32 1459741717, i32 1466425871, i32 1459394246, i32 1466201230, i32 1458929930, i32 1465972709, i32 1458472813, i32 1465740589, i32 1458023002, i32 1465505150, i32 1457580597, i32 1465266676, i32 1457145687, i32 1465025447, i32 1456718356, i32 1464781745, i32 1456298675, i32 1464535848, i32 1455886709, i32 1464288035, i32 1455482514, i32 1464038581, i32 1455086136, i32 1463787758, i32 1454697615, i32 1463535836, i32 1454316979, i32 1463283081, i32 1453944252, i32 1463029753, i32 1453579447, i32 1462776110, i32 1453222570, i32 1462522403, i32 1452873619, i32 1462268879, i32 1452532585, i32 1462015777, i32 1452199450, i32 1461763334, i32 1451874191, i32 1461511777, i32 1451556776, i32 1461261327, i32 1451247168, i32 1461012199, i32 1450661460, i32 1460764601, i32 1450073189, i32 1460518732, i32 1449500227, i32 1460274786, i32 1448942445, i32 1460032945, i32 1448399709, i32 1459793387, i32 1447871869, i32 1459494771, i32 1447358767, i32 1459025783, i32 1446860236, i32 1458562323, i32 1446376097, i32 1458104680, i32 1445906166, i32 1457653124, i32 1445450247, i32 1457207908, i32 1445008139, i32 1456769272, i32 1444579633, i32 1456337436, i32 1444164512, i32 1455912603, i32 1443762556, i32 1455494963, i32 1443373537, i32 1455084685, i32 1442997221, i32 1454681926, i32 1442426169, i32 1454286826, i32 1441722923, i32 1453899507, i32 1441043638, i32 1453520078, i32 1440387819, i32 1453148633, i32 1439754963, i32 1452785250, i32 1439144565, i32 1452429994, i32 1438556115, i32 1452082915, i32 1437989102, i32 1451744049, i32 1437443010, i32 1451413421, i32 1436917324, i32 1450952898, i32 1436411530, i32 1450324632, i32 1435925111, i32 1449712833, i32 1435457554, i32 1449117454, i32 1435008348, i32 1448538422, i32 1434576982, i32 1447975647, i32 1433873932, i32 1447429017, i32 1433079531, i32 1446898404, i32 1432317796, i32 1446383659, i32 1431587742, i32 1445884619, i32 1430888392, i32 1445401103, i32 1430218781, i32 1444932918, i32 1429577958, i32 1444479854, i32 1428964985, i32 1444041692, i32 1428378937, i32 1443618198, i32 1427818905, i32 1443209129, i32 1427283996, i32 1442787888, i32 1426773332, i32 1442025913, i32 1426286053, i32 1441291216, i32 1425579266, i32 1440583244, i32 1424693215, i32 1439901427, i32 1423848975, i32 1439245189, i32 1423044966, i32 1438613942, i32 1422279644, i32 1438007090, i32 1421551504, i32 1437424033, i32 1420859077, i32 1436864164, i32 1420200933, i32 1436326873, i32 1419575680, i32 1435811549, i32 1418981964, i32 1435317579, i32 1418418470, i32 1434844351, i32 1417883921, i32 1434330543, i32 1417079401, i32 1433463400, i32 1416118721, i32 1432634096, i32 1415208720, i32 1431841432, i32 1414347147, i32 1431084221, i32 1413531822, i32 1430361287, i32 1412760640, i32 1429671468, i32 1412031567, i32 1429013620, i32 1411342639, i32 1428386614, i32 1410691965, i32 1427789339, i32 1410077719, i32 1427220705, i32 1409498146, i32 1426679642, i32 1408616967, i32 1426165099, i32 1407586499, i32 1425288738, i32 1406615622, i32 1424359616, i32 1405701336, i32 1423477509, i32 1404840762, i32 1422640500, i32 1404031141, i32 1421846724, i32 1403269827, i32 1421094363, i32 1402554287, i32 1420381647, i32 1401882099, i32 1419706860, i32 1401250942, i32 1419068334, i32 1400419671, i32 1418464450, i32 1399308394, i32 1417893642, i32 1398266481, i32 1417034033, i32 1397290079, i32 1416015717, i32 1396375514, i32 1415054748, i32 1395519289, i32 1414148391, i32 1394718074, i32 1413294005, i32 1393968701, i32 1412489047, i32 1393268157, i32 1411731067, i32 1392613580, i32 1411017710, i32 1391495577, i32 1410346710, i32 1390354264, i32 1409715893, i32 1389289401, i32 1408960197, i32 1388296352, i32 1407846941, i32 1387370725, i32 1406802038, i32 1386508366, i32 1405821818, i32 1385705340, i32 1404902767, i32 1384957931, i32 1404041531, i32 1384262627, i32 1403234902, i32 1383111902, i32 1402479822, i32 1381910185, i32 1401773372, i32 1380793880, i32 1401112774, i32 1379757423, i32 1400093220, i32 1378795573, i32 1398939798, i32 1377903393, i32 1397862954, i32 1377076243, i32 1396858136, i32 1376309756, i32 1395921024, i32 1375467948, i32 1395047518, i32 1374153513, i32 1394233731, i32 1372937261, i32 1393475980, i32 1371812408, i32 1392770778, i32 1370772594, i32 1391720729, i32 1369811859, i32 1390501096, i32 1368924622, i32 1389367835, i32 1368105660, i32 1388315384, i32 1367350089, i32 1387338494, i32 1365963580, i32 1386432215, i32 1364679201, i32 1385591884, i32 1363495972, i32 1384813111, i32 1362406459, i32 1384063207, i32 1361403729, i32 1382727593, i32 1360481319, i32 1381491759, i32 1359633211, i32 1380348847, i32 1358753104, i32 1379292423, i32 1357321245, i32 1378316449, i32 1356006652, i32 1377415270, i32 1354800309, i32 1376583587, i32 1353693842, i32 1375816440, i32 1352679479, i32 1374486664, i32 1351750007, i32 1373183277, i32 1350898736, i32 1371982901, i32 1349673048, i32 1370877969, i32 1348247034, i32 1369861418, i32 1346942910, i32 1368926664, i32 1345750840, i32 1368067570, i32 1344661728, i32 1367213739, i32 1343667167, i32 1365764691, i32 1342759391, i32 1364434996, i32 1341685187, i32 1363215454, i32 1340174879, i32 1362097517, i32 1338798378, i32 1361073249, i32 1337544443, i32 1360135285, i32 1336402718, i32 1359276796, i32 1335363669, i32 1358028410, i32 1334418524, i32 1356592291, i32 1333329760, i32 1355279886, i32 1331767989, i32 1354081153, i32 1330349443, i32 1352986812, i32 1329061615, i32 1351988283, i32 1327893031, i32 1351077646, i32 1326833167, i32 1349929293, i32 1325872377, i32 1348416862, i32 1324603588, i32 1347039679, i32 1323026782, i32 1345786292, i32 1321599465, i32 1344646158, i32 1320308097, i32 1343609574, i32 1319140298, i32 1342667618, i32 1318084760, i32 1341446900, i32 1317131157, i32 1339893634, i32 1315528675, i32 1338484326, i32 1313974324, i32 1337206289, i32 1312572135, i32 1336047887, i32 1311307829, i32 1334998457, i32 1310168405, i32 1334048233, i32 1309142027, i32 1332587880, i32 1307813016, i32 1331032143, i32 1306149818, i32 1329625629, i32 1304653827, i32 1328354672, i32 1303308888, i32 1327206792, i32 1302100340, i32 1326170599, i32 1301014883, i32 1325071340, i32 1299846668, i32 1323385191, i32 1298098009, i32 1321865422, i32 1296529749, i32 1320496313, i32 1295123963, i32 1319263555, i32 1293864435, i32 1318154133, i32 1292736498, i32 1317156213, i32 1291608161, i32 1315506636, i32 1289801684, i32 1313894280, i32 1288186310, i32 1312446180, i32 1286742527, i32 1311146265, i32 1285452738, i32 1309979960, i32 1284301081, i32 1308934065, i32 1283089506, i32 1307370395, i32 1281255815, i32 1305690774, i32 1279620902, i32 1304186844, i32 1278163931, i32 1302840907, i32 1276866169, i32 1301636977, i32 1275710782, i32 1300560616, i32 1274296888, i32 1298963343, i32 1272468005, i32 1297245263, i32 1270842149, i32 1295711559, i32 1269397488, i32 1294343136, i32 1268114453, i32 1293122800, i32 1266975520, i32 1292035074, i32 1265250187, i32 1290286443, i32 1263457881, i32 1288560720, i32 1261869203, i32 1287024853, i32 1260461706, i32 1285658646, i32 1259215335, i32 1284443971, i32 1257933167, i32 1283272104, i32 1255981342, i32 1281354667, i32 1254255487, i32 1279652476, i32 1252730185, i32 1278142131, i32 1251382789, i32 1276802684, i32 1250193129, i32 1275615396, i32 1248383912, i32 1274058608, i32 1246531782, i32 1272195701, i32 1244898869, i32 1270546909, i32 1243459931, i32 1269088358, i32 1242192544, i32 1267798745, i32 1240639617, i32 1266638344, i32 1238676087, i32 1264625041, i32 1236949181, i32 1262847614, i32 1235431125, i32 1261279219, i32 1234097314, i32 1259895966, i32 1232726536, i32 1258676614, i32 1230670161, i32 1256913364, i32 1228866009, i32 1255021196, i32 1227283916, i32 1253355740, i32 1225897229, i32 1251890570, i32 1224628042, i32 1250602245, i32 1222500560, i32 1249037384, i32 1220638574, i32 1247048195, i32 1219009747, i32 1245301731, i32 1217585578, i32 1243769143, i32 1216333762, i32 1242424914, i32 1214159418, i32 1240978985, i32 1212261059, i32 1238913861, i32 1210604462, i32 1237105268, i32 1209159545, i32 1235522132, i32 1207840196, i32 1234137042, i32 1205644919, i32 1232726284, i32 1203732957, i32 1230609021, i32 1202068558, i32 1228759404, i32 1200620375, i32 1227144406, i32 1199150928, i32 1225734974, i32 1196961407, i32 1224274345, i32 1195059107, i32 1222130630, i32 1193407158, i32 1220262583, i32 1191973312, i32 1218635571, i32 1190276428, i32 1217219200, i32 1188119142, i32 1215625472, i32 1186249419, i32 1213481951, i32 1184629718, i32 1211618738, i32 1183227291, i32 1209999986, i32 1181233440, i32 1208594324, i32 1179133702, i32 1206789071, i32 1177318293, i32 1204672362, i32 1175749478, i32 1202837046, i32 1174383725, i32 1201246509, i32 1172044026, i32 1199868792, i32 1170025096, i32 1197781088, i32 1168283809, i32 1195716794, i32 1166782716, i32 1193931388, i32 1164962123, i32 1192387961, i32 1162734328, i32 1190926432, i32 1160816648, i32 1188623062, i32 1159166720, i32 1186634851, i32 1157747852, i32 1184919532, i32 1155428661, i32 1183440388, i32 1153333153, i32 1181537344, i32 1151533744, i32 1179340890, i32 1149989349, i32 1177449686, i32 1148089652, i32 1175822122, i32 1145817645, i32 1174422144, i32 1143870484, i32 1172031935, i32 1142202536, i32 1169963373, i32 1140698237, i32 1168186720, i32 1138254036, i32 1166661544, i32 1136163386, i32 1164689286, i32 1134376020, i32 1162444698, i32 1132848688, i32 1160520695, i32 1130626310, i32 1158872311, i32 1128399067, i32 1157293628, i32 1126498637, i32 1154877360, i32 1124877859, i32 1152810318, i32 1122919037, i32 1151042908, i32 1120564739, i32 1149532448, i32 1118559819, i32 1147245153, i32 1116853261, i32 1145042050, i32 1115117884, i32 1143162047, i32 1112648650, i32 1141558556, i32 1110549952, i32 1139532490, i32 1108767058, i32 1137202983, i32 1107210116, i32 1135219064, i32 1104640487, i32 1133530304, i32 1102460721, i32 1131724929, i32 1100612571, i32 1129281283, i32 1099046352, i32 1127204292, i32 1096531758, i32 1125439818, i32 1094285410, i32 1123809692, i32 1092384524, i32 1121266617, i32 1090776756, i32 1119109407, i32 1088316103, i32 1117280423, i32 1086019154, i32 1115730494, i32 1084079241, i32 1113150527, i32 1082441665, i32 1110927737, i32 1079989535, i32 1109046891, i32 1077659121, i32 1107456175, i32 1075694786, i32 1104926752, i32 1074039830, i32 1102654513, i32 1071550590, i32 1100735638, i32 1069204624, i32 1099115979, i32 1067231037, i32 1096591466, i32 1065571531, i32 1094287050, i32 1063000391, i32 1092344862, i32 1060657146, i32 1090708776, i32 1058689694, i32 1088143423, i32 1057038575, i32 1085824856, i32 1054342600, i32 1083874614, i32 1052020286, i32 1082235000, i32 1050074213, i32 1079584011, i32 1048312444, i32 1077269645, i32 1045583282, i32 1075326796, i32 1043299623, i32 1073651441, i32 1041389676, i32 1070917194, i32 1039398736, i32 1068625276, i32 1036730679, i32 1066705083, i32 1034502505, i32 1064841025, i32 1032642600, i32 1062149358, i32 1030382926, i32 1059897600, i32 1027794902, i32 1058014789, i32 1025637785, i32 1055917897, i32 1023840705, i32 1053289072, i32 1021278425, i32 1051094240, i32 1018787570, i32 1049262661, i32 1016715493, i32 1046893941, i32 1014963688, i32 1044346762, i32 1012100073, i32 1042224306, i32 1009721393, i32 1040456628, i32 1007746493, i32 1037782920, i32 1005582303, i32 1035334330, i32 1002863627, i32 1033298061, i32 1000609748, i32 1031412254, i32 998742114, i32 1028599975, i32 996146231, i32 1026264730, i32 993585243, i32 1024326561, i32 991466235, i32 1022027318, i32 989571829, i32 1019361103, i32 986674645, i32 1017151524, i32 984280972, i32 1015321280, i32 982304268, i32 1012590427, i32 979878256, i32 1010082624, i32 977186171, i32 1008008436, i32 974966292, i32 1005954511, i32 973136685, i32 1003120879, i32 970180417, i32 1000780675, i32 967698377, i32 998848931, i32 965655694, i32 996265936, i32 963260910, i32 993637326, i32 960497918, i32 991470731, i32 958227342, i32 989515917, i32 956362337, i32 986576468, i32 953361102, i32 984157261, i32 950848277, i32 982167204, i32 948787314, i32 979594821, i32 946282863, i32 976905540, i32 943514136, i32 974696597, i32 941246612, i32 972687661, i32 939256839, i32 969711425, i32 936219526, i32 967270403, i32 933735677, i32 965269336, i32 931705430, i32 962569561, i32 928958027, i32 959884047, i32 926249145, i32 957685815, i32 924038202, i32 955473363, i32 921722217, i32 952531978, i32 918780868, i32 950127868, i32 916383703, i32 948163864, i32 914430996, i32 945207681, i32 911323959, i32 942590074, i32 908736284, i32 940454823, i32 906631474, i32 937903712, i32 903870859, i32 935066289, i32 901089782, i32 932755156, i32 898830970, i32 930611760, i32 896413426, i32 927549701, i32 893437597, i32 925059289, i32 891024144, i32 923034805, i32 888943039, i32 920032901, i32 885772782, i32 917361201, i32 883205408, i32 915192560, i32 881127282, i32 912507977, i32 878088144, i32 909654498, i32 875369007, i32 907341732, i32 873171260, i32 904966623, i32 870376358, i32 901932504, i32 867509114, i32 899476967, i32 865195052, i32 897400265, i32 862630091, i32 894188368, i32 859619931, i32 891592798, i32 857194082, i32 889496324, i32 854842134, i32 886415174, i32 851695791, i32 883683743, i32 849163904, i32 881480795, i32 847005533, i32 878606067, i32 843731265, i32 875744396, i32 841100293, i32 873439820, i32 838987260, i32 870754371, i32 835721267, i32 867769530, i32 832999319, i32 865369317, i32 830816421, i32 862853723, i32 827661157, i32 859754200, i32 824857435, i32 857265451, i32 822612249, i32 854898195, i32 819546831, i32 851693836, i32 816671542, i32 849124713, i32 814372415, i32 846882413, i32 811374812, i32 843584340, i32 808439058, i32 840943989, i32 806095018, i32 838801668, i32 803142319, i32 835422168, i32 800157971, i32 832720627, i32 797778619, i32 830562104, i32 794847327, i32 827204409, i32 791826883, i32 824452495, i32 789422278, i32 822256973, i32 786488613, i32 818928842, i32 783445040, i32 816138023, i32 781025569, i32 813914751, i32 778065779, i32 810593987, i32 775012349, i32 807776239, i32 772588593, i32 805534829, i32 769579266, i32 802199140, i32 766529377, i32 799366789, i32 764111977, i32 797117093, i32 761030340, i32 793744381, i32 757997345, i32 790909950, i32 755596854, i32 788661925, i32 752421064, i32 785230580, i32 749418096, i32 782406614, i32 747044848, i32 780170198, i32 743754259, i32 776659372, i32 740794057, i32 773858279, i32 738458031, i32 771534567, i32 735033440, i32 768033127, i32 732128189, i32 765267009, i32 729838884, i32 762802410, i32 726262742, i32 759354892, i32 723423925, i32 756635394, i32 720960200, i32 754007748, i32 717446837, i32 750628333, i32 714685098, i32 747966491, i32 711998810, i32 745155664, i32 708590838, i32 741857653, i32 705915864, i32 739263766, i32 702991441, i32 736251845, i32 699700193, i32 733047509, i32 697120619, i32 730531015, i32 693945174, i32 727302471, i32 690780589, i32 724202911, i32 688303920, i32 721772295, i32 684867291, i32 718314090, i32 681837836, i32 715329133, i32 679463538, i32 712952001, i32 675765148, i32 709293489, i32 672877770, i32 706431604, i32 670160677, i32 703744899, i32 666646047, i32 700247572, i32 663906148, i32 697515811, i32 660842466, i32 694511704, i32 657517110, i32 691183236, i32 654928558, i32 688587206, i32 651517654, i32 685261013, i32 648385175, i32 682107249, i32 645950332, i32 679651106, i32 642194544, i32 676001174, i32 639256692, i32 673026147, i32 636418741, i32 670336603, i32 632880880, i32 666740155, i32 630137645, i32 663946133, i32 626877591, i32 660853110, i32 623583758, i32 657485432, i32 621033478, i32 654872995, i32 617362739, i32 651383429, i32 614309547, i32 648243897, i32 611529709, i32 645701255, i32 607881564, i32 641935695, i32 605063842, i32 639021783, i32 601797381, i32 636001817, i32 598440439, i32 632517165, i32 595851429, i32 629824603, i32 592120142, i32 626344614, i32 589044704, i32 623134154, i32 586149985, i32 620557241, i32 582503853, i32 616736792, i32 579698665, i32 613792012, i32 576269088, i32 610678235, i32 572953085, i32 607184269, i32 570385896, i32 604495111, i32 566473708, i32 600873017, i32 563471167, i32 597691742, i32 560299043, i32 594902550, i32 556767037, i32 591146496, i32 554060246, i32 588262719, i32 550325635, i32 584896909, i32 547150846, i32 581502132, i32 544183229, i32 578899571, i32 540466792, i32 574996715, i32 537625605, i32 571942009, i32 534038291, i32 568781878, i32 530722101, i32 565203517, i32 527898919, i32 562466950, i32 524035864, i32 558713615, i32 521089791, i32 555517370, i32 517594563, i32 552505129, i32 514172699, i32 548779325, i32 511428731, i32 545936993, i32 507461991, i32 542279893, i32 504444221, i32 538976394, i32 500982554, i32 536048971, i32 497494486, i32 532217021, i32 494761646, i32 529300887, i32 490737855, i32 525683263, i32 487684147, i32 522310603, i32 484196291, i32 519401848, i32 480683876, i32 515508851, i32 477893663, i32 512553530, i32 473861521, i32 508917183, i32 470808936, i32 505515955, i32 467236084, i32 502559033, i32 463742063, i32 498652303, i32 460828043, i32 495693834, i32 456836553, i32 491981246, i32 453822113, i32 488593082, i32 450108504, i32 485522913, i32 446674950, i32 481650263, i32 443575111, i32 478724796, i32 439671802, i32 474881210, i32 436731145, i32 471547261, i32 432825998, i32 468302845, i32 429492800, i32 464510835, i32 426151645, i32 461653312, i32 422380878, i32 457628646, i32 419547002, i32 454388086, i32 415406149, i32 450914591, i32 412209632, i32 447246861, i32 408579892, i32 444383316, i32 404981362, i32 440240255, i32 401913862, i32 437128908, i32 397870664, i32 433379392, i32 394842413, i32 429875162, i32 390886301, i32 426675867, i32 387493804, i32 422736888, i32 384037294, i32 419786058, i32 380244155, i32 415722740, i32 377332879, i32 412415577, i32 373100058, i32 408841626, i32 369940601, i32 405142373, i32 366068197, i32 402102668, i32 362552825, i32 397972961, i32 359155309, i32 394889864, i32 355251560, i32 390913947, i32 352344833, i32 387482219, i32 348041553, i32 383971994, i32 344823134, i32 380159705, i32 340927495, i32 377153763, i32 337370913, i32 372927021, i32 333913970, i32 369782309, i32 329991363, i32 365788807, i32 327005411, i32 362312473, i32 322687551, i32 358749604, i32 319486576, i32 354914217, i32 315462382, i32 351813803, i32 311949175, i32 347590577, i32 308318558, i32 344459261, i32 304470186, i32 340344435, i32 301258539, i32 336906618, i32 297051252, i32 333178469, i32 293942889, i32 329411554, i32 289693797, i32 326095120, i32 286305476, i32 321975699, i32 282398997, i32 318931825, i32 278712711, i32 314600468, i32 275167751, i32 311281538, i32 271165121, i32 307287030, i32 268000643, i32 303675288, i32 263663002, i32 300036281, i32 260472385, i32 296113601, i32 256206401, i32 292848806, i32 252758851, i32 288596776, i32 248795091, i32 285468764, i32 245077185, i32 281124861, i32 241428554, i32 277744189, i32 237426916, i32 273697638, i32 234105964, i32 270051062, i32 229807344, i32 266314599, i32 226659293, i32 262388917, i32 222217536, i32 258974929, i32 218845744, i32 254757068, i32 214656315, i32 251667866, i32 211051926, i32 247154591, i32 0, i32 0], i32 2147483647, i32 1092681728, i32 -2147483648, i32 1065353216, i32 1207959552, i32 662700032, i32 1040754634, i32 -1096102110, i32 1056987958, i32 -1096069413, i32 1059760806, i32 -1082130436, i32 1092673019, i32 1468006400 }, align 4 +@_ZN25__imf_impl_nextafter_s_xa12_GLOBAL__N_117_min_subnormal_32E = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 1, i32 -2147483647], align 4 +@_ZN20__imf_impl_modf_s_xa12_GLOBAL__N_16_zerosE = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 0, i32 -2147483648], align 4 +@_ZN21__imf_impl_ldexp_s_xa12_GLOBAL__N_115_large_value_32E = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 1904214016, i32 -243269632], align 4 +@_ZN21__imf_impl_ldexp_s_xa12_GLOBAL__N_115_small_value_32E = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 226492416, i32 -1920991232], align 4 +@_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_tan_s_la::(anonymous namespace)::__devicelib_imf_internal_stan_data_t" { i32 1092811139, i32 1036586970, i32 832708968, i32 633484485, i32 832708608, i32 708075802, [32 x i32] [i32 -2147483648, i32 1036629468, i32 1045147567, i32 1050366018, i32 1054086093, i32 1057543609, i32 1059786177, i32 1062344705, i32 1065353216, i32 1067186156, i32 1069519047, i32 1072658590, i32 1075479162, i32 1079179983, i32 1084284919, i32 1092776803, i32 -8388609, i32 -1054706845, i32 -1063198729, i32 -1068303665, i32 -1072004486, i32 -1074825058, i32 -1077964601, i32 -1080297492, i32 -1082130432, i32 -1085138943, i32 -1087697471, i32 -1089940039, i32 -1093397555, i32 -1097117630, i32 -1102336081, i32 -1110854180], [32 x i32] [i32 -2147483648, i32 826651354, i32 791306928, i32 -1305855550, i32 -1312792038, i32 -1302398621, i32 850100121, i32 850281093, i32 0, i32 861435400, i32 840342808, i32 -1291043136, i32 -1278474718, i32 865099790, i32 856723932, i32 -1269522362, i32 -209715200, i32 877961286, i32 -1290759716, i32 -1282383858, i32 869008930, i32 856440512, i32 -1307140840, i32 -1286048248, i32 0, i32 -1297202555, i32 -1297383527, i32 845085027, i32 834691610, i32 841628098, i32 -1356176720, i32 -1320832294], i32 1051372198, i32 1040758920, i32 1174470656, i32 1059256707, i32 -2147483648, i32 2147483647, i32 2139095040, i32 1262485504, i32 1065353216, i32 1174470656, i32 1070137344, i32 972922880, i32 866263040, i32 741630234, i32 1070141403, i32 -1287930578, i32 -1493750547, i32 1065353212, i32 -1111215180, i32 1065353212, i32 -1092896853, i32 1008677739, i32 1073741824, [128 x [10 x i32]] [[10 x i32] [i32 1070141403, i32 -1287930578, i32 0, i32 0, i32 0, i32 1065353216, i32 0, i32 0, i32 1051372765, i32 0], [10 x i32] [i32 1069935515, i32 853435276, i32 0, i32 1019812401, i32 797871386, i32 1065353216, i32 975043072, i32 1019820333, i32 1051400329, i32 1015569723], [10 x i32] [i32 1069729628, i32 -1295270262, i32 0, i32 1028208956, i32 816029531, i32 1065353216, i32 991832832, i32 1028240852, i32 1051479824, i32 1023251493], [10 x i32] [i32 1069523740, i32 860164016, i32 0, i32 1033310670, i32 827321128, i32 1065353216, i32 1001540608, i32 1033364538, i32 1051617929, i32 1028458464], [10 x i32] [i32 1069317853, i32 -1317008675, i32 0, i32 1036629468, i32 826649990, i32 1065353216, i32 1008660256, i32 1036757738, i32 1051807326, i32 1032162226], [10 x i32] [i32 1069111966, i32 -1285221785, i32 0, i32 1039964354, i32 -1330752932, i32 1065353216, i32 1014578464, i32 1040201797, i32 1052059423, i32 1034708638], [10 x i32] [i32 1068906078, i32 848017692, i32 0, i32 1041753444, i32 -1312447772, i32 1065353216, i32 1018446032, i32 1041972480, i32 1052374628, i32 1037453248], [10 x i32] [i32 1068700191, i32 -1290849155, i32 0, i32 1043443277, i32 -1309466031, i32 1065353216, i32 1022797056, i32 1043793882, i32 1052746889, i32 1039915463], [10 x i32] [i32 1068494303, i32 857455223, i32 0, i32 1045147567, i32 791292384, i32 1065353216, i32 1025642520, i32 1045675728, i32 1053195814, i32 1041590498], [10 x i32] [i32 1068288416, i32 -1301980592, i32 0, i32 1046868583, i32 833925599, i32 1065353216, i32 1028557712, i32 1047628490, i32 1053716836, i32 1043186017], [10 x i32] [i32 1068082528, i32 863082593, i32 0, i32 1048592340, i32 -1306026394, i32 1065353216, i32 1031831496, i32 1049119700, i32 1054310701, i32 1044788971], [10 x i32] [i32 1067876641, i32 837040812, i32 0, i32 1049473154, i32 -1322081740, i32 1065353216, i32 1033689040, i32 1050184288, i32 1054999523, i32 1046698028], [10 x i32] [i32 1067670754, i32 -1288140362, i32 0, i32 1050366018, i32 -1305855250, i32 1065353216, i32 1035760784, i32 1051302645, i32 1055777031, i32 1048635818], [10 x i32] [i32 1067464866, i32 853854846, i32 0, i32 1051272279, i32 817367088, i32 1065353216, i32 1038057984, i32 1052482025, i32 1056656040, i32 1049723582], [10 x i32] [i32 1067258979, i32 -1295689831, i32 0, i32 1052193360, i32 -1308456925, i32 1065353216, i32 1040390392, i32 1053730424, i32 1057307751, i32 1050943059], [10 x i32] [i32 1067053091, i32 860373800, i32 0, i32 1053130765, i32 -1307262015, i32 1065353216, i32 1041784404, i32 1055056706, i32 1057868403, i32 1052298273], [10 x i32] [i32 1066847204, i32 -1320362450, i32 0, i32 1054086093, i32 -1312792238, i32 1065353216, i32 1043312844, i32 1056470731, i32 1058502663, i32 1053852727], [10 x i32] [i32 1066641317, i32 -1285431570, i32 0, i32 1055061049, i32 -1309394530, i32 1065353216, i32 1044984860, i32 1057474074, i32 1059214863, i32 1055565854], [10 x i32] [i32 1066435429, i32 848437261, i32 0, i32 1056057456, i32 844263924, i32 1065353216, i32 1046810746, i32 1058286064, i32 1060014844, i32 1057227928], [10 x i32] [i32 1066229542, i32 -1291058939, i32 0, i32 1057020941, i32 -1307267214, i32 1065353216, i32 1048689044, i32 1059160627, i32 1060914481, i32 1058313864], [10 x i32] [i32 1066023654, i32 857665008, i32 0, i32 1057543609, i32 -1302398578, i32 1065353216, i32 1049773965, i32 1060105673, i32 1061932376, i32 1059565214], [10 x i32] [i32 1065817767, i32 -1302819731, i32 0, i32 1058080175, i32 854607280, i32 1065353216, i32 1050955490, i32 1061130203, i32 1063075792, i32 1060964899], [10 x i32] [i32 1065611879, i32 863292377, i32 0, i32 1058631876, i32 848316488, i32 1065353216, i32 1052241912, i32 1062244476, i32 1064374250, i32 1062608877], [10 x i32] [i32 1065405992, i32 838719090, i32 0, i32 1059200055, i32 -1307811364, i32 1065353216, i32 1053642609, i32 1063460266, i32 1065596017, i32 1064468970], [10 x i32] [i32 1065046993, i32 848647046, i32 0, i32 1059786177, i32 850099898, i32 1065353216, i32 1055168194, i32 1064791104, i32 1066427841, i32 1065988022], [10 x i32] [i32 1064635218, i32 854274415, i32 0, i32 1060391849, i32 -1296518934, i32 1065353216, i32 1056830711, i32 1065802920, i32 1067373883, i32 1067237086], [10 x i32] [i32 1064223444, i32 -1296109401, i32 0, i32 1061018831, i32 852661766, i32 1073741824, i32 -1092198289, i32 1066608086, i32 1068453481, i32 1068697612], [10 x i32] [i32 1063811669, i32 -1303239301, i32 0, i32 1061669068, i32 -1308560102, i32 1073741824, i32 -1094177684, i32 1067498217, i32 1069688111, i32 1070408903], [10 x i32] [i32 1063399894, i32 -1323719006, i32 0, i32 1062344705, i32 850280824, i32 1073741824, i32 -1096341192, i32 1068485666, i32 1071103306, i32 1072410651], [10 x i32] [i32 1062988119, i32 839209514, i32 0, i32 1063048126, i32 826671880, i32 1073741824, i32 -1098709307, i32 1069584946, i32 1072731698, i32 1074256640], [10 x i32] [i32 1062576344, i32 848856831, i32 0, i32 1063781982, i32 845614362, i32 1073741824, i32 -1103703594, i32 1070813191, i32 1074178145, i32 1075661786], [10 x i32] [i32 1062164569, i32 854484200, i32 0, i32 1064549237, i32 855412877, i32 1073741824, i32 -1111518032, i32 1072190735, i32 1075269479, i32 1077331464], [10 x i32] [i32 1061752795, i32 -1296319186, i32 1065353216, i32 -1098127858, i32 839748996, i32 1056964608, i32 -1107814479, i32 -1115470357, i32 1025375660, i32 -1135423633], [10 x i32] [i32 1061341020, i32 -1303658870, i32 1065353216, i32 -1098438593, i32 -1301759642, i32 1056964608, i32 -1107401431, i32 -1116006061, i32 1025040649, i32 -1136299856], [10 x i32] [i32 1060929245, i32 -1325397283, i32 1065353216, i32 -1098746848, i32 839617357, i32 1048576000, i32 1039897640, i32 -1116732748, i32 1024731756, i32 -1137031169], [10 x i32] [i32 1060517470, i32 839629084, i32 1065353216, i32 -1099197822, i32 -1322023982, i32 1048576000, i32 1039520273, i32 -1117437261, i32 1024452069, i32 -1137575148], [10 x i32] [i32 1060105695, i32 849066615, i32 1065353216, i32 -1099805069, i32 824230882, i32 1048576000, i32 1039159939, i32 -1118120866, i32 1024176063, i32 -1138247493], [10 x i32] [i32 1059693920, i32 854693985, i32 1065353216, i32 -1100407996, i32 837912886, i32 1048576000, i32 1038816139, i32 -1118784777, i32 1023917626, i32 -1138866521], [10 x i32] [i32 1059282146, i32 -1296528970, i32 1065353216, i32 -1101006804, i32 -1318030790, i32 1048576000, i32 1038488404, i32 -1119430138, i32 1023672824, i32 -1139482605], [10 x i32] [i32 1058870371, i32 -1304078439, i32 1065353216, i32 -1101601685, i32 837021697, i32 1048576000, i32 1038176293, i32 -1120058032, i32 1023428141, i32 -1140249448], [10 x i32] [i32 1058458596, i32 -1328751058, i32 1065353216, i32 -1102192831, i32 -1313955692, i32 1048576000, i32 1037879388, i32 -1120669506, i32 1023026096, i32 -1140720393], [10 x i32] [i32 1058046821, i32 840048653, i32 1065353216, i32 -1102780424, i32 -1312119861, i32 1048576000, i32 1037597300, i32 -1121265531, i32 1022609285, i32 -1141775544], [10 x i32] [i32 1057635046, i32 849276400, i32 1065353216, i32 -1103364644, i32 -1322102246, i32 1048576000, i32 1037329660, i32 -1121847055, i32 1022242934, i32 -1142500765], [10 x i32] [i32 1057223271, i32 854903769, i32 1065353216, i32 -1103945666, i32 838792638, i32 1048576000, i32 1037076124, i32 -1122414964, i32 1021893801, i32 -1143285163], [10 x i32] [i32 1056658385, i32 840258438, i32 1065353216, i32 -1104523663, i32 -1315111700, i32 1048576000, i32 1036836369, i32 -1122970107, i32 1021543079, i32 -1144472169], [10 x i32] [i32 1055834836, i32 -1304498009, i32 1065353216, i32 -1105098800, i32 -1313355785, i32 1048576000, i32 1036610091, i32 -1123513310, i32 1021220110, i32 -1145529647], [10 x i32] [i32 1055011286, i32 -1332107614, i32 1065353216, i32 -1105671241, i32 -1344109520, i32 1048576000, i32 1036397006, i32 -1124045363, i32 1020942892, i32 -1146047534], [10 x i32] [i32 1054187736, i32 840468223, i32 1065353216, i32 -1106241147, i32 -1339051336, i32 1048576000, i32 1036196851, i32 -1125060531, i32 1020660679, i32 -1147062086], [10 x i32] [i32 1053364187, i32 -1304707794, i32 1065353216, i32 -1106808675, i32 -1316345213, i32 1048576000, i32 1036009378, i32 -1126084458, i32 1020421234, i32 -1147530640], [10 x i32] [i32 1052540637, i32 -1333785891, i32 1065353216, i32 -1107451701, i32 789904544, i32 1048576000, i32 1035834359, i32 -1127090405, i32 1020189995, i32 -1148167866], [10 x i32] [i32 1051717087, i32 840678007, i32 1065353216, i32 -1108578164, i32 -1320643132, i32 1048576000, i32 1035671582, i32 -1128079706, i32 1019957287, i32 -1149290135], [10 x i32] [i32 1050893538, i32 -1304917578, i32 1065353216, i32 -1109700779, i32 821445502, i32 1048576000, i32 1035520850, i32 -1129053680, i32 1019751749, i32 -1151061899], [10 x i32] [i32 1050069988, i32 -1337139666, i32 1065353216, i32 -1110819841, i32 823956970, i32 1048576000, i32 1035381982, i32 -1130013605, i32 1019591684, i32 -1151096471], [10 x i32] [i32 1049246438, i32 840887792, i32 1065353216, i32 -1111935639, i32 -1346769664, i32 1048576000, i32 1035254815, i32 -1130960635, i32 1019406069, i32 -1153560410], [10 x i32] [i32 1048269777, i32 831869830, i32 1065353216, i32 -1113048457, i32 829265530, i32 1048576000, i32 1035139196, i32 -1131896033, i32 1019275107, i32 -1153493402], [10 x i32] [i32 1046622678, i32 -1340496222, i32 1065353216, i32 -1114158579, i32 -1320208805, i32 1048576000, i32 1035034991, i32 -1133179688, i32 1019131285, i32 -1155352445], [10 x i32] [i32 1044975579, i32 -1313096402, i32 1065353216, i32 -1115266281, i32 -1343217344, i32 1048576000, i32 1034942077, i32 -1135010608, i32 1019002541, i32 -1157317652], [10 x i32] [i32 1043328479, i32 832289399, i32 1065353216, i32 -1117058817, i32 -1326525898, i32 1048576000, i32 1034860345, i32 -1136825007, i32 1018906717, i32 -1157630534], [10 x i32] [i32 1041681380, i32 -1345528274, i32 1065353216, i32 -1119266196, i32 -1331419203, i32 1048576000, i32 1034789701, i32 -1138624952, i32 1018810804, i32 -1161079449], [10 x i32] [i32 1039881169, i32 823481222, i32 1065353216, i32 -1121470378, i32 -1325928815, i32 1048576000, i32 1034730062, i32 -1140412701, i32 1018750428, i32 -1158938386], [10 x i32] [i32 1036586971, i32 -1321485010, i32 1065353216, i32 -1123671901, i32 -1326666944, i32 1048576000, i32 1034681361, i32 -1143529457, i32 1018664053, i32 -1171584292], [10 x i32] [i32 1033292772, i32 -1353916882, i32 1065353216, i32 -1127669128, i32 808398440, i32 1048576000, i32 1034643540, i32 -1147068081, i32 1018610153, i32 943964915], [10 x i32] [i32 1028198363, i32 -1329873618, i32 1065353216, i32 -1132064747, i32 -1344893394, i32 1048576000, i32 1034616555, i32 -1151951041, i32 1018603598, i32 -1161412204], [10 x i32] [i32 1019809755, i32 -1338262226, i32 1065353216, i32 -1140454413, i32 803361198, i32 1048576000, i32 1034600377, i32 -1160348576, i32 1018580133, i32 -1160910719], [10 x i32] [i32 0, i32 0, i32 1065353216, i32 0, i32 0, i32 1048576000, i32 1034594987, i32 0, i32 1018552971, i32 0], [10 x i32] [i32 -1127673893, i32 809221422, i32 1065353216, i32 1007029235, i32 -1344122450, i32 1048576000, i32 1034600377, i32 987135072, i32 1018580133, i32 986572929], [10 x i32] [i32 -1119285285, i32 817610030, i32 1065353216, i32 1015418901, i32 802590254, i32 1048576000, i32 1034616555, i32 995532607, i32 1018603598, i32 986071444], [10 x i32] [i32 -1114190876, i32 793566766, i32 1065353216, i32 1019814520, i32 -1339085208, i32 1048576000, i32 1034643540, i32 1000415567, i32 1018610153, i32 -1203518734], [10 x i32] [i32 -1110896677, i32 825998638, i32 1065353216, i32 1023811747, i32 820816704, i32 1048576000, i32 1034681361, i32 1003954191, i32 1018664053, i32 975899356], [10 x i32] [i32 -1107602479, i32 -1324002426, i32 1065353216, i32 1026013270, i32 821554833, i32 1048576000, i32 1034730062, i32 1007070947, i32 1018750428, i32 988545262], [10 x i32] [i32 -1105802268, i32 801955374, i32 1065353216, i32 1028217452, i32 816064445, i32 1048576000, i32 1034789701, i32 1008858696, i32 1018810804, i32 986404199], [10 x i32] [i32 -1104155169, i32 -1315194249, i32 1065353216, i32 1030424831, i32 820957750, i32 1048576000, i32 1034860345, i32 1010658641, i32 1018906717, i32 989853114], [10 x i32] [i32 -1102508069, i32 834387246, i32 1065353216, i32 1032217367, i32 804266304, i32 1048576000, i32 1034942077, i32 1012473040, i32 1019002541, i32 990165996], [10 x i32] [i32 -1100860970, i32 806987426, i32 1065353216, i32 1033325069, i32 827274843, i32 1048576000, i32 1035034991, i32 1014303960, i32 1019131285, i32 992131203], [10 x i32] [i32 -1099213871, i32 -1315613818, i32 1065353216, i32 1034435191, i32 -1318218118, i32 1048576000, i32 1035139196, i32 1015587615, i32 1019275107, i32 993990246], [10 x i32] [i32 -1098237210, i32 -1306595856, i32 1065353216, i32 1035548009, i32 800713984, i32 1048576000, i32 1035254815, i32 1016523013, i32 1019406069, i32 993923238], [10 x i32] [i32 -1097413660, i32 810343982, i32 1065353216, i32 1036663807, i32 -1323526678, i32 1048576000, i32 1035381982, i32 1017470043, i32 1019591684, i32 996387177], [10 x i32] [i32 -1096590110, i32 842566070, i32 1065353216, i32 1037782869, i32 -1326038146, i32 1048576000, i32 1035520850, i32 1018429968, i32 1019751749, i32 996421749], [10 x i32] [i32 -1095766561, i32 -1306805641, i32 1065353216, i32 1038905484, i32 826840516, i32 1048576000, i32 1035671582, i32 1019403942, i32 1019957287, i32 998193513], [10 x i32] [i32 -1094943011, i32 813697757, i32 1065353216, i32 1040031947, i32 -1357579104, i32 1048576000, i32 1035834359, i32 1020393243, i32 1020189995, i32 999315782], [10 x i32] [i32 -1094119461, i32 842775854, i32 1065353216, i32 1040674973, i32 831138435, i32 1048576000, i32 1036009378, i32 1021399190, i32 1020421234, i32 999953008], [10 x i32] [i32 -1093295912, i32 -1307015425, i32 1065353216, i32 1041242501, i32 808432312, i32 1048576000, i32 1036196851, i32 1022423117, i32 1020660679, i32 1000421562], [10 x i32] [i32 -1092472362, i32 815376034, i32 1065353216, i32 1041812407, i32 803374128, i32 1048576000, i32 1036397006, i32 1023438285, i32 1020942892, i32 1001436114], [10 x i32] [i32 -1091648812, i32 842985639, i32 1065353216, i32 1042384848, i32 834127863, i32 1048576000, i32 1036610091, i32 1023970338, i32 1021220110, i32 1001954001], [10 x i32] [i32 -1090825263, i32 -1307225210, i32 1065353216, i32 1042959985, i32 832371948, i32 1048576000, i32 1036836369, i32 1024513541, i32 1021543079, i32 1003011479], [10 x i32] [i32 -1090260377, i32 -1292579879, i32 1065353216, i32 1043537982, i32 -1308691010, i32 1048576000, i32 1037076124, i32 1025068684, i32 1021893801, i32 1004198485], [10 x i32] [i32 -1089848602, i32 -1298207248, i32 1065353216, i32 1044119004, i32 825381402, i32 1048576000, i32 1037329660, i32 1025636593, i32 1022242934, i32 1004982883], [10 x i32] [i32 -1089436827, i32 -1307434995, i32 1065353216, i32 1044703224, i32 835363787, i32 1048576000, i32 1037597300, i32 1026218117, i32 1022609285, i32 1005708104], [10 x i32] [i32 -1089025052, i32 818732590, i32 1065353216, i32 1045290817, i32 833527956, i32 1048576000, i32 1037879388, i32 1026814142, i32 1023026096, i32 1006763255], [10 x i32] [i32 -1088613277, i32 843405209, i32 1065353216, i32 1045881963, i32 -1310461951, i32 1048576000, i32 1038176293, i32 1027425616, i32 1023428141, i32 1007234200], [10 x i32] [i32 -1088201502, i32 850954678, i32 1065353216, i32 1046476844, i32 829452858, i32 1048576000, i32 1038488404, i32 1028053510, i32 1023672824, i32 1008001043], [10 x i32] [i32 -1087789728, i32 -1292789663, i32 1065353216, i32 1047075652, i32 -1309570762, i32 1048576000, i32 1038816139, i32 1028698871, i32 1023917626, i32 1008617127], [10 x i32] [i32 -1087377953, i32 -1298417033, i32 1065353216, i32 1047678579, i32 -1323252766, i32 1048576000, i32 1039159939, i32 1029362782, i32 1024176063, i32 1009236155], [10 x i32] [i32 -1086966178, i32 -1307854564, i32 1065353216, i32 1048285826, i32 825459666, i32 1048576000, i32 1039520273, i32 1030046387, i32 1024452069, i32 1009908500], [10 x i32] [i32 -1086554403, i32 822086365, i32 1065353216, i32 1048736800, i32 -1307866291, i32 1048576000, i32 1039897640, i32 1030750900, i32 1024731756, i32 1010452479], [10 x i32] [i32 -1086142628, i32 843824778, i32 1065353216, i32 1049045055, i32 845724006, i32 1056964608, i32 -1107401431, i32 1031477587, i32 1025040649, i32 1011183792], [10 x i32] [i32 -1085730853, i32 851164462, i32 0, i32 -1082130432, i32 725680128, i32 1073741824, i32 -1291845632, i32 -1073741824, i32 1076541384, i32 -1068146213], [10 x i32] [i32 -1085319079, i32 -1292999448, i32 0, i32 -1082934411, i32 -1292070771, i32 1073741824, i32 -1111518032, i32 -1075292913, i32 1075269479, i32 -1070152184], [10 x i32] [i32 -1084907304, i32 -1298626817, i32 0, i32 -1083701666, i32 -1301869286, i32 1073741824, i32 -1103703594, i32 -1076670457, i32 1074178145, i32 -1071821862], [10 x i32] [i32 -1084495529, i32 -1308274134, i32 0, i32 -1084435522, i32 -1320811768, i32 1073741824, i32 -1098709307, i32 -1077898702, i32 1072731698, i32 -1073227008], [10 x i32] [i32 -1084083754, i32 823764642, i32 0, i32 -1085138943, i32 -1297202824, i32 1073741824, i32 -1096341192, i32 -1078997982, i32 1071103306, i32 -1075072997], [10 x i32] [i32 -1083671979, i32 844244347, i32 0, i32 -1085814580, i32 838923546, i32 1073741824, i32 -1094177684, i32 -1079985431, i32 1069688111, i32 -1077074745], [10 x i32] [i32 -1083260204, i32 851374247, i32 0, i32 -1086464817, i32 -1294821882, i32 1073741824, i32 -1092198289, i32 -1080875562, i32 1068453481, i32 -1078786036], [10 x i32] [i32 -1082848430, i32 -1293209233, i32 0, i32 -1087091799, i32 850964714, i32 1065353216, i32 1056830711, i32 -1081680728, i32 1067373883, i32 -1080246562], [10 x i32] [i32 -1082436655, i32 -1298836602, i32 0, i32 -1087697471, i32 -1297383750, i32 1065353216, i32 1055168194, i32 -1082692544, i32 1066427841, i32 -1081495626], [10 x i32] [i32 -1082077656, i32 -1308764558, i32 0, i32 -1088283593, i32 839672284, i32 1065353216, i32 1053642609, i32 -1084023382, i32 1065596017, i32 -1083014678], [10 x i32] [i32 -1081871769, i32 -1284191271, i32 0, i32 -1088851772, i32 -1299167160, i32 1065353216, i32 1052241912, i32 -1085239172, i32 1064374250, i32 -1084874771], [10 x i32] [i32 -1081665881, i32 844663917, i32 0, i32 -1089403473, i32 -1292876368, i32 1065353216, i32 1050955490, i32 -1086353445, i32 1063075792, i32 -1086518749], [10 x i32] [i32 -1081459994, i32 -1289818640, i32 0, i32 -1089940039, i32 845085070, i32 1065353216, i32 1049773965, i32 -1087377975, i32 1061932376, i32 -1087918434], [10 x i32] [i32 -1081254106, i32 856424709, i32 0, i32 -1090462707, i32 840216434, i32 1065353216, i32 1048689044, i32 -1088323021, i32 1060914481, i32 -1089169784], [10 x i32] [i32 -1081048219, i32 -1299046387, i32 0, i32 -1091426192, i32 -1303219724, i32 1065353216, i32 1046810746, i32 -1089197584, i32 1060014844, i32 -1090255720], [10 x i32] [i32 -1080842331, i32 862052078, i32 0, i32 -1092422599, i32 838089118, i32 1065353216, i32 1044984860, i32 -1090009574, i32 1059214863, i32 -1091917794], [10 x i32] [i32 -1080636444, i32 827121198, i32 0, i32 -1093397555, i32 834691410, i32 1065353216, i32 1043312844, i32 -1091012917, i32 1058502663, i32 -1093630921], [10 x i32] [i32 -1080430557, i32 -1287109848, i32 0, i32 -1094352883, i32 840221633, i32 1065353216, i32 1041784404, i32 -1092426942, i32 1057868403, i32 -1095185375], [10 x i32] [i32 -1080224669, i32 851793817, i32 0, i32 -1095290288, i32 839026723, i32 1065353216, i32 1040390392, i32 -1093753224, i32 1057307751, i32 -1096540589], [10 x i32] [i32 -1080018782, i32 -1293628802, i32 0, i32 -1096211369, i32 -1330116560, i32 1065353216, i32 1038057984, i32 -1095001623, i32 1056656040, i32 -1097760066], [10 x i32] [i32 -1079812894, i32 859343286, i32 0, i32 -1097117630, i32 841628398, i32 1065353216, i32 1035760784, i32 -1096181003, i32 1055777031, i32 -1098847830], [10 x i32] [i32 -1079607007, i32 -1310442836, i32 0, i32 -1098010494, i32 825401908, i32 1065353216, i32 1033689040, i32 -1097299360, i32 1054999523, i32 -1100785620], [10 x i32] [i32 -1079401120, i32 -1284401055, i32 0, i32 -1098891308, i32 841457254, i32 1065353216, i32 1031831496, i32 -1098363948, i32 1054310701, i32 -1102694677], [10 x i32] [i32 -1079195232, i32 845503056, i32 0, i32 -1100615065, i32 -1313558049, i32 1065353216, i32 1028557712, i32 -1099855158, i32 1053716836, i32 -1104297631], [10 x i32] [i32 -1078989345, i32 -1290028425, i32 0, i32 -1102336081, i32 -1356191264, i32 1065353216, i32 1025642520, i32 -1101807920, i32 1053195814, i32 -1105893150], [10 x i32] [i32 -1078783457, i32 856634493, i32 0, i32 -1104040371, i32 838017617, i32 1065353216, i32 1022797056, i32 -1103689766, i32 1052746889, i32 -1107568185], [10 x i32] [i32 -1078577570, i32 -1299465956, i32 0, i32 -1105730204, i32 835035876, i32 1065353216, i32 1018446032, i32 -1105511168, i32 1052374628, i32 -1110030400], [10 x i32] [i32 -1078371682, i32 862261863, i32 0, i32 -1107519294, i32 816730716, i32 1065353216, i32 1014578464, i32 -1107281851, i32 1052059423, i32 -1112775010], [10 x i32] [i32 -1078165795, i32 830474973, i32 0, i32 -1110854180, i32 -1320833658, i32 1065353216, i32 1008660256, i32 -1110725910, i32 1051807326, i32 -1115321422], [10 x i32] [i32 -1077959908, i32 -1287319632, i32 0, i32 -1114172978, i32 -1320162520, i32 1065353216, i32 1001540608, i32 -1114119110, i32 1051617929, i32 -1119025184], [10 x i32] [i32 -1077754020, i32 852213386, i32 0, i32 -1119274692, i32 -1331454117, i32 1065353216, i32 991832832, i32 -1119242796, i32 1051479824, i32 -1124232155], [10 x i32] [i32 -1077548133, i32 -1294048372, i32 0, i32 -1127671247, i32 -1349612262, i32 1065353216, i32 975043072, i32 -1127663315, i32 1051400329, i32 -1131913925]] }, align 4 +@_ZN19__imf_impl_tan_s_la12_GLOBAL__N_144__devicelib_imf_internal_stan_reduction_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cos_s_la::(anonymous namespace)::__scos_la_ReductionTab_t" { [256 x [3 x i32]] [[3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] [i32 0, i32 0, i32 1], [3 x i32] [i32 0, i32 0, i32 2], [3 x i32] [i32 0, i32 0, i32 5], [3 x i32] [i32 0, i32 0, i32 10], [3 x i32] [i32 0, i32 0, i32 20], [3 x i32] [i32 0, i32 0, i32 40], [3 x i32] [i32 0, i32 0, i32 81], [3 x i32] [i32 0, i32 0, i32 162], [3 x i32] [i32 0, i32 0, i32 325], [3 x i32] [i32 0, i32 0, i32 651], [3 x i32] [i32 0, i32 0, i32 1303], [3 x i32] [i32 0, i32 0, i32 2607], [3 x i32] [i32 0, i32 0, i32 5215], [3 x i32] [i32 0, i32 0, i32 10430], [3 x i32] [i32 0, i32 0, i32 20860], [3 x i32] [i32 0, i32 0, i32 41721], [3 x i32] [i32 0, i32 0, i32 83443], [3 x i32] [i32 0, i32 0, i32 166886], [3 x i32] [i32 0, i32 0, i32 333772], [3 x i32] [i32 0, i32 0, i32 667544], [3 x i32] [i32 0, i32 0, i32 1335088], [3 x i32] [i32 0, i32 0, i32 2670176], [3 x i32] [i32 0, i32 0, i32 5340353], [3 x i32] [i32 0, i32 0, i32 10680707], [3 x i32] [i32 0, i32 0, i32 21361414], [3 x i32] [i32 0, i32 0, i32 42722829], [3 x i32] [i32 0, i32 0, i32 85445659], [3 x i32] [i32 0, i32 0, i32 170891318], [3 x i32] [i32 0, i32 0, i32 341782637], [3 x i32] [i32 0, i32 0, i32 683565275], [3 x i32] [i32 0, i32 0, i32 1367130551], [3 x i32] [i32 0, i32 0, i32 -1560706194], [3 x i32] [i32 0, i32 1, i32 1173554908], [3 x i32] [i32 0, i32 2, i32 -1947857479], [3 x i32] [i32 0, i32 5, i32 399252338], [3 x i32] [i32 0, i32 10, i32 798504676], [3 x i32] [i32 0, i32 20, i32 1597009353], [3 x i32] [i32 0, i32 40, i32 -1100948589], [3 x i32] [i32 0, i32 81, i32 2093070119], [3 x i32] [i32 0, i32 162, i32 -108827058], [3 x i32] [i32 0, i32 325, i32 -217654116], [3 x i32] [i32 0, i32 651, i32 -435308231], [3 x i32] [i32 0, i32 1303, i32 -870616462], [3 x i32] [i32 0, i32 2607, i32 -1741232924], [3 x i32] [i32 0, i32 5215, i32 812501448], [3 x i32] [i32 0, i32 10430, i32 1625002897], [3 x i32] [i32 0, i32 20860, i32 -1044961502], [3 x i32] [i32 0, i32 41721, i32 -2089923004], [3 x i32] [i32 0, i32 83443, i32 115121288], [3 x i32] [i32 0, i32 166886, i32 230242576], [3 x i32] [i32 0, i32 333772, i32 460485152], [3 x i32] [i32 0, i32 667544, i32 920970305], [3 x i32] [i32 0, i32 1335088, i32 1841940610], [3 x i32] [i32 0, i32 2670176, i32 -611086075], [3 x i32] [i32 0, i32 5340353, i32 -1222172150], [3 x i32] [i32 0, i32 10680707, i32 1850622997], [3 x i32] [i32 0, i32 21361414, i32 -593721302], [3 x i32] [i32 0, i32 42722829, i32 -1187442604], [3 x i32] [i32 0, i32 85445659, i32 1920082089], [3 x i32] [i32 0, i32 170891318, i32 -454803118], [3 x i32] [i32 0, i32 341782637, i32 -909606235], [3 x i32] [i32 0, i32 683565275, i32 -1819212470], [3 x i32] [i32 0, i32 1367130551, i32 656542356], [3 x i32] [i32 0, i32 -1560706194, i32 1313084713], [3 x i32] [i32 1, i32 1173554908, i32 -1668797869], [3 x i32] [i32 2, i32 -1947857479, i32 957371559], [3 x i32] [i32 5, i32 399252338, i32 1914743119], [3 x i32] [i32 10, i32 798504676, i32 -465481057], [3 x i32] [i32 20, i32 1597009353, i32 -930962113], [3 x i32] [i32 40, i32 -1100948589, i32 -1861924225], [3 x i32] [i32 81, i32 2093070119, i32 571118846], [3 x i32] [i32 162, i32 -108827058, i32 1142237692], [3 x i32] [i32 325, i32 -217654116, i32 -2010491912], [3 x i32] [i32 651, i32 -435308231, i32 273983472], [3 x i32] [i32 1303, i32 -870616462, i32 547966945], [3 x i32] [i32 2607, i32 -1741232924, i32 1095933890], [3 x i32] [i32 5215, i32 812501448, i32 -2103099516], [3 x i32] [i32 10430, i32 1625002897, i32 88768265], [3 x i32] [i32 20860, i32 -1044961502, i32 177536531], [3 x i32] [i32 41721, i32 -2089923004, i32 355073063], [3 x i32] [i32 83443, i32 115121288, i32 710146126], [3 x i32] [i32 166886, i32 230242576, i32 1420292253], [3 x i32] [i32 333772, i32 460485152, i32 -1454382790], [3 x i32] [i32 667544, i32 920970305, i32 1386201717], [3 x i32] [i32 1335088, i32 1841940610, i32 -1522563862], [3 x i32] [i32 2670176, i32 -611086075, i32 1249839573], [3 x i32] [i32 5340353, i32 -1222172150, i32 -1795288149], [3 x i32] [i32 10680707, i32 1850622997, i32 704390999], [3 x i32] [i32 21361414, i32 -593721302, i32 1408781999], [3 x i32] [i32 42722829, i32 -1187442604, i32 -1477403297], [3 x i32] [i32 85445659, i32 1920082089, i32 1340160702], [3 x i32] [i32 170891318, i32 -454803118, i32 -1614645891], [3 x i32] [i32 341782637, i32 -909606235, i32 1065675514], [3 x i32] [i32 683565275, i32 -1819212470, i32 2131351028], [3 x i32] [i32 1367130551, i32 656542356, i32 -32265240], [3 x i32] [i32 -1560706194, i32 1313084713, i32 -64530479], [3 x i32] [i32 1173554908, i32 -1668797869, i32 -129060957], [3 x i32] [i32 -1947857479, i32 957371559, i32 -258121913], [3 x i32] [i32 399252338, i32 1914743119, i32 -516243825], [3 x i32] [i32 798504676, i32 -465481057, i32 -1032487649], [3 x i32] [i32 1597009353, i32 -930962113, i32 -2064975298], [3 x i32] [i32 -1100948589, i32 -1861924225, i32 165016701], [3 x i32] [i32 2093070119, i32 571118846, i32 330033402], [3 x i32] [i32 -108827058, i32 1142237692, i32 660066805], [3 x i32] [i32 -217654116, i32 -2010491912, i32 1320133610], [3 x i32] [i32 -435308231, i32 273983472, i32 -1654700076], [3 x i32] [i32 -870616462, i32 547966945, i32 985567145], [3 x i32] [i32 -1741232924, i32 1095933890, i32 1971134291], [3 x i32] [i32 812501448, i32 -2103099516, i32 -352698714], [3 x i32] [i32 1625002897, i32 88768265, i32 -705397427], [3 x i32] [i32 -1044961502, i32 177536531, i32 -1410794854], [3 x i32] [i32 -2089923004, i32 355073063, i32 1473377588], [3 x i32] [i32 115121288, i32 710146126, i32 -1348212119], [3 x i32] [i32 230242576, i32 1420292253, i32 1598543059], [3 x i32] [i32 460485152, i32 -1454382790, i32 -1097881178], [3 x i32] [i32 920970305, i32 1386201717, i32 2099204941], [3 x i32] [i32 1841940610, i32 -1522563862, i32 -96557413], [3 x i32] [i32 -611086075, i32 1249839573, i32 -193114825], [3 x i32] [i32 -1222172150, i32 -1795288149, i32 -386229650], [3 x i32] [i32 1850622997, i32 704390999, i32 -772459299], [3 x i32] [i32 -593721302, i32 1408781999, i32 -1544918597], [3 x i32] [i32 -1187442604, i32 -1477403297, i32 1205130103], [3 x i32] [i32 1920082089, i32 1340160702, i32 -1884707090], [3 x i32] [i32 -454803118, i32 -1614645891, i32 525553116], [3 x i32] [i32 -909606235, i32 1065675514, i32 1051106232], [3 x i32] [i32 -1819212470, i32 2131351028, i32 2102212464], [3 x i32] [i32 656542356, i32 -32265240, i32 -90542368], [3 x i32] [i32 1313084713, i32 -64530479, i32 -181084736], [3 x i32] [i32 -1668797869, i32 -129060957, i32 -362169471], [3 x i32] [i32 957371559, i32 -258121913, i32 -724338941], [3 x i32] [i32 1914743119, i32 -516243825, i32 -1448677882], [3 x i32] [i32 -465481057, i32 -1032487649, i32 1397611533], [3 x i32] [i32 -930962113, i32 -2064975298, i32 -1499744229], [3 x i32] [i32 -1861924225, i32 165016701, i32 1295478838], [3 x i32] [i32 571118846, i32 330033402, i32 -1704009619], [3 x i32] [i32 1142237692, i32 660066805, i32 886948059], [3 x i32] [i32 -2010491912, i32 1320133610, i32 1773896118], [3 x i32] [i32 273983472, i32 -1654700076, i32 -747175059], [3 x i32] [i32 547966945, i32 985567145, i32 -1494350117], [3 x i32] [i32 1095933890, i32 1971134291, i32 1306267062], [3 x i32] [i32 -2103099516, i32 -352698714, i32 -1682433172], [3 x i32] [i32 88768265, i32 -705397427, i32 930100952], [3 x i32] [i32 177536531, i32 -1410794854, i32 1860201905], [3 x i32] [i32 355073063, i32 1473377588, i32 -574563486], [3 x i32] [i32 710146126, i32 -1348212119, i32 -1149126971], [3 x i32] [i32 1420292253, i32 1598543059, i32 1996713354], [3 x i32] [i32 -1454382790, i32 -1097881178, i32 -301540588], [3 x i32] [i32 1386201717, i32 2099204941, i32 -603081175], [3 x i32] [i32 -1522563862, i32 -96557413, i32 -1206162350], [3 x i32] [i32 1249839573, i32 -193114825, i32 1882642597], [3 x i32] [i32 -1795288149, i32 -386229650, i32 -529682102], [3 x i32] [i32 704390999, i32 -772459299, i32 -1059364203], [3 x i32] [i32 1408781999, i32 -1544918597, i32 -2118728405], [3 x i32] [i32 -1477403297, i32 1205130103, i32 57510486], [3 x i32] [i32 1340160702, i32 -1884707090, i32 115020972], [3 x i32] [i32 -1614645891, i32 525553116, i32 230041945], [3 x i32] [i32 1065675514, i32 1051106232, i32 460083891], [3 x i32] [i32 2131351028, i32 2102212464, i32 920167782], [3 x i32] [i32 -32265240, i32 -90542368, i32 1840335564], [3 x i32] [i32 -64530479, i32 -181084736, i32 -614296167], [3 x i32] [i32 -129060957, i32 -362169471, i32 -1228592334], [3 x i32] [i32 -258121913, i32 -724338941, i32 1837782628], [3 x i32] [i32 -516243825, i32 -1448677882, i32 -619402039], [3 x i32] [i32 -1032487649, i32 1397611533, i32 -1238804077], [3 x i32] [i32 -2064975298, i32 -1499744229, i32 1817359143], [3 x i32] [i32 165016701, i32 1295478838, i32 -660249009], [3 x i32] [i32 330033402, i32 -1704009619, i32 -1320498018], [3 x i32] [i32 660066805, i32 886948059, i32 1653971260], [3 x i32] [i32 1320133610, i32 1773896118, i32 -987024776], [3 x i32] [i32 -1654700076, i32 -747175059, i32 -1974049551], [3 x i32] [i32 985567145, i32 -1494350117, i32 346868194], [3 x i32] [i32 1971134291, i32 1306267062, i32 693736388], [3 x i32] [i32 -352698714, i32 -1682433172, i32 1387472776], [3 x i32] [i32 -705397427, i32 930100952, i32 -1520021744], [3 x i32] [i32 -1410794854, i32 1860201905, i32 1254923809], [3 x i32] [i32 1473377588, i32 -574563486, i32 -1785119677], [3 x i32] [i32 -1348212119, i32 -1149126971, i32 724727943], [3 x i32] [i32 1598543059, i32 1996713354, i32 1449455886], [3 x i32] [i32 -1097881178, i32 -301540588, i32 -1396055524], [3 x i32] [i32 2099204941, i32 -603081175, i32 1502856249], [3 x i32] [i32 -96557413, i32 -1206162350, i32 -1289254798], [3 x i32] [i32 -193114825, i32 1882642597, i32 1716457700], [3 x i32] [i32 -386229650, i32 -529682102, i32 -862051896], [3 x i32] [i32 -772459299, i32 -1059364203, i32 -1724103792], [3 x i32] [i32 -1544918597, i32 -2118728405, i32 846759712], [3 x i32] [i32 1205130103, i32 57510486, i32 1693519425], [3 x i32] [i32 -1884707090, i32 115020972, i32 -907928446], [3 x i32] [i32 525553116, i32 230041945, i32 -1815856892], [3 x i32] [i32 1051106232, i32 460083891, i32 663253512], [3 x i32] [i32 2102212464, i32 920167782, i32 1326507024], [3 x i32] [i32 -90542368, i32 1840335564, i32 -1641953248], [3 x i32] [i32 -181084736, i32 -614296167, i32 1011060801], [3 x i32] [i32 -362169471, i32 -1228592334, i32 2022121603], [3 x i32] [i32 -724338941, i32 1837782628, i32 -250724089], [3 x i32] [i32 -1448677882, i32 -619402039, i32 -501448177], [3 x i32] [i32 1397611533, i32 -1238804077, i32 -1002896353], [3 x i32] [i32 -1499744229, i32 1817359143, i32 -2005792705], [3 x i32] [i32 1295478838, i32 -660249009, i32 283381887], [3 x i32] [i32 -1704009619, i32 -1320498018, i32 566763775]] }, align 4 +@_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_sincos_s_la::(anonymous namespace)::__devicelib_imf_internal_ssincos_data_t" { [256 x [4 x i32]] [[4 x i32] [i32 0, i32 0, i32 0, i32 1065353216], [4 x i32] [i32 -1180833825, i32 1019808432, i32 -1341797992, i32 1065353216], [4 x i32] [i32 -1164058168, i32 1028193072, i32 -1326505345, i32 1065353216], [4 x i32] [i32 -1154379112, i32 1033283845, i32 -1319952799, i32 1065353216], [4 x i32] [i32 -1147287183, i32 1036565814, i32 -1334471947, i32 1065353216], [4 x i32] [i32 -1141477828, i32 1039839859, i32 -1323996977, i32 1065353216], [4 x i32] [i32 -1137617662, i32 1041645699, i32 837346836, i32 1065353216], [4 x i32] [i32 -1133431285, i32 1043271842, i32 823224313, i32 1065353216], [4 x i32] [i32 -1130534864, i32 1044891074, i32 -1327131011, i32 1065353216], [4 x i32] [i32 -1127805868, i32 1046502419, i32 833086710, i32 1065353216], [4 x i32] [i32 -1124761340, i32 1048104908, i32 -1323576291, i32 1065353216], [4 x i32] [i32 -1122738292, i32 1049136787, i32 824999326, i32 1065353216], [4 x i32] [i32 -1120903339, i32 1049927729, i32 846027248, i32 1065353216], [4 x i32] [i32 -1118913654, i32 1050712805, i32 -1304524384, i32 1065353216], [4 x i32] [i32 -1116770434, i32 1051491540, i32 -1306178046, i32 1065353216], [4 x i32] [i32 -1115079918, i32 1052263466, i32 -1301259354, i32 1065353216], [4 x i32] [i32 -1113856756, i32 1053028117, i32 836097324, i32 1065353216], [4 x i32] [i32 -1112558900, i32 1053785034, i32 829045603, i32 1065353216], [4 x i32] [i32 -1111187133, i32 1054533760, i32 840832460, i32 1065353216], [4 x i32] [i32 -1109742280, i32 1055273845, i32 -1311127692, i32 1065353216], [4 x i32] [i32 -1108225212, i32 1056004842, i32 -1308679879, i32 1065353216], [4 x i32] [i32 -1106966550, i32 1056726311, i32 -1316950871, i32 1065353216], [4 x i32] [i32 -1106137193, i32 1057201213, i32 -1302618110, i32 1065353216], [4 x i32] [i32 -1105273163, i32 1057551771, i32 -1296151730, i32 1065353216], [4 x i32] [i32 -1104374981, i32 1057896922, i32 -1303760153, i32 1065353216], [4 x i32] [i32 -1103443188, i32 1058236458, i32 852349230, i32 1065353216], [4 x i32] [i32 -1102478345, i32 1058570176, i32 -1312316429, i32 1065353216], [4 x i32] [i32 -1101481033, i32 1058897873, i32 848430348, i32 1065353216], [4 x i32] [i32 -1100451853, i32 1059219353, i32 841032635, i32 1065353216], [4 x i32] [i32 -1099391425, i32 1059534422, i32 -1308392637, i32 1065353216], [4 x i32] [i32 -1098604018, i32 1059842890, i32 -1296617162, i32 1065353216], [4 x i32] [i32 -1098043523, i32 1060144571, i32 -1297208014, i32 1065353216], [4 x i32] [i32 -1097468390, i32 1060439283, i32 844097402, i32 1065353216], [4 x i32] [i32 1044518635, i32 1060726850, i32 -1300168697, i32 1056964608], [4 x i32] [i32 1043311911, i32 1061007097, i32 832220140, i32 1056964608], [4 x i32] [i32 1042078039, i32 1061279856, i32 851442039, i32 1056964608], [4 x i32] [i32 1040817765, i32 1061544963, i32 850481524, i32 1056964608], [4 x i32] [i32 1038876298, i32 1061802258, i32 848897600, i32 1056964608], [4 x i32] [i32 1036254719, i32 1062051586, i32 847147240, i32 1056964608], [4 x i32] [i32 1033584979, i32 1062292797, i32 806113028, i32 1056964608], [4 x i32] [i32 1029938589, i32 1062525745, i32 848357914, i32 1056964608], [4 x i32] [i32 1024416170, i32 1062750291, i32 -1300406336, i32 1056964608], [4 x i32] [i32 1013387058, i32 1062966298, i32 841166280, i32 1056964608], [4 x i32] [i32 -1142376888, i32 1063173637, i32 851900755, i32 1056964608], [4 x i32] [i32 -1125494428, i32 1063372184, i32 -1293421531, i32 1056964608], [4 x i32] [i32 -1118935974, i32 1063561817, i32 823789818, i32 1056964608], [4 x i32] [i32 -1114350081, i32 1063742424, i32 -1296288887, i32 1056964608], [4 x i32] [i32 -1111355176, i32 1063913895, i32 -1293212820, i32 1056964608], [4 x i32] [i32 -1108327509, i32 1064076126, i32 854796500, i32 1056964608], [4 x i32] [i32 -1106282579, i32 1064229022, i32 -1298975780, i32 1056964608], [4 x i32] [i32 1035072335, i32 1064372488, i32 840880349, i32 1048576000], [4 x i32] [i32 1031957395, i32 1064506439, i32 851742225, i32 1048576000], [4 x i32] [i32 1025835404, i32 1064630795, i32 -1298948830, i32 1048576000], [4 x i32] [i32 1015605553, i32 1064745479, i32 846006572, i32 1048576000], [4 x i32] [i32 -1142552955, i32 1064850424, i32 -1307723291, i32 1048576000], [4 x i32] [i32 -1124262043, i32 1064945565, i32 851856985, i32 1048576000], [4 x i32] [i32 -1117722376, i32 1065030846, i32 855602635, i32 1048576000], [4 x i32] [i32 1027359369, i32 1065106216, i32 -1305356661, i32 1040187392], [4 x i32] [i32 1018299420, i32 1065171628, i32 -1325966615, i32 1040187392], [4 x i32] [i32 -1154895447, i32 1065227044, i32 -1292769789, i32 1040187392], [4 x i32] [i32 -1126364376, i32 1065272429, i32 838093129, i32 1040187392], [4 x i32] [i32 1010124837, i32 1065307757, i32 852498564, i32 1031798784], [4 x i32] [i32 -1134816446, i32 1065333007, i32 836655967, i32 1031798784], [4 x i32] [i32 -1143220927, i32 1065348163, i32 814009613, i32 1023410176], [4 x i32] [i32 0, i32 1065353216, i32 0, i32 0], [4 x i32] [i32 1004262721, i32 1065348163, i32 814009613, i32 -1124073472], [4 x i32] [i32 1012667202, i32 1065333007, i32 836655967, i32 -1115684864], [4 x i32] [i32 -1137358811, i32 1065307757, i32 852498564, i32 -1115684864], [4 x i32] [i32 1021119272, i32 1065272429, i32 838093129, i32 -1107296256], [4 x i32] [i32 992588201, i32 1065227044, i32 -1292769789, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 1065171628, i32 -1325966615, i32 -1107296256], [4 x i32] [i32 -1120124279, i32 1065106216, i32 -1305356661, i32 -1107296256], [4 x i32] [i32 1029761272, i32 1065030846, i32 855602635, i32 -1098907648], [4 x i32] [i32 1023221605, i32 1064945565, i32 851856985, i32 -1098907648], [4 x i32] [i32 1004930693, i32 1064850424, i32 -1307723291, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 1064745479, i32 846006572, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 1064630795, i32 -1298948830, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 1064506439, i32 851742225, i32 -1098907648], [4 x i32] [i32 -1112411313, i32 1064372488, i32 840880349, i32 -1098907648], [4 x i32] [i32 1041201069, i32 1064229022, i32 -1298975780, i32 -1090519040], [4 x i32] [i32 1039156139, i32 1064076126, i32 854796500, i32 -1090519040], [4 x i32] [i32 1036128472, i32 1063913895, i32 -1293212820, i32 -1090519040], [4 x i32] [i32 1033133567, i32 1063742424, i32 -1296288887, i32 -1090519040], [4 x i32] [i32 1028547674, i32 1063561817, i32 823789818, i32 -1090519040], [4 x i32] [i32 1021989220, i32 1063372184, i32 -1293421531, i32 -1090519040], [4 x i32] [i32 1005106760, i32 1063173637, i32 851900755, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 1062966298, i32 841166280, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 1062750291, i32 -1300406336, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 1062525745, i32 848357914, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 1062292797, i32 806113028, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 1062051586, i32 847147240, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 1061802258, i32 848897600, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 1061544963, i32 850481524, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 1061279856, i32 851442039, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 1061007097, i32 832220140, i32 -1090519040], [4 x i32] [i32 -1102965013, i32 1060726850, i32 -1300168697, i32 -1090519040], [4 x i32] [i32 1050015258, i32 1060439283, i32 844097402, i32 -1082130432], [4 x i32] [i32 1049440125, i32 1060144571, i32 -1297208014, i32 -1082130432], [4 x i32] [i32 1048879630, i32 1059842890, i32 -1296617162, i32 -1082130432], [4 x i32] [i32 1048092223, i32 1059534422, i32 -1308392637, i32 -1082130432], [4 x i32] [i32 1047031795, i32 1059219353, i32 841032635, i32 -1082130432], [4 x i32] [i32 1046002615, i32 1058897873, i32 848430348, i32 -1082130432], [4 x i32] [i32 1045005303, i32 1058570176, i32 -1312316429, i32 -1082130432], [4 x i32] [i32 1044040460, i32 1058236458, i32 852349230, i32 -1082130432], [4 x i32] [i32 1043108667, i32 1057896922, i32 -1303760153, i32 -1082130432], [4 x i32] [i32 1042210485, i32 1057551771, i32 -1296151730, i32 -1082130432], [4 x i32] [i32 1041346455, i32 1057201213, i32 -1302618110, i32 -1082130432], [4 x i32] [i32 1040517098, i32 1056726311, i32 -1316950871, i32 -1082130432], [4 x i32] [i32 1039258436, i32 1056004842, i32 -1308679879, i32 -1082130432], [4 x i32] [i32 1037741368, i32 1055273845, i32 -1311127692, i32 -1082130432], [4 x i32] [i32 1036296515, i32 1054533760, i32 840832460, i32 -1082130432], [4 x i32] [i32 1034924748, i32 1053785034, i32 829045603, i32 -1082130432], [4 x i32] [i32 1033626892, i32 1053028117, i32 836097324, i32 -1082130432], [4 x i32] [i32 1032403730, i32 1052263466, i32 -1301259354, i32 -1082130432], [4 x i32] [i32 1030713214, i32 1051491540, i32 -1306178046, i32 -1082130432], [4 x i32] [i32 1028569994, i32 1050712805, i32 -1304524384, i32 -1082130432], [4 x i32] [i32 1026580309, i32 1049927729, i32 846027248, i32 -1082130432], [4 x i32] [i32 1024745356, i32 1049136787, i32 824999326, i32 -1082130432], [4 x i32] [i32 1022722308, i32 1048104908, i32 -1323576291, i32 -1082130432], [4 x i32] [i32 1019677780, i32 1046502419, i32 833086710, i32 -1082130432], [4 x i32] [i32 1016948784, i32 1044891074, i32 -1327131011, i32 -1082130432], [4 x i32] [i32 1014052363, i32 1043271842, i32 823224313, i32 -1082130432], [4 x i32] [i32 1009865986, i32 1041645699, i32 837346836, i32 -1082130432], [4 x i32] [i32 1006005820, i32 1039839859, i32 -1323996977, i32 -1082130432], [4 x i32] [i32 1000196465, i32 1036565814, i32 -1334471947, i32 -1082130432], [4 x i32] [i32 993104536, i32 1033283845, i32 -1319952799, i32 -1082130432], [4 x i32] [i32 983425480, i32 1028193072, i32 -1326505345, i32 -1082130432], [4 x i32] [i32 966649823, i32 1019808432, i32 -1341797992, i32 -1082130432], [4 x i32] [i32 0, i32 0, i32 0, i32 -1082130432], [4 x i32] [i32 966649823, i32 -1127675216, i32 805685656, i32 -1082130432], [4 x i32] [i32 983425480, i32 -1119290576, i32 820978303, i32 -1082130432], [4 x i32] [i32 993104536, i32 -1114199803, i32 827530849, i32 -1082130432], [4 x i32] [i32 1000196465, i32 -1110917834, i32 813011701, i32 -1082130432], [4 x i32] [i32 1006005820, i32 -1107643789, i32 823486671, i32 -1082130432], [4 x i32] [i32 1009865986, i32 -1105837949, i32 -1310136812, i32 -1082130432], [4 x i32] [i32 1014052363, i32 -1104211806, i32 -1324259335, i32 -1082130432], [4 x i32] [i32 1016948784, i32 -1102592574, i32 820352637, i32 -1082130432], [4 x i32] [i32 1019677780, i32 -1100981229, i32 -1314396938, i32 -1082130432], [4 x i32] [i32 1022722308, i32 -1099378740, i32 823907357, i32 -1082130432], [4 x i32] [i32 1024745356, i32 -1098346861, i32 -1322484322, i32 -1082130432], [4 x i32] [i32 1026580309, i32 -1097555919, i32 -1301456400, i32 -1082130432], [4 x i32] [i32 1028569994, i32 -1096770843, i32 842959264, i32 -1082130432], [4 x i32] [i32 1030713214, i32 -1095992108, i32 841305602, i32 -1082130432], [4 x i32] [i32 1032403730, i32 -1095220182, i32 846224294, i32 -1082130432], [4 x i32] [i32 1033626892, i32 -1094455531, i32 -1311386324, i32 -1082130432], [4 x i32] [i32 1034924748, i32 -1093698614, i32 -1318438045, i32 -1082130432], [4 x i32] [i32 1036296515, i32 -1092949888, i32 -1306651188, i32 -1082130432], [4 x i32] [i32 1037741368, i32 -1092209803, i32 836355956, i32 -1082130432], [4 x i32] [i32 1039258436, i32 -1091478806, i32 838803769, i32 -1082130432], [4 x i32] [i32 1040517098, i32 -1090757337, i32 830532777, i32 -1082130432], [4 x i32] [i32 1041346455, i32 -1090282435, i32 844865538, i32 -1082130432], [4 x i32] [i32 1042210485, i32 -1089931877, i32 851331918, i32 -1082130432], [4 x i32] [i32 1043108667, i32 -1089586726, i32 843723495, i32 -1082130432], [4 x i32] [i32 1044040460, i32 -1089247190, i32 -1295134418, i32 -1082130432], [4 x i32] [i32 1045005303, i32 -1088913472, i32 835167219, i32 -1082130432], [4 x i32] [i32 1046002615, i32 -1088585775, i32 -1299053300, i32 -1082130432], [4 x i32] [i32 1047031795, i32 -1088264295, i32 -1306451013, i32 -1082130432], [4 x i32] [i32 1048092223, i32 -1087949226, i32 839091011, i32 -1082130432], [4 x i32] [i32 1048879630, i32 -1087640758, i32 850866486, i32 -1082130432], [4 x i32] [i32 1049440125, i32 -1087339077, i32 850275634, i32 -1082130432], [4 x i32] [i32 1050015258, i32 -1087044365, i32 -1303386246, i32 -1082130432], [4 x i32] [i32 -1102965013, i32 -1086756798, i32 847314951, i32 -1090519040], [4 x i32] [i32 -1104171737, i32 -1086476551, i32 -1315263508, i32 -1090519040], [4 x i32] [i32 -1105405609, i32 -1086203792, i32 -1296041609, i32 -1090519040], [4 x i32] [i32 -1106665883, i32 -1085938685, i32 -1297002124, i32 -1090519040], [4 x i32] [i32 -1108607350, i32 -1085681390, i32 -1298586048, i32 -1090519040], [4 x i32] [i32 -1111228929, i32 -1085432062, i32 -1300336408, i32 -1090519040], [4 x i32] [i32 -1113898669, i32 -1085190851, i32 -1341370620, i32 -1090519040], [4 x i32] [i32 -1117545059, i32 -1084957903, i32 -1299125734, i32 -1090519040], [4 x i32] [i32 -1123067478, i32 -1084733357, i32 847077312, i32 -1090519040], [4 x i32] [i32 -1134096590, i32 -1084517350, i32 -1306317368, i32 -1090519040], [4 x i32] [i32 1005106760, i32 -1084310011, i32 -1295582893, i32 -1090519040], [4 x i32] [i32 1021989220, i32 -1084111464, i32 854062117, i32 -1090519040], [4 x i32] [i32 1028547674, i32 -1083921831, i32 -1323693830, i32 -1090519040], [4 x i32] [i32 1033133567, i32 -1083741224, i32 851194761, i32 -1090519040], [4 x i32] [i32 1036128472, i32 -1083569753, i32 854270828, i32 -1090519040], [4 x i32] [i32 1039156139, i32 -1083407522, i32 -1292687148, i32 -1090519040], [4 x i32] [i32 1041201069, i32 -1083254626, i32 848507868, i32 -1090519040], [4 x i32] [i32 -1112411313, i32 -1083111160, i32 -1306603299, i32 -1098907648], [4 x i32] [i32 -1115526253, i32 -1082977209, i32 -1295741423, i32 -1098907648], [4 x i32] [i32 -1121648244, i32 -1082852853, i32 848534818, i32 -1098907648], [4 x i32] [i32 -1131878095, i32 -1082738169, i32 -1301477076, i32 -1098907648], [4 x i32] [i32 1004930693, i32 -1082633224, i32 839760357, i32 -1098907648], [4 x i32] [i32 1023221605, i32 -1082538083, i32 -1295626663, i32 -1098907648], [4 x i32] [i32 1029761272, i32 -1082452802, i32 -1291881013, i32 -1098907648], [4 x i32] [i32 -1120124279, i32 -1082377432, i32 842126987, i32 -1107296256], [4 x i32] [i32 -1129184228, i32 -1082312020, i32 821517033, i32 -1107296256], [4 x i32] [i32 992588201, i32 -1082256604, i32 854713859, i32 -1107296256], [4 x i32] [i32 1021119272, i32 -1082211219, i32 -1309390519, i32 -1107296256], [4 x i32] [i32 -1137358811, i32 -1082175891, i32 -1294985084, i32 -1115684864], [4 x i32] [i32 1012667202, i32 -1082150641, i32 -1310827681, i32 -1115684864], [4 x i32] [i32 1004262721, i32 -1082135485, i32 -1333474035, i32 -1124073472], [4 x i32] [i32 0, i32 -1082130432, i32 0, i32 0], [4 x i32] [i32 -1143220927, i32 -1082135485, i32 -1333474035, i32 1023410176], [4 x i32] [i32 -1134816446, i32 -1082150641, i32 -1310827681, i32 1031798784], [4 x i32] [i32 1010124837, i32 -1082175891, i32 -1294985084, i32 1031798784], [4 x i32] [i32 -1126364376, i32 -1082211219, i32 -1309390519, i32 1040187392], [4 x i32] [i32 -1154895447, i32 -1082256604, i32 854713859, i32 1040187392], [4 x i32] [i32 1018299420, i32 -1082312020, i32 821517033, i32 1040187392], [4 x i32] [i32 1027359369, i32 -1082377432, i32 842126987, i32 1040187392], [4 x i32] [i32 -1117722376, i32 -1082452802, i32 -1291881013, i32 1048576000], [4 x i32] [i32 -1124262043, i32 -1082538083, i32 -1295626663, i32 1048576000], [4 x i32] [i32 -1142552955, i32 -1082633224, i32 839760357, i32 1048576000], [4 x i32] [i32 1015605553, i32 -1082738169, i32 -1301477076, i32 1048576000], [4 x i32] [i32 1025835404, i32 -1082852853, i32 848534818, i32 1048576000], [4 x i32] [i32 1031957395, i32 -1082977209, i32 -1295741423, i32 1048576000], [4 x i32] [i32 1035072335, i32 -1083111160, i32 -1306603299, i32 1048576000], [4 x i32] [i32 -1106282579, i32 -1083254626, i32 848507868, i32 1056964608], [4 x i32] [i32 -1108327509, i32 -1083407522, i32 -1292687148, i32 1056964608], [4 x i32] [i32 -1111355176, i32 -1083569753, i32 854270828, i32 1056964608], [4 x i32] [i32 -1114350081, i32 -1083741224, i32 851194761, i32 1056964608], [4 x i32] [i32 -1118935974, i32 -1083921831, i32 -1323693830, i32 1056964608], [4 x i32] [i32 -1125494428, i32 -1084111464, i32 854062117, i32 1056964608], [4 x i32] [i32 -1142376888, i32 -1084310011, i32 -1295582893, i32 1056964608], [4 x i32] [i32 1013387058, i32 -1084517350, i32 -1306317368, i32 1056964608], [4 x i32] [i32 1024416170, i32 -1084733357, i32 847077312, i32 1056964608], [4 x i32] [i32 1029938589, i32 -1084957903, i32 -1299125734, i32 1056964608], [4 x i32] [i32 1033584979, i32 -1085190851, i32 -1341370620, i32 1056964608], [4 x i32] [i32 1036254719, i32 -1085432062, i32 -1300336408, i32 1056964608], [4 x i32] [i32 1038876298, i32 -1085681390, i32 -1298586048, i32 1056964608], [4 x i32] [i32 1040817765, i32 -1085938685, i32 -1297002124, i32 1056964608], [4 x i32] [i32 1042078039, i32 -1086203792, i32 -1296041609, i32 1056964608], [4 x i32] [i32 1043311911, i32 -1086476551, i32 -1315263508, i32 1056964608], [4 x i32] [i32 1044518635, i32 -1086756798, i32 847314951, i32 1056964608], [4 x i32] [i32 -1097468390, i32 -1087044365, i32 -1303386246, i32 1065353216], [4 x i32] [i32 -1098043523, i32 -1087339077, i32 850275634, i32 1065353216], [4 x i32] [i32 -1098604018, i32 -1087640758, i32 850866486, i32 1065353216], [4 x i32] [i32 -1099391425, i32 -1087949226, i32 839091011, i32 1065353216], [4 x i32] [i32 -1100451853, i32 -1088264295, i32 -1306451013, i32 1065353216], [4 x i32] [i32 -1101481033, i32 -1088585775, i32 -1299053300, i32 1065353216], [4 x i32] [i32 -1102478345, i32 -1088913472, i32 835167219, i32 1065353216], [4 x i32] [i32 -1103443188, i32 -1089247190, i32 -1295134418, i32 1065353216], [4 x i32] [i32 -1104374981, i32 -1089586726, i32 843723495, i32 1065353216], [4 x i32] [i32 -1105273163, i32 -1089931877, i32 851331918, i32 1065353216], [4 x i32] [i32 -1106137193, i32 -1090282435, i32 844865538, i32 1065353216], [4 x i32] [i32 -1106966550, i32 -1090757337, i32 830532777, i32 1065353216], [4 x i32] [i32 -1108225212, i32 -1091478806, i32 838803769, i32 1065353216], [4 x i32] [i32 -1109742280, i32 -1092209803, i32 836355956, i32 1065353216], [4 x i32] [i32 -1111187133, i32 -1092949888, i32 -1306651188, i32 1065353216], [4 x i32] [i32 -1112558900, i32 -1093698614, i32 -1318438045, i32 1065353216], [4 x i32] [i32 -1113856756, i32 -1094455531, i32 -1311386324, i32 1065353216], [4 x i32] [i32 -1115079918, i32 -1095220182, i32 846224294, i32 1065353216], [4 x i32] [i32 -1116770434, i32 -1095992108, i32 841305602, i32 1065353216], [4 x i32] [i32 -1118913654, i32 -1096770843, i32 842959264, i32 1065353216], [4 x i32] [i32 -1120903339, i32 -1097555919, i32 -1301456400, i32 1065353216], [4 x i32] [i32 -1122738292, i32 -1098346861, i32 -1322484322, i32 1065353216], [4 x i32] [i32 -1124761340, i32 -1099378740, i32 823907357, i32 1065353216], [4 x i32] [i32 -1127805868, i32 -1100981229, i32 -1314396938, i32 1065353216], [4 x i32] [i32 -1130534864, i32 -1102592574, i32 820352637, i32 1065353216], [4 x i32] [i32 -1133431285, i32 -1104211806, i32 -1324259335, i32 1065353216], [4 x i32] [i32 -1137617662, i32 -1105837949, i32 -1310136812, i32 1065353216], [4 x i32] [i32 -1141477828, i32 -1107643789, i32 823486671, i32 1065353216], [4 x i32] [i32 -1147287183, i32 -1110917834, i32 813011701, i32 1065353216], [4 x i32] [i32 -1154379112, i32 -1114199803, i32 827530849, i32 1065353216], [4 x i32] [i32 -1164058168, i32 -1119290576, i32 820978303, i32 1065353216], [4 x i32] [i32 -1180833825, i32 -1127675216, i32 805685656, i32 1065353216]], i32 2147483647, i32 1176256512, i32 2139095040, i32 -1104500053, i32 1007192156, i32 -1090519040, i32 1026206332, i32 255, i32 64, i32 -2147483648, i32 1078525952, i32 981311488, i32 874651648, i32 750018842, i32 1078530011, i32 -1279541970, i32 -1485361939, i32 -1104500053, i32 1007192201, i32 -1185936130, i32 909700723, i32 -1294532481, i32 791238261, i32 1007191912, i32 -1185958193, i32 909034293, i32 1050868099, i32 1262485504, i32 1070141403, i32 1056964608, i32 1065353216 }, align 4 +@_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_147__devicelib_imf_internal_ssincos_reduction_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cos_s_la::(anonymous namespace)::__scos_la_ReductionTab_t" { [256 x [3 x i32]] [[3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] zeroinitializer, [3 x i32] [i32 0, i32 0, i32 1], [3 x i32] [i32 0, i32 0, i32 2], [3 x i32] [i32 0, i32 0, i32 5], [3 x i32] [i32 0, i32 0, i32 10], [3 x i32] [i32 0, i32 0, i32 20], [3 x i32] [i32 0, i32 0, i32 40], [3 x i32] [i32 0, i32 0, i32 81], [3 x i32] [i32 0, i32 0, i32 162], [3 x i32] [i32 0, i32 0, i32 325], [3 x i32] [i32 0, i32 0, i32 651], [3 x i32] [i32 0, i32 0, i32 1303], [3 x i32] [i32 0, i32 0, i32 2607], [3 x i32] [i32 0, i32 0, i32 5215], [3 x i32] [i32 0, i32 0, i32 10430], [3 x i32] [i32 0, i32 0, i32 20860], [3 x i32] [i32 0, i32 0, i32 41721], [3 x i32] [i32 0, i32 0, i32 83443], [3 x i32] [i32 0, i32 0, i32 166886], [3 x i32] [i32 0, i32 0, i32 333772], [3 x i32] [i32 0, i32 0, i32 667544], [3 x i32] [i32 0, i32 0, i32 1335088], [3 x i32] [i32 0, i32 0, i32 2670176], [3 x i32] [i32 0, i32 0, i32 5340353], [3 x i32] [i32 0, i32 0, i32 10680707], [3 x i32] [i32 0, i32 0, i32 21361414], [3 x i32] [i32 0, i32 0, i32 42722829], [3 x i32] [i32 0, i32 0, i32 85445659], [3 x i32] [i32 0, i32 0, i32 170891318], [3 x i32] [i32 0, i32 0, i32 341782637], [3 x i32] [i32 0, i32 0, i32 683565275], [3 x i32] [i32 0, i32 0, i32 1367130551], [3 x i32] [i32 0, i32 0, i32 -1560706194], [3 x i32] [i32 0, i32 1, i32 1173554908], [3 x i32] [i32 0, i32 2, i32 -1947857479], [3 x i32] [i32 0, i32 5, i32 399252338], [3 x i32] [i32 0, i32 10, i32 798504676], [3 x i32] [i32 0, i32 20, i32 1597009353], [3 x i32] [i32 0, i32 40, i32 -1100948589], [3 x i32] [i32 0, i32 81, i32 2093070119], [3 x i32] [i32 0, i32 162, i32 -108827058], [3 x i32] [i32 0, i32 325, i32 -217654116], [3 x i32] [i32 0, i32 651, i32 -435308231], [3 x i32] [i32 0, i32 1303, i32 -870616462], [3 x i32] [i32 0, i32 2607, i32 -1741232924], [3 x i32] [i32 0, i32 5215, i32 812501448], [3 x i32] [i32 0, i32 10430, i32 1625002897], [3 x i32] [i32 0, i32 20860, i32 -1044961502], [3 x i32] [i32 0, i32 41721, i32 -2089923004], [3 x i32] [i32 0, i32 83443, i32 115121288], [3 x i32] [i32 0, i32 166886, i32 230242576], [3 x i32] [i32 0, i32 333772, i32 460485152], [3 x i32] [i32 0, i32 667544, i32 920970305], [3 x i32] [i32 0, i32 1335088, i32 1841940610], [3 x i32] [i32 0, i32 2670176, i32 -611086075], [3 x i32] [i32 0, i32 5340353, i32 -1222172150], [3 x i32] [i32 0, i32 10680707, i32 1850622997], [3 x i32] [i32 0, i32 21361414, i32 -593721302], [3 x i32] [i32 0, i32 42722829, i32 -1187442604], [3 x i32] [i32 0, i32 85445659, i32 1920082089], [3 x i32] [i32 0, i32 170891318, i32 -454803118], [3 x i32] [i32 0, i32 341782637, i32 -909606235], [3 x i32] [i32 0, i32 683565275, i32 -1819212470], [3 x i32] [i32 0, i32 1367130551, i32 656542356], [3 x i32] [i32 0, i32 -1560706194, i32 1313084713], [3 x i32] [i32 1, i32 1173554908, i32 -1668797869], [3 x i32] [i32 2, i32 -1947857479, i32 957371559], [3 x i32] [i32 5, i32 399252338, i32 1914743119], [3 x i32] [i32 10, i32 798504676, i32 -465481057], [3 x i32] [i32 20, i32 1597009353, i32 -930962113], [3 x i32] [i32 40, i32 -1100948589, i32 -1861924225], [3 x i32] [i32 81, i32 2093070119, i32 571118846], [3 x i32] [i32 162, i32 -108827058, i32 1142237692], [3 x i32] [i32 325, i32 -217654116, i32 -2010491912], [3 x i32] [i32 651, i32 -435308231, i32 273983472], [3 x i32] [i32 1303, i32 -870616462, i32 547966945], [3 x i32] [i32 2607, i32 -1741232924, i32 1095933890], [3 x i32] [i32 5215, i32 812501448, i32 -2103099516], [3 x i32] [i32 10430, i32 1625002897, i32 88768265], [3 x i32] [i32 20860, i32 -1044961502, i32 177536531], [3 x i32] [i32 41721, i32 -2089923004, i32 355073063], [3 x i32] [i32 83443, i32 115121288, i32 710146126], [3 x i32] [i32 166886, i32 230242576, i32 1420292253], [3 x i32] [i32 333772, i32 460485152, i32 -1454382790], [3 x i32] [i32 667544, i32 920970305, i32 1386201717], [3 x i32] [i32 1335088, i32 1841940610, i32 -1522563862], [3 x i32] [i32 2670176, i32 -611086075, i32 1249839573], [3 x i32] [i32 5340353, i32 -1222172150, i32 -1795288149], [3 x i32] [i32 10680707, i32 1850622997, i32 704390999], [3 x i32] [i32 21361414, i32 -593721302, i32 1408781999], [3 x i32] [i32 42722829, i32 -1187442604, i32 -1477403297], [3 x i32] [i32 85445659, i32 1920082089, i32 1340160702], [3 x i32] [i32 170891318, i32 -454803118, i32 -1614645891], [3 x i32] [i32 341782637, i32 -909606235, i32 1065675514], [3 x i32] [i32 683565275, i32 -1819212470, i32 2131351028], [3 x i32] [i32 1367130551, i32 656542356, i32 -32265240], [3 x i32] [i32 -1560706194, i32 1313084713, i32 -64530479], [3 x i32] [i32 1173554908, i32 -1668797869, i32 -129060957], [3 x i32] [i32 -1947857479, i32 957371559, i32 -258121913], [3 x i32] [i32 399252338, i32 1914743119, i32 -516243825], [3 x i32] [i32 798504676, i32 -465481057, i32 -1032487649], [3 x i32] [i32 1597009353, i32 -930962113, i32 -2064975298], [3 x i32] [i32 -1100948589, i32 -1861924225, i32 165016701], [3 x i32] [i32 2093070119, i32 571118846, i32 330033402], [3 x i32] [i32 -108827058, i32 1142237692, i32 660066805], [3 x i32] [i32 -217654116, i32 -2010491912, i32 1320133610], [3 x i32] [i32 -435308231, i32 273983472, i32 -1654700076], [3 x i32] [i32 -870616462, i32 547966945, i32 985567145], [3 x i32] [i32 -1741232924, i32 1095933890, i32 1971134291], [3 x i32] [i32 812501448, i32 -2103099516, i32 -352698714], [3 x i32] [i32 1625002897, i32 88768265, i32 -705397427], [3 x i32] [i32 -1044961502, i32 177536531, i32 -1410794854], [3 x i32] [i32 -2089923004, i32 355073063, i32 1473377588], [3 x i32] [i32 115121288, i32 710146126, i32 -1348212119], [3 x i32] [i32 230242576, i32 1420292253, i32 1598543059], [3 x i32] [i32 460485152, i32 -1454382790, i32 -1097881178], [3 x i32] [i32 920970305, i32 1386201717, i32 2099204941], [3 x i32] [i32 1841940610, i32 -1522563862, i32 -96557413], [3 x i32] [i32 -611086075, i32 1249839573, i32 -193114825], [3 x i32] [i32 -1222172150, i32 -1795288149, i32 -386229650], [3 x i32] [i32 1850622997, i32 704390999, i32 -772459299], [3 x i32] [i32 -593721302, i32 1408781999, i32 -1544918597], [3 x i32] [i32 -1187442604, i32 -1477403297, i32 1205130103], [3 x i32] [i32 1920082089, i32 1340160702, i32 -1884707090], [3 x i32] [i32 -454803118, i32 -1614645891, i32 525553116], [3 x i32] [i32 -909606235, i32 1065675514, i32 1051106232], [3 x i32] [i32 -1819212470, i32 2131351028, i32 2102212464], [3 x i32] [i32 656542356, i32 -32265240, i32 -90542368], [3 x i32] [i32 1313084713, i32 -64530479, i32 -181084736], [3 x i32] [i32 -1668797869, i32 -129060957, i32 -362169471], [3 x i32] [i32 957371559, i32 -258121913, i32 -724338941], [3 x i32] [i32 1914743119, i32 -516243825, i32 -1448677882], [3 x i32] [i32 -465481057, i32 -1032487649, i32 1397611533], [3 x i32] [i32 -930962113, i32 -2064975298, i32 -1499744229], [3 x i32] [i32 -1861924225, i32 165016701, i32 1295478838], [3 x i32] [i32 571118846, i32 330033402, i32 -1704009619], [3 x i32] [i32 1142237692, i32 660066805, i32 886948059], [3 x i32] [i32 -2010491912, i32 1320133610, i32 1773896118], [3 x i32] [i32 273983472, i32 -1654700076, i32 -747175059], [3 x i32] [i32 547966945, i32 985567145, i32 -1494350117], [3 x i32] [i32 1095933890, i32 1971134291, i32 1306267062], [3 x i32] [i32 -2103099516, i32 -352698714, i32 -1682433172], [3 x i32] [i32 88768265, i32 -705397427, i32 930100952], [3 x i32] [i32 177536531, i32 -1410794854, i32 1860201905], [3 x i32] [i32 355073063, i32 1473377588, i32 -574563486], [3 x i32] [i32 710146126, i32 -1348212119, i32 -1149126971], [3 x i32] [i32 1420292253, i32 1598543059, i32 1996713354], [3 x i32] [i32 -1454382790, i32 -1097881178, i32 -301540588], [3 x i32] [i32 1386201717, i32 2099204941, i32 -603081175], [3 x i32] [i32 -1522563862, i32 -96557413, i32 -1206162350], [3 x i32] [i32 1249839573, i32 -193114825, i32 1882642597], [3 x i32] [i32 -1795288149, i32 -386229650, i32 -529682102], [3 x i32] [i32 704390999, i32 -772459299, i32 -1059364203], [3 x i32] [i32 1408781999, i32 -1544918597, i32 -2118728405], [3 x i32] [i32 -1477403297, i32 1205130103, i32 57510486], [3 x i32] [i32 1340160702, i32 -1884707090, i32 115020972], [3 x i32] [i32 -1614645891, i32 525553116, i32 230041945], [3 x i32] [i32 1065675514, i32 1051106232, i32 460083891], [3 x i32] [i32 2131351028, i32 2102212464, i32 920167782], [3 x i32] [i32 -32265240, i32 -90542368, i32 1840335564], [3 x i32] [i32 -64530479, i32 -181084736, i32 -614296167], [3 x i32] [i32 -129060957, i32 -362169471, i32 -1228592334], [3 x i32] [i32 -258121913, i32 -724338941, i32 1837782628], [3 x i32] [i32 -516243825, i32 -1448677882, i32 -619402039], [3 x i32] [i32 -1032487649, i32 1397611533, i32 -1238804077], [3 x i32] [i32 -2064975298, i32 -1499744229, i32 1817359143], [3 x i32] [i32 165016701, i32 1295478838, i32 -660249009], [3 x i32] [i32 330033402, i32 -1704009619, i32 -1320498018], [3 x i32] [i32 660066805, i32 886948059, i32 1653971260], [3 x i32] [i32 1320133610, i32 1773896118, i32 -987024776], [3 x i32] [i32 -1654700076, i32 -747175059, i32 -1974049551], [3 x i32] [i32 985567145, i32 -1494350117, i32 346868194], [3 x i32] [i32 1971134291, i32 1306267062, i32 693736388], [3 x i32] [i32 -352698714, i32 -1682433172, i32 1387472776], [3 x i32] [i32 -705397427, i32 930100952, i32 -1520021744], [3 x i32] [i32 -1410794854, i32 1860201905, i32 1254923809], [3 x i32] [i32 1473377588, i32 -574563486, i32 -1785119677], [3 x i32] [i32 -1348212119, i32 -1149126971, i32 724727943], [3 x i32] [i32 1598543059, i32 1996713354, i32 1449455886], [3 x i32] [i32 -1097881178, i32 -301540588, i32 -1396055524], [3 x i32] [i32 2099204941, i32 -603081175, i32 1502856249], [3 x i32] [i32 -96557413, i32 -1206162350, i32 -1289254798], [3 x i32] [i32 -193114825, i32 1882642597, i32 1716457700], [3 x i32] [i32 -386229650, i32 -529682102, i32 -862051896], [3 x i32] [i32 -772459299, i32 -1059364203, i32 -1724103792], [3 x i32] [i32 -1544918597, i32 -2118728405, i32 846759712], [3 x i32] [i32 1205130103, i32 57510486, i32 1693519425], [3 x i32] [i32 -1884707090, i32 115020972, i32 -907928446], [3 x i32] [i32 525553116, i32 230041945, i32 -1815856892], [3 x i32] [i32 1051106232, i32 460083891, i32 663253512], [3 x i32] [i32 2102212464, i32 920167782, i32 1326507024], [3 x i32] [i32 -90542368, i32 1840335564, i32 -1641953248], [3 x i32] [i32 -181084736, i32 -614296167, i32 1011060801], [3 x i32] [i32 -362169471, i32 -1228592334, i32 2022121603], [3 x i32] [i32 -724338941, i32 1837782628, i32 -250724089], [3 x i32] [i32 -1448677882, i32 -619402039, i32 -501448177], [3 x i32] [i32 1397611533, i32 -1238804077, i32 -1002896353], [3 x i32] [i32 -1499744229, i32 1817359143, i32 -2005792705], [3 x i32] [i32 1295478838, i32 -660249009, i32 283381887], [3 x i32] [i32 -1704009619, i32 -1320498018, i32 566763775]] }, align 4 +@_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_tanh_s_ha::(anonymous namespace)::__devicelib_imf_internal_stanh_data_t" { [32 x i32] [i32 0, i32 1030750208, i32 1032847360, i32 1034944512, i32 1037041664, i32 1039138816, i32 1041235968, i32 1043333120, i32 1045430272, i32 1047527424, i32 1049624576, i32 1051721728, i32 1053818880, i32 1055916032, i32 1058013184, i32 1060110336, i32 1062207488, i32 1064304640, i32 1066401792, i32 1068498944, i32 1070596096, i32 1072693248, i32 1074790400, i32 1076887552, i32 1078984704, i32 1081081856, i32 1083179008, i32 1085276160, i32 1087373312, i32 1089470464, i32 1091567616, i32 0], [32 x i32] [i32 0, i32 1030732233, i32 1032831839, i32 1034916201, i32 1036994987, i32 1039067209, i32 1041174248, i32 1043220868, i32 1045245838, i32 1047245614, i32 1049383373, i32 1051287907, i32 1053115377, i32 1054857013, i32 1057129528, i32 1058581488, i32 1059832960, i32 1060891676, i32 1062153819, i32 1063337043, i32 1064100733, i32 1064582223, i32 1064984555, i32 1065216645, i32 1065302845, i32 1065334668, i32 1065349076, i32 1065352656, i32 1065353140, i32 1065353206, i32 1065353215, i32 1065353216], [32 x i32] [i32 0, i32 -1331605474, i32 -1323496546, i32 -1349308656, i32 821708412, i32 824483568, i32 824941280, i32 -1310882224, i32 -1337668608, i32 838449816, i32 -1328921216, i32 -1306646972, i32 -1305162732, i32 842626356, i32 -1294953586, i32 -1322241472, i32 -1292949622, i32 853753500, i32 -1307862848, i32 -1294616382, i32 855535800, i32 852410906, i32 851608946, i32 -1306325640, i32 -1297956296, i32 -1305390560, i32 -1294083228, i32 -1294982960, i32 840950056, i32 -1299752016, i32 855269702, i32 0], [32 x i32] [i32 1065353216, i32 1065295748, i32 1065270545, i32 1065229919, i32 1065181343, i32 1065124909, i32 1065025765, i32 1064867200, i32 1064679597, i32 1064464345, i32 1064093083, i32 1063517074, i32 1062862743, i32 1062146519, i32 1060992371, i32 1059386208, i32 1057800167, i32 1055660649, i32 1051764737, i32 1046959010, i32 1041444634, i32 1035462611, i32 1026689093, i32 1015337940, i32 1002731447, i32 990958554, i32 973168670, i32 948705851, i32 924299482, i32 899955662, i32 864224966, i32 0], [32 x i32] [i32 -1338753925, i32 -1116805475, i32 -1114698329, i32 -1112651907, i32 -1110627809, i32 -1108629491, i32 -1106492357, i32 -1104593677, i32 -1102777726, i32 -1101056431, i32 -1098790976, i32 -1097410614, i32 -1096287346, i32 -1095430498, i32 -1094635778, i32 -1094402414, i32 -1094918032, i32 -1095937778, i32 -1097926698, i32 -1102346492, i32 -1106759113, i32 -1112574903, i32 -1121050940, i32 -1132216570, i32 -1144790859, i32 -1156535588, i32 -1174317093, i32 -1198778126, i32 -1223184234, i32 -1247528018, i32 -1283260116, i32 0], [32 x i32] [i32 -1096111451, i32 -1096088046, i32 -1096290273, i32 -1096490720, i32 -1096579145, i32 -1096722078, i32 -1096984585, i32 -1097372838, i32 -1097850099, i32 -1098379777, i32 -1099662925, i32 -1102299768, i32 -1105124222, i32 -1108636486, i32 -1117882195, i32 1013669486, i32 1032032579, i32 1036132065, i32 1038305199, i32 1036774550, i32 1033498413, i32 1028927137, i32 1021175553, i32 1009568359, i32 998361895, i32 985691041, i32 967585842, i32 943363289, i32 919210013, i32 895139148, i32 858471606, i32 0], [32 x i32] [i32 -1217538375, i32 -1105451155, i32 1008586543, i32 1036101517, i32 1033304453, i32 1034073627, i32 1036071831, i32 1037235824, i32 1039436298, i32 1040631208, i32 1041906362, i32 1042793477, i32 1043232976, i32 1043086916, i32 1042100375, i32 1039444212, i32 1034126600, i32 1026638186, i32 995501655, i32 -1129387319, i32 -1127312359, i32 -1129649468, i32 -1136007216, i32 -1146675747, i32 -1157612786, i32 -1170236923, i32 -1188296537, i32 -1212509646, i32 -1236661489, i32 -1260732055, i32 -1297385300, i32 0], [32 x i32] [i32 1040781545, i32 1131811139, i32 1097198812, i32 -1047464106, i32 -1064564355, i32 -1070880749, i32 -1082168358, i32 1059790272, i32 1053691997, i32 1061317268, i32 -1160049212, i32 1034173207, i32 -1118721144, i32 -1129405891, i32 -1120178803, i32 -1116951891, i32 -1116120083, i32 -1117790758, i32 -1123840197, i32 -1138971293, i32 985352038, i32 999682315, i32 998398067, i32 989522534, i32 977926264, i32 966355955, i32 948911724, i32 924561635, i32 900244966, i32 875993879, i32 841254832, i32 0], [32 x i32] [i32 -1139921050, i32 1175181842, i32 1138112751, i32 -1008657346, i32 -1027955479, i32 -1035347411, i32 -1048208510, i32 1088248663, i32 1078543936, i32 1086795944, i32 -1089530354, i32 1043392367, i32 -1096281209, i32 -1112380900, i32 -1120592297, i32 -1152646752, i32 1008565243, i32 1014115537, i32 1016545052, i32 1010017051, i32 998649588, i32 975680464, i32 -1170515705, i32 -1173423070, i32 -1182818545, i32 -1194807472, i32 -1212293637, i32 -1236326064, i32 -1260354127, i32 -1284301318, i32 -1319493884, i32 0], i32 2145386496, i32 1027604480, i32 65011712, [216 x i64] [i64 0, i64 4607182418800452381, i64 -4724856694817622117, i64 -4623695711432281891, i64 -4672646525932947711, i64 4594071714465446681, i64 -4641984415773580369, i64 0, i64 -4726484415230398674, i64 4607182429052369413, i64 -4680951063962603147, i64 -4623706393084798539, i64 -4651691032882929101, i64 4594666333233212095, i64 -4636266688507415086, i64 0, i64 -4718129896063926893, i64 4607182449231028443, i64 -4674838827662802040, i64 -4623717302826885573, i64 -4648344069634643033, i64 4594934397060286871, i64 -4635118775173674714, i64 0, i64 -4711357674281098049, i64 4607182489789756196, i64 -4670371248947303127, i64 -4623732616155246244, i64 -4646068679370898103, i64 4595196372801966269, i64 -4634193889847713768, i64 0, i64 -4706146268934169571, i64 4607182555451925340, i64 -4667230583343063641, i64 -4623750908076930209, i64 -4644058203584396260, i64 4595426844712307739, i64 -4633841173725230747, i64 0, i64 -4701245859321657766, i64 4607182676441407399, i64 -4664055480791366894, i64 -4623775663847313292, i64 -4642467688130737644, i64 4595656511654282931, i64 -4633539276375603758, i64 0, i64 -4703169400278854227, i64 4607182640234790044, i64 -4664512553600476306, i64 -4623772981918303801, i64 -4642527533755774291, i64 4595653840951754226, i64 -4633534732234613563, i64 0, i64 4535170573521206945, i64 4607180455039646744, i64 4562852445633107191, i64 -4623662723991151241, i64 -4649876586741879198, i64 4595196578769382460, i64 -4633936365930735270, i64 0, i64 4546063908787803289, i64 4607171672380350141, i64 4574320743256688710, i64 -4623361736213049060, i64 4582149769152837533, i64 4594263726536115844, i64 -4635084773399186518, i64 0, i64 4556999833259310023, i64 4607133603879377610, i64 4583442657867859870, i64 -4622417982704389312, i64 4591761869269659181, i64 4590614043634608966, i64 -4637829016453901067, i64 0, i64 4566784974391938982, i64 4607000086483791934, i64 4590854654534170214, i64 -4620428782720168949, i64 4598115315391324414, i64 -4644501611189570949, i64 -4645485162382860717, i64 0, i64 4572779870962840656, i64 4606762319554722873, i64 4595433531817083406, i64 -4619017221228998070, i64 4600978263277612190, i64 -4631667732478327873, i64 4574934434598703945, i64 0, i64 4576629293584938517, i64 4606502787517232428, i64 4598296379209364921, i64 -4617872169020802533, i64 4602818385033578089, i64 -4628856418662586205, i64 4580543864612395966, i64 0, i64 4576993106036707094, i64 4606460035091728851, i64 4598551732513483333, i64 -4617675184045255077, i64 4602985532083601658, i64 -4628558854121280610, i64 4580979713079033675, i64 0, i64 -4641733260943506997, i64 4607476714928114598, i64 -4643291418698970478, i64 -4620387770429526989, i64 4600076389861144032, i64 -4631492765700921129, i64 4577485045354434378, i64 0, i64 -4631671932065390506, i64 4608859532219133787, i64 -4620447635412985832, i64 -4633073444383993749, i64 4593739395474772609, i64 -4637614555636916229, i64 4571407093223151852, i64 0, i64 -4627247788062665656, i64 4610339367851396323, i64 -4616196262362242065, i64 4598785201353125166, i64 -4639203871265967369, i64 -4654878527296395723, i64 4559168070129748754, i64 0, i64 -4624629971922524006, i64 4611526931071094874, i64 -4614714320779118381, i64 4602699011991968270, i64 -4630682682176129326, i64 4579011449347182886, i64 -4663636866570328367, i64 0, i64 -4626188421033831458, i64 4610923014411961786, i64 -4615285506881256424, i64 4601568730334582263, i64 -4631983423447170883, i64 4577446688586995260, i64 -4665200817436723408, i64 0, i64 -4649285722072514968, i64 4608979436597911536, i64 -4617622460006504404, i64 4598681318556231271, i64 -4635560442500697351, i64 4573017123630359253, i64 -4670249195886238168, i64 0, i64 4598254156906234552, i64 4606733463469715043, i64 -4620525124013431198, i64 4594735985012421406, i64 -4640102831728707520, i64 4567787410126778279, i64 -4676680593381148409, i64 0, i64 4603366457101783850, i64 4602234512537816392, i64 -4626049719131775107, i64 4588572059834935415, i64 -4647274601760860096, i64 4559405910355278778, i64 -4686070300004147390, i64 0, i64 4605720308113300696, i64 4594763809330407901, i64 -4634193364976470253, i64 4579000793309396508, i64 -4657990222361749843, i64 4547829705346542631, i64 -4698972842184907132, i64 0, i64 4606699694334281029, i64 4586577745266067727, i64 -4643261222327162103, i64 4568861436341352037, i64 -4669038494754430559, i64 4535805929514811453, i64 -4711872785435945121, i64 0, i64 4607039906775278092, i64 4577837614449421924, i64 -4653014261512850915, i64 4558546993813588376, i64 -4680197649219314433, i64 4523526510922089418, i64 -4724729223180780748, i64 0, i64 4607160639681768039, i64 4564596454936120078, i64 -4667486039490993501, i64 4543211222060569034, i64 -4696672537605451808, i64 4505933367193743794, i64 -4743622913278002749, i64 0, i64 4607182418800017408, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0], i32 -2147483648, i32 2147483647, i32 2145386496, i32 2130706432, i32 1038090240, i32 54525952 }, align 8 +@_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_123__stanh_ha__imlsTanhTabE = internal unnamed_addr addrspace(1) constant [2 x %union._iml_sp_union_t] [%union._iml_sp_union_t { [1 x i32] [i32 1065353216] }, %union._iml_sp_union_t { [1 x i32] [i32 -1082130432] }], align 4 +@_ZN23__imf_impl_cdfnorm_s_la12_GLOBAL__N_138__devicelib_imf_internal_scdfnorm_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cdfnorm_s_la::(anonymous namespace)::__devicelib_imf_internal_scdfnorm_data_t" { [1816 x i32] [i32 1459617792, i32 1456226858, i32 1459408640, i32 1456225224, i32 1459199539, i32 1456220323, i32 1458990540, i32 1456212159, i32 1458781694, i32 1456200738, i32 1458573052, i32 1456186068, i32 1458364664, i32 1456168160, i32 1458156581, i32 1456147027, i32 1457948854, i32 1456122685, i32 1457741532, i32 1456095150, i32 1457534665, i32 1456064444, i32 1457328303, i32 1456030589, i32 1457122494, i32 1455993608, i32 1456917287, i32 1455953529, i32 1456712730, i32 1455910381, i32 1456508871, i32 1455864196, i32 1456305757, i32 1455815005, i32 1456103436, i32 1455762845, i32 1455901952, i32 1455707753, i32 1455701351, i32 1455649768, i32 1455501679, i32 1455588932, i32 1455302980, i32 1455525287, i32 1455105296, i32 1455458879, i32 1454908672, i32 1455389755, i32 1454713149, i32 1455317962, i32 1454518767, i32 1455243552, i32 1454325569, i32 1455166576, i32 1454133593, i32 1455087088, i32 1453942878, i32 1455005142, i32 1453753463, i32 1454920795, i32 1453565384, i32 1454834104, i32 1453378677, i32 1454745128, i32 1453193378, i32 1454653928, i32 1453009521, i32 1454560565, i32 1452827139, i32 1454465102, i32 1452646265, i32 1454367601, i32 1452466930, i32 1454268128, i32 1452289164, i32 1454166748, i32 1452112997, i32 1454063527, i32 1451938456, i32 1453958532, i32 1451765569, i32 1453851831, i32 1451594363, i32 1453743491, i32 1451424861, i32 1453633583, i32 1451257089, i32 1453522174, i32 1450952954, i32 1453409334, i32 1450624461, i32 1453295134, i32 1450299557, i32 1453179643, i32 1449978282, i32 1453062932, i32 1449660672, i32 1452945071, i32 1449346762, i32 1452826132, i32 1449036585, i32 1452706183, i32 1448730172, i32 1452585295, i32 1448427550, i32 1452463540, i32 1448128745, i32 1452340986, i32 1447833782, i32 1452217703, i32 1447542681, i32 1452093760, i32 1447255464, i32 1451969227, i32 1446972146, i32 1451844171, i32 1446692744, i32 1451718661, i32 1446417270, i32 1451592763, i32 1446145735, i32 1451466545, i32 1445878149, i32 1451340071, i32 1445614519, i32 1451197631, i32 1445354849, i32 1450944052, i32 1445099142, i32 1450690348, i32 1444847399, i32 1450436644, i32 1444599620, i32 1450183063, i32 1444355801, i32 1449929725, i32 1444115938, i32 1449676750, i32 1443880024, i32 1449424253, i32 1443648051, i32 1449172350, i32 1443420009, i32 1448921152, i32 1443195885, i32 1448670769, i32 1442975666, i32 1448421308, i32 1442678100, i32 1448172873, i32 1442253189, i32 1447925566, i32 1441835987, i32 1447679488, i32 1441426455, i32 1447434733, i32 1441024549, i32 1447191397, i32 1440630225, i32 1446949570, i32 1440243433, i32 1446709341, i32 1439864121, i32 1446470794, i32 1439492238, i32 1446234014, i32 1439127724, i32 1445999078, i32 1438770523, i32 1445766065, i32 1438420573, i32 1445535048, i32 1438077809, i32 1445306097, i32 1437742167, i32 1445079281, i32 1437413579, i32 1444854665, i32 1437091975, i32 1444632311, i32 1436777284, i32 1444412277, i32 1436469431, i32 1444194620, i32 1436168342, i32 1443979393, i32 1435873941, i32 1443766646, i32 1435586149, i32 1443556427, i32 1435304886, i32 1443348780, i32 1435030071, i32 1443143747, i32 1434761622, i32 1442941366, i32 1434499455, i32 1442642769, i32 1434035006, i32 1442248826, i32 1433535294, i32 1441860385, i32 1433047634, i32 1441477504, i32 1432571851, i32 1441100231, i32 1432107771, i32 1440728611, i32 1431655214, i32 1440362684, i32 1431214003, i32 1440002484, i32 1430783959, i32 1439648041, i32 1430364900, i32 1439299378, i32 1429956647, i32 1438956516, i32 1429559018, i32 1438619470, i32 1429171830, i32 1438288250, i32 1428794901, i32 1437962861, i32 1428428050, i32 1437643306, i32 1428071094, i32 1437329581, i32 1427723851, i32 1437021680, i32 1427386138, i32 1436719592, i32 1427057776, i32 1436423302, i32 1426738582, i32 1436132792, i32 1426428376, i32 1435848039, i32 1426126980, i32 1435569017, i32 1425605066, i32 1435295698, i32 1425036439, i32 1435028048, i32 1424484363, i32 1434766033, i32 1423948488, i32 1434509614, i32 1423428466, i32 1434065530, i32 1422923950, i32 1433574819, i32 1422434598, i32 1433095034, i32 1421960069, i32 1432626077, i32 1421500028, i32 1432167842, i32 1421054141, i32 1431720222, i32 1420622077, i32 1431283103, i32 1420203510, i32 1430856371, i32 1419798119, i32 1430439902, i32 1419405583, i32 1430033575, i32 1419025588, i32 1429637260, i32 1418657823, i32 1429250828, i32 1418301982, i32 1428874144, i32 1417957761, i32 1428507072, i32 1417574974, i32 1428149474, i32 1416931236, i32 1427801209, i32 1416308976, i32 1427462132, i32 1415707625, i32 1427132101, i32 1415126622, i32 1426810967, i32 1414565415, i32 1426498583, i32 1414023464, i32 1426194800, i32 1413500233, i32 1425735574, i32 1412995201, i32 1425161506, i32 1412507853, i32 1424603733, i32 1412037685, i32 1424061949, i32 1411584202, i32 1423535848, i32 1411146919, i32 1423025125, i32 1410725359, i32 1422529473, i32 1410319057, i32 1422048586, i32 1409927556, i32 1421582159, i32 1409550409, i32 1421129886, i32 1409088211, i32 1420691464, i32 1408388726, i32 1420266590, i32 1407715380, i32 1419854962, i32 1407067354, i32 1419456283, i32 1406443849, i32 1419070253, i32 1405844083, i32 1418696579, i32 1405267293, i32 1418334966, i32 1404712735, i32 1417985125, i32 1404179681, i32 1417618783, i32 1403667424, i32 1416964467, i32 1403175271, i32 1416331987, i32 1402702549, i32 1415720785, i32 1402248602, i32 1415130311, i32 1401812790, i32 1414560022, i32 1401394492, i32 1414009382, i32 1400993100, i32 1413477864, i32 1400318519, i32 1412964945, i32 1399579862, i32 1412470112, i32 1398871580, i32 1411992862, i32 1398192590, i32 1411532697, i32 1397541839, i32 1411089127, i32 1396918306, i32 1410661674, i32 1396320996, i32 1410249866, i32 1395748948, i32 1409853239, i32 1395201227, i32 1409471339, i32 1394676925, i32 1408921299, i32 1394175165, i32 1408213753, i32 1393695094, i32 1407533041, i32 1393235887, i32 1406878326, i32 1392796744, i32 1406248787, i32 1392244856, i32 1405643621, i32 1391442233, i32 1405062045, i32 1390675241, i32 1404503291, i32 1389942478, i32 1403966610, i32 1389242586, i32 1403451270, i32 1388574255, i32 1402956559, i32 1387936217, i32 1402481778, i32 1387327248, i32 1402026250, i32 1386746165, i32 1401589312, i32 1386191826, i32 1401170318, i32 1385663130, i32 1400639747, i32 1385159014, i32 1399869803, i32 1384678452, i32 1399132081, i32 1384220455, i32 1398425421, i32 1383447822, i32 1397748698, i32 1382616442, i32 1397100819, i32 1381824681, i32 1396480722, i32 1381070835, i32 1395887375, i32 1380353263, i32 1395319776, i32 1379670387, i32 1394776953, i32 1379020687, i32 1394257966, i32 1378402703, i32 1393761899, i32 1377815031, i32 1393287868, i32 1377256319, i32 1392835015, i32 1376725270, i32 1392296091, i32 1376220638, i32 1391470167, i32 1375741226, i32 1390681775, i32 1374840055, i32 1389929409, i32 1373975307, i32 1389211614, i32 1373154377, i32 1388526985, i32 1372375235, i32 1387874163, i32 1371635935, i32 1387251835, i32 1370934611, i32 1386658735, i32 1370269474, i32 1386093640, i32 1369638811, i32 1385555371, i32 1369040981, i32 1385042789, i32 1368474414, i32 1384554798, i32 1367937605, i32 1384060365, i32 1367429116, i32 1383176486, i32 1366552037, i32 1382335679, i32 1365640199, i32 1381536056, i32 1364777098, i32 1380775800, i32 1363960328, i32 1380053165, i32 1363187591, i32 1379366470, i32 1362456692, i32 1378714099, i32 1361765534, i32 1378094499, i32 1361112116, i32 1377506179, i32 1360494528, i32 1376947708, i32 1359910947, i32 1376417709, i32 1359359637, i32 1375914863, i32 1358723380, i32 1375144099, i32 1357740049, i32 1374239529, i32 1356811772, i32 1373381978, i32 1355935681, i32 1372569214, i32 1355109044, i32 1371799101, i32 1354329259, i32 1371069591, i32 1353593852, i32 1370378725, i32 1352900465, i32 1369724625, i32 1352246857, i32 1369105497, i32 1351630897, i32 1368519625, i32 1351050557, i32 1367965367, i32 1350441936, i32 1367441153, i32 1349412373, i32 1366547866, i32 1348443059, i32 1365610756, i32 1347530692, i32 1364725136, i32 1346672135, i32 1363888395, i32 1345864412, i32 1363098042, i32 1345104699, i32 1362351698, i32 1344390316, i32 1361647097, i32 1343718723, i32 1360982076, i32 1343087511, i32 1360354575, i32 1342494397, i32 1359762631, i32 1341697153, i32 1359204374, i32 1340650563, i32 1358401551, i32 1339667860, i32 1357409272, i32 1338745372, i32 1356474190, i32 1337879619, i32 1355593237, i32 1337067311, i32 1354763494, i32 1336305333, i32 1353982185, i32 1335590743, i32 1353246675, i32 1334920757, i32 1352554457, i32 1334292744, i32 1351903152, i32 1333619764, i32 1351290500, i32 1332516990, i32 1350714355, i32 1331484059, i32 1349779477, i32 1330516784, i32 1348761214, i32 1329611212, i32 1347804369, i32 1328763614, i32 1346905471, i32 1327970473, i32 1346061227, i32 1327228471, i32 1345268518, i32 1326534481, i32 1344524391, i32 1325885553, i32 1343826047, i32 1325157756, i32 1343170839, i32 1324023807, i32 1342556260, i32 1322964266, i32 1341782598, i32 1321974490, i32 1340701986, i32 1321050113, i32 1339689164, i32 1320187024, i32 1338740122, i32 1319381356, i32 1337851073, i32 1318629473, i32 1337018438, i32 1317927955, i32 1336238837, i32 1317273588, i32 1335509080, i32 1316315248, i32 1334826154, i32 1315177364, i32 1334187219, i32 1314116739, i32 1333390514, i32 1313128366, i32 1332272827, i32 1312207551, i32 1331227938, i32 1311349883, i32 1330251356, i32 1310551229, i32 1329338849, i32 1309807708, i32 1328486431, i32 1309115683, i32 1327690349, i32 1308320644, i32 1326947070, i32 1307122554, i32 1326253268, i32 1306008260, i32 1325605815, i32 1304972155, i32 1324603477, i32 1304008988, i32 1323476670, i32 1303113843, i32 1322425944, i32 1302282118, i32 1321446413, i32 1301509510, i32 1320533486, i32 1300791991, i32 1319682851, i32 1300017352, i32 1318890460, i32 1298780570, i32 1318152513, i32 1297632816, i32 1317465443, i32 1296567941, i32 1316640359, i32 1295580202, i32 1315450080, i32 1294664234, i32 1314342712, i32 1293815031, i32 1313312742, i32 1293027917, i32 1312355004, i32 1292298531, i32 1311464659, i32 1291399978, i32 1310637175, i32 1290148255, i32 1309868310, i32 1288989184, i32 1309154092, i32 1287916170, i32 1308358766, i32 1286923066, i32 1307127108, i32 1286004144, i32 1305983864, i32 1285154072, i32 1304922955, i32 1284367882, i32 1303938702, i32 1283640952, i32 1303025799, i32 1282480932, i32 1302179287, i32 1281238892, i32 1301394538, i32 1280091313, i32 1300667229, i32 1279031268, i32 1299752415, i32 1278052321, i32 1298503900, i32 1277148487, i32 1297347652, i32 1276314207, i32 1296277123, i32 1275544316, i32 1295286209, i32 1274599621, i32 1294369223, i32 1273289307, i32 1293520863, i32 1272081008, i32 1292736193, i32 1270967054, i32 1292010614, i32 1269940327, i32 1290834061, i32 1268994230, i32 1289594182, i32 1268122644, i32 1288448545, i32 1267319895, i32 1287390255, i32 1266481648, i32 1286412900, i32 1265120737, i32 1285510518, i32 1263868230, i32 1284677568, i32 1262715771, i32 1283908903, i32 1261655629, i32 1282942457, i32 1260680646, i32 1281634255, i32 1259784201, i32 1280427930, i32 1258960168, i32 1279315831, i32 1258114567, i32 1278290855, i32 1256723020, i32 1277346416, i32 1255444815, i32 1276476405, i32 1254271006, i32 1275675159, i32 1253193331, i32 1274806444, i32 1252204157, i32 1273448290, i32 1251296439, i32 1272198430, i32 1250463672, i32 1271048519, i32 1249497115, i32 1269990831, i32 1248096300, i32 1269018214, i32 1246812093, i32 1268124053, i32 1245635073, i32 1267302225, i32 1244556559, i32 1266414332, i32 1243568547, i32 1265026897, i32 1242663663, i32 1263752663, i32 1241835116, i32 1262582688, i32 1240639319, i32 1261508712, i32 1239251037, i32 1260523106, i32 1237980802, i32 1259618827, i32 1236818861, i32 1258789372, i32 1235756240, i32 1257766284, i32 1234784687, i32 1256371602, i32 1233896614, i32 1255093289, i32 1233044717, i32 1253921929, i32 1231561772, i32 1252848843, i32 1230207241, i32 1251866035, i32 1228970306, i32 1250966134, i32 1227841033, i32 1250142355, i32 1226810302, i32 1248874303, i32 1225869746, i32 1247494726, i32 1225011683, i32 1246232796, i32 1223721373, i32 1245078772, i32 1222294128, i32 1244023691, i32 1220993016, i32 1243059312, i32 1219807181, i32 1242178060, i32 1218726673, i32 1241231958, i32 1217742376, i32 1239761311, i32 1216845944, i32 1238418440, i32 1215711301, i32 1237192551, i32 1214225321, i32 1236073735, i32 1212872978, i32 1235052896, i32 1211642555, i32 1234121687, i32 1210523334, i32 1233272451, i32 1209505512, i32 1231870958, i32 1208580130, i32 1230459417, i32 1207518442, i32 1229173101, i32 1205989707, i32 1228001194, i32 1204600831, i32 1226933788, i32 1203339325, i32 1225961808, i32 1202193790, i32 1225076945, i32 1201153817, i32 1223806416, i32 1200209910, i32 1222340808, i32 1199135862, i32 1221007562, i32 1197581844, i32 1219795028, i32 1196172409, i32 1218692553, i32 1194894416, i32 1217690397, i32 1193735890, i32 1216779660, i32 1192685919, i32 1215556260, i32 1191734565, i32 1214053077, i32 1190563215, i32 1212688043, i32 1189002281, i32 1211448772, i32 1187588990, i32 1210323959, i32 1186309689, i32 1209303287, i32 1185151958, i32 1208377348, i32 1184104500, i32 1207115561, i32 1183157043, i32 1205592629, i32 1181806768, i32 1204212080, i32 1180257532, i32 1202960915, i32 1178857227, i32 1201827293, i32 1177591846, i32 1200800427, i32 1176448666, i32 1199870497, i32 1175416140, i32 1198486179, i32 1174483784, i32 1196962025, i32 1172879050, i32 1195582785, i32 1171359708, i32 1194334992, i32 1169988768, i32 1193206400, i32 1168752038, i32 1192185877, i32 1167636651, i32 1191263305, i32 1166630947, i32 1189676645, i32 1165432211, i32 1188169831, i32 1163798138, i32 1186808663, i32 1162325832, i32 1185579371, i32 1160999603, i32 1184469453, i32 1159805249, i32 1183467569, i32 1158729919, i32 1182333129, i32 1157761989, i32 1180701671, i32 1156153984, i32 1179230111, i32 1154586653, i32 1177903111, i32 1153176893, i32 1176706766, i32 1151909172, i32 1175628483, i32 1150769458, i32 1174656851, i32 1149745075, i32 1173157964, i32 1148409859, i32 1171581285, i32 1146755968, i32 1170161617, i32 1145270529, i32 1168883643, i32 1143936709, i32 1167733507, i32 1142739325, i32 1166698680, i32 1141664684, i32 1165519154, i32 1140550189, i32 1163844941, i32 1138820230, i32 1162339705, i32 1137268745, i32 1160986728, i32 1135877659, i32 1159770912, i32 1134630696, i32 1158678623, i32 1133513195, i32 1157697556, i32 1132511961, i32 1156005306, i32 1130768150, i32 1154423597, i32 1129161862, i32 1153004005, i32 1127723747, i32 1151730233, i32 1126436514, i32 1150587585, i32 1125284613, i32 1149562819, i32 1124254068, i32 1148048709, i32 1122591167, i32 1146401476, i32 1120942692, i32 1144925284, i32 1119468968, i32 1143602701, i32 1118151792, i32 1142418039, i32 1116974822, i32 1141357178, i32 1115923390, i32 1139964147, i32 1114283807, i32 1138263980, i32 1112606841, i32 1136742623, i32 1111109841, i32 1135381608, i32 1109773820, i32 1134164340, i32 1108581758, i32 1133075908, i32 1107518403, i32 1131743752, i32 1105843924, i32 1130004596, i32 1104152902, i32 1128450671, i32 1102645564, i32 1127062594, i32 1101302286, i32 1125822973, i32 1100105504, i32 1124716206, i32 1099039500, i32 1123383126, i32 1097272786, i32 1121619942, i32 1095582512, i32 1120046897, i32 1094078046, i32 1118643834, i32 1092739290, i32 1117392698, i32 1091548282, i32 1116277314, i32 1090458910, i32 1114881534, i32 1088575031, i32 1113109914, i32 1086900288, i32 1111531698, i32 1085411828, i32 1110126120, i32 1084089253, i32 1108874607, i32 1082914363, i32 1107760550, i32 1081611411, i32 1106241937, i32 1079758464, i32 1104477692, i32 1078113629, i32 1102908385, i32 1076653891, i32 1101512823, i32 1075358736, i32 1100272080, i32 1074209887, i32 1099169252, i32 1072640310, i32 1097470862, i32 1070833733, i32 1095729597, i32 1069232409, i32 1094183038, i32 1067813365, i32 1092809752, i32 1066556159, i32 1091590631, i32 1065442605, i32 1090498229, i32 1063559843, i32 1088578118, i32 1061813890, i32 1086874825, i32 1060268567, i32 1085364242, i32 1058901153, i32 1084024899, i32 1057691463, i32 1082837678, i32 1056278519, i32 1081440691, i32 1054386456, i32 1079576383, i32 1052713857, i32 1077925051, i32 1051235626, i32 1076462729, i32 1049929495, i32 1075168104, i32 1048775709, i32 1074022229, i32 1046937495, i32 1072274703, i32 1045138153, i32 1070480669, i32 1043549846, i32 1068893946, i32 1042148167, i32 1067490927, i32 1040911489, i32 1066250650, i32 1039453916, i32 1064955807, i32 1037530004, i32 1063018782, i32 1035833810, i32 1061307715, i32 1034338747, i32 1059796622, i32 1033021286, i32 1058462463, i32 1031860613, i32 1057284812, i32 1029877854, i32 1055526527, i32 1028077466, i32 1053692771, i32 1026492500, i32 1052075334, i32 1025097520, i32 1050649050, i32 1023870053, i32 1049391641, i32 1022170317, i32 1047990771, i32 1020270963, i32 1046037667, i32 1018600912, i32 1044317093, i32 1017132839, i32 1042801740, i32 1015842632, i32 1041467461, i32 1014396468, i32 1040292910, i32 1012404901, i32 1038331052, i32 1010655905, i32 1036512065, i32 1009120311, i32 1034912021, i32 1007772409, i32 1033504914, i32 1006546135, i32 1032267786, i32 1004470584, i32 1030561962, i32 1002650056, i32 1028650803, i32 1001053608, i32 1026971760, i32 999654001, i32 1025497008, i32 998427263, i32 1024202011, i32 996460258, i32 1022720105, i32 994576804, i32 1020724495, i32 992927190, i32 1018973426, i32 991482736, i32 1017437314, i32 990218235, i32 1016090105, i32 988367333, i32 1014796152, i32 986430635, i32 1012725213, i32 984736456, i32 1010910295, i32 983254789, i32 1009320140, i32 981959294, i32 1007927258, i32 980186573, i32 1006707477, i32 978207243, i32 1004646139, i32 976477882, i32 1002776644, i32 974967292, i32 1001140696, i32 973648119, i32 999709474, i32 971914248, i32 998457667, i32 969903656, i32 996481759, i32 968149125, i32 994567919, i32 966618418, i32 992895237, i32 965283308, i32 991433686, i32 963548250, i32 990156933, i32 961518329, i32 988228030, i32 959749092, i32 986280872, i32 958207438, i32 984581173, i32 956864420, i32 983097851, i32 955088150, i32 981803680, i32 953051186, i32 979882501, i32 951277975, i32 977913654, i32 949734744, i32 976197146, i32 948391992, i32 974701005, i32 946535219, i32 973397262, i32 944503624, i32 971444386, i32 942737245, i32 969465875, i32 941201835, i32 967743072, i32 939867518, i32 966243299, i32 937892384, i32 964938006, i32 935878473, i32 962914588, i32 934129607, i32 960938614, i32 932611273, i32 959220144, i32 931293406, i32 957725991, i32 929164145, i32 956427195, i32 927179913, i32 954295672, i32 925458920, i32 952334386, i32 923966610, i32 950630796, i32 922598939, i32 949151410, i32 920356442, i32 947821369, i32 918413346, i32 945591788, i32 916730089, i32 943657068, i32 915272279, i32 941978628, i32 913661790, i32 940522881, i32 911476479, i32 938997087, i32 909585245, i32 936808545, i32 907948914, i32 934911781, i32 906533474, i32 933268301, i32 904649147, i32 931844633, i32 902532524, i32 930087880, i32 900702969, i32 927952846, i32 899121933, i32 926104740, i32 897755994, i32 924505396, i32 895571292, i32 923121671, i32 893533672, i32 921102704, i32 891774552, i32 919032689, i32 890256240, i32 917243074, i32 888699732, i32 915696259, i32 886439231, i32 914359632, i32 884489599, i32 912051563, i32 882808496, i32 910056936, i32 881359291, i32 908334624, i32 879416757, i32 906847817, i32 877264405, i32 905159594, i32 875410314, i32 902945231, i32 873813543, i32 901035070, i32 872438715, i32 899387727, i32 870095310, i32 897967392, i32 868058402, i32 895905113, i32 866305899, i32 893794964, i32 864798458, i32 891976944, i32 862977630, i32 890410999, i32 860748604, i32 888932569, i32 858832679, i32 886610680, i32 857186276, i32 884612206, i32 855771827, i32 882892525, i32 853475882, i32 881413109, i32 851389461, i32 879477567, i32 849598298, i32 877289384, i32 848060984, i32 875408315, i32 846234324, i32 873791655, i32 843971093, i32 872389931, i32 842030038, i32 870003466, i32 840365701, i32 867953968, i32 838938983, i32 866194292, i32 836571712, i32 864683826, i32 834476421, i32 862748566, i32 832681590, i32 860524354, i32 831144511, i32 858616552, i32 829184784, i32 856980553, i32 826931819, i32 855517943, i32 825003809, i32 853113628, i32 823354287, i32 851053378, i32 821803159, i32 849288392, i32 819390101, i32 847776726, i32 817327104, i32 845715277, i32 815563815, i32 843499158, i32 814057061, i32 841602511, i32 811844694, i32 839979684, i32 809645864, i32 838322171, i32 807768310, i32 835947774, i32 806165482, i32 833917671, i32 804288662, i32 832182365, i32 801954192, i32 830699415, i32 799962763, i32 828392673, i32 798264382, i32 826228276, i32 796714794, i32 824380001, i32 794245981, i32 822802065, i32 792142005, i32 820826937, i32 790349389, i32 818528444, i32 788822429, i32 816567592, i32 786514995, i32 814895197, i32 784300777, i32 813243373, i32 782416075, i32 810812083, i32 780812242, i32 808739986, i32 778754967, i32 806974450, i32 776433815, i32 805470493, i32 774460021, i32 803072978, i32 772782014, i32 800891940, i32 770959693, i32 799035412, i32 768535929, i32 797455500, i32 766476891, i32 795304883, i32 764728122, i32 793018209, i32 763123134, i32 791073679, i32 760602089, i32 789420508, i32 758462499, i32 787501620, i32 756647089, i32 785113625, i32 755107118, i32 783084935, i32 752627509, i32 781361912, i32 750412883, i32 779657179, i32 748535641, i32 777173184, i32 746944773, i32 775065016, i32 744607732, i32 773276254, i32 742324375, i32 771758878, i32 740390763, i32 769192129, i32 738753723, i32 767009987, i32 736538710, i32 765160281, i32 734193668, i32 763592753, i32 732209756, i32 761166038, i32 730531772, i32 758916208, i32 728416876, i32 757011004, i32 726017871, i32 755398034, i32 723990288, i32 753090899, i32 722277040, i32 750780403, i32 720239211, i32 748825753, i32 717794569, i32 747172550, i32 715730432, i32 744963187, i32 713987999, i32 742599720, i32 712003302, i32 740602225, i32 709521867, i32 738914448, i32 707428709, i32 736779930, i32 705663503, i32 734371783, i32 703707386, i32 732338528, i32 701198425, i32 730622228, i32 699084112, i32 728538762, i32 697302807, i32 726094736, i32 695350387, i32 724033219, i32 692823483, i32 722294773, i32 690696128, i32 720237973, i32 688905584, i32 717767283, i32 686931931, i32 715685326, i32 684396877, i32 713931372, i32 682264745, i32 711876539, i32 680471932, i32 709388710, i32 678452360, i32 707294375, i32 675919046, i32 705531729, i32 673790456, i32 703454141, i32 672002368, i32 700958901, i32 669912721, i32 698860393, i32 667391015, i32 697095974, i32 665274247, i32 694971174, i32 663497825, i32 692478336, i32 661314749, i32 690383911, i32 658814383, i32 688624656, i32 656717577, i32 686428739, i32 654959625, i32 683948086, i32 652660830, i32 681865949, i32 650191289, i32 680118736, i32 648122354, i32 677828620, i32 646389463, i32 675369792, i32 643953960, i32 673308003, i32 641524373, i32 671579568, i32 639490898, i32 669173249, i32 637789369, i32 666745629, i32 635197685, i32 664712011, i32 632816725, i32 663008869, i32 630825893, i32 660465664, i32 629161672, i32 658078271, i32 626396038, i32 656080318, i32 624071828, i32 654408691, i32 622130344, i32 651709444, i32 620260927, i32 649370834, i32 617553465, i32 647415632, i32 615293497, i32 645639946, i32 613407519, i32 642908649, i32 611299668, i32 640626824, i32 608674743, i32 638720972, i32 606485808, i32 636724867, i32 604660892, i32 634067743, i32 602299883, i32 631850068, i32 599764900, i32 629999618, i32 597653031, i32 627766327, i32 595894083, i32 625191513, i32 593267705, i32 623044648, i32 590829126, i32 621255044, i32 588799554, i32 618770240, i32 587019039, i32 616284985, i32 584209389, i32 614214831, i32 581872693, i32 612490869, i32 579929814, i32 609742732, i32 577815594, i32 607353340, i32 575131207, i32 605364994, i32 572900867, i32 603441797, i32 571048229, i32 600690034, i32 568594067, i32 598401827, i32 566039355, i32 596499554, i32 563918831, i32 594245854, i32 562159129, i32 591618384, i32 559361687, i32 589435680, i32 556939866, i32 587622899, i32 554931609, i32 585032875, i32 552885269, i32 582533934, i32 550125414, i32 580460042, i32 547838522, i32 578664698, i32 545944002, i32 575810027, i32 543490316, i32 573442657, i32 540891846, i32 571479888, i32 538740784, i32 569280597, i32 536960529, i32 566584192, i32 534104128, i32 564350270, i32 531667145, i32 562499961, i32 529651733, i32 559898799, i32 527488442, i32 557361882, i32 524733591, i32 555262158, i32 522456968, i32 553401296, i32 520576014, i32 550526654, i32 517950989, i32 548149160, i32 515384944, i32 546183319, i32 513266421, i32 543856989, i32 511330508, i32 541170926, i32 508444595, i32 538951581, i32 506063735, i32 537118309, i32 504100018, i32 534337731, i32 501645026, i32 531837727, i32 498975215, i32 529774140, i32 496774786, i32 527660108, i32 494961660, i32 524850173, i32 492008188, i32 522532469, i32 489547925, i32 520621239, i32 487522182, i32 517997471, i32 485169985, i32 515400107, i32 482425242, i32 513259841, i32 480166919, i32 511288240, i32 478309265, i32 508383901, i32 475412479, i32 505992447, i32 472900397, i32 504023790, i32 470835519, i32 501490678, i32 468515248, i32 498824457, i32 465727027, i32 496631228, i32 463436846, i32 494727176, i32 461556204, i32 491761185, i32 458651046, i32 489323163, i32 456116554, i32 487319619, i32 454036814, i32 484807795, i32 451676463, i32 482103643, i32 448877754, i32 479883033, i32 446582885, i32 477969242, i32 444701611, i32 474976533, i32 441723311, i32 472520776, i32 439196618, i32 470506125, i32 437126817, i32 467945460, i32 434655793, i32 465235652, i32 431879963, i32 463014220, i32 429607741, i32 461013750, i32 427677418, i32 458030212, i32 424634580, i32 455586185, i32 422145615, i32 453584602, i32 420110201, i32 450906707, i32 417461793, i32 448223718, i32 414741395, i32 446028050, i32 412518349, i32 443867039, i32 410362552, i32 440928226, i32 407395726, i32 438524972, i32 404973081, i32 436560162, i32 402995285, i32 433700786, i32 400108912, i32 431076128, i32 397474541, i32 428931886, i32 395325470, i32 426542102, i32 392880878, i32 423681970, i32 390022564, i32 421347077, i32 387692513, i32 419441434, i32 385711144, i32 416342619, i32 382616658, i32 413805736, i32 380095929, i32 411736762, i32 378043077, i32 409057825, i32 375255974, i32 406307563, i32 372534950, i32 404066217, i32 370320601, i32 401826948, i32 367939293, i32 398851941, i32 365008504, i32 396429223, i32 362625197, i32 394456751, i32 360665005, i32 391437911, i32 357515208, i32 388824925, i32 354955681, i32 386699111, i32 352876315, i32 384064160, i32 350053354, i32 381252183, i32 347310610, i32 378966163, i32 345084029, i32 376729000, i32 342620902, i32 373709557, i32 339688276, i32 371256683, i32 337309291, i32 369264556, i32 335215476, i32 366195301, i32 332086705, i32 363569203, i32 329550463, i32 361437961, i32 327495038, i32 358707355, i32 324503656, i32 355902006, i32 321805696, i32 353626966, i32 319620812, i32 351243346, i32 316936623, i32 348253124, i32 314072933, i32 345829943, i32 311755534, i32 343800586, i32 309382845, i32 340620341, i32 306349916, i32 338045069, i32 303897360, i32 335960199, i32 301839315, i32 333001199, i32 298634195, i32 330270329, i32 296044295, i32 328061118, i32 293952036, i32 325393002, i32 290923138, i32 322503523, i32 288194206, i32 320167722, i32 285991243, i32 317792831, i32 283213946, i32 314742277, i32 280344830, i32 312278082, i32 278030397, i32 310197556, i32 275503669, i32 306984054, i32 272493788, i32 304390142, i32 270067581, i32 302296870, i32 267789226, i32 299226168, i32 264638603, i32 296501734, i32 262100807, i32 294304751, i32 260057136, i32 291465799, i32 256776718, i32 288610591, i32 254128027, i32 286309845, i32 251996614, i32 283700018, i32 248905512, i32 280714359, i32 246147147, i32 278310266, i32 243929104, i32 275925802, i32 241022325, i32 272810620, i32 238156049, i32 270304079, i32 235852922, i32 268140061, i32 233124476, i32 264896906, i32 230152605, i32 262289316, i32 227766377, i32 260193253, i32 225209289, i32 256970723, i32 222134695, i32 254263995, i32 219667796, i32 252089843, i32 217274115, i32 249029571, i32 214100231, i32 246226133, i32 211555529, i32 243975957, i32 0, i32 0], i32 2147483647, i32 1096990720, i32 -2147483648, i32 1065353216, i32 1207959552, i32 662700032, i32 1007200202, i32 -1121267934, i32 1040210742, i32 -1104458021, i32 1042983590, i32 -1090519044, i32 -1050494700, i32 1459617792, i32 1056964608 }, align 4 +@_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_141__devicelib_imf_internal_scdfnorminv_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cdfnorminv_s_la::(anonymous namespace)::__devicelib_imf_internal_scdfnorminv_data_t" { [24 x [8 x [4 x i32]]] [[8 x [4 x i32]] [[4 x i32] [i32 1067480858, i32 -1138217692, i32 1034461450, i32 -1153853029], [4 x i32] [i32 1067502478, i32 -1124174994, i32 1034750429, i32 -1139870298], [4 x i32] [i32 1067546284, i32 -1118321016, i32 1035352149, i32 -1132760891], [4 x i32] [i32 1067613459, i32 -1113907122, i32 1036318288, i32 -1128329181], [4 x i32] [i32 1067705900, i32 -1110516006, i32 1037738013, i32 -1123457904], [4 x i32] [i32 1067826397, i32 -1106998068, i32 1039756184, i32 -1119744073], [4 x i32] [i32 1067978921, i32 -1104789536, i32 1041397212, i32 -1115067645], [4 x i32] [i32 1068169085, i32 -1102154849, i32 1043432739, i32 -1111092666]], [8 x [4 x i32]] [[4 x i32] [i32 1068341119, i32 -1108177388, i32 1028754604, i32 -1132166290], [4 x i32] [i32 1068472288, i32 -1106824430, i32 1030563581, i32 -1130154789], [4 x i32] [i32 1068618662, i32 -1105786211, i32 1032302249, i32 -1127511228], [4 x i32] [i32 1068782437, i32 -1104590979, i32 1033711032, i32 -1124018530], [4 x i32] [i32 1068966379, i32 -1103196834, i32 1035510742, i32 -1121580220], [4 x i32] [i32 1069174020, i32 -1101546107, i32 1037855671, i32 -1118133241], [4 x i32] [i32 1069409970, i32 -1099557125, i32 1040586082, i32 -1114390186], [4 x i32] [i32 1069680386, i32 -1098008951, i32 1042735793, i32 -1110557638]], [8 x [4 x i32]] [[4 x i32] [i32 1069910797, i32 -1105276548, i32 1028124396, i32 -1131966338], [4 x i32] [i32 1070080106, i32 -1104402467, i32 1029965530, i32 -1130014282], [4 x i32] [i32 1070264035, i32 -1103400925, i32 1032012916, i32 -1127448852], [4 x i32] [i32 1070464799, i32 -1102241660, i32 1033422799, i32 -1124040972], [4 x i32] [i32 1070685165, i32 -1100884042, i32 1035211558, i32 -1121679297], [4 x i32] [i32 1070928645, i32 -1099272219, i32 1037527952, i32 -1118346130], [4 x i32] [i32 1071199790, i32 -1098117436, i32 1040394621, i32 -1114584532], [4 x i32] [i32 1071504647, i32 -1096920630, i32 1042495653, i32 -1110893738]], [8 x [4 x i32]] [[4 x i32] [i32 1071760284, i32 -1104213209, i32 1027826759, i32 -1132217029], [4 x i32] [i32 1071946054, i32 -1103359322, i32 1029613856, i32 -1130343600], [4 x i32] [i32 1072146099, i32 -1102381857, i32 1031801464, i32 -1127884481], [4 x i32] [i32 1072362566, i32 -1101251804, i32 1033163991, i32 -1124590674], [4 x i32] [i32 1072598127, i32 -1099930269, i32 1034889014, i32 -1122073758], [4 x i32] [i32 1072856169, i32 -1098635747, i32 1037118249, i32 -1118890298], [4 x i32] [i32 1073141071, i32 -1097692385, i32 1040070491, i32 -1114968537], [4 x i32] [i32 1073458643, i32 -1096533812, i32 1042142827, i32 -1111451681]], [8 x [4 x i32]] [[4 x i32] [i32 1073722928, i32 -1103863450, i32 1027383226, i32 -1132726412], [4 x i32] [i32 1073827879, i32 -1103039639, i32 1029091410, i32 -1130811946], [4 x i32] [i32 1073930264, i32 -1102097761, i32 1031183069, i32 -1128473597], [4 x i32] [i32 1074040556, i32 -1101010233, i32 1032790940, i32 -1125343009], [4 x i32] [i32 1074160030, i32 -1099740090, i32 1034435401, i32 -1122562755], [4 x i32] [i32 1074290299, i32 -1098572121, i32 1036558772, i32 -1119539519], [4 x i32] [i32 1074433450, i32 -1097667890, i32 1039368616, i32 -1115410605], [4 x i32] [i32 1074592248, i32 -1096558907, i32 1041693358, i32 -1112072781]], [8 x [4 x i32]] [[4 x i32] [i32 1074723832, i32 -1103935085, i32 1026833977, i32 -1133546553], [4 x i32] [i32 1074818635, i32 -1103148150, i32 1028457068, i32 -1131313233], [4 x i32] [i32 1074920010, i32 -1102249045, i32 1030443995, i32 -1129094638], [4 x i32] [i32 1075028930, i32 -1101211601, i32 1032356014, i32 -1126124387], [4 x i32] [i32 1075146605, i32 -1100000745, i32 1033917445, i32 -1123063256], [4 x i32] [i32 1075274569, i32 -1098737993, i32 1035933280, i32 -1120194529], [4 x i32] [i32 1075414802, i32 -1097877038, i32 1038600531, i32 -1116015833], [4 x i32] [i32 1075569928, i32 -1096821727, i32 1041212030, i32 -1112682062]], [8 x [4 x i32]] [[4 x i32] [i32 1075698152, i32 -1104247337, i32 1026255269, i32 -1134342890], [4 x i32] [i32 1075790368, i32 -1103499040, i32 1027796030, i32 -1131796663], [4 x i32] [i32 1075888832, i32 -1102644259, i32 1029682311, i32 -1129689517], [4 x i32] [i32 1075994469, i32 -1101658140, i32 1031912759, i32 -1126867839], [4 x i32] [i32 1076108427, i32 -1100507364, i32 1033395465, i32 -1123536304], [4 x i32] [i32 1076232163, i32 -1099146189, i32 1035310018, i32 -1120809544], [4 x i32] [i32 1076367558, i32 -1098208836, i32 1037843848, i32 -1116836254], [4 x i32] [i32 1076517103, i32 -1097206094, i32 1040743251, i32 -1113246783]], [8 x [4 x i32]] [[4 x i32] [i32 1076640550, i32 -1104679638, i32 1025696447, i32 -1135077496], [4 x i32] [i32 1076729247, i32 -1103968543, i32 1027161384, i32 -1132241225], [4 x i32] [i32 1076823881, i32 -1103156192, i32 1028955263, i32 -1130234880], [4 x i32] [i32 1076925332, i32 -1102218920, i32 1031185433, i32 -1127547339], [4 x i32] [i32 1077034693, i32 -1101124993, i32 1032902977, i32 -1123967372], [4 x i32] [i32 1077153350, i32 -1099830827, i32 1034725380, i32 -1121368344], [4 x i32] [i32 1077283092, i32 -1098591253, i32 1037138172, i32 -1117579571], [4 x i32] [i32 1077426293, i32 -1097637391, i32 1040308598, i32 -1113757032]], [8 x [4 x i32]] [[4 x i32] [i32 1077544434, i32 -1105155284, i32 1025180521, i32 -1135739918], [4 x i32] [i32 1077629283, i32 -1104478485, i32 1026577130, i32 -1132821110], [4 x i32] [i32 1077719784, i32 -1103705139, i32 1028287848, i32 -1130725431], [4 x i32] [i32 1077816776, i32 -1102812644, i32 1030415314, i32 -1128157828], [4 x i32] [i32 1077921301, i32 -1101770681, i32 1032453415, i32 -1124634986], [4 x i32] [i32 1078034681, i32 -1100537597, i32 1034193168, i32 -1121869314], [4 x i32] [i32 1078158626, i32 -1099054531, i32 1036497506, i32 -1118245330], [4 x i32] [i32 1078295401, i32 -1098071545, i32 1039642655, i32 -1114213658]], [8 x [4 x i32]] [[4 x i32] [i32 1078408226, i32 -1105629557, i32 1024714238, i32 -1136332383], [4 x i32] [i32 1078489251, i32 -1104983735, i32 1026049748, i32 -1133537061], [4 x i32] [i32 1078575671, i32 -1104245576, i32 1027686121, i32 -1131163919], [4 x i32] [i32 1078668286, i32 -1103393426, i32 1029721795, i32 -1128703409], [4 x i32] [i32 1078768096, i32 -1102398233, i32 1032049017, i32 -1125326336], [4 x i32] [i32 1078876365, i32 -1101220066, i32 1033714924, i32 -1122316919], [4 x i32] [i32 1078994730, i32 -1099802478, i32 1035922365, i32 -1118840180], [4 x i32] [i32 1079125362, i32 -1098485286, i32 1038936631, i32 -1114621702]], [8 x [4 x i32]] [[4 x i32] [i32 1079233133, i32 -1106079271, i32 1024296251, i32 -1136861883], [4 x i32] [i32 1079310539, i32 -1105461212, i32 1025577151, i32 -1134177027], [4 x i32] [i32 1079393108, i32 -1104754579, i32 1027147064, i32 -1131555953], [4 x i32] [i32 1079481609, i32 -1103938568, i32 1029100662, i32 -1129191319], [4 x i32] [i32 1079577001, i32 -1102985259, i32 1031575013, i32 -1125944804], [4 x i32] [i32 1079680497, i32 -1101856264, i32 1033286732, i32 -1122717497], [4 x i32] [i32 1079793669, i32 -1100497299, i32 1035407437, i32 -1119372787], [4 x i32] [i32 1079918605, i32 -1098868300, i32 1038304484, i32 -1114987261]], [8 x [4 x i32]] [[4 x i32] [i32 1080021704, i32 -1106494496, i32 1023921957, i32 -1137336478], [4 x i32] [i32 1080095771, i32 -1105901300, i32 1025153900, i32 -1134750858], [4 x i32] [i32 1080174793, i32 -1105222904, i32 1026664209, i32 -1131907625], [4 x i32] [i32 1080259512, i32 -1104439268, i32 1028544164, i32 -1129629204], [4 x i32] [i32 1080350849, i32 -1103523489, i32 1030925957, i32 -1126500158], [4 x i32] [i32 1080449973, i32 -1102438568, i32 1032902857, i32 -1123077412], [4 x i32] [i32 1080558397, i32 -1101132170, i32 1034945606, i32 -1119851655], [4 x i32] [i32 1080678131, i32 -1099527706, i32 1037737223, i32 -1115316192]], [8 x [4 x i32]] [[4 x i32] [i32 1080776972, i32 -1106872784, i32 1023585924, i32 -1137763782], [4 x i32] [i32 1080847998, i32 -1106301914, i32 1024773778, i32 -1135267754], [4 x i32] [i32 1080923794, i32 -1105648882, i32 1026230384, i32 -1132224567], [4 x i32] [i32 1081005074, i32 -1104894339, i32 1028043951, i32 -1130024067], [4 x i32] [i32 1081092727, i32 -1104012303, i32 1030342255, i32 -1127001256], [4 x i32] [i32 1081187882, i32 -1102967031, i32 1032557439, i32 -1123402383], [4 x i32] [i32 1081291998, i32 -1101707948, i32 1034529776, i32 -1120284351], [4 x i32] [i32 1081407017, i32 -1100161024, i32 1037226089, i32 -1115613654]], [8 x [4 x i32]] [[4 x i32] [i32 1081501998, i32 -1107215502, i32 1023155731, i32 -1138150460], [4 x i32] [i32 1081570270, i32 -1106664764, i32 1024430902, i32 -1135735739], [4 x i32] [i32 1081643144, i32 -1106034617, i32 1025838873, i32 -1132561263], [4 x i32] [i32 1081721310, i32 -1105306338, i32 1027592285, i32 -1130381961], [4 x i32] [i32 1081805628, i32 -1104454778, i32 1029814894, i32 -1127455720], [4 x i32] [i32 1081897190, i32 -1103445338, i32 1032245161, i32 -1123697310], [4 x i32] [i32 1081997408, i32 -1102229046, i32 1034153571, i32 -1120677334], [4 x i32] [i32 1082108159, i32 -1100734201, i32 1036763293, i32 -1116083209]], [8 x [4 x i32]] [[4 x i32] [i32 1082165040, i32 -1107755128, i32 1022606734, i32 -1138502163], [4 x i32] [i32 1082197929, i32 -1106993200, i32 1024120098, i32 -1136161600], [4 x i32] [i32 1082233043, i32 -1106383802, i32 1025483801, i32 -1133084056], [4 x i32] [i32 1082270717, i32 -1105679348, i32 1027182429, i32 -1130707989], [4 x i32] [i32 1082311367, i32 -1104855452, i32 1029336062, i32 -1127869966], [4 x i32] [i32 1082355521, i32 -1103878558, i32 1031961434, i32 -1123966310], [4 x i32] [i32 1082403864, i32 -1102701159, i32 1033811517, i32 -1121036024], [4 x i32] [i32 1082457306, i32 -1101253682, i32 1036342173, i32 -1116577170]], [8 x [4 x i32]] [[4 x i32] [i32 1082501467, i32 -1108317576, i32 1022106852, i32 -1138823621], [4 x i32] [i32 1082533226, i32 -1107291041, i32 1023836966, i32 -1136551016], [4 x i32] [i32 1082567141, i32 -1106700550, i32 1025160179, i32 -1133562341], [4 x i32] [i32 1082603536, i32 -1106017817, i32 1026808674, i32 -1131006415], [4 x i32] [i32 1082642815, i32 -1105219156, i32 1028899154, i32 -1128249353], [4 x i32] [i32 1082685492, i32 -1104271967, i32 1031605986, i32 -1124352175], [4 x i32] [i32 1082732231, i32 -1103130090, i32 1033499000, i32 -1121364945], [4 x i32] [i32 1082783916, i32 -1101725908, i32 1035957127, i32 -1117030461]], [8 x [4 x i32]] [[4 x i32] [i32 1082826638, i32 -1108829100, i32 1021649509, i32 -1139118780], [4 x i32] [i32 1082857369, i32 -1107827763, i32 1023577812, i32 -1136908726], [4 x i32] [i32 1082890192, i32 -1106988828, i32 1024863824, i32 -1134001880], [4 x i32] [i32 1082925423, i32 -1106325991, i32 1026466237, i32 -1131280797], [4 x i32] [i32 1082963454, i32 -1105550456, i32 1028498637, i32 -1128598353], [4 x i32] [i32 1083004785, i32 -1104630506, i32 1031130762, i32 -1124805965], [4 x i32] [i32 1083050062, i32 -1103521222, i32 1033212160, i32 -1121667873], [4 x i32] [i32 1083100145, i32 -1102156792, i32 1035603466, i32 -1117448211]], [8 x [4 x i32]] [[4 x i32] [i32 1083141553, i32 -1109296089, i32 1021229204, i32 -1139390939], [4 x i32] [i32 1083171344, i32 -1108322708, i32 1023268918, i32 -1137238688], [4 x i32] [i32 1083203171, i32 -1107252219, i32 1024591237, i32 -1134407493], [4 x i32] [i32 1083237338, i32 -1106607686, i32 1026151115, i32 -1131534113], [4 x i32] [i32 1083274229, i32 -1105853438, i32 1028129880, i32 -1128920711], [4 x i32] [i32 1083314328, i32 -1104958574, i32 1030692984, i32 -1125225327], [4 x i32] [i32 1083358267, i32 -1103879324, i32 1032947765, i32 -1121947976], [4 x i32] [i32 1083406881, i32 -1102551546, i32 1035277267, i32 -1117834719]], [8 x [4 x i32]] [[4 x i32] [i32 1083447086, i32 -1109724154, i32 1020841330, i32 -1139642865], [4 x i32] [i32 1083476017, i32 -1108776576, i32 1022828991, i32 -1137544231], [4 x i32] [i32 1083506928, i32 -1107691447, i32 1024339485, i32 -1134783231], [4 x i32] [i32 1083540120, i32 -1106866227, i32 1025859953, i32 -1131768866], [4 x i32] [i32 1083575963, i32 -1106131652, i32 1027789004, i32 -1129219576], [4 x i32] [i32 1083614932, i32 -1105259984, i32 1030288101, i32 -1125614310], [4 x i32] [i32 1083657641, i32 -1104208518, i32 1032703103, i32 -1122207920], [4 x i32] [i32 1083704905, i32 -1102914668, i32 1034975233, i32 -1118193613]], [8 x [4 x i32]] [[4 x i32] [i32 1083744002, i32 -1110118126, i32 1020482016, i32 -1139876896], [4 x i32] [i32 1083772140, i32 -1109194455, i32 1022421313, i32 -1137828163], [4 x i32] [i32 1083802210, i32 -1108136573, i32 1024106101, i32 -1135132514], [4 x i32] [i32 1083834502, i32 -1107104468, i32 1025589926, i32 -1131987172], [4 x i32] [i32 1083869380, i32 -1106388143, i32 1027472737, i32 -1129497613], [4 x i32] [i32 1083907306, i32 -1105538000, i32 1029912275, i32 -1125976342], [4 x i32] [i32 1083948880, i32 -1104512331, i32 1032475886, i32 -1122449967], [4 x i32] [i32 1083994898, i32 -1103249998, i32 1034694580, i32 -1118527970]], [8 x [4 x i32]] [[4 x i32] [i32 1084032972, i32 -1110482129, i32 1020147989, i32 -1140095016], [4 x i32] [i32 1084060378, i32 -1109580687, i32 1022042203, i32 -1138092870], [4 x i32] [i32 1084089669, i32 -1108548146, i32 1023888996, i32 -1135458252], [4 x i32] [i32 1084121129, i32 -1107353429, i32 1025338644, i32 -1132190832], [4 x i32] [i32 1084155114, i32 -1106625502, i32 1027178309, i32 -1129757092], [4 x i32] [i32 1084192075, i32 -1105795402, i32 1029562253, i32 -1126314343], [4 x i32] [i32 1084232598, i32 -1104793765, i32 1032264171, i32 -1122676045], [4 x i32] [i32 1084277462, i32 -1103560806, i32 1034432943, i32 -1118840416]], [8 x [4 x i32]] [[4 x i32] [i32 1084314587, i32 -1110819672, i32 1019836467, i32 -1140298918], [4 x i32] [i32 1084341314, i32 -1109938965, i32 1021688531, i32 -1138340392], [4 x i32] [i32 1084369883, i32 -1108930069, i32 1023686396, i32 -1135762932], [4 x i32] [i32 1084400571, i32 -1107762582, i32 1025104070, i32 -1132381386], [4 x i32] [i32 1084433727, i32 -1106845937, i32 1026903359, i32 -1129999956], [4 x i32] [i32 1084469791, i32 -1106034559, i32 1029235258, i32 -1126630816], [4 x i32] [i32 1084509338, i32 -1105055376, i32 1032066302, i32 -1122887809], [4 x i32] [i32 1084553128, i32 -1103849877, i32 1034188302, i32 -1119133207]], [8 x [4 x i32]] [[4 x i32] [i32 1084589370, i32 -1111133747, i32 1019545071, i32 -1140490060], [4 x i32] [i32 1084615465, i32 -1110272436, i32 1021357617, i32 -1138572483], [4 x i32] [i32 1084643362, i32 -1109285668, i32 1023496777, i32 -1136048696], [4 x i32] [i32 1084673331, i32 -1108143670, i32 1024884459, i32 -1132658242], [4 x i32] [i32 1084705714, i32 -1107051331, i32 1026645861, i32 -1130227879], [4 x i32] [i32 1084740943, i32 -1106257488, i32 1028928910, i32 -1126927920], [4 x i32] [i32 1084779579, i32 -1105299347, i32 1031880853, i32 -1123086685], [4 x i32] [i32 1084822367, i32 -1104119589, i32 1033958918, i32 -1119408291]], [8 x [4 x i32]] [[4 x i32] [i32 1084857786, i32 -1111426907, i32 1019271754, i32 -1140669699], [4 x i32] [i32 1084883292, i32 -1110583793, i32 1021047157, i32 -1138790659], [4 x i32] [i32 1084910560, i32 -1109617786, i32 1023227487, i32 -1136317395], [4 x i32] [i32 1084939858, i32 -1108499712, i32 1024678308, i32 -1132994531], [4 x i32] [i32 1084971519, i32 -1107243294, i32 1026404070, i32 -1130442310], [4 x i32] [i32 1085005967, i32 -1106465920, i32 1028641153, i32 -1127207526], [4 x i32] [i32 1085043751, i32 -1105527547, i32 1031614407, i32 -1123273912], [4 x i32] [i32 1085085603, i32 -1104371982, i32 1033743292, i32 -1119667359]]], i32 1065353216, i32 864026624, i32 1065353216, i32 1073741824, i32 1056964608, i32 1015, i32 1048575, i32 1065877504, [2 x i32] [i32 2139095040, i32 -8388608], [2 x i32] [i32 1065353216, i32 -1082130432], [2 x i32] [i32 0, i32 -2147483648] }, align 4 +@_ZN22__imf_impl_scalbn_s_xa12_GLOBAL__N_115_large_value_32E = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 1904214016, i32 -243269632], align 4 +@_ZN22__imf_impl_scalbn_s_xa12_GLOBAL__N_115_small_value_32E = internal unnamed_addr addrspace(1) constant [2 x i32] [i32 226492416, i32 -1920991232], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP1E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC7FBB40A0000000, float 0x3FD5C6E600000000, float 0xBF9F8F72E0000000, float 0xBFAB2150C0000000, float 0x3F72F7FFC0000000, float 0x3F627E31A0000000, float 0xBF26F63B80000000, float 0xBF0863D840000000, float 0x3ECAD60E80000000, float 0x3EA3296CE0000000, float 0xBE62B43340000000, float 0xBE334006A0000000, float 0x3DED368AC0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ1E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4016148F60000000, float 0xBE734F46E0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP2E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC96E8EEC0000000, float 0xBFD15F7980000000, float 0x3F900F7FC0000000, float 0x3FA68B9840000000, float 0xBF648E6340000000, float 0xBF60E0D5A0000000, float 0x3F1D795820000000, float 0x3F077FEB80000000, float 0xBEC3315C80000000, float 0xBEA3090160000000, float 0x3E5CBC15A0000000, float 0x3E336BDEC0000000, float 0xBDE85C2DE0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ2E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x40214EB560000000, float 0x3E9999BDA0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP3E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC92D8ED40000000, float 0x3FCDC13E60000000, float 0xBF842FF0C0000000, float 0xBFA38D1DE0000000, float 0x3F5A55E980000000, float 0x3F5E2E1640000000, float 0xBF13DFBD80000000, float 0xBF05CE5E80000000, float 0x3EBBB020E0000000, float 0x3EA22ED3A0000000, float 0xBE55EE8060000000, float 0xBE32EB1800000000, float 0x3DE39FB700000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ3E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4027954400000000, float 0x3E504E56C0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP4E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBCA50BE2E0000000, float 0xBFCA701D00000000, float 0x3F7C54B920000000, float 0x3FA17798A0000000, float 0xBF52A214E0000000, float 0xBF5B541EC0000000, float 0x3F0CC0B460000000, float 0x3F041F1AE0000000, float 0xBEB4B127A0000000, float 0xBEA11CC2A0000000, float 0x3E50FD2B20000000, float 0x3E32191120000000, float 0xBDDF88BB00000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ4E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402DDCA140000000, float 0xBE60D8E2E0000000], align 4 +@_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_126__sj0_sincosf_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP1E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC91B9C1C0000000, float 0xBFD9C6CF60000000, float 0x3FAAE8A3A0000000, float 0x3FAB589D20000000, float 0xBF75375460000000, float 0xBF624B33E0000000, float 0x3F26E4C840000000, float 0x3F0839F2A0000000, float 0xBEC97AD980000000, float 0xBEA3342240000000, float 0x3E61909060000000, float 0x3E338E59C0000000, float 0xBDF274C5C0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ1E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x400EA75580000000, float 0xBE74A121E0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP2E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0x3C80497700000000, float 0x3FD33518C0000000, float 0xBF95E70DC0000000, float 0xBFA80C83C0000000, float 0x3F69A4B2A0000000, float 0x3F613FBC20000000, float 0xBF20735C20000000, float 0xBF079689C0000000, float 0x3EC4261180000000, float 0x3EA2FD3680000000, float 0xBE5D6B1320000000, float 0xBE33616500000000, float 0x3DEE551E20000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ2E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x401C0FF600000000, float 0xBE88971B60000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP3E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0x3CA0212F40000000, float 0xBFCFF65460000000, float 0x3F89224000000000, float 0x3FA4B0C5E0000000, float 0xBF5F91AA20000000, float 0xBF5F51C1A0000000, float 0x3F16B4CE60000000, float 0x3F063C34E0000000, float 0xBEBE381B40000000, float 0xBEA2569E20000000, float 0x3E575EA440000000, float 0x3E32FA7FC0000000, float 0xBDE8A59BA0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ3E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402458D0E0000000, float 0xBE9E8407A0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP4E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC905DCC60000000, float 0x3FCBF33380000000, float 0xBF80C83A20000000, float 0xBFA2518580000000, float 0x3F559EB180000000, float 0x3F5C5BCD80000000, float 0xBF104141A0000000, float 0xBF04A650A0000000, float 0x3EB6C4F280000000, float 0x3EA1654FA0000000, float 0xBE5267D820000000, float 0xBE3247A6E0000000, float 0x3DE3F25FA0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ4E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402AA5BB00000000, float 0xBE99DE34C0000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP5E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBCB6EB9060000000, float 0xBFC925C700000000, float 0x3F786DD320000000, float 0x3FA09463C0000000, float 0xBF4FDA02C0000000, float 0xBF59F4BDA0000000, float 0x3F08779E60000000, float 0x3F032C9120000000, float 0xBEB19E1740000000, float 0xBEA064B940000000, float 0x3E4D529160000000, float 0x3E3171C380000000, float 0xBDE03F3F60000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ5E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4030787B40000000, float 0xBEA3F5EE80000000], align 4 +@_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_118__sj1_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_114function_zerosE = internal unnamed_addr addrspace(1) constant [321 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 5.000000e-01, float 0x3FF99999A0000000, float 3.500000e+00, float 0x4018666660000000, float 0x4022333340000000, float 0x4029666660000000, float 0x40309999A0000000, float 0x4034CCCCC0000000, float 0x40394CCCC0000000, float 0x403E1999A0000000, float 3.500000e+01, float 0x40440CCCC0000000, float 0x4046B33340000000, float 0x4049666660000000, float 0x404C266660000000, float 6.200000e+01, float 0x4050ECCCC0000000, float 7.350000e+01, float 0x4053D999A0000000, float 0x40555999A0000000, float 0x4056D999A0000000, float 9.750000e+01, float 0x4059ECCCC0000000, float 0x405B7999A0000000, float 0x405D0CCCC0000000, float 1.225000e+02, float 0x40601CCCC0000000, float 0x4060E999A0000000, float 0x4061B66660000000, float 0x4062866660000000, float 0x4063566660000000, float 0x40642999A0000000, float 0x4064FCCCC0000000, float 1.745000e+02, float 0x4066A33340000000, float 0x40677999A0000000, float 1.945000e+02, float 0x4069266660000000, float 2.080000e+02, float 2.140000e+02, float 2.210000e+02, float 2.280000e+02, float 2.350000e+02, float 2.420000e+02, float 2.480000e+02, float 2.550000e+02, float 2.620000e+02, float 2.690000e+02, float 2.760000e+02, float 2.830000e+02, float 2.900000e+02, float 2.970000e+02, float 3.040000e+02, float 3.110000e+02, float 3.180000e+02, float 3.250000e+02, float 3.320000e+02, float 3.390000e+02, float 3.460000e+02, float 3.530000e+02, float 3.600000e+02, float 3.670000e+02, float 3.740000e+02, float 3.820000e+02, float 3.890000e+02, float 3.960000e+02, float 4.030000e+02, float 4.100000e+02, float 4.170000e+02, float 4.240000e+02, float 4.320000e+02, float 4.390000e+02, float 4.460000e+02, float 4.530000e+02, float 4.600000e+02, float 4.680000e+02, float 4.750000e+02, float 4.820000e+02, float 4.890000e+02, float 4.970000e+02, float 5.040000e+02, float 5.110000e+02, float 5.180000e+02, float 5.260000e+02, float 5.330000e+02, float 5.400000e+02, float 5.480000e+02, float 5.550000e+02, float 5.620000e+02, float 5.690000e+02, float 5.770000e+02, float 5.840000e+02, float 5.910000e+02, float 5.990000e+02, float 6.060000e+02, float 6.130000e+02, float 6.210000e+02, float 6.280000e+02, float 6.350000e+02, float 6.430000e+02, float 6.500000e+02, float 6.570000e+02, float 6.650000e+02, float 6.720000e+02, float 6.800000e+02, float 6.870000e+02, float 6.940000e+02, float 7.020000e+02, float 7.090000e+02, float 7.170000e+02, float 7.240000e+02, float 7.310000e+02, float 7.390000e+02, float 7.460000e+02, float 7.540000e+02, float 7.610000e+02, float 7.680000e+02, float 7.760000e+02, float 7.830000e+02, float 7.910000e+02, float 7.980000e+02, float 8.060000e+02, float 8.130000e+02, float 8.200000e+02, float 8.280000e+02, float 8.350000e+02, float 8.430000e+02, float 8.500000e+02, float 8.580000e+02, float 8.650000e+02, float 8.730000e+02, float 8.800000e+02, float 8.880000e+02, float 8.950000e+02, float 9.030000e+02, float 9.100000e+02, float 9.180000e+02, float 9.250000e+02, float 9.330000e+02, float 9.400000e+02, float 9.470000e+02, float 9.550000e+02, float 9.620000e+02, float 9.700000e+02, float 9.770000e+02, float 9.850000e+02, float 9.930000e+02, float 1.000000e+03, float 1.008000e+03, float 1.015000e+03, float 1.023000e+03, float 1.030000e+03, float 1.038000e+03, float 1.045000e+03, float 1.053000e+03, float 1.060000e+03, float 1.068000e+03, float 1.075000e+03, float 1.083000e+03, float 1.090000e+03, float 1.098000e+03, float 1.105000e+03, float 1.113000e+03, float 1.120000e+03, float 1.128000e+03, float 1.136000e+03, float 1.143000e+03, float 1.151000e+03, float 1.158000e+03, float 1.166000e+03, float 1.173000e+03, float 1.181000e+03, float 1.188000e+03, float 1.196000e+03, float 1.204000e+03, float 1.211000e+03, float 1.219000e+03, float 1.226000e+03, float 1.234000e+03, float 1.241000e+03, float 1.249000e+03, float 1.257000e+03, float 1.264000e+03, float 1.272000e+03, float 1.279000e+03, float 1.287000e+03, float 1.294000e+03, float 1.302000e+03, float 1.310000e+03, float 1.317000e+03, float 1.325000e+03, float 1.332000e+03, float 1.340000e+03, float 1.348000e+03, float 1.355000e+03, float 1.363000e+03, float 1.370000e+03, float 1.378000e+03, float 1.386000e+03, float 1.393000e+03, float 1.401000e+03, float 1.408000e+03, float 1.416000e+03, float 1.424000e+03, float 1.431000e+03, float 1.439000e+03, float 1.446000e+03, float 1.454000e+03, float 1.462000e+03, float 1.469000e+03, float 1.477000e+03, float 1.485000e+03, float 1.492000e+03, float 1.500000e+03, float 1.507000e+03, float 1.515000e+03, float 1.523000e+03, float 1.530000e+03, float 1.538000e+03, float 1.546000e+03, float 1.553000e+03, float 1.561000e+03, float 1.568000e+03, float 1.576000e+03, float 1.584000e+03, float 1.591000e+03, float 1.599000e+03, float 1.607000e+03, float 1.614000e+03, float 1.622000e+03, float 1.629000e+03, float 1.637000e+03, float 1.645000e+03, float 1.652000e+03, float 1.660000e+03, float 1.668000e+03, float 1.675000e+03, float 1.683000e+03, float 1.691000e+03, float 1.698000e+03, float 1.706000e+03, float 1.714000e+03, float 1.721000e+03, float 1.729000e+03, float 1.737000e+03, float 1.744000e+03, float 1.752000e+03, float 1.760000e+03, float 1.767000e+03, float 1.775000e+03, float 1.782000e+03, float 1.790000e+03, float 1.798000e+03, float 1.805000e+03, float 1.813000e+03, float 1.821000e+03, float 1.828000e+03, float 1.836000e+03, float 1.844000e+03, float 1.851000e+03, float 1.859000e+03, float 1.867000e+03, float 1.874000e+03, float 1.882000e+03, float 1.890000e+03, float 1.898000e+03, float 1.905000e+03, float 1.913000e+03, float 1.921000e+03, float 1.928000e+03, float 1.936000e+03, float 1.944000e+03, float 1.951000e+03, float 1.959000e+03, float 1.967000e+03, float 1.974000e+03, float 1.982000e+03, float 1.990000e+03, float 1.997000e+03, float 2.005000e+03, float 2.013000e+03, float 2.020000e+03, float 2.028000e+03, float 2.036000e+03, float 2.043000e+03, float 2.051000e+03, float 2.059000e+03, float 2.067000e+03, float 2.074000e+03, float 2.082000e+03, float 2.090000e+03, float 2.097000e+03, float 2.105000e+03, float 2.113000e+03, float 2.120000e+03, float 2.128000e+03, float 2.136000e+03, float 2.143000e+03, float 2.151000e+03, float 2.159000e+03, float 2.167000e+03, float 2.174000e+03, float 2.182000e+03, float 2.190000e+03, float 2.197000e+03, float 2.205000e+03, float 2.213000e+03, float 2.220000e+03, float 2.228000e+03, float 2.236000e+03, float 2.244000e+03, float 2.251000e+03, float 2.259000e+03, float 2.267000e+03, float 2.274000e+03, float 2.282000e+03], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP1E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC7FBB40A0000000, float 0x3FD5C6E600000000, float 0xBF9F8F72E0000000, float 0xBFAB2150C0000000, float 0x3F72F7FFC0000000, float 0x3F627E31A0000000, float 0xBF26F63B80000000, float 0xBF0863D840000000, float 0x3ECAD60E80000000, float 0x3EA3296CE0000000, float 0xBE62B43340000000, float 0xBE334006A0000000, float 0x3DED368AC0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ1E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4016148F60000000, float 0xBE734F46E0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP2E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC96E8EEC0000000, float 0xBFD15F7980000000, float 0x3F900F7FC0000000, float 0x3FA68B9840000000, float 0xBF648E6340000000, float 0xBF60E0D5A0000000, float 0x3F1D795820000000, float 0x3F077FEB80000000, float 0xBEC3315C80000000, float 0xBEA3090160000000, float 0x3E5CBC15A0000000, float 0x3E336BDEC0000000, float 0xBDE85C2DE0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ2E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x40214EB560000000, float 0x3E9999BDA0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP3E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC92D8ED40000000, float 0x3FCDC13E60000000, float 0xBF842FF0C0000000, float 0xBFA38D1DE0000000, float 0x3F5A55E980000000, float 0x3F5E2E1640000000, float 0xBF13DFBD80000000, float 0xBF05CE5E80000000, float 0x3EBBB020E0000000, float 0x3EA22ED3A0000000, float 0xBE55EE8060000000, float 0xBE32EB1800000000, float 0x3DE39FB700000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ3E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4027954400000000, float 0x3E504E56C0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP4E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBCA50BE2E0000000, float 0xBFCA701D00000000, float 0x3F7C54B920000000, float 0x3FA17798A0000000, float 0xBF52A214E0000000, float 0xBF5B541EC0000000, float 0x3F0CC0B460000000, float 0x3F041F1AE0000000, float 0xBEB4B127A0000000, float 0xBEA11CC2A0000000, float 0x3E50FD2B20000000, float 0x3E32191120000000, float 0xBDDF88BB00000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ4E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402DDCA140000000, float 0xBE60D8E2E0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP1E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC91B9C1C0000000, float 0xBFD9C6CF60000000, float 0x3FAAE8A3A0000000, float 0x3FAB589D20000000, float 0xBF75375460000000, float 0xBF624B33E0000000, float 0x3F26E4C840000000, float 0x3F0839F2A0000000, float 0xBEC97AD980000000, float 0xBEA3342240000000, float 0x3E61909060000000, float 0x3E338E59C0000000, float 0xBDF274C5C0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ1E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x400EA75580000000, float 0xBE74A121E0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP2E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0x3C80497700000000, float 0x3FD33518C0000000, float 0xBF95E70DC0000000, float 0xBFA80C83C0000000, float 0x3F69A4B2A0000000, float 0x3F613FBC20000000, float 0xBF20735C20000000, float 0xBF079689C0000000, float 0x3EC4261180000000, float 0x3EA2FD3680000000, float 0xBE5D6B1320000000, float 0xBE33616500000000, float 0x3DEE551E20000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ2E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x401C0FF600000000, float 0xBE88971B60000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP3E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0x3CA0212F40000000, float 0xBFCFF65460000000, float 0x3F89224000000000, float 0x3FA4B0C5E0000000, float 0xBF5F91AA20000000, float 0xBF5F51C1A0000000, float 0x3F16B4CE60000000, float 0x3F063C34E0000000, float 0xBEBE381B40000000, float 0xBEA2569E20000000, float 0x3E575EA440000000, float 0x3E32FA7FC0000000, float 0xBDE8A59BA0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ3E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402458D0E0000000, float 0xBE9E8407A0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP4E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBC905DCC60000000, float 0x3FCBF33380000000, float 0xBF80C83A20000000, float 0xBFA2518580000000, float 0x3F559EB180000000, float 0x3F5C5BCD80000000, float 0xBF104141A0000000, float 0xBF04A650A0000000, float 0x3EB6C4F280000000, float 0x3EA1654FA0000000, float 0xBE5267D820000000, float 0xBE3247A6E0000000, float 0x3DE3F25FA0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ4E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x402AA5BB00000000, float 0xBE99DE34C0000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP5E = internal unnamed_addr addrspace(1) constant [13 x float] [float 0xBCB6EB9060000000, float 0xBFC925C700000000, float 0x3F786DD320000000, float 0x3FA09463C0000000, float 0xBF4FDA02C0000000, float 0xBF59F4BDA0000000, float 0x3F08779E60000000, float 0x3F032C9120000000, float 0xBEB19E1740000000, float 0xBEA064B940000000, float 0x3E4D529160000000, float 0x3E3171C380000000, float 0xBDE03F3F60000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ5E = internal unnamed_addr addrspace(1) constant [2 x float] [float 0x4030787B40000000, float 0xBEA3F5EE80000000], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_126__sjn_sincosf_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_111Inv_TableC0E = internal unnamed_addr addrspace(1) constant [128 x i32] [i32 134217725, i32 133177280, i32 132152840, i32 131144040, i32 130150521, i32 129171946, i32 128207980, i32 127258288, i32 126322566, i32 125400505, i32 124491806, i32 123596178, i32 122713348, i32 121843044, i32 120984994, i32 120138944, i32 119304646, i32 118481854, i32 117670336, i32 116869856, i32 116080194, i32 115301132, i32 114532460, i32 113773968, i32 113025454, i32 112286728, i32 111557592, i32 110837866, i32 110127368, i32 109425916, i32 108733350, i32 108049488, i32 107374182, i32 106707262, i32 106048574, i32 105397968, i32 104755298, i32 104120420, i32 103493188, i32 102873470, i32 102261126, i32 101656030, i32 101058054, i32 100467072, i32 99882960, i32 99305602, i32 98734878, i32 98170678, i32 97612894, i32 97061406, i32 96516116, i32 95976924, i32 95443718, i32 94916402, i32 94394884, i32 93879066, i32 93368852, i32 92864160, i32 92364888, i32 91870956, i32 91382282, i32 90898780, i32 90420364, i32 89946956, i32 89478486, i32 89014868, i32 88556026, i32 88101890, i32 87652394, i32 87207458, i32 86767016, i32 86331002, i32 85899346, i32 85471986, i32 85048856, i32 84629897, i32 84215046, i32 83804240, i32 83397422, i32 82994534, i32 82595524, i32 82200330, i32 81808902, i32 81421180, i32 81037118, i32 80656663, i32 80279762, i32 79906366, i32 79536432, i32 79169904, i32 78806738, i32 78446892, i32 78090313, i32 77736964, i32 77386800, i32 77039774, i32 76695844, i32 76354973, i32 76017120, i32 75682240, i32 75350304, i32 75021262, i32 74695082, i32 74371728, i32 74051160, i32 73733342, i32 73418242, i32 73105826, i32 72796056, i32 72488900, i32 72184324, i32 71882297, i32 71582788, i32 71285764, i32 70991194, i32 70699052, i32 70409300, i32 70121914, i32 69836868, i32 69554126, i32 69273666, i32 68995460, i32 68719478, i32 68445694, i32 68174084, i32 67904624, i32 67637280, i32 67372036], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_111Inv_TableC1E = internal unnamed_addr addrspace(1) constant [128 x i32] [i32 201329152, i32 202364928, i32 203377664, i32 204366848, i32 205334528, i32 206279680, i32 207203328, i32 208107520, i32 208991232, i32 209855488, i32 210701312, i32 211529728, i32 212339712, i32 213132288, i32 213908480, i32 214668288, i32 215412736, i32 216141824, i32 216855552, i32 217554944, i32 218240000, i32 218911744, i32 219569152, i32 220214272, i32 220847104, i32 221466624, i32 222074880, i32 222670848, i32 223255552, i32 223830016, i32 224392192, i32 224945152, i32 225486848, i32 226018304, i32 226540544, i32 227053568, i32 227556352, i32 228049920, i32 228535296, i32 229011456, i32 229479424, i32 229939200, i32 230390784, i32 230834176, i32 231270400, i32 231698432, i32 232120320, i32 232534016, i32 232940544, i32 233340928, i32 233734144, i32 234120192, i32 234500096, i32 234874880, i32 235242496, i32 235603968, i32 235960320, i32 236309504, i32 236654592, i32 236993536, i32 237327360, i32 237655040, i32 237978624, i32 238297088, i32 238609408, i32 238917632, i32 239221760, i32 239520768, i32 239814656, i32 240104448, i32 240390144, i32 240670720, i32 240948224, i32 241220608, i32 241489920, i32 241754624, i32 242015232, i32 242272256, i32 242526208, i32 242776064, i32 243021824, i32 243264512, i32 243503104, i32 243739648, i32 243972096, i32 244200960, i32 244426752, i32 244649984, i32 244869120, i32 245086208, i32 245300224, i32 245510144, i32 245719040, i32 245923840, i32 246125568, i32 246325248, i32 246522880, i32 246716928, i32 246908928, i32 247098368, i32 247284736, i32 247469056, i32 247651328, i32 247830528, i32 248007680, i32 248182784, i32 248355840, i32 248525824, i32 248694272, i32 248860672, i32 249024512, i32 249186816, i32 249347072, i32 249504768, i32 249661440, i32 249815040, i32 249967616, i32 250118144, i32 250266624, i32 250413056, i32 250558464, i32 250701824, i32 250843136, i32 250983424, i32 251121664, i32 251257856, i32 251393024, i32 251526144], align 4 +@_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_19invpi_tblE = internal unnamed_addr addrspace(1) constant [9 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522, i32 -139529896], align 4 +@_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_118__sy0_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_118__sy1_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_113function_infsE = internal unnamed_addr addrspace(1) constant [321 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0x3FD99999A0000000, float 0x3FF4CCCCC0000000, float 3.000000e+00, float 0x4015333340000000, float 0x4020333340000000, float 0x4026CCCCC0000000, float 0x402E333340000000, float 0x40331999A0000000, float 0x40374CCCC0000000, float 0x403BE66660000000, float 0x40404CCCC0000000, float 3.750000e+01, float 4.250000e+01, float 0x4047E66660000000, float 0x404A8CCCC0000000, float 5.850000e+01, float 0x4050066660000000, float 0x4051733340000000, float 7.550000e+01, float 0x4054533340000000, float 0x4055CCCCC0000000, float 0x40574CCCC0000000, float 0x4058CCCCC0000000, float 0x405A533340000000, float 0x405BD999A0000000, float 0x405D666660000000, float 0x405EF33340000000, float 0x4060433340000000, float 0x40610CCCC0000000, float 0x4061D999A0000000, float 0x4062A66660000000, float 0x4063733340000000, float 0x4064433340000000, float 0x4065133340000000, float 0x4065E33340000000, float 0x4066B66660000000, float 0x4067866660000000, float 0x40685CCCC0000000, float 2.015000e+02, float 0x406A066660000000, float 0x406ADCCCC0000000, float 0x406BB33340000000, float 0x406C8999A0000000, float 2.350000e+02, float 0x406E3999A0000000, float 0x406F133340000000, float 0x406FECCCC0000000, float 0x4070633340000000, float 0x4070D199A0000000, float 0x40713E6660000000, float 0x4071ACCCC0000000, float 0x40721B3340000000, float 0x40728999A0000000, float 3.035000e+02, float 0x4073666660000000, float 0x4073D66660000000, float 0x4074466660000000, float 0x4074B4CCC0000000, float 0x407524CCC0000000, float 0x407594CCC0000000, float 0x407604CCC0000000, float 0x407674CCC0000000, float 0x4076E66660000000, float 0x4077566660000000, float 3.805000e+02, float 3.875000e+02, float 0x4078A999A0000000, float 0x40791B3340000000, float 0x40798CCCC0000000, float 0x4079FE6660000000, float 4.230000e+02, float 0x407AE199A0000000, float 0x407B533340000000, float 0x407BC4CCC0000000, float 4.515000e+02, float 0x407CA999A0000000, float 0x407D1CCCC0000000, float 4.730000e+02, float 0x407E0199A0000000, float 0x407E74CCC0000000, float 4.945000e+02, float 0x407F5B3340000000, float 0x407FCE6660000000, float 0x408020CCC0000000, float 0x40805A6660000000, float 5.305000e+02, float 0x4080CE6660000000, float 5.450000e+02, float 0x40814199A0000000, float 5.595000e+02, float 0x4081B599A0000000, float 5.740000e+02, float 0x40822999A0000000, float 5.885000e+02, float 0x40829E6660000000, float 0x4082D8CCC0000000, float 0x4083133340000000, float 0x40834CCCC0000000, float 0x4083873340000000, float 0x4083C199A0000000, float 6.395000e+02, float 0x4084366660000000, float 0x40847199A0000000, float 6.615000e+02, float 0x4084E66660000000, float 0x408520CCC0000000, float 6.835000e+02, float 0x4085966660000000, float 0x4085D0CCC0000000, float 7.055000e+02, float 0x4086466660000000, float 0x40868199A0000000, float 7.275000e+02, float 0x4086F73340000000, float 0x40873199A0000000, float 0x40876CCCC0000000, float 7.570000e+02, float 0x4087E33340000000, float 0x40881D99A0000000, float 0x408858CCC0000000, float 7.865000e+02, float 0x4088CF3340000000, float 0x40890A6660000000, float 0x40894599A0000000, float 0x408980CCC0000000, float 8.235000e+02, float 0x4089F73340000000, float 0x408A326660000000, float 0x408A6D99A0000000, float 0x408AA8CCC0000000, float 8.605000e+02, float 8.680000e+02, float 0x408B5B3340000000, float 0x408B966660000000, float 0x408BD26660000000, float 0x408C0D99A0000000, float 0x408C48CCC0000000, float 0x408C84CCC0000000, float 9.200000e+02, float 0x408CFB3340000000, float 0x408D373340000000, float 0x408D726660000000, float 0x408DAE6660000000, float 0x408DEA6660000000, float 0x408E2599A0000000, float 0x408E6199A0000000, float 0x408E9CCCC0000000, float 0x408ED8CCC0000000, float 0x408F14CCC0000000, float 1.002000e+03, float 1.009500e+03, float 1.017000e+03, float 1.024500e+03, float 0x40901F99A0000000, float 0x40903D99A0000000, float 0x40905B99A0000000, float 0x40907999A0000000, float 0x40909799A0000000, float 0x4090B599A0000000, float 0x4090D399A0000000, float 0x4090F199A0000000, float 0x40910F99A0000000, float 0x40912D99A0000000, float 0x40914B99A0000000, float 0x40916999A0000000, float 0x40918799A0000000, float 0x4091A599A0000000, float 0x4091C399A0000000, float 0x4091E199A0000000, float 0x4091FF99A0000000, float 0x40921D99A0000000, float 1.167000e+03, float 1.174500e+03, float 1.182000e+03, float 1.189500e+03, float 0x4092B46660000000, float 0x4092D26660000000, float 0x4092F06660000000, float 0x40930E6660000000, float 0x40932CCCC0000000, float 0x40934ACCC0000000, float 0x4093693340000000, float 0x4093873340000000, float 0x4093A53340000000, float 0x4093C399A0000000, float 0x4093E199A0000000, float 1.280000e+03, float 1.287500e+03, float 0x40943C6660000000, float 0x40945A6660000000, float 0x409478CCC0000000, float 0x409496CCC0000000, float 0x4094B53340000000, float 0x4094D33340000000, float 0x4094F199A0000000, float 0x40950F99A0000000, float 1.355500e+03, float 0x40954C6660000000, float 0x40956A6660000000, float 0x409588CCC0000000, float 0x4095A73340000000, float 0x4095C53340000000, float 0x4095E399A0000000, float 1.408500e+03, float 0x4096206660000000, float 0x40963E6660000000, float 0x40965CCCC0000000, float 0x40967B3340000000, float 0x40969999A0000000, float 0x4096B799A0000000, float 1.461500e+03, float 0x4096F46660000000, float 0x409712CCC0000000, float 0x4097313340000000, float 0x40974F99A0000000, float 0x40976D99A0000000, float 1.507000e+03, float 0x4097AA6660000000, float 0x4097C8CCC0000000, float 0x4097E73340000000, float 0x40980599A0000000, float 1.545000e+03, float 0x4098426660000000, float 0x409860CCC0000000, float 0x40987F3340000000, float 0x40989D99A0000000, float 1.583000e+03, float 0x4098DA6660000000, float 0x4098F8CCC0000000, float 0x4099173340000000, float 0x40993599A0000000, float 1.621000e+03, float 0x4099726660000000, float 0x4099913340000000, float 0x4099AF99A0000000, float 1.651500e+03, float 0x4099EC6660000000, float 0x409A0ACCC0000000, float 0x409A293340000000, float 0x409A4799A0000000, float 0x409A666660000000, float 0x409A84CCC0000000, float 0x409AA33340000000, float 0x409AC199A0000000, float 1.720000e+03, float 0x409AFECCC0000000, float 0x409B1D3340000000, float 0x409B3B99A0000000, float 1.750500e+03, float 0x409B78CCC0000000, float 0x409B973340000000, float 0x409BB599A0000000, float 0x409BD46660000000, float 0x409BF2CCC0000000, float 0x409C113340000000, float 1.804000e+03, float 0x409C4E6660000000, float 0x409C6CCCC0000000, float 0x409C8B99A0000000, float 1.834500e+03, float 0x409CC86660000000, float 0x409CE73340000000, float 0x409D0599A0000000, float 0x409D246660000000, float 0x409D42CCC0000000, float 0x409D613340000000, float 1.888000e+03, float 0x409D9E6660000000, float 0x409DBD3340000000, float 0x409DDB99A0000000, float 0x409DFA6660000000, float 0x409E18CCC0000000, float 0x409E3799A0000000, float 1.941500e+03, float 0x409E74CCC0000000, float 0x409E933340000000, float 1.964500e+03, float 0x409ED06660000000, float 0x409EEF3340000000, float 0x409F0D99A0000000, float 0x409F2C6660000000, float 0x409F4B3340000000, float 0x409F6999A0000000, float 0x409F886660000000, float 0x409FA6CCC0000000, float 0x409FC599A0000000, float 2.041000e+03, float 0x40A0016660000000, float 0x40A010CCC0000000, float 2.064000e+03, float 2.071000e+03, float 2.079000e+03, float 2.087000e+03, float 2.094000e+03, float 2.102000e+03, float 2.110000e+03, float 2.117000e+03, float 2.125000e+03, float 2.133000e+03, float 2.140000e+03, float 2.148000e+03, float 2.156000e+03, float 2.163000e+03, float 2.171000e+03, float 2.179000e+03, float 2.186000e+03, float 2.194000e+03, float 2.202000e+03, float 2.209000e+03, float 2.217000e+03, float 2.225000e+03, float 2.232000e+03, float 2.240000e+03, float 2.248000e+03, float 2.255000e+03, float 2.263000e+03, float 2.271000e+03, float 2.278000e+03], align 4 +@_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_126__syn_sincosf_ep_invpi_tblE = internal unnamed_addr addrspace(1) constant [8 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522], align 4 +@_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_19invpi_tblE = internal unnamed_addr addrspace(1) constant [9 x i32] [i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522, i32 -139529896], align 4 +@_ZN20__imf_impl_pown_s_ep12_GLOBAL__N_120__spown_ep___rcp_tblE = internal unnamed_addr addrspace(1) constant [17 x i8] c"\FF\F0\E3\D7\CC\C2\B9\B1\AA\A3\9D\97\91\8C\88\83\7F", align 1 +@_ZN20__imf_impl_pown_s_ep12_GLOBAL__N_121__spown_ep___log2_tblE = internal unnamed_addr addrspace(1) constant [17 x i64] [i64 0, i64 3138492423157932, i64 6020771759500466, i64 8831108431363638, i64 11547946435456814, i64 14147416421415542, i64 16603553652566770, i64 18888693799540316, i64 20974073576276336, i64 23146628420855364, i64 25083942104622120, i64 27096266961688564, i64 29189646517861456, i64 31000929669665924, i64 32496819000632916, i64 34429330303762592, i64 36028797018963968], align 8 +@_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE = internal unnamed_addr addrspace(1) constant [44 x i32] [i32 0, i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522, i32 -139529896, i32 1841896334, i32 -1869384520, i32 26364858, i32 -2106301305, i32 1065843399, i32 743074255, i32 -1172271747, i32 1269748001, i32 979835913, i32 -1390944368, i32 1315206542, i32 1624559229, i32 656480226, i32 -276936178, i32 -939645441, i32 -142514685, i32 -70531998, i32 -696083641, i32 -615669837, i32 -906837395, i32 -741240871, i32 -1483212149, i32 1565126321, i32 -84312994, i32 -817770883, i32 -493574982, i32 -1694574612, i32 1206081346, i32 360762385, i32 -1088496918, i32 0, i32 0, i32 0, i32 0], align 4 +@_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE = internal unnamed_addr addrspace(1) constant [44 x i32] [i32 0, i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522, i32 -139529896, i32 1841896334, i32 -1869384520, i32 26364858, i32 -2106301305, i32 1065843399, i32 743074255, i32 -1172271747, i32 1269748001, i32 979835913, i32 -1390944368, i32 1315206542, i32 1624559229, i32 656480226, i32 -276936178, i32 -939645441, i32 -142514685, i32 -70531998, i32 -696083641, i32 -615669837, i32 -906837395, i32 -741240871, i32 -1483212149, i32 1565126321, i32 -84312994, i32 -817770883, i32 -493574982, i32 -1694574612, i32 1206081346, i32 360762385, i32 -1088496918, i32 0, i32 0, i32 0, i32 0], align 4 +@_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_136__devicelib_imf_internal_dexp10_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_exp10_d_la::(anonymous namespace)::__devicelib_imf_internal_dexp10_data_t" { [128 x i64] [i64 4607182418800017408, i64 4607206872900645685, i64 4607231459784622177, i64 4607256180172947333, i64 4607281034790536564, i64 4607306024366241502, i64 4607331149632871368, i64 4607356411327214467, i64 4607381810190059791, i64 4607407346966218743, i64 4607433022404546978, i64 4607458837257966363, i64 4607484792283487057, i64 4607510888242229708, i64 4607537125899447776, i64 4607563506024549969, i64 4607590029391122811, i64 4607616696776953322, i64 4607643508964051829, i64 4607670466738674900, i64 4607697570891348394, i64 4607724822216890653, i64 4607752221514435798, i64 4607779769587457174, i64 4607807467243790904, i64 4607835315295659583, i64 4607863314559696093, i64 4607891465856967553, i64 4607919770012999393, i64 4607948227857799568, i64 4607976840225882891, i64 4608005607956295510, i64 4608034531892639509, i64 4608063612883097649, i64 4608092851780458239, i64 4608122249442140145, i64 4608151806730217931, i64 4608181524511447142, i64 4608211403657289719, i64 4608241445043939557, i64 4608271649552348194, i64 4608302018068250652, i64 4608332551482191402, i64 4608363250689550487, i64 4608394116590569773, i64 4608425150090379351, i64 4608456352099024080, i64 4608487723531490270, i64 4608519265307732519, i64 4608550978352700685, i64 4608582863596367015, i64 4608614921973753410, i64 4608647154424958850, i64 4608679561895186959, i64 4608712145334773722, i64 4608744905699215357, i64 4608777843949196329, i64 4608810961050617527, i64 4608844257974624584, i64 4608877735697636361, i64 4608911395201373573, i64 4608945237472887584, i64 4608979263504589349, i64 4609013474294278515, i64 4609047870845172685, i64 4609082454165936831, i64 4609117225270712879, i64 4609152185179149444, i64 4609187334916431732, i64 4609222675513311604, i64 4609258208006137801, i64 4609293933436886335, i64 4609329852853191047, i64 4609365967308374322, i64 4609402277861477986, i64 4609438785577294354, i64 4609475491526397459, i64 4609512396785174445, i64 4609549502435857133, i64 4609586809566553753, i64 4609624319271280859, i64 4609662032649995404, i64 4609699950808626998, i64 4609738074859110342, i64 4609776405919417829, i64 4609814945113592335, i64 4609853693571780176, i64 4609892652430264250, i64 4609931822831497360, i64 4609971205924135715, i64 4610010802863072613, i64 4610050614809472307, i64 4610090642930804061, i64 4610130888400876376, i64 4610171352399871423, i64 4610212036114379642, i64 4610252940737434541, i64 4610294067468547686, i64 4610335417513743867, i64 4610376992085596474, i64 4610418792403263047, i64 4610460819692521034, i64 4610503075185803730, i64 4610545560122236425, i64 4610588275747672732, i64 4610631223314731130, i64 4610674404082831691, i64 4610717819318233013, i64 4610761470294069353, i64 4610805358290387962, i64 4610849484594186620, i64 4610893850499451378, i64 4610938457307194503, i64 4610983306325492632, i64 4611028398869525125, i64 4611073736261612640, i64 4611119319831255903, i64 4611165150915174697, i64 4611211230857347062, i64 4611257561009048707, i64 4611304142728892634, i64 4611350977382868977, i64 4611398066344385063, i64 4611445410994305687, i64 4611493012720993600, i64 4611540872920350228, i64 4611588992995856600, i64 4611637374358614513], i64 4646187933256754033, i64 4843762136725323776, i64 4567569296831545344, i64 -4823143950300620135, i64 4612367379483415830, i64 4613151825388693731, i64 4611764107673922187, i64 4607953685228870489, i64 4603035886630402900, i64 -4503599627370496, i32 127, i32 2147483647, i32 1081293424 }, align 8 +@_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_125__dexp10_la__imldExp10TabE = internal unnamed_addr addrspace(1) constant [147 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1048019041, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 -1663509411, i32 -1133420525] }, { [2 x i32] } { [2 x i32] [i32 -753564300, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 896005651, i32 1015861842] }, { [2 x i32] } { [2 x i32] [i32 410360776, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 1642514529, i32 1012987726] }, { [2 x i32] } { [2 x i32] [i32 1828292879, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1568897901, i32 1016568486] }, { [2 x i32] } { [2 x i32] [i32 852742562, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 1882168529, i32 1010744893] }, { [2 x i32] } { [2 x i32] [i32 -804103343, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 707771662, i32 -1131063726] }, { [2 x i32] } { [2 x i32] [i32 -1364644384, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 -1177160682, i32 -1131296477] }, { [2 x i32] } { [2 x i32] [i32 1014845819, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -358247608, i32 -1132455147] }, { [2 x i32] } { [2 x i32] [i32 -344994955, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 1058231231, i32 1015777676] }, { [2 x i32] } { [2 x i32] [i32 828946858, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 1044000608, i32 1016786167] }, { [2 x i32] } { [2 x i32] [i32 -2006807338, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 1151779725, i32 1015705409] }, { [2 x i32] } { [2 x i32] [i32 1853186616, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -475486060, i32 1016499965] }, { [2 x i32] } { [2 x i32] [i32 1709341917, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 -1742739470, i32 1015039787] }, { [2 x i32] } { [2 x i32] [i32 -182460703, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 1829350193, i32 1015216097] }, { [2 x i32] } { [2 x i32] [i32 -1495006453, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 1913391796, i32 1015756674] }, { [2 x i32] } { [2 x i32] [i32 171030293, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 1303423926, i32 1015238005] }, { [2 x i32] } { [2 x i32] [i32 -1302063361, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 1574172746, i32 1016061241] }, { [2 x i32] } { [2 x i32] [i32 926591435, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 -867479448, i32 -1131263251] }, { [2 x i32] } { [2 x i32] [i32 887463927, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 1049900754, i32 -1133391384] }, { [2 x i32] } { [2 x i32] [i32 1276261410, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 -1490400147, i32 1015390024] }, { [2 x i32] } { [2 x i32] [i32 569847338, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 1209502043, i32 -1135040625] }, { [2 x i32] } { [2 x i32] [i32 1617004845, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 1623370769, i32 1011049453] }, { [2 x i32] } { [2 x i32] [i32 -1245627184, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 -626982023, i32 1013894369] }, { [2 x i32] } { [2 x i32] [i32 -717870553, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1149587536, i32 1014403278] }, { [2 x i32] } { [2 x i32] [i32 1990012071, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 7447438, i32 -1131441100] }, { [2 x i32] } { [2 x i32] [i32 1453150082, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 -1123076001, i32 -1132929338] }, { [2 x i32] } { [2 x i32] [i32 917841882, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 419288974, i32 1016280325] }, { [2 x i32] } { [2 x i32] [i32 -582462423, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 -501459959, i32 1016095713] }, { [2 x i32] } { [2 x i32] [i32 363667784, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 728023093, i32 1016345318] }, { [2 x i32] } { [2 x i32] [i32 -1338354299, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 1005538728, i32 -1131662395] }, { [2 x i32] } { [2 x i32] [i32 -2108349915, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 2018924632, i32 -1131163939] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 -1084349912, i32 -1131170833] }, { [2 x i32] } { [2 x i32] [i32 1013258799, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 -1200772626, i32 -1134336017] }, { [2 x i32] } { [2 x i32] [i32 -387162252, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 2119843535, i32 -1132978332] }, { [2 x i32] } { [2 x i32] [i32 1447192521, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 508946058, i32 -1132062414] }, { [2 x i32] } { [2 x i32] [i32 1944781191, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 -1186093795, i32 -1132776740] }, { [2 x i32] } { [2 x i32] [i32 919555682, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -1412010923, i32 1013312481] }, { [2 x i32] } { [2 x i32] [i32 -1723019757, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 -247777484, i32 -1131189834] }, { [2 x i32] } { [2 x i32] [i32 -1690004755, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 -663595154, i32 -1131097008] }, { [2 x i32] } { [2 x i32] [i32 1110089947, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 -1041175884, i32 1015920431] }, { [2 x i32] } { [2 x i32] [i32 -1726646474, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 1509121860, i32 1014756995] }, { [2 x i32] } { [2 x i32] [i32 -1328691739, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -1955848663, i32 -1134712392] }, { [2 x i32] } { [2 x i32] [i32 -1612820912, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 586480042, i32 -1131265213] }, { [2 x i32] } { [2 x i32] [i32 -2103185264, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 730975783, i32 1014083580] }, { [2 x i32] } { [2 x i32] [i32 2069751141, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 576856675, i32 -1131952892] }, { [2 x i32] } { [2 x i32] [i32 -1304550051, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -742606059, i32 -1131299887] }, { [2 x i32] } { [2 x i32] [i32 1434058175, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 1853053619, i32 1015310724] }, { [2 x i32] } { [2 x i32] [i32 -1722100819, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 -1832176761, i32 1015814775] }, { [2 x i32] } { [2 x i32] [i32 -1202776581, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 1457303226, i32 -1135229991] }, { [2 x i32] } { [2 x i32] [i32 -218407353, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 950899508, i32 -1133979916] }, { [2 x i32] } { [2 x i32] [i32 -1874083374, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 174054861, i32 1014300631] }, { [2 x i32] } { [2 x i32] [i32 -578465124, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 816778419, i32 1014197934] }, { [2 x i32] } { [2 x i32] [i32 777507147, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 -787916372, i32 1015341199] }, { [2 x i32] } { [2 x i32] [i32 -588279703, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 1821514088, i32 1013410604] }, { [2 x i32] } { [2 x i32] [i32 1242007932, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 1073740399, i32 -1131434659] }, { [2 x i32] } { [2 x i32] [i32 -587488121, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 -1505949785, i32 1014276997] }, { [2 x i32] } { [2 x i32] [i32 64696965, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 -708734292, i32 1015962192] }, { [2 x i32] } { [2 x i32] [i32 863738719, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 129252895, i32 -1132276447] }, { [2 x i32] } { [2 x i32] [i32 -410304522, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 1614448851, i32 1014281732] }, { [2 x i32] } { [2 x i32] [i32 -1566273318, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 -1881959952, i32 -1131415790] }, { [2 x i32] } { [2 x i32] [i32 -295609817, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 1101668360, i32 1015989180] }, { [2 x i32] } { [2 x i32] [i32 1533953344, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 835814894, i32 1015702697] }, { [2 x i32] } { [2 x i32] [i32 -2120314664, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 1301400989, i32 1014466875] }, { [2 x i32] } { [2 x i32] [i32 158966641, i32 1080726351] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1127743488] }, { [2 x i32] } { [2 x i32] [i32 -1145744107, i32 1073900465] }, { [2 x i32] } { [2 x i32] [i32 -952315382, i32 1074083108] }, { [2 x i32] } { [2 x i32] [i32 -1847411696, i32 1073760005] }, { [2 x i32] } { [2 x i32] [i32 -1203703617, i32 1072872823] }, { [2 x i32] } { [2 x i32] [i32 -2016998779, i32 1071727228] }, { [2 x i32] } { [2 x i32] [i32 1352628734, i32 1081295891] }, { [2 x i32] } { [2 x i32] [i32 1190603329, i32 -1066190223] }, { [2 x i32] } { [2 x i32] [i32 1189309266, i32 -1066124873] }, { [2 x i32] } { [2 x i32] [i32 1352597504, i32 1064518675] }, { [2 x i32] } { [2 x i32] [i32 -998487347, i32 1025408956] }, { [2 x i32] } { [2 x i32] [i32 1, i32 1048576] }, { [2 x i32] } { [2 x i32] [i32 -1, i32 2146435071] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1009778688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1106771968] }], align 8 +@_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_133__devicelib_imf_internal_dln_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_ln_d_ha::(anonymous namespace)::__devicelib_imf_internal_dln_data_t" { [1026 x i64] [i64 -4573929700241800448, i64 -4747663588083126016, i64 -4573929683078686680, i64 -4747656230562481302, i64 -4573929665948996704, i64 -4747656847265566209, i64 -4573929648852600608, i64 -4747656941001928102, i64 -4573929631789369224, i64 -4747654680820138293, i64 -4573929614759174120, i64 -4747656080807710050, i64 -4573929597761887632, i64 -4747654219762351237, i64 -4573929580797382808, i64 -4747656870118799185, i64 -4573929563865533456, i64 -4747656982659891106, i64 -4573929546966214096, i64 -4747655977824342796, i64 -4573929530099299968, i64 -4747656280381921897, i64 -4573929513264667040, i64 -4747653883460620778, i64 -4573929496462191968, i64 -4747657329868482330, i64 -4573929479691752152, i64 -4747653945540955294, i64 -4573929462953225648, i64 -4747655266181610153, i64 -4573929446246491240, i64 -4747654531005645813, i64 -4573929429571428384, i64 -4747654572941727251, i64 -4573929412927917224, i64 -4747656153814740243, i64 -4573929396315838592, i64 -4747655122710608561, i64 -4573929379735073976, i64 -4747657193309815858, i64 -4573929363185505552, i64 -4747657563329154137, i64 -4573929346667016152, i64 -4747655744517506095, i64 -4573929330179489256, i64 -4747657224399583728, i64 -4573929313722809016, i64 -4747657561430512918, i64 -4573929297296860224, i64 -4747657291786085674, i64 -4573929280901528320, i64 -4747654870947488346, i64 -4573929264536699368, i64 -4747657232219733659, i64 -4573929248202260096, i64 -4747655185349922831, i64 -4573929231898097832, i64 -4747656013949908197, i64 -4573929215624100552, i64 -4747654524198918544, i64 -4573929199380156832, i64 -4747656893770270596, i64 -4573929183166155888, i64 -4747656165650667476, i64 -4573929166981987528, i64 -4747656143616955772, i64 -4573929150827542176, i64 -4747655728185068105, i64 -4573929134702710856, i64 -4747655265430528485, i64 -4573929118607385192, i64 -4747654122106389553, i64 -4573929102541457392, i64 -4747657078999270814, i64 -4573929086504820280, i64 -4747654357909165205, i64 -4573929070497367232, i64 -4747654446851055976, i64 -4573929054518992224, i64 -4747655374032938361, i64 -4573929038569589808, i64 -4747655585446881537, i64 -4573929022649055104, i64 -4747656047331342440, i64 -4573929006757283808, i64 -4747653573277475986, i64 -4573928990894172160, i64 -4747656162080632866, i64 -4573928975059616992, i64 -4747654375417819349, i64 -4573928959253515664, i64 -4747654308248613508, i64 -4573928943475766096, i64 -4747657802514223976, i64 -4573928927726266776, i64 -4747655874619040209, i64 -4573928912004916704, i64 -4747657346716581032, i64 -4573928896311615448, i64 -4747655924568579200, i64 -4573928880646263096, i64 -4747654469027577100, i64 -4573928865008760272, i64 -4747654101963432117, i64 -4573928849399008128, i64 -4747656524945005630, i64 -4573928833816908352, i64 -4747657560246616332, i64 -4573928818262363152, i64 -4747653904216398848, i64 -4573928802735275232, i64 -4747654296720545577, i64 -4573928787235547832, i64 -4747655524054212550, i64 -4573928771763084704, i64 -4747653623874994835, i64 -4573928756317790088, i64 -4747655107600924661, i64 -4573928740899568744, i64 -4747657413763738251, i64 -4573928725508325936, i64 -4747655766740629167, i64 -4573928710143967408, i64 -4747654450452724439, i64 -4573928694806399400, i64 -4747656108574196021, i64 -4573928679495528656, i64 -4747655459356210262, i64 -4573928664211262392, i64 -4747655017079022831, i64 -4573928648953508312, i64 -4747654441449957371, i64 -4573928633722174592, i64 -4747657495243807721, i64 -4573928618517169904, i64 -4747657027600532315, i64 -4573928603338403376, i64 -4747655157420365256, i64 -4573928588185784600, i64 -4747657084042652655, i64 -4573928573059223656, i64 -4747656117233879239, i64 -4573928557958631072, i64 -4747653906791346622, i64 -4573928542883917832, i64 -4747654298954601347, i64 -4573928527834995384, i64 -4747657207748810114, i64 -4573928512811775640, i64 -4747656899153575655, i64 -4573928497814170952, i64 -4747653484039024103, i64 -4573928482842094104, i64 -4747655629487218412, i64 -4573928467895458352, i64 -4747656896165240439, i64 -4573928452974177384, i64 -4747656070348259217, i64 -4573928438078165320, i64 -4747655519750787761, i64 -4573928423207336720, i64 -4747655165209747499, i64 -4573928408361606576, i64 -4747655262218130895, i64 -4573928393540890312, i64 -4747654798030646259, i64 -4573928378745103776, i64 -4747654300296921877, i64 -4573928363974163240, i64 -4747654260993417817, i64 -4573928349227985400, i64 -4747653573566321073, i64 -4573928334506487360, i64 -4747656779245783453, i64 -4573928319809586664, i64 -4747654938028302158, i64 -4573928305137201240, i64 -4747654890988351556, i64 -4573928290489249440, i64 -4747655758721440975, i64 -4573928275865650024, i64 -4747656238675730135, i64 -4573928261266322152, i64 -4747657516875004682, i64 -4573928246691185392, i64 -4747657395862843136, i64 -4573928232140159704, i64 -4747657628978305142, i64 -4573928217613165456, i64 -4747653674516750649, i64 -4573928203110123384, i64 -4747655248167993944, i64 -4573928188630954648, i64 -4747654110730039294, i64 -4573928174175580776, i64 -4747653440191002636, i64 -4573928159743923680, i64 -4747657632994119668, i64 -4573928145335905680, i64 -4747657718743907546, i64 -4573928130951449456, i64 -4747656368705874780, i64 -4573928116590478064, i64 -4747657731197662313, i64 -4573928102252914952, i64 -4747657278133547797, i64 -4573928087938683936, i64 -4747653652845966546, i64 -4573928073647709184, i64 -4747656130797319093, i64 -4573928059379915264, i64 -4747656906750046592, i64 -4573928045135227096, i64 -4747656169219961743, i64 -4573928030913569960, i64 -4747656399225080903, i64 -4573928016714869504, i64 -4747656679552667335, i64 -4573928002539051736, i64 -4747655810535800545, i64 -4573927988386043016, i64 -4747655436145887769, i64 -4573927974255770064, i64 -4747654384208664467, i64 -4573927960148159944, i64 -4747656210877924747, i64 -4573927946063140088, i64 -4747654764897680282, i64 -4573927932000638256, i64 -4747654946161267371, i64 -4573927917960582568, i64 -4747653891681662722, i64 -4573927903942901472, i64 -4747657355669706369, i64 -4573927889947523784, i64 -4747656516836599448, i64 -4573927875974378632, i64 -4747657571805500040, i64 -4573927862023395504, i64 -4747654163378549899, i64 -4573927848094504192, i64 -4747656992778738702, i64 -4573927834187634856, i64 -4747657470475407555, i64 -4573927820302717968, i64 -4747657346900819731, i64 -4573927806439684336, i64 -4747654371808085681, i64 -4573927792598465080, i64 -4747654350928642203, i64 -4573927778778991656, i64 -4747656823286120328, i64 -4573927764981195856, i64 -4747653941501103318, i64 -4573927751205009760, i64 -4747655749143131558, i64 -4573927737450365800, i64 -4747653894117466190, i64 -4573927723717196696, i64 -4747655719400577604, i64 -4573927710005435504, i64 -4747656789648546559, i64 -4573927696315015584, i64 -4747657406715042105, i64 -4573927682645870608, i64 -4747657143302473380, i64 -4573927668997934560, i64 -4747653782947500660, i64 -4573927655371141712, i64 -4747655462356891244, i64 -4573927641765426664, i64 -4747657637505895473, i64 -4573927628180724320, i64 -4747655242167941839, i64 -4573927614616969864, i64 -4747654854428997278, i64 -4573927601074098792, i64 -4747656084787253473, i64 -4573927587552046904, i64 -4747654962323304714, i64 -4573927574050750280, i64 -4747656124729100316, i64 -4573927560570145312, i64 -4747654229705662318, i64 -4573927547110168664, i64 -4747654956403101747, i64 -4573927533670757304, i64 -4747656431995844697, i64 -4573927520251848488, i64 -4747657054021592283, i64 -4573927506853379760, i64 -4747654524043520355, i64 -4573927493475288936, i64 -4747653684754086369, i64 -4573927480117514120, i64 -4747656772174419230, i64 -4573927466779993720, i64 -4747653675069089618, i64 -4573927453462666384, i64 -4747656181975827032, i64 -4573927440165471072, i64 -4747657468529532559, i64 -4573927426888347008, i64 -4747657562504776696, i64 -4573927413631233696, i64 -4747653631443537813, i64 -4573927400394070888, i64 -4747656665456516504, i64 -4573927387176798648, i64 -4747655390298666507, i64 -4573927373979357280, i64 -4747654954006257604, i64 -4573927360801687368, i64 -4747654047592764676, i64 -4573927347643729752, i64 -4747657216766602921, i64 -4573927334505425560, i64 -4747656393913448041, i64 -4573927321386716160, i64 -4747656417074857729, i64 -4573927308287543192, i64 -4747656574934614673, i64 -4573927295207848560, i64 -4747654148452707383, i64 -4573927282147574408, i64 -4747656754950265507, i64 -4573927269106663168, i64 -4747655116077270564, i64 -4573927256085057496, i64 -4747657404676826663, i64 -4573927243082700328, i64 -4747657627141777483, i64 -4573927230099534840, i64 -4747656788464649973, i64 -4573927217135504456, i64 -4747657675089471082, i64 -4573927204190552864, i64 -4747655245744318139, i64 -4573927191264623976, i64 -4747657814573549163, i64 -4573927178357661984, i64 -4747655463633405396, i64 -4573927165469611296, i64 -4747654431954728633, i64 -4573927152600416576, i64 -4747654335818958302, i64 -4573927139750022728, i64 -4747656181126633181, i64 -4573927126918374904, i64 -4747657187342810254, i64 -4573927114105418496, i64 -4747654413201994477, i64 -4573927101311099112, i64 -4747657184123126397, i64 -4573927088535362632, i64 -4747655544727544119, i64 -4573927075778155144, i64 -4747654687574243904, i64 -4573927063039422976, i64 -4747656610808677503, i64 -4573927050319112704, i64 -4747654975375276186, i64 -4573927037617171112, i64 -4747656355886238101, i64 -4573927024933545232, i64 -4747657516355879006, i64 -4573927012268182328, i64 -4747653477545181716, i64 -4573926999621029864, i64 -4747654385638398898, i64 -4573926986992035560, i64 -4747654007601933129, i64 -4573926974381147344, i64 -4747655406297081984, i64 -4573926961788313376, i64 -4747657038279172847, i64 -4573926949213482040, i64 -4747656448843943399, i64 -4573926936656601936, i64 -4747653972091772576, i64 -4573926924117621872, i64 -4747656435966843755, i64 -4573926911596490904, i64 -4747654483949682971, i64 -4573926899093158272, i64 -4747657076244715355, i64 -4573926886607573464, i64 -4747655627072367997, i64 -4573926874139686160, i64 -4747654117466326903, i64 -4573926861689446256, i64 -4747655232372342492, i64 -4573926849256803872, i64 -4747655298566292858, i64 -4573926836841709328, i64 -4747656819444502382, i64 -4573926824444113168, i64 -4747654626181574917, i64 -4573926812063966120, i64 -4747657217867657710, i64 -4573926799701219152, i64 -4747655329656060729, i64 -4573926787355823408, i64 -4747656476138559682, i64 -4573926775027730264, i64 -4747653528514955519, i64 -4573926762716891272, i64 -4747654868867991534, i64 -4573926750423258208, i64 -4747657374250476450, i64 -4573926738146783056, i64 -4747654589524359708, i64 -4573926725887417976, i64 -4747653700636066286, i64 -4573926713645115336, i64 -4747657327826710751, i64 -4573926701419827728, i64 -4747654119206385198, i64 -4573926689211507896, i64 -4747657727075553586, i64 -4573926677020108832, i64 -4747653429469974766, i64 -4573926664845583672, i64 -4747654707033783891, i64 -4573926652687885784, i64 -4747654270907144477, i64 -4573926640546968712, i64 -4747654259547727623, i64 -4573926628422786192, i64 -4747656857196338783, i64 -4573926616315292168, i64 -4747654916371738663, i64 -4573926604224440744, i64 -4747657768733516590, i64 -4573926592150186248, i64 -4747655467256860847, i64 -4573926580092483160, i64 -4747657799128474818, i64 -4573926568051286184, i64 -4747654137703467242, i64 -4573926556026550168, i64 -4747656861212153309, i64 -4573926544018230184, i64 -4747656814371164974, i64 -4573926532026281472, i64 -4747653540588414993, i64 -4573926520050659440, i64 -4747654731614580779, i64 -4573926508091319704, i64 -4747653690703358538, i64 -4573926496148218040, i64 -4747655177994186102, i64 -4573926484221310416, i64 -4747657279110511291, i64 -4573926472310552984, i64 -4747655267641368559, i64 -4573926460415902056, i64 -4747654267337109866, i64 -4573926448537314128, i64 -4747655529617860219, i64 -4573926436674745880, i64 -4747655908784234045, i64 -4573926424828154160, i64 -4747656136855011572, i64 -4573926412997495992, i64 -4747655907770700976, i64 -4573926401182728568, i64 -4747657761167291288, i64 -4573926389383809264, i64 -4747657775459655223, i64 -4573926377600695624, i64 -4747653856532456821, i64 -4573926365833345344, i64 -4747654029825056200, i64 -4573926354081716312, i64 -4747653949457627298, i64 -4573926342345766576, i64 -4747653993115713923, i64 -4573926330625454352, i64 -4747654370015367750, i64 -4573926318920738024, i64 -4747654630201482631, i64 -4573926307231576136, i64 -4747657575153119099, i64 -4573926295557927416, i64 -4747655579437300814, i64 -4573926283899750728, i64 -4747656497990205503, i64 -4573926272257005120, i64 -4747656800023533681, i64 -4573926260629649800, i64 -4747654288507540662, i64 -4573926249017644120, i64 -4747656424740606407, i64 -4573926237420947624, i64 -4747653471654981965, i64 -4573926225839519976, i64 -4747657610903912766, i64 -4573926214273321048, i64 -4747654102077921030, i64 -4573926202722310824, i64 -4747653600026119322, i64 -4573926191186449464, i64 -4747656514258693589, i64 -4573926179665697296, i64 -4747656953755712544, i64 -4573926168160014792, i64 -4747655470833237147, i64 -4573926156669362576, i64 -4747654215764429500, i64 -4573926145193701424, i64 -4747656492365194775, i64 -4573926133732992280, i64 -4747657520382010935, i64 -4573926122287196232, i64 -4747657190984919870, i64 -4573926110856274520, i64 -4747655232924681460, i64 -4573926099440188528, i64 -4747655177610962218, i64 -4573926088038899800, i64 -4747655132857009315, i64 -4573926076652370024, i64 -4747656151594593408, i64 -4573926065280561040, i64 -4747657409212045405, i64 -4573926053923434840, i64 -4747655781680029702, i64 -4573926042580953552, i64 -4747654222490356239, i64 -4573926031253079448, i64 -4747656948154258350, i64 -4573926019939774968, i64 -4747655830285819171, i64 -4573926008641002672, i64 -4747656372761527755, i64 -4573925997356725280, i64 -4747655313005287114, i64 -4573925986086905640, i64 -4747657808308824083, i64 -4573925974831506768, i64 -4747655042330210487, i64 -4573925963590491792, i64 -4747654610727317906, i64 -4573925952363824000, i64 -4747653734743695412, i64 -4573925941151466808, i64 -4747656457797068736, i64 -4573925929953383792, i64 -4747655660213878338, i64 -4573925918769538648, i64 -4747654658881334996, i64 -4573925907599895216, i64 -4747653625007264762, i64 -4573925896444417472, i64 -4747653596527006162, i64 -4573925885303069528, i64 -4747656094906101069, i64 -4573925874175815648, i64 -4747653948273730712, i64 -4573925863062620200, i64 -4747657301333634363, i64 -4573925851963447728, i64 -4747653656964544122, i64 -4573925840878262864, i64 -4747655881119973875, i64 -4573925829807030416, i64 -4747653453056004570, i64 -4573925818749715288, i64 -4747656076869309178, i64 -4573925807706282552, i64 -4747653732467394990, i64 -4573925796676697376, i64 -4747655893674550145, i64 -4573925785660925088, i64 -4747655981828334580, i64 -4573925774658931128, i64 -4747657394291339661, i64 -4573925763670681080, i64 -4747655554744979737, i64 -4573925752696140640, i64 -4747655150085693442, i64 -4573925741735275640, i64 -4747656583209212880, i64 -4573925730788052048, i64 -4747655622131481682, i64 -4573925719854435944, i64 -4747656245429835747, i64 -4573925708934393544, i64 -4747657101569602893, i64 -4573925698027891192, i64 -4747655562565129667, i64 -4573925687134895344, i64 -4747656177819738754, i64 -4573925676255372592, i64 -4747657139849725340, i64 -4573925665389289656, i64 -4747654344295304206, i64 -4573925654536613360, i64 -4747654248109932643, i64 -4573925643697310664, i64 -4747655943493990741, i64 -4573925632871348656, i64 -4747655224115666605, i64 -4573925622058694528, i64 -4747657449464359032, i64 -4573925611259315616, i64 -4747655226856462683, i64 -4573925600473179352, i64 -4747654473962351781, i64 -4573925589700253296, i64 -4747656502863061869, i64 -4573925578940505136, i64 -4747657698273184296, i64 -4573925568193902680, i64 -4747653595775924494, i64 -4573925557460413824, i64 -4747656156148954650, i64 -4573925546740006624, i64 -4747653867022614289, i64 -4573925536032649216, i64 -4747655409344666823, i64 -4573925525338309880, i64 -4747654160916674399, i64 -4573925514656956992, i64 -4747654274476438744, i64 -4573925503988559048, i64 -4747657175242963089, i64 -4573925493333084672, i64 -4747656856421884701, i64 -4573925482690502584, i64 -4747657166797354538, i64 -4573925472060781632, i64 -4747653915792277546, i64 -4573925461443890752, i64 -4747656562774273805, i64 -4573925450839799024, i64 -4747657131617411284, i64 -4573925440248475624, i64 -4747656301669383099, i64 -4573925429669889840, i64 -4747654316134401748, i64 -4573925419104011064, i64 -4747655086370547361, i64 -4573925408550808808, i64 -4747657103809726462, i64 -4573925398010252696, i64 -4747657547766638147, i64 -4573925387482312456, i64 -4747656394984650827, i64 -4573925376966957920, i64 -4747656132859619984, i64 -4573925366464159032, i64 -4747657076329292667, i64 -4573925355973885848, i64 -4747657084509069761, i64 -4573925345496108528, i64 -4747655677061977040, i64 -4573925335030797336, i64 -4747653754197774965, i64 -4573925324577922632, i64 -4747657716382281831, i64 -4573925314137454912, i64 -4747657197419484212, i64 -4573925303709364752, i64 -4747655575731884555, i64 -4573925293293622832, i64 -4747656506804189031, i64 -4573925282890199952, i64 -4747654855290401639, i64 -4573925272499067000, i64 -4747654017005419522, i64 -4573925262120194968, i64 -4747656854231630307, i64 -4573925251753554968, i64 -4747656632608305960, i64 -4573925241399118200, i64 -4747654347871680506, i64 -4573925231056855960, i64 -4747654063923002214, i64 -4573925220726739656, i64 -4747653854399608559, i64 -4573925210408740792, i64 -4747654337970673652, i64 -4573925200102830976, i64 -4747654021021234048, i64 -4573925189808981912, i64 -4747653437946320670, i64 -4573925179527165400, i64 -4747654894905023560, i64 -4573925169257353344, i64 -4747657817023936422, i64 -4573925158999517760, i64 -4747654097086025176, i64 -4573925148753630728, i64 -4747654232020116708, i64 -4573925138519664448, i64 -4747656286250488764, i64 -4573925128297591224, i64 -4747654438919592030, i64 -4573925118087383432, i64 -4747656328648196444, i64 -4573925107889013568, i64 -4747656419264780470, i64 -4573925097702454208, i64 -4747657745470929943, i64 -4573925087527678040, i64 -4747654077502638553, i64 -4573925077364657816, i64 -4747656067661415010, i64 -4573925067213366416, i64 -4747655825589203730, i64 -4573925057073776792, i64 -4747657465626292819, i64 -4573925046945862008, i64 -4747654878986839131, i64 -4573925036829595200, i64 -4747653487765761265, i64 -4573925026724949600, i64 -4747656815930383598, i64 -4573925016631898552, i64 -4747657459706089851, i64 -4573925006550415480, i64 -4747654447579275247, i64 -4573924996480473880, i64 -4747657407489805113, i64 -4573924986422047376, i64 -4747655550971305766, i64 -4573924976375109648, i64 -4747657027346508460, i64 -4573924966339634496, i64 -4747653512433806473, i64 -4573924956315595776, i64 -4747655167290989875, i64 -4573924946302967464, i64 -4747655229498971664, i64 -4573924936301723608, i64 -4747656178372077722, i64 -4573924926311838352, i64 -4747656319016454169, i64 -4573924916333285928, i64 -4747653959832614420, i64 -4573924906366040640, i64 -4747655989314039044, i64 -4573924896410076904, i64 -4747655667761253697, i64 -4573924886465369208, i64 -4747654400693655225, i64 -4573924876531892120, i64 -4747657125206556108, i64 -4573924866609620320, i64 -4747654503404694360, i64 -4573924856698528544, i64 -4747653495555143508, i64 -4573924846798591624, i64 -4747655157881711165, i64 -4573924836909784488, i64 -4747654431783423096, i64 -4573924827032082128, i64 -4747657526422553371, i64 -4573924817165459648, i64 -4747655322023079921, i64 -4573924807309892208, i64 -4747653948941418102, i64 -4573924797465355056, i64 -4747656989385324929, i64 -4573924787631823544, i64 -4747656476377838817, i64 -4573924777809273088, i64 -4747654680191091674, i64 -4573924767997679184, i64 -4747655109591179462, i64 -4573924758197017424, i64 -4747653514212070271, i64 -4573924748407263464, i64 -4747655276330077043, i64 -4573924738628393056, i64 -4747657619380258669, i64 -4573924728860382040, i64 -4747653807811971152, i64 -4573924719103206304, i64 -4747654940229692712, i64 -4573924709356841848, i64 -4747654569021126144, i64 -4573924699621264736, i64 -4747654893721126974, i64 -4573924689896451112, i64 -4747657771081017948, i64 -4573924680182377216, i64 -4747655726208239145, i64 -4573924670479019344, i64 -4747653751094827037, i64 -4573924660786353872, i64 -4747655919830026163, i64 -4573924651104357272, i64 -4747656402908657762, i64 -4573924641433006080, i64 -4747656870860878957, i64 -4573924631772276912, i64 -4747657510638330566, i64 -4573924622122146464, i64 -4747656839121946407, i64 -4573924612482591504, i64 -4747655915698149345, i64 -4573924602853588880, i64 -4747653759757188927, i64 -4573924593235115504, i64 -4747655963339515676, i64 -4573924583627148384, i64 -4747656916504982581, i64 -4573924574029664592, i64 -4747657218069470181, i64 -4573924564442641280, i64 -4747654699051270789, i64 -4573924554866055656, i64 -4747657437332394602, i64 -4573924545299885032, i64 -4747657190877232009, i64 -4573924535744106776, i64 -4747655608478943806, i64 -4573924526198698328, i64 -4747655257097044084, i64 -4573924516663637208, i64 -4747655048198510475, i64 -4573924507138901008, i64 -4747654461142715102, i64 -4573924497624467384, i64 -4747657767510983337, i64 -4573924488120314088, i64 -4747656266142100850, i64 -4573924478626418920, i64 -4747654499565357752, i64 -4573924469142759752, i64 -4747656888941387003, i64 -4573924459669314552, i64 -4747654369923410608, i64 -4573924450206061328, i64 -4747655009898063343, i64 -4573924440752978176, i64 -4747657451530141988, i64 -4573924431310043272, i64 -4747655143535649848, i64 -4573924421877234840, i64 -4747653766491283778, i64 -4573924412454531184, i64 -4747653475162976731, i64 -4573924403041910672, i64 -4747657529998929671, i64 -4573924393639351768, i64 -4747654541223320756, i64 -4573924384246832968, i64 -4747653490362255301, i64 -4573924374864332848, i64 -4747657179987073525, i64 -4573924365491830072, i64 -4747657674553174484, i64 -4573924356129303360, i64 -4747653732328844998, i64 -4573924346776731480, i64 -4747655044036534572, i64 -4573924337434093296, i64 -4747655686015102378, i64 -4573924328101367728, i64 -4747655952734846998, i64 -4573924318778533760, i64 -4747657801869280963, i64 -4573924309465570456, i64 -4747655902150896049, i64 -4573924300162456928, i64 -4747655070331226826, i64 -4573924290869172360, i64 -4747656922635336835, i64 -4573924281585696016, i64 -4747655323124134711, i64 -4573924272312007208, i64 -4747653823098899272, i64 -4573924263048085312, i64 -4747656713031275133, i64 -4573924253793909792, i64 -4747655677246215740, i64 -4573924244549460152, i64 -4747656031817943623, i64 -4573924235314715976, i64 -4747654584743701566, i64 -4573924226089656896, i64 -4747657079320549315, i64 -4573924216874262632, i64 -4747656055883074911, i64 -4573924207668512944, i64 -4747657092827347813, i64 -4573924198472387672, i64 -4747656669893010430, i64 -4573924189285866712, i64 -4747655216582395479, i64 -4573924180108930016, i64 -4747656967200258666, i64 -4573924170941557616, i64 -4747656622509373302, i64 -4573924161783729592, i64 -4747656798462379122, i64 -4573924152635426096, i64 -4747654689354045424, i64 -4573924143496627328, i64 -4747655119993942568, i64 -4573924134367313560, i64 -4747657210336771995, i64 -4573924125247465136, i64 -4747654234984371682, i64 -4573924116137062432, i64 -4747655473647869388, i64 -4573924107036085912, i64 -4747655285774778073, i64 -4573924097944516088, i64 -4747654962452815784, i64 -4573924088862333536, i64 -4747653792702287252, i64 -4573924079789518880, i64 -4747657722664229711, i64 -4573924070726052832, i64 -4747657229168313021, i64 -4573924061671916144, i64 -4747653572513337847, i64 -4573924052627089616, i64 -4747654263618807200, i64 -4573924043591554128, i64 -4747655337729322093, i64 -4573924034565290616, i64 -4747654415132649481, i64 -4573924025548280064, i64 -4747654966468630310, i64 -4573924016540503520, i64 -4747657384578214621, i64 -4573924007541942104, i64 -4747654455074496325, i64 -4573923998552576960, i64 -4747657613910672261, i64 -4573923989572389328, i64 -4747657234917568883, i64 -4573923980601360480, i64 -4747657684795008859, i64 -4573923971639471760, i64 -4747655204157630574, i64 -4573923962686704552, i64 -4747655371654379784, i64 -4573923953743040312, i64 -4747655384366988292, i64 -4573923944808460544, i64 -4747657125181138233, i64 -4573923935882946824, i64 -4747653842521727848, i64 -4573923926966480752, i64 -4747656413145993481, i64 -4573923918059044024, i64 -4747653634874337219, i64 -4573923909160618352, i64 -4747656082836381112, i64 -4573923900271185536, i64 -4747656403460996730, i64 -4573923891390727416, i64 -4747655579787885351, i64 -4573923882519225888, i64 -4747654013027177977, i64 -4573923873656662896, i64 -4747655798874928568, i64 -4573923864803020456, i64 -4747655412255200401, i64 -4573923855958280624, i64 -4747655178996671545, i64 -4573923847122425512, i64 -4747656359835444925, i64 -4573923838295437296, i64 -4747654633065996336, i64 -4573923829477298184, i64 -4747657568022685990, i64 -4573923820667990472, i64 -4747653720644062516, i64 -4573923811867496464, i64 -4747656496418702028, i64 -4573923803075798560, i64 -4747655654941617018, i64 -4573923794292879184, i64 -4747656775984671789, i64 -4573923785518720832, i64 -4747654755449621808, i64 -4573923776753306032, i64 -4747655680409596099, i64 -4573923767996617384, i64 -4747654724258844049, i64 -4573923759248637528, i64 -4747653624851036179, i64 -4573923750509349152, i64 -4747656172971565779, i64 -4573923741778735016, i64 -4747654905280010682, i64 -4573923733056777904, i64 -4747657380231026711, i64 -4573923724343460680, i64 -4747655279947101121, i64 -4573923715638766232, i64 -4747655085295661515, i64 -4573923706942677512, i64 -4747655974957970070, i64 -4573923698255177528, i64 -4747654113323744156, i64 -4573923689576249320, i64 -4747655735022222672, i64 -4573923680905876000, i64 -4747655045621353108, i64 -4573923672244040712, i64 -4747656103329107427, i64 -4573923663590726664, i64 -4747655118810045982, i64 -4573923654945917104, i64 -4747653541858159127, i64 -4573923646309595328, i64 -4747653556411238023, i64 -4573923637681744688, i64 -4747653576089714148, i64 -4573923629062348576, i64 -4747656934396417230, i64 -4573923620451390456, i64 -4747654187155589198, i64 -4573923611848853808, i64 -4747653793978801405, i64 -4573923603254722176, i64 -4747655625638487936], [513 x i64] [i64 -9223372036854775808, i64 -4656730799357619994, i64 -4652235961580581952, i64 -4649986329498079596, i64 -4647749817633577079, i64 -4646616225673795623, i64 -4645502291506296201, i64 -4644390505718466484, i64 -4643280860039347228, i64 -4642692281032315929, i64 -4642139585990187659, i64 -4641587948738260087, i64 -4641037365235306213, i64 -4640487831463213804, i64 -4639939343426809448, i64 -4639391897153684284, i64 -4638845488694021376, i64 -4638503865156017802, i64 -4638231692859680384, i64 -4637960033612273549, i64 -4637688885483225760, i64 -4637418246552841956, i64 -4637148114912221995, i64 -4636878488663179880, i64 -4636609365918163716, i64 -4636340744800176433, i64 -4636072623442697237, i64 -4635804999989603787, i64 -4635537872595095105, i64 -4635271239423615187, i64 -4635005098649777326, i64 -4634739448458289130, i64 -4634474287043878234, i64 -4634209612611218685, i64 -4634074719969549199, i64 -4633942867061692674, i64 -4633811254981199135, i64 -4633679882849937084, i64 -4633548749794569193, i64 -4633417854946517473, i64 -4633287197441928751, i64 -4633156776421640466, i64 -4633026591031146768, i64 -4632896640420564928, i64 -4632766923744602049, i64 -4632637440162522072, i64 -4632508188838113084, i64 -4632379168939654916, i64 -4632250379639887028, i64 -4632121820115976685, i64 -4631993489549487411, i64 -4631865387126347734, i64 -4631737512036820191, i64 -4631609863475470626, i64 -4631482440641137747, i64 -4631355242736902956, i64 -4631228268970060445, i64 -4631101518552087554, i64 -4630974990698615391, i64 -4630848684629399707, i64 -4630722599568292029, i64 -4630596734743211039, i64 -4630471089386114211, i64 -4630345662732969689, i64 -4630220454023728410, i64 -4630095462502296473, i64 -4629970687416507738, i64 -4629846128018096673, i64 -4629721783562671429, i64 -4629649035123278517, i64 -4629587076729644690, i64 -4629525224702404157, i64 -4629463478676976039, i64 -4629401838290650703, i64 -4629340303182576980, i64 -4629278872993749487, i64 -4629217547366996064, i64 -4629156325946965309, i64 -4629095208380114229, i64 -4629034194314695982, i64 -4628973283400747741, i64 -4628912475290078639, i64 -4628851769636257837, i64 -4628791166094602673, i64 -4628730664322166924, i64 -4628670263977729162, i64 -4628609964721781206, i64 -4628549766216516672, i64 -4628489668125819618, i64 -4628429670115253283, i64 -4628369771852048923, i64 -4628309973005094734, i64 -4628250273244924872, i64 -4628190672243708561, i64 -4628131169675239290, i64 -4628071765214924103, i64 -4628012458539772972, i64 -4627953249328388264, i64 -4627894137260954287, i64 -4627835122019226926, i64 -4627776203286523363, i64 -4627717380747711883, i64 -4627658654089201755, i64 -4627600022998933209, i64 -4627541487166367479, i64 -4627483046282476940, i64 -4627424700039735317, i64 -4627366448132107975, i64 -4627308290255042287, i64 -4627250226105458085, i64 -4627192255381738175, i64 -4627134377783718946, i64 -4627076593012681036, i64 -4627018900771340086, i64 -4626961300763837565, i64 -4626903792695731660, i64 -4626846376273988253, i64 -4626789051206971955, i64 -4626731817204437223, i64 -4626674673977519540, i64 -4626617621238726669, i64 -4626560658701929972, i64 -4626503786082355804, i64 -4626447003096576965, i64 -4626390309462504234, i64 -4626333704899377950, i64 -4626277189127759679, i64 -4626220761869523931, i64 -4626164422847849950, i64 -4626108171787213566, i64 -4626052008413379108, i64 -4625995932453391385, i64 -4625939943635567727, i64 -4625884041689490082, i64 -4625828226345997187, i64 -4625772497337176785, i64 -4625716854396357914, i64 -4625661297258103249, i64 -4625605825658201504, i64 -4625550439333659893, i64 -4625495138022696650, i64 -4625439921464733603, i64 -4625384789400388809, i64 -4625329741571469243, i64 -4625274777720963541, i64 -4625219897593034804, i64 -4625180959121256419, i64 -4625153602398444753, i64 -4625126287156654015, i64 -4625099013270279226, i64 -4625071780614285043, i64 -4625044589064202321, i64 -4625017438496124701, i64 -4624990328786705219, i64 -4624963259813152949, i64 -4624936231453229660, i64 -4624909243585246507, i64 -4624882296088060745, i64 -4624855388841072464, i64 -4624828521724221350, i64 -4624801694617983474, i64 -4624774907403368099, i64 -4624748159961914513, i64 -4624721452175688887, i64 -4624694783927281157, i64 -4624668155099801922, i64 -4624641565576879373, i64 -4624615015242656244, i64 -4624588503981786778, i64 -4624562031679433724, i64 -4624535598221265350, i64 -4624509203493452483, i64 -4624482847382665565, i64 -4624456529776071735, i64 -4624430250561331931, i64 -4624404009626598013, i64 -4624377806860509903, i64 -4624351642152192756, i64 -4624325515391254139, i64 -4624299426467781240, i64 -4624273375272338091, i64 -4624247361695962818, i64 -4624221385630164901, i64 -4624195446966922463, i64 -4624169545598679574, i64 -4624143681418343574, i64 -4624117854319282416, i64 -4624092064195322032, i64 -4624066310940743708, i64 -4624040594450281490, i64 -4624014914619119596, i64 -4623989271342889860, i64 -4623963664517669182, i64 -4623938094039976999, i64 -4623912559806772783, i64 -4623887061715453545, i64 -4623861599663851359, i64 -4623836173550230913, i64 -4623810783273287062, i64 -4623785428732142413, i64 -4623760109826344915, i64 -4623734826455865474, i64 -4623709578521095581, i64 -4623684365922844958, i64 -4623659188562339220, i64 -4623634046341217550, i64 -4623608939161530398, i64 -4623583866925737191, i64 -4623558829536704054, i64 -4623533826897701558, i64 -4623508858912402476, i64 -4623483925484879556, i64 -4623459026519603307, i64 4599891994438806559, i64 4599867164113015276, i64 4599842367965246894, i64 4599817605901541168, i64 4599792877828324786, i64 4599768183652409249, i64 4599743523280988761, i64 4599718896621638139, i64 4599694303582310732, i64 4599669744071336361, i64 4599645217997419262, i64 4599620725269636056, i64 4599596265797433724, i64 4599571839490627600, i64 4599547446259399370, i64 4599523086014295100, i64 4599498758666223258, i64 4599474464126452767, i64 4599450202306611056, i64 4599425973118682139, i64 4599401776475004691, i64 4599377612288270153, i64 4599353480471520834, i64 4599329380938148039, i64 4599305313601890204, i64 4599281278376831038, i64 4599257275177397690, i64 4599233303918358916, i64 4599209364514823263, i64 4599185456882237268, i64 4599161580936383666, i64 4599137736593379607, i64 4599113923769674891, i64 4599090142382050209, i64 4599066392347615400, i64 4599042673583807716, i64 4599018986008390100, i64 4598995329539449478, i64 4598971704095395054, i64 4598948109594956628, i64 4598924545957182911, i64 4598901013101439868, i64 4598877510947409053, i64 4598854039415085970, i64 4598830598424778439, i64 4598807187897104969, i64 4598783807752993147, i64 4598760457913678036, i64 4598737138300700583, i64 4598713848835906036, i64 4598690589441442373, i64 4598667360039758741, i64 4598644160553603903, i64 4598620990906024698, i64 4598597851020364511, i64 4598574740820261747, i64 4598551660229648323, i64 4598528609172748163, i64 4598505587574075707, i64 4598482595358434428, i64 4598459632450915356, i64 4598436698776895617, i64 4598413794262036975, i64 4598390918832284387, i64 4598368072413864569, i64 4598345254933284564, i64 4598322466317330327, i64 4598299706493065314, i64 4598276975387829082, i64 4598254272929235896, i64 4598231599045173346, i64 4598208953663800977, i64 4598186336713548915, i64 4598152276700956621, i64 4598107156097665630, i64 4598062091930415993, i64 4598017084058205680, i64 4597972132340560425, i64 4597927236637531102, i64 4597882396809691110, i64 4597837612718133770, i64 4597792884224469749, i64 4597748211190824490, i64 4597703593479835666, i64 4597659030954650642, i64 4597614523478923957, i64 4597570070916814825, i64 4597525673132984640, i64 4597481329992594512, i64 4597437041361302805, i64 4597392807105262693, i64 4597348627091119739, i64 4597304501186009480, i64 4597260429257555026, i64 4597216411173864684, i64 4597172446803529585, i64 4597128536015621329, i64 4597084678679689652, i64 4597040874665760095, i64 4596997123844331693, i64 4596953426086374681, i64 4596909781263328210, i64 4596866189247098075, i64 4596822649910054461, i64 4596779163125029702, i64 4596735728765316052, i64 4596692346704663469, i64 4596649016817277411, i64 4596605738977816654, i64 4596562513061391109, i64 4596519338943559665, i64 4596476216500328036, i64 4596433145608146627, i64 4596390126143908408, i64 4596347157984946805, i64 4596304241009033599, i64 4596261375094376841, i64 4596218560119618777, i64 4596175795963833791, i64 4596133082506526348, i64 4596090419627628965, i64 4596047807207500180, i64 4596005245126922543, i64 4595962733267100610, i64 4595920271509658959, i64 4595877859736640208, i64 4595835497830503052, i64 4595793185674120307, i64 4595750923150776966, i64 4595708710144168269, i64 4595666546538397780, i64 4595624432217975484, i64 4595582367067815879, i64 4595540350973236099, i64 4595498383819954033, i64 4595456465494086458, i64 4595414595882147190, i64 4595372774871045238, i64 4595331002348082969, i64 4595289278200954290, i64 4595247602317742833, i64 4595205974586920157, i64 4595164394897343954, i64 4595122863138256269, i64 4595081379199281733, i64 4595039942970425800, i64 4594998554342072996, i64 4594957213204985185, i64 4594915919450299831, i64 4594874672969528284, i64 4594833473654554068, i64 4594792321397631180, i64 4594751216091382399, i64 4594710157628797609, i64 4594669145903232121, i64 4594628180808405014, i64 4594587262238397486, i64 4594546390087651205, i64 4594505564250966678, i64 4594464784623501626, i64 4594424051100769369, i64 4594383363578637221, i64 4594342721953324887, i64 4594302126121402882, i64 4594261575979790947, i64 4594221071425756481, i64 4594180612356912978, i64 4594140198671218474, i64 4594099830266974004, i64 4594059507042822065, i64 4594019228897745091, i64 4593978995731063932, i64 4593938807442436347, i64 4593898663931855501, i64 4593858565099648469, i64 4593818510846474759, i64 4593778501073324824, i64 4593738535681518605, i64 4593698614572704064, i64 4593645855379805542, i64 4593566189706640610, i64 4593486612013254107, i64 4593407122105537251, i64 4593327719790022944, i64 4593248404873882942, i64 4593169177164925051, i64 4593090036471590329, i64 4593010982602950306, i64 4592932015368704226, i64 4592853134579176292, i64 4592774340045312936, i64 4592695631578680099, i64 4592617008991460529, i64 4592538472096451089, i64 4592460020707060084, i64 4592381654637304604, i64 4592303373701807872, i64 4592225177715796620, i64 4592147066495098467, i64 4592069039856139320, i64 4591991097615940780, i64 4591913239592117576, i64 4591835465602874996, i64 4591757775467006345, i64 4591680169003890408, i64 4591602646033488937, i64 4591525206376344136, i64 4591447849853576176, i64 4591370576286880713, i64 4591293385498526419, i64 4591216277311352537, i64 4591139251548766433, i64 4591062308034741174, i64 4590985446593813114, i64 4590908667051079491, i64 4590831969232196043, i64 4590755352963374629, i64 4590678818071380868, i64 4590602364383531786, i64 4590525991727693484, i64 4590449699932278808, i64 4590373488826245037, i64 4590297358239091583, i64 4590221308000857700, i64 4590145337942120212, i64 4590069447893991243, i64 4589993637688115969, i64 4589917907156670373, i64 4589842256132359017, i64 4589766684448412830, i64 4589691191938586891, i64 4589615778437158247, i64 4589540443778923721, i64 4589465187799197745, i64 4589390010333810199, i64 4589314911219104263, i64 4589239890291934276, i64 4589161874488791809, i64 4589012144409789731, i64 4588862569733077116, i64 4588713150136409627, i64 4588563885298544206, i64 4588414774899234927, i64 4588265818619228876, i64 4588117016140262046, i64 4587968367145055264, i64 4587819871317310125, i64 4587671528341704956, i64 4587523337903890801, i64 4587375299690487420, i64 4587227413389079316, i64 4587079678688211779, i64 4586932095277386948, i64 4586784662847059898, i64 4586637381088634743, i64 4586490249694460760, i64 4586343268357828536, i64 4586196436772966127, i64 4586049754635035247, i64 4585903221640127466, i64 4585756837485260434, i64 4585610601868374123, i64 4585464514488327086, i64 4585318575044892735, i64 4585172783238755642, i64 4585027138771507853, i64 4584881641345645226, i64 4584736290664563780, i64 4584517752201947222, i64 4584227636046450257, i64 4583937811611621378, i64 4583648278311381746, i64 4583359035561416934, i64 4583070082779169855, i64 4582781419383833717, i64 4582493044796345023, i64 4582204958439376595, i64 4581917159737330646, i64 4581629648116331877, i64 4581342423004220609, i64 4581055483830545954, i64 4580768830026559016, i64 4580482461025206128, i64 4580196376261122119, i64 4579660329305452812, i64 4579089293347610374, i64 4578518822492243042, i64 4577948915621995178, i64 4577379571622821830, i64 4576810789383975664, i64 4576242567797993961, i64 4575674905760685681, i64 4574558382933813243, i64 4573425290454788948, i64 4572293310486968546, i64 4571162440847887157, i64 4568911736941938112, i64 4566654425935218846, i64 4562148622982273161, i64 0], [4 x i64] [i64 4596373792902302986, i64 -4625196811806208287, i64 4599676419421062085, i64 -4620693217682130913], i64 4503599627370495, i64 4562146422526312448, i64 4503599627370496, i64 9218868437227405311, i64 -67108864, i64 4607182418800017408, i64 4604418534313426944, i64 4430688377387220992, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, i64 4604418534313441775, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_116__dln_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [210 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072660480] }, { [2 x i32] } { [2 x i32] [i32 1486880768, i32 1066410070] }, { [2 x i32] } { [2 x i32] [i32 1813744607, i32 -1115074703] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072629760] }, { [2 x i32] } { [2 x i32] [i32 377487360, i32 1067416219] }, { [2 x i32] } { [2 x i32] [i32 919019713, i32 -1115726167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072599040] }, { [2 x i32] } { [2 x i32] [i32 1513619456, i32 1067944025] }, { [2 x i32] } { [2 x i32] [i32 874573033, i32 -1116454356] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072570368] }, { [2 x i32] } { [2 x i32] [i32 -1073217536, i32 1068427825] }, { [2 x i32] } { [2 x i32] [i32 -113302290, i32 -1117489084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072541696] }, { [2 x i32] } { [2 x i32] [i32 -132644864, i32 1068708823] }, { [2 x i32] } { [2 x i32] [i32 627020255, i32 1028629941] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072513024] }, { [2 x i32] } { [2 x i32] [i32 183107584, i32 1068957907] }, { [2 x i32] } { [2 x i32] [i32 -1918263827, i32 1030233118] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072486400] }, { [2 x i32] } { [2 x i32] [i32 1053425664, i32 1069192557] }, { [2 x i32] } { [2 x i32] [i32 696277142, i32 1030474863] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072459776] }, { [2 x i32] } { [2 x i32] [i32 -298844160, i32 1069430535] }, { [2 x i32] } { [2 x i32] [i32 -1664168616, i32 1028792016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072435200] }, { [2 x i32] } { [2 x i32] [i32 -842203136, i32 1069600382] }, { [2 x i32] } { [2 x i32] [i32 624954044, i32 -1117865555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072409600] }, { [2 x i32] } { [2 x i32] [i32 207650816, i32 1069717971] }, { [2 x i32] } { [2 x i32] [i32 -1022231660, i32 -1119790721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072386048] }, { [2 x i32] } { [2 x i32] [i32 -1647738880, i32 1069827627] }, { [2 x i32] } { [2 x i32] [i32 -700738584, i32 1029303785] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072362496] }, { [2 x i32] } { [2 x i32] [i32 -1582956544, i32 1069938736] }, { [2 x i32] } { [2 x i32] [i32 -641724527, i32 -1118128283] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072338944] }, { [2 x i32] } { [2 x i32] [i32 374439936, i32 1070051337] }, { [2 x i32] } { [2 x i32] [i32 -222191722, i32 -1118389801] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072316416] }, { [2 x i32] } { [2 x i32] [i32 -587792384, i32 1070160474] }, { [2 x i32] } { [2 x i32] [i32 1486946159, i32 1023930920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072294912] }, { [2 x i32] } { [2 x i32] [i32 1443954688, i32 1070265993] }, { [2 x i32] } { [2 x i32] [i32 293532967, i32 -1118689019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072273408] }, { [2 x i32] } { [2 x i32] [i32 127762432, i32 1070372856] }, { [2 x i32] } { [2 x i32] [i32 -890821849, i32 -1117943341] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072252928] }, { [2 x i32] } { [2 x i32] [i32 2053832704, i32 1070475911] }, { [2 x i32] } { [2 x i32] [i32 1575076358, i32 1029048544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072232448] }, { [2 x i32] } { [2 x i32] [i32 -1100873728, i32 1070580248] }, { [2 x i32] } { [2 x i32] [i32 1864169120, i32 1026866084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072212992] }, { [2 x i32] } { [2 x i32] [i32 -377765888, i32 1070638340] }, { [2 x i32] } { [2 x i32] [i32 -1932822050, i32 -1119361099] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193536] }, { [2 x i32] } { [2 x i32] [i32 -877854720, i32 1070689116] }, { [2 x i32] } { [2 x i32] [i32 70087871, i32 -1120783719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072175104] }, { [2 x i32] } { [2 x i32] [i32 -68190208, i32 1070737793] }, { [2 x i32] } { [2 x i32] [i32 1620410586, i32 -1120267231] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072156672] }, { [2 x i32] } { [2 x i32] [i32 -1126096896, i32 1070787042] }, { [2 x i32] } { [2 x i32] [i32 311238082, i32 1025781772] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072139264] }, { [2 x i32] } { [2 x i32] [i32 -2144387072, i32 1070834092] }, { [2 x i32] } { [2 x i32] [i32 1664262457, i32 -1119668072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072120832] }, { [2 x i32] } { [2 x i32] [i32 -199294976, i32 1070884491] }, { [2 x i32] } { [2 x i32] [i32 1657121015, i32 -1120293097] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072104448] }, { [2 x i32] } { [2 x i32] [i32 -1699389440, i32 1070929805] }, { [2 x i32] } { [2 x i32] [i32 2014006823, i32 -1119543466] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072087040] }, { [2 x i32] } { [2 x i32] [i32 -547790848, i32 1070978493] }, { [2 x i32] } { [2 x i32] [i32 144991708, i32 -1123415254] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072070656] }, { [2 x i32] } { [2 x i32] [i32 1050435584, i32 1071024840] }, { [2 x i32] } { [2 x i32] [i32 -908739864, i32 1027876916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072055296] }, { [2 x i32] } { [2 x i32] [i32 255516672, i32 1071068760] }, { [2 x i32] } { [2 x i32] [i32 -1657372980, i32 1028049573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072038912] }, { [2 x i32] } { [2 x i32] [i32 1640783872, i32 1071116120] }, { [2 x i32] } { [2 x i32] [i32 893247007, i32 1028452162] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072023552] }, { [2 x i32] } { [2 x i32] [i32 -1354555392, i32 1071161011] }, { [2 x i32] } { [2 x i32] [i32 813240633, i32 1027664048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072009216] }, { [2 x i32] } { [2 x i32] [i32 882917376, i32 1071203348] }, { [2 x i32] } { [2 x i32] [i32 -1918369745, i32 -1119138529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071993856] }, { [2 x i32] } { [2 x i32] [i32 213966848, i32 1071249188] }, { [2 x i32] } { [2 x i32] [i32 -1317763171, i32 1028350609] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071979520] }, { [2 x i32] } { [2 x i32] [i32 -1373462528, i32 1071292428] }, { [2 x i32] } { [2 x i32] [i32 523218347, i32 1028007004] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071965184] }, { [2 x i32] } { [2 x i32] [i32 -1108312064, i32 1071336119] }, { [2 x i32] } { [2 x i32] [i32 -1942059405, i32 1026967097] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071951872] }, { [2 x i32] } { [2 x i32] [i32 -1641603072, i32 1071377101] }, { [2 x i32] } { [2 x i32] [i32 -1841548713, i32 -1120617784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938560] }, { [2 x i32] } { [2 x i32] [i32 -535183360, i32 1071418487] }, { [2 x i32] } { [2 x i32] [i32 -609096893, i32 -1119551685] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071925248] }, { [2 x i32] } { [2 x i32] [i32 -1826603008, i32 1071460286] }, { [2 x i32] } { [2 x i32] [i32 1578908842, i32 -1119456779] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071911936] }, { [2 x i32] } { [2 x i32] [i32 81903616, i32 1071502506] }, { [2 x i32] } { [2 x i32] [i32 770710269, i32 1026742353] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071899648] }, { [2 x i32] } { [2 x i32] [i32 -1495646208, i32 1071541858] }, { [2 x i32] } { [2 x i32] [i32 -472701111, i32 1028434427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071886336] }, { [2 x i32] } { [2 x i32] [i32 2142265344, i32 1071584911] }, { [2 x i32] } { [2 x i32] [i32 175901806, i32 -1121095756] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071874048] }, { [2 x i32] } { [2 x i32] [i32 -1350942720, i32 1071625048] }, { [2 x i32] } { [2 x i32] [i32 -1547606893, i32 1027672159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071862784] }, { [2 x i32] } { [2 x i32] [i32 -860665856, i32 1071653426] }, { [2 x i32] } { [2 x i32] [i32 -100305100, i32 -1121074293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071850496] }, { [2 x i32] } { [2 x i32] [i32 1547755520, i32 1071673870] }, { [2 x i32] } { [2 x i32] [i32 -46202615, i32 -1122208209] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071839232] }, { [2 x i32] } { [2 x i32] [i32 -47980544, i32 1071692786] }, { [2 x i32] } { [2 x i32] [i32 -1454761658, i32 -1120536385] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071826944] }, { [2 x i32] } { [2 x i32] [i32 -876576768, i32 1071713619] }, { [2 x i32] } { [2 x i32] [i32 -1253086473, i32 1025440860] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071816704] }, { [2 x i32] } { [2 x i32] [i32 -151873536, i32 1071731139] }, { [2 x i32] } { [2 x i32] [i32 -1567379895, i32 -1121002089] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071805440] }, { [2 x i32] } { [2 x i32] [i32 -1173641216, i32 1071750582] }, { [2 x i32] } { [2 x i32] [i32 -1121079604, i32 -1120777133] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071794176] }, { [2 x i32] } { [2 x i32] [i32 1852893184, i32 1071770207] }, { [2 x i32] } { [2 x i32] [i32 -343907044, i32 1027348295] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071783936] }, { [2 x i32] } { [2 x i32] [i32 -658587648, i32 1071788208] }, { [2 x i32] } { [2 x i32] [i32 1684924001, i32 -1120190210] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071773696] }, { [2 x i32] } { [2 x i32] [i32 516505600, i32 1071806366] }, { [2 x i32] } { [2 x i32] [i32 429181199, i32 -1121756263] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071763456] }, { [2 x i32] } { [2 x i32] [i32 -108781568, i32 1071824681] }, { [2 x i32] } { [2 x i32] [i32 2044904577, i32 -1120000164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753216] }, { [2 x i32] } { [2 x i32] [i32 877596672, i32 1071843159] }, { [2 x i32] } { [2 x i32] [i32 1396318105, i32 -1121007569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742976] }, { [2 x i32] } { [2 x i32] [i32 -1382182912, i32 1071861800] }, { [2 x i32] } { [2 x i32] [i32 448136789, i32 -1120153104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071733760] }, { [2 x i32] } { [2 x i32] [i32 -572141568, i32 1071878720] }, { [2 x i32] } { [2 x i32] [i32 714165913, i32 -1121527736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071723520] }, { [2 x i32] } { [2 x i32] [i32 -1772593152, i32 1071897682] }, { [2 x i32] } { [2 x i32] [i32 -1067726943, i32 -1121572973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071714304] }, { [2 x i32] } { [2 x i32] [i32 -129556480, i32 1071914895] }, { [2 x i32] } { [2 x i32] [i32 1365684961, i32 -1120602236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071705088] }, { [2 x i32] } { [2 x i32] [i32 -817831936, i32 1071932251] }, { [2 x i32] } { [2 x i32] [i32 368482985, i32 -1120826475] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695872] }, { [2 x i32] } { [2 x i32] [i32 2079455232, i32 1071949752] }, { [2 x i32] } { [2 x i32] [i32 1320576317, i32 1026822714] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071687680] }, { [2 x i32] } { [2 x i32] [i32 851795968, i32 1071965432] }, { [2 x i32] } { [2 x i32] [i32 -592500270, i32 1025224125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071678464] }, { [2 x i32] } { [2 x i32] [i32 647743488, i32 1071983213] }, { [2 x i32] } { [2 x i32] [i32 772992109, i32 -1120928837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071670272] }, { [2 x i32] } { [2 x i32] [i32 26537984, i32 1071999146] }, { [2 x i32] } { [2 x i32] [i32 -1934753020, i32 -1120106021] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661056] }, { [2 x i32] } { [2 x i32] [i32 1547061248, i32 1072017216] }, { [2 x i32] } { [2 x i32] [i32 -1408185861, i32 1026423395] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071652864] }, { [2 x i32] } { [2 x i32] [i32 -1440475136, i32 1072033410] }, { [2 x i32] } { [2 x i32] [i32 215631550, i32 1025638968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 -17156096, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -1815648464, i32 1026487127] }, { [2 x i32] } { [2 x i32] [i32 -17156096, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -1815648464, i32 1026487127] }, { [2 x i32] } { [2 x i32] [i32 64, i32 1120927744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1094713344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1065615360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1135607808] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }, { [2 x i32] } { [2 x i32] [i32 1431655955, i32 1070945621] }, { [2 x i32] } { [2 x i32] [i32 610, i32 -1076887552] }, { [2 x i32] } { [2 x i32] [i32 -1749848959, i32 1070176665] }, { [2 x i32] } { [2 x i32] [i32 1378399119, i32 -1077586603] }, { [2 x i32] } { [2 x i32] [i32 612435357, i32 1069697472] }, { [2 x i32] } { [2 x i32] [i32 94536557, i32 -1077935948] }], align 8 +@_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_136__devicelib_imf_internal_dlog10_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_log10_d_ha::(anonymous namespace)::__devicelib_imf_internal_dlog10_data_t" { [514 x i64] [i64 -4579252137909374848, i64 -4747233275463220736, i64 -4579252120721090192, i64 -4747223062663041199, i64 -4579252103571387536, i64 -4747224044506787172, i64 -4579252086460094096, i64 -4747226295573059269, i64 -4579252069387038224, i64 -4747226095120521125, i64 -4579252052352049408, i64 -4747223086805669894, i64 -4579252035354958240, i64 -4747226266087503231, i64 -4579252018395596512, i64 -4747224814433186374, i64 -4579252001473797072, i64 -4747224934980213217, i64 -4579251984589393904, i64 -4747225145898386335, i64 -4579251967742222080, i64 -4747226788073302650, i64 -4579251950932117776, i64 -4747226970157838542, i64 -4579251934158918240, i64 -4747224736927915163, i64 -4579251917422461776, i64 -4747222868373172098, i64 -4579251900722587744, i64 -4747225309145087094, i64 -4579251884059136592, i64 -4747225829944331235, i64 -4579251867431949792, i64 -4747223104853411381, i64 -4579251850840869808, i64 -4747227019882038112, i64 -4579251834285740208, i64 -4747225426044636157, i64 -4579251817766405504, i64 -4747225685829653808, i64 -4579251801282711248, i64 -4747225877181452999, i64 -4579251784834503984, i64 -4747225605818395161, i64 -4579251768421631248, i64 -4747223648994927306, i64 -4579251752043941536, i64 -4747224420611174319, i64 -4579251735701284336, i64 -4747226869066848237, i64 -4579251719393510112, i64 -4747226593865772482, i64 -4579251703120470256, i64 -4747226782609990492, i64 -4579251686882017136, i64 -4747222783701529832, i64 -4579251670678004000, i64 -4747226285144248243, i64 -4579251654508285120, i64 -4747223546028777086, i64 -4579251638372715600, i64 -4747226010078689621, i64 -4579251622271151536, i64 -4747224184966015020, i64 -4579251606203449872, i64 -4747225107015448986, i64 -4579251590169468496, i64 -4747223857432504074, i64 -4579251574169066160, i64 -4747223478985663344, i64 -4579251558202102512, i64 -4747224128030197177, i64 -4579251542268438080, i64 -4747225442067630678, i64 -4579251526367934272, i64 -4747224530387643411, i64 -4579251510500453344, i64 -4747222781668645094, i64 -4579251494665858400, i64 -4747223896091512915, i64 -4579251478864013424, i64 -4747223141710777101, i64 -4579251463094783216, i64 -4747223019203324730, i64 -4579251447358033408, i64 -4747226956234614461, i64 -4579251431653630512, i64 -4747224225337124182, i64 -4579251415981441792, i64 -4747223259664379907, i64 -4579251400341335360, i64 -4747223415219949940, i64 -4579251384733180128, i64 -4747226334396722517, i64 -4579251369156845840, i64 -4747225337944219973, i64 -4579251353612202992, i64 -4747225621694282430, i64 -4579251338099122896, i64 -4747224889076380860, i64 -4579251322617477632, i64 -4747224787945360027, i64 -4579251307167140064, i64 -4747224772991745710, i64 -4579251291747983824, i64 -4747224781798522607, i64 -4579251276359883312, i64 -4747223530192722819, i64 -4579251261002713664, i64 -4747225620822216158, i64 -4579251245676350800, i64 -4747226678425919318, i64 -4579251230380671376, i64 -4747224890105730535, i64 -4579251215115552768, i64 -4747223766027629032, i64 -4579251199880873088, i64 -4747226120354265529, i64 -4579251184676511216, i64 -4747223670260634948, i64 -4579251169502346688, i64 -4747226233305732212, i64 -4579251154358259824, i64 -4747224969854381533, i64 -4579251139244131600, i64 -4747226009804164964, i64 -4579251124159843728, i64 -4747226920084293102, i64 -4579251109105278624, i64 -4747223973674847427, i64 -4579251094080319360, i64 -4747223831688037659, i64 -4579251079084849728, i64 -4747224453962558539, i64 -4579251064118754192, i64 -4747226810647799431, i64 -4579251049181917920, i64 -4747224618047758124, i64 -4579251019395567040, i64 -4747224433623504554, i64 -4579250989724891600, i64 -4747224353289873141, i64 -4579250960168996624, i64 -4747223894626527386, i64 -4579250930726997472, i64 -4747225493085075542, i64 -4579250901398019712, i64 -4747226015366664086, i64 -4579250872181198928, i64 -4747226700001235252, i64 -4579250843075680592, i64 -4747226321670125032, i64 -4579250814080619904, i64 -4747223948971873157, i64 -4579250785195181616, i64 -4747226879497242483, i64 -4579250756418539984, i64 -4747224152184244002, i64 -4579250727749878480, i64 -4747226774874890838, i64 -4579250699188389808, i64 -4747225116793009482, i64 -4579250670733275632, i64 -4747226177400092314, i64 -4579250642383746544, i64 -4747225580252841765, i64 -4579250614139021872, i64 -4747224227593650260, i64 -4579250585998329568, i64 -4747223629942685986, i64 -4579250557960906080, i64 -4747226284323177076, i64 -4579250530025996272, i64 -4747223494661268791, i64 -4579250502192853200, i64 -4747223397009973014, i64 -4579250474460738080, i64 -4747226817065261019, i64 -4579250446828920176, i64 -4747225713552945438, i64 -4579250419296676608, i64 -4747224194607588305, i64 -4579250391863292288, i64 -4747224919983733695, i64 -4579250364528059824, i64 -4747224857323959517, i64 -4579250337290279376, i64 -4747224778595115647, i64 -4579250310149258560, i64 -4747226096775329026, i64 -4579250283104312368, i64 -4747223827534831601, i64 -4579250256154762992, i64 -4747226451166470922, i64 -4579250229299939840, i64 -4747223499131353555, i64 -4579250202539179296, i64 -4747223999989318021, i64 -4579250175871824736, i64 -4747225036950611269, i64 -4579250149297226384, i64 -4747224756232969212, i64 -4579250122814741200, i64 -4747227039884124952, i64 -4579250096423732848, i64 -4747224639384891391, i64 -4579250070123571504, i64 -4747226731415174369, i64 -4579250043913633888, i64 -4747225333575036431, i64 -4579250017793303072, i64 -4747223716489087566, i64 -4579249991761968432, i64 -4747225648562061051, i64 -4579249965819025600, i64 -4747225047347686635, i64 -4579249939963876304, i64 -4747226815600275490, i64 -4579249914195928368, i64 -4747224087157084244, i64 -4579249888514595536, i64 -4747224233756625108, i64 -4579249862919297472, i64 -4747226868082705883, i64 -4579249837409459680, i64 -4747224204271069070, i64 -4579249811984513344, i64 -4747223768546201980, i64 -4579249786643895344, i64 -4747223084081952174, i64 -4579249761387048128, i64 -4747224284019720067, i64 -4579249736213419664, i64 -4747227073157992106, i64 -4579249711122463376, i64 -4747226419914329403, i64 -4579249686113638032, i64 -4747223768127897074, i64 -4579249661186407680, i64 -4747225374047551480, i64 -4579249636340241648, i64 -4747223364228201996, i64 -4579249611574614368, i64 -4747225478943721474, i64 -4579249586889005424, i64 -4747223544001960999, i64 -4579249562282899376, i64 -4747223810446689982, i64 -4579249537755785776, i64 -4747224807250414076, i64 -4579249513307159072, i64 -4747226264322407355, i64 -4579249488936518560, i64 -4747225119931606775, i64 -4579249464643368288, i64 -4747224995509170604, i64 -4579249440427217040, i64 -4747223948262255460, i64 -4579249416287578240, i64 -4747224476982694552, i64 -4579249392223969920, i64 -4747226193662581017, i64 -4579249368235914672, i64 -4747223146289133870, i64 -4579249344322939520, i64 -4747223380251196517, i64 -4579249320484575952, i64 -4747224763009832287, i64 -4579249296720359824, i64 -4747226232321589858, i64 -4579249273029831312, i64 -4747226085052919967, i64 -4579249249412534848, i64 -4747224894418180300, i64 -4579249225868019072, i64 -4747224255288513934, i64 -4579249202395836784, i64 -4747225751450026883, i64 -4579249178995544912, i64 -4747225742686030359, i64 -4579249155666704432, i64 -4747223559877848269, i64 -4579249132408880304, i64 -4747225512031657865, i64 -4579249109221641504, i64 -4747222711175311549, i64 -4579249086104560848, i64 -4747226274266336552, i64 -4579249063057215104, i64 -4747223559005781997, i64 -4579249040079184768, i64 -4747226953785486577, i64 -4579249017170054192, i64 -4747226102257705974, i64 -4579248994329411408, i64 -4747223878996447874, i64 -4579248971556848128, i64 -4747224171489298051, i64 -4579248948851959728, i64 -4747224241722006151, i64 -4579248926214345168, i64 -4747224858267858940, i64 -4579248903643606976, i64 -4747223011348990144, i64 -4579248881139351152, i64 -4747226790192635482, i64 -4579248858701187232, i64 -4747226448952714582, i64 -4579248836328728144, i64 -4747222813296692089, i64 -4579248814021590176, i64 -4747225063818389890, i64 -4579248791779393024, i64 -4747226689519950084, i64 -4579248769601759680, i64 -4747225579268699411, i64 -4579248747488316384, i64 -4747226675842409766, i64 -4579248725438692656, i64 -4747222791836353648, i64 -4579248703452521152, i64 -4747223953550229925, i64 -4579248681529437744, i64 -4747225319118828406, i64 -4579248659669081424, i64 -4747223619527397909, i64 -4579248637871094240, i64 -4747224945435625164, i64 -4579248616135121328, i64 -4747226285201950099, i64 -4579248594460810848, i64 -4747223588292222027, i64 -4579248572847813904, i64 -4747224361513025169, i64 -4579248551295784592, i64 -4747225213369909315, i64 -4579248529804379920, i64 -4747224713058456676, i64 -4579248508373259776, i64 -4747223183384225913, i64 -4579248487002086880, i64 -4747227017648207937, i64 -4579248465690526832, i64 -4747226732064775170, i64 -4579248444438247984, i64 -4747223518436407604, i64 -4579248423244921424, i64 -4747225130221714983, i64 -4579248402110221024, i64 -4747224294149244220, i64 -4579248381033823312, i64 -4747225616126065131, i64 -4579248360015407520, i64 -4747224222506742915, i64 -4579248339054655488, i64 -4747224095778474823, i64 -4579248318151251680, i64 -4747225734079667938, i64 -4579248297304883168, i64 -4747222715167128244, i64 -4579248276515239520, i64 -4747224755248826858, i64 -4579248255782012896, i64 -4747223698063059356, i64 -4579248235104897904, i64 -4747225577803713882, i64 -4579248214483591664, i64 -4747225608918909856, i64 -4579248193917793728, i64 -4747222858167299534, i64 -4579248173407206032, i64 -4747226218812257458, i64 -4579248152951532976, i64 -4747225297096877961, i64 -4579248132550481280, i64 -4747222966474507462, i64 -4579248112203760000, i64 -4747224034958894865, i64 -4579248091911080544, i64 -4747224004567674789, i64 -4579248071672156592, i64 -4747224309674509139, i64 -4579248051486704096, i64 -4747225654321594359, i64 -4579248031354441264, i64 -4747225835361430498, i64 -4579248011275088512, i64 -4747226448090135458, i64 -4579247991248368464, i64 -4747226482780920004, i64 -4579247971274005920, i64 -4747224801016317702, i64 -4579247951351727824, i64 -4747222694416535051, i64 -4579247931481263232, i64 -4747226524478151492, i64 -4579247911662343376, i64 -4747224053981679779, i64 -4579247891894701488, i64 -4747226827705161172, i64 -4579247872178072944, i64 -4747224669598740207, i64 -4579247852512195104, i64 -4747223819038916547, i64 -4579247832896807376, i64 -4747223569453852468, i64 -4579247813331651168, i64 -4747223767143754720, i64 -4579247793816469872, i64 -4747223586745626890, i64 -4579247774351008832, i64 -4747224776370012179, i64 -4579247754935015344, i64 -4747226177178059809, i64 -4579247735568238640, i64 -4747222710465693852, i64 -4579247716250429792, i64 -4747226423387161187, i64 -4579247696981341840, i64 -4747226029399083770, i64 -4579247677760729632, i64 -4747225679896436019, i64 -4579247658588349872, i64 -4747226626599532032, i64 -4579247639463961104, i64 -4747226540501146013, i64 -4579247620387323680, i64 -4747223292269823241, i64 -4579247601358199712, i64 -4747223193161786409, i64 -4579247582376353120, i64 -4747222909184744398, i64 -4579247563441549552, i64 -4747226620249797010, i64 -4579247544553556448, i64 -4747223656621618692, i64 -4579247525712142896, i64 -4747223368806558764, i64 -4579247506917079728, i64 -4747224084707956360, i64 -4579247488168139456, i64 -4747226104357974017, i64 -4579247469465096288, i64 -4747222760689434756, i64 -4579247450807726016, i64 -4747226720127797765, i64 -4579247432195806160, i64 -4747225969076556821, i64 -4579247413629115808, i64 -4747223417127287313, i64 -4579247395107435648, i64 -4747223776769354008, i64 -4579247376630547984, i64 -4747224893434037946, i64 -4579247358198236688, i64 -4747226719255731493, i64 -4579247339810287216, i64 -4747222745433979915, i64 -4579247321466486496, i64 -4747226669022876336, i64 -4579247303166623088, i64 -4747224342265672976, i64 -4579247284910486976, i64 -4747226925627725651, i64 -4579247266697869728, i64 -4747222933692736443, i64 -4579247248528564304, i64 -4747227085331348286, i64 -4579247230402365248, i64 -4747223647329993261, i64 -4579247212319068464, i64 -4747224173144105952, i64 -4579247194278471360, i64 -4747224131846146856, i64 -4579247176280372752, i64 -4747225552396073874, i64 -4579247158324572896, i64 -4747224527535247849, i64 -4579247140410873424, i64 -4747225149335996777, i64 -4579247122539077392, i64 -4747222701193398126, i64 -4579247104708989184, i64 -4747226474404606051, i64 -4579247086920414624, i64 -4747225451723388476, i64 -4579247069173160832, i64 -4747224400659184052, i64 -4579247051467036288, i64 -4747222832601746139, i64 -4579247033801850784, i64 -4747224788140712304, i64 -4579247016177415456, i64 -4747226671470139477, i64 -4579246998593542752, i64 -4747222715753668317, i64 -4579246981050046352, i64 -4747223680869596198, i64 -4579246963546741280, i64 -4747222812312549735, i64 -4579246946083443792, i64 -4747223409943813358, i64 -4579246928659971408, i64 -4747226851011583184, i64 -4579246911276142928, i64 -4747225047405388491, i64 -4579246893931778336, i64 -4747223724930837978, i64 -4579246876626698848, i64 -4747226155375418881, i64 -4579246859360726928, i64 -4747225719399550630, i64 -4579246842133686208, i64 -4747224891969052416], [513 x i64] [i64 0, i64 -4662416889971440457, i64 -4657920900790571255, i64 -4655375072497451267, i64 -4653432462974522074, i64 -4651856014815162714, i64 -4650888463890865731, i64 -4649922779025439920, i64 -4648958953034821361, i64 -4647996978776352895, i64 -4647375832297409197, i64 -4646896686268360361, i64 -4646418455514040700, i64 -4645941136544362275, i64 -4645464725889161552, i64 -4644989220098048033, i64 -4644514615740254320, i64 -4644040909404487590, i64 -4643568097698782482, i64 -4643153696534668371, i64 -4642918180262220680, i64 -4642683106274112911, i64 -4642448472912295469, i64 -4642214278528024943, i64 -4641980521481794592, i64 -4641747200143265473, i64 -4641514312891198225, i64 -4641281858113385467, i64 -4641049834206584840, i64 -4640818239576452656, i64 -4640587072637478167, i64 -4640356331812918436, i64 -4640126015534733808, i64 -4639896122243523977, i64 -4639666650388464630, i64 -4639437598427244683, i64 -4639208964826004081, i64 -4638980748059272167, i64 -4638752946609906612, i64 -4638616587580321893, i64 -4638503099913797632, i64 -4638389817654926843, i64 -4638276740061495177, i64 -4638163866395303874, i64 -4638051195922140852, i64 -4637938727911752051, i64 -4637826461637813030, i64 -4637714396377900830, i64 -4637602531413466075, i64 -4637490866029805332, i64 -4637379399516033713, i64 -4637268131165057718, i64 -4637157060273548326, i64 -4637046186141914316, i64 -4636935508074275833, i64 -4636825025378438177, i64 -4636714737365865831, i64 -4636604643351656717, i64 -4636494742654516670, i64 -4636385034596734147, i64 -4636275518504155148, i64 -4636166193706158364, i64 -4636057059535630532, i64 -4635948115328942014, i64 -4635839360425922582, i64 -4635730794169837417, i64 -4635622415907363312, i64 -4635514224988565084, i64 -4635406220766872188, i64 -4635298402599055530, i64 -4635190769845204487, i64 -4635083321868704115, i64 -4634976058036212556, i64 -4634868977717638644, i64 -4634762080286119691, i64 -4634655365117999472, i64 -4634548831592806392, i64 -4634442479093231840, i64 -4634336307005108730, i64 -4634230314717390217, i64 -4634164259093184490, i64 -4634111441839347384, i64 -4634058713578397977, i64 -4634006074010948714, i64 -4633953522839120290, i64 -4633901059766531538, i64 -4633848684498289400, i64 -4633796396740978978, i64 -4633744196202653674, i64 -4633692082592825410, i64 -4633640055622454925, i64 -4633588115003942163, i64 -4633536260451116726, i64 -4633484491679228420, i64 -4633432808404937871, i64 -4633381210346307217, i64 -4633329697222790888, i64 -4633278268755226444, i64 -4633226924665825506, i64 -4633175664678164747, i64 -4633124488517176967, i64 -4633073395909142235, i64 -4633022386581679105, i64 -4632971460263735903, i64 -4632920616685582085, i64 -4632869855578799665, i64 -4632819176676274716, i64 -4632768579712188931, i64 -4632718064422011259, i64 -4632667630542489611, i64 -4632617277811642622, i64 -4632567005968751490, i64 -4632516814754351875, i64 -4632466703910225865, i64 -4632416673179394003, i64 -4632366722306107382, i64 -4632316851035839799, i64 -4632267059115279974, i64 -4632217346292323833, i64 -4632167712316066843, i64 -4632118156936796419, i64 -4632068679905984387, i64 -4632019280976279498, i64 -4631969959901500017, i64 -4631920716436626358, i64 -4631871550337793780, i64 -4631822461362285141, i64 -4631773449268523711, i64 -4631724513816066035, i64 -4631675654765594861, i64 -4631626871878912112, i64 -4631578164918931921, i64 -4631529533649673719, i64 -4631480977836255370, i64 -4631432497244886372, i64 -4631384091642861096, i64 -4631335760798552086, i64 -4631287504481403412, i64 -4631239322461924066, i64 -4631191214511681418, i64 -4631143180403294713, i64 -4631095219910428628, i64 -4631047332807786870, i64 -4630999518871105827, i64 -4630951777877148264, i64 -4630904109603697073, i64 -4630856513829549065, i64 -4630808990334508811, i64 -4630761538899382529, i64 -4630714159305972021, i64 -4630666851337068648, i64 -4630619614776447359, i64 -4630572449408860763, i64 -4630525355020033237, i64 -4630478331396655093, i64 -4630431378326376775, i64 -4630384495597803108, i64 -4630337683000487589, i64 -4630290940324926715, i64 -4630244267362554361, i64 -4630197663905736194, i64 -4630151129747764131, i64 -4630104664682850840, i64 -4630058268506124277, i64 -4630011941013622268, i64 -4629965682002287125, i64 -4629919491269960314, i64 -4629873368615377146, i64 -4629827313838161519, i64 -4629781326738820696, i64 -4629735407118740115, i64 -4629694985858524068, i64 -4629672093231565690, i64 -4629649234048924488, i64 -4629626408213023993, i64 -4629603615626714145, i64 -4629580856193268810, i64 -4629558129816383319, i64 -4629535436400172026, i64 -4629512775849165873, i64 -4629490148068309988, i64 -4629467552962961288, i64 -4629444990438886106, i64 -4629422460402257831, i64 -4629399962759654569, i64 -4629377497418056818, i64 -4629355064284845159, i64 -4629332663267797968, i64 -4629310294275089136, i64 -4629287957215285818, i64 -4629265651997346183, i64 -4629243378530617193, i64 -4629221136724832389, i64 -4629198926490109699, i64 -4629176747736949256, i64 -4629154600376231235, i64 -4629132484319213705, i64 -4629110399477530495, i64 -4629088345763189075, i64 -4629066323088568455, i64 -4629044331366417092, i64 -4629022370509850818, i64 -4629000440432350783, i64 -4628978541047761405, i64 -4628956672270288342, i64 -4628934834014496477, i64 -4628913026195307911, i64 -4628891248727999976, i64 -4628869501528203263, i64 -4628847784511899657, i64 -4628826097595420392, i64 -4628804440695444114, i64 -4628782813728994963, i64 4594570968950132887, i64 4594549401603182858, i64 4594527863942886326, i64 4594506355887630459, i64 4594484877356138511, i64 4594463428267467979, i64 4594442008541008774, i64 4594420618096481401, i64 4594399256853935156, i64 4594377924733746332, i64 4594356621656616438, i64 4594335347543570428, i64 4594314102315954951, i64 4594292885895436599, i64 4594271698204000179, i64 4594250539163946989, i64 4594229408697893108, i64 4594208306728767700, i64 4594187233179811329, i64 4594166187974574278, i64 4594145171036914888, i64 4594124182290997909, i64 4594103221661292849, i64 4594082289072572353, i64 4594061384449910577, i64 4594040507718681581, i64 4594019658804557728, i64 4593998837633508102, i64 4593978044131796923, i64 4593957278225981987, i64 4593936539842913107, i64 4593915828909730564, i64 4593895145353863578, i64 4593874489103028775, i64 4593853860085228675, i64 4593833258228750188, i64 4593812683462163113, i64 4593792135714318657, i64 4593771614914347956, i64 4593751120991660611, i64 4593730653875943227, i64 4593710213497157969, i64 4593689799785541123, i64 4593667205425297411, i64 4593626484254333778, i64 4593585816002385652, i64 4593545200532090183, i64 4593504637706618663, i64 4593464127389673754, i64 4593423669445486746, i64 4593383263738814827, i64 4593342910134938364, i64 4593302608499658216, i64 4593262358699293050, i64 4593222160600676684, i64 4593182014071155443, i64 4593141918978585530, i64 4593101875191330420, i64 4593061882578258265, i64 4593021941008739316, i64 4592982050352643366, i64 4592942210480337203, i64 4592902421262682085, i64 4592862682571031229, i64 4592822994277227309, i64 4592783356253599987, i64 4592743768372963437, i64 4592704230508613905, i64 4592664742534327274, i64 4592625304324356643, i64 4592585915753429926, i64 4592546576696747467, i64 4592507287029979664, i64 4592468046629264614, i64 4592428855371205767, i64 4592389713132869603, i64 4592350619791783311, i64 4592311575225932496, i64 4592272579313758893, i64 4592233631934158091, i64 4592194732966477286, i64 4592155882290513028, i64 4592117079786509000, i64 4592078325335153799, i64 4592039618817578737, i64 4592000960115355653, i64 4591962349110494738, i64 4591923785685442373, i64 4591885269723078985, i64 4591846801106716912, i64 4591808379720098280, i64 4591770005447392896, i64 4591731678173196151, i64 4591693397782526943, i64 4591655164160825601, i64 4591616977193951831, i64 4591578836768182673, i64 4591540742770210464, i64 4591502695087140824, i64 4591464693606490645, i64 4591426738216186097, i64 4591388828804560644, i64 4591350965260353074, i64 4591313147472705539, i64 4591275375331161608, i64 4591237648725664330, i64 4591199967546554312, i64 4591162331684567804, i64 4591124741030834800, i64 4591087195476877150, i64 4591049694914606676, i64 4591012239236323310, i64 4590974828334713239, i64 4590937462102847053, i64 4590900140434177921, i64 4590862863222539761, i64 4590825630362145429, i64 4590788441747584921, i64 4590751297273823580, i64 4590714196836200315, i64 4590677140330425835, i64 4590640127652580886, i64 4590603158699114507, i64 4590566233366842287, i64 4590529351552944640, i64 4590492513154965087, i64 4590455718070808546, i64 4590418966198739639, i64 4590382257437380998, i64 4590345591685711593, i64 4590308968843065058, i64 4590272388809128040, i64 4590235851483938545, i64 4590199356767884298, i64 4590162904561701119, i64 4590126494766471299, i64 4590090127283621990, i64 4590053802014923604, i64 4590017518862488224, i64 4589981277728768015, i64 4589945078516553655, i64 4589908921128972770, i64 4589872805469488380, i64 4589836731441897346, i64 4589800698950328842, i64 4589764707899242817, i64 4589728758193428484, i64 4589692849738002799, i64 4589656982438408967, i64 4589621156200414944, i64 4589585370930111952, i64 4589549626533913002, i64 4589513922918551425, i64 4589478259991079414, i64 4589442637658866569, i64 4589407055829598458, i64 4589371514411275175, i64 4589336013312209919, i64 4589300552441027572, i64 4589265131706663288, i64 4589229751018361089, i64 4589194410285672471, i64 4589150198546374614, i64 4589079676363206619, i64 4589009233552236784, i64 4588938869935000302, i64 4588868585333633593, i64 4588798379570871611, i64 4588728252470045158, i64 4588658203855078218, i64 4588588233550485304, i64 4588518341381368820, i64 4588448527173416439, i64 4588378790752898493, i64 4588309131946665381, i64 4588239550582144987, i64 4588170046487340118, i64 4588100619490825949, i64 4588031269421747490, i64 4587961996109817061, i64 4587892799385311785, i64 4587823679079071091, i64 4587754635022494233, i64 4587685667047537824, i64 4587616774986713380, i64 4587547958673084882, i64 4587479217940266347, i64 4587410552622419415, i64 4587341962554250947, i64 4587273447571010640, i64 4587205007508488651, i64 4587136642203013236, i64 4587068351491448403, i64 4587000135211191573, i64 4586931993200171260, i64 4586863925296844759, i64 4586795931340195849, i64 4586728011169732508, i64 4586660164625484639, i64 4586592391548001808, i64 4586524691778351001, i64 4586457065158114382, i64 4586389511529387072, i64 4586322030734774933, i64 4586254622617392374, i64 4586187287020860158, i64 4586120023789303224, i64 4586052832767348528, i64 4585985713800122883, i64 4585918666733250820, i64 4585851691412852460, i64 4585784787685541390, i64 4585717955398422559, i64 4585651194399090180, i64 4585584504535625646, i64 4585517885656595453, i64 4585451337611049140, i64 4585384860248517236, i64 4585318453419009217, i64 4585252116973011475, i64 4585185850761485304, i64 4585119654635864883, i64 4585053528448055284, i64 4584987472050430478, i64 4584921485295831364, i64 4584855568037563797, i64 4584789720129396635, i64 4584723941425559788, i64 4584652042898319648, i64 4584520761437015784, i64 4584389617515246056, i64 4584258610845120203, i64 4584127741139650914, i64 4583997008112750057, i64 4583866411479224921, i64 4583735950954774491, i64 4583605626255985729, i64 4583475437100329879, i64 4583345383206158798, i64 4583215464292701295, i64 4583085680080059496, i64 4582956030289205224, i64 4582826514641976403, i64 4582697132861073475, i64 4582567884670055838, i64 4582438769793338301, i64 4582309787956187562, i64 4582180938884718695, i64 4582052222305891665, i64 4581923637947507857, i64 4581795185538206616, i64 4581666864807461818, i64 4581538675485578449, i64 4581410617303689202, i64 4581282689993751096, i64 4581154893288542110, i64 4581027226921657832, i64 4580899690627508125, i64 4580772284141313819, i64 4580645007199103406, i64 4580517859537709760, i64 4580390840894766875, i64 4580263951008706611, i64 4580113558201716509, i64 4579860291894068317, i64 4579607281540286503, i64 4579354526623553437, i64 4579102026628615233, i64 4578849781041775448, i64 4578597789350888814, i64 4578346051045354992, i64 4578094565616112372, i64 4577843332555631893, i64 4577592351357910896, i64 4577341621518467013, i64 4577091142534332080, i64 4576840913904046082, i64 4576590935127651135, i64 4576341205706685486, i64 4576091725144177553, i64 4575842492944639990, i64 4575529795819703630, i64 4575032321911400813, i64 4574535341773807700, i64 4574038854427705982, i64 4573542858896787365, i64 4573047354207642044, i64 4572552339389747245, i64 4572057813475455815, i64 4571563775499984880, i64 4570986827221755650, i64 4570000697260199875, i64 4569015537421733817, i64 4568031345799481162, i64 4567048120492182320, i64 4565481697054661820, i64 4563519100337035450, i64 4560970427291127845, i64 4556463000095200786, i64 -9223372036854775808], [6 x i64] [i64 -4601050330414191713, i64 4618067207629399771, i64 -4609272550058165605, i64 4610676679043795320, i64 -4615491484601831147, i64 4565095779775955212], [5 x i64] [i64 4590923275229445398, i64 -4630884052763940853, i64 4594383722868847646, i64 -4626380462696767946, i64 4601495173785380110], i64 4503599627370495, i64 4562146422526312448, i64 4503599627370496, i64 9218868437227405311, i64 -67108864, i64 4601482550521626624, i64 4607182418800017408, i64 4599094494223073280, i64 4431119532106186752, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, i64 4599094494223104511, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_119__dlog10_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [212 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1071366144] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1071337728] }, { [2 x i32] } { [2 x i32] [i32 184549376, i32 1065092008] }, { [2 x i32] } { [2 x i32] [i32 2099961998, i32 -1116069972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071309312] }, { [2 x i32] } { [2 x i32] [i32 931135488, i32 1066155272] }, { [2 x i32] } { [2 x i32] [i32 -1929254739, i32 -1116811523] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071280896] }, { [2 x i32] } { [2 x i32] [i32 603979776, i32 1066752445] }, { [2 x i32] } { [2 x i32] [i32 709057215, i32 1031474920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071252480] }, { [2 x i32] } { [2 x i32] [i32 -857735168, i32 1067234191] }, { [2 x i32] } { [2 x i32] [i32 1515412199, i32 -1115881326] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071238272] }, { [2 x i32] } { [2 x i32] [i32 1105723392, i32 1067464226] }, { [2 x i32] } { [2 x i32] [i32 153915826, i32 -1116966598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071209856] }, { [2 x i32] } { [2 x i32] [i32 -966524928, i32 1067711223] }, { [2 x i32] } { [2 x i32] [i32 -395055018, i32 -1117831604] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071181440] }, { [2 x i32] } { [2 x i32] [i32 341835776, i32 1067962480] }, { [2 x i32] } { [2 x i32] [i32 -1785759106, i32 -1118436074] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071167232] }, { [2 x i32] } { [2 x i32] [i32 -1410334720, i32 1068089751] }, { [2 x i32] } { [2 x i32] [i32 1030636902, i32 1025224143] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071138816] }, { [2 x i32] } { [2 x i32] [i32 -681050112, i32 1068347678] }, { [2 x i32] } { [2 x i32] [i32 -767803835, i32 -1117437764] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071124608] }, { [2 x i32] } { [2 x i32] [i32 -745013248, i32 1068478374] }, { [2 x i32] } { [2 x i32] [i32 -796073215, i32 -1121966871] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071096192] }, { [2 x i32] } { [2 x i32] [i32 1623785472, i32 1068621140] }, { [2 x i32] } { [2 x i32] [i32 -1405141742, i32 -1118591921] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071081984] }, { [2 x i32] } { [2 x i32] [i32 1085800448, i32 1068688295] }, { [2 x i32] } { [2 x i32] [i32 -279710995, i32 -1117782950] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071053568] }, { [2 x i32] } { [2 x i32] [i32 -641990656, i32 1068824490] }, { [2 x i32] } { [2 x i32] [i32 -694273767, i32 -1119213419] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071039360] }, { [2 x i32] } { [2 x i32] [i32 1592393728, i32 1068893555] }, { [2 x i32] } { [2 x i32] [i32 231073830, i32 -1117879357] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071025152] }, { [2 x i32] } { [2 x i32] [i32 -835321856, i32 1068963280] }, { [2 x i32] } { [2 x i32] [i32 1740576090, i32 1029619435] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070996736] }, { [2 x i32] } { [2 x i32] [i32 -520355840, i32 1069104765] }, { [2 x i32] } { [2 x i32] [i32 -436414511, i32 1028603845] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070982528] }, { [2 x i32] } { [2 x i32] [i32 845086720, i32 1069176552] }, { [2 x i32] } { [2 x i32] [i32 -1156087565, i32 1029120443] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070968320] }, { [2 x i32] } { [2 x i32] [i32 -781123584, i32 1069249052] }, { [2 x i32] } { [2 x i32] [i32 2107125367, i32 1029044389] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070954112] }, { [2 x i32] } { [2 x i32] [i32 434503680, i32 1069322282] }, { [2 x i32] } { [2 x i32] [i32 -467365067, i32 1028932700] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070939904] }, { [2 x i32] } { [2 x i32] [i32 -681115648, i32 1069396254] }, { [2 x i32] } { [2 x i32] [i32 1223751955, i32 -1118502157] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070911488] }, { [2 x i32] } { [2 x i32] [i32 733741056, i32 1069546492] }, { [2 x i32] } { [2 x i32] [i32 1625232067, i32 1029570781] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070897280] }, { [2 x i32] } { [2 x i32] [i32 1511620608, i32 1069585154] }, { [2 x i32] } { [2 x i32] [i32 -1250362157, i32 1028090775] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070883072] }, { [2 x i32] } { [2 x i32] [i32 1337196544, i32 1069623706] }, { [2 x i32] } { [2 x i32] [i32 -1692328295, i32 -1119028621] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070868864] }, { [2 x i32] } { [2 x i32] [i32 -1722433536, i32 1069662670] }, { [2 x i32] } { [2 x i32] [i32 -1227859341, i32 1022933137] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070854656] }, { [2 x i32] } { [2 x i32] [i32 559611904, i32 1069702056] }, { [2 x i32] } { [2 x i32] [i32 764145786, i32 -1120925761] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070840448] }, { [2 x i32] } { [2 x i32] [i32 485818368, i32 1069741872] }, { [2 x i32] } { [2 x i32] [i32 2037567072, i32 -1119386340] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070826240] }, { [2 x i32] } { [2 x i32] [i32 259604480, i32 1069782128] }, { [2 x i32] } { [2 x i32] [i32 -282898867, i32 1027865895] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070812032] }, { [2 x i32] } { [2 x i32] [i32 -840925184, i32 1069822833] }, { [2 x i32] } { [2 x i32] [i32 -1427287289, i32 -1120764818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070797824] }, { [2 x i32] } { [2 x i32] [i32 -2106212352, i32 1069863999] }, { [2 x i32] } { [2 x i32] [i32 -1756312010, i32 -1119126315] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070783616] }, { [2 x i32] } { [2 x i32] [i32 -1329725440, i32 1069905635] }, { [2 x i32] } { [2 x i32] [i32 1338936972, i32 -1118873346] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070769408] }, { [2 x i32] } { [2 x i32] [i32 966279168, i32 1069947753] }, { [2 x i32] } { [2 x i32] [i32 1774547674, i32 -1119915812] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070755200] }, { [2 x i32] } { [2 x i32] [i32 1604042752, i32 1069990363] }, { [2 x i32] } { [2 x i32] [i32 -1737496558, i32 -1120299848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070740992] }, { [2 x i32] } { [2 x i32] [i32 -877133824, i32 1070033477] }, { [2 x i32] } { [2 x i32] [i32 -2026712179, i32 -1119289032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070740992] }, { [2 x i32] } { [2 x i32] [i32 -877133824, i32 1070033477] }, { [2 x i32] } { [2 x i32] [i32 -2026712179, i32 -1119289032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070726784] }, { [2 x i32] } { [2 x i32] [i32 -1843675136, i32 1070077108] }, { [2 x i32] } { [2 x i32] [i32 -537238355, i32 1027943275] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070712576] }, { [2 x i32] } { [2 x i32] [i32 929644544, i32 1070121268] }, { [2 x i32] } { [2 x i32] [i32 899045708, i32 1027944939] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070698368] }, { [2 x i32] } { [2 x i32] [i32 -1237712896, i32 1070165969] }, { [2 x i32] } { [2 x i32] [i32 -414317920, i32 -1121994792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070684160] }, { [2 x i32] } { [2 x i32] [i32 -2063876096, i32 1070211226] }, { [2 x i32] } { [2 x i32] [i32 521319256, i32 1027600177] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070684160] }, { [2 x i32] } { [2 x i32] [i32 -2063876096, i32 1070211226] }, { [2 x i32] } { [2 x i32] [i32 521319256, i32 1027600177] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070669952] }, { [2 x i32] } { [2 x i32] [i32 -1674805248, i32 1070257052] }, { [2 x i32] } { [2 x i32] [i32 1385613369, i32 -1118863260] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070655744] }, { [2 x i32] } { [2 x i32] [i32 2096726016, i32 1070303462] }, { [2 x i32] } { [2 x i32] [i32 -1156661477, i32 -1121320519] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070641536] }, { [2 x i32] } { [2 x i32] [i32 944717824, i32 1070350471] }, { [2 x i32] } { [2 x i32] [i32 1065120110, i32 1027539054] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070641536] }, { [2 x i32] } { [2 x i32] [i32 944717824, i32 1070350471] }, { [2 x i32] } { [2 x i32] [i32 1065120110, i32 1027539054] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070627328] }, { [2 x i32] } { [2 x i32] [i32 1985789952, i32 1070398094] }, { [2 x i32] } { [2 x i32] [i32 -659023432, i32 -1121830806] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070613120] }, { [2 x i32] } { [2 x i32] [i32 2123825152, i32 1070446348] }, { [2 x i32] } { [2 x i32] [i32 1125219725, i32 -1119351558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070598912] }, { [2 x i32] } { [2 x i32] [i32 1078378496, i32 1070495250] }, { [2 x i32] } { [2 x i32] [i32 603852726, i32 -1120396770] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070598912] }, { [2 x i32] } { [2 x i32] [i32 1078378496, i32 1070495250] }, { [2 x i32] } { [2 x i32] [i32 603852726, i32 -1120396770] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070573312] }, { [2 x i32] } { [2 x i32] [i32 1537933312, i32 1070544817] }, { [2 x i32] } { [2 x i32] [i32 998069198, i32 1026662908] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070544896] }, { [2 x i32] } { [2 x i32] [i32 733773824, i32 1070595068] }, { [2 x i32] } { [2 x i32] [i32 -233909294, i32 -1120931287] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070544896] }, { [2 x i32] } { [2 x i32] [i32 733773824, i32 1070595068] }, { [2 x i32] } { [2 x i32] [i32 -233909294, i32 -1120931287] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070516480] }, { [2 x i32] } { [2 x i32] [i32 -397422592, i32 1070621058] }, { [2 x i32] } { [2 x i32] [i32 951856294, i32 1026731877] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070516480] }, { [2 x i32] } { [2 x i32] [i32 -397422592, i32 1070621058] }, { [2 x i32] } { [2 x i32] [i32 951856294, i32 1026731877] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070488064] }, { [2 x i32] } { [2 x i32] [i32 493535232, i32 1070646897] }, { [2 x i32] } { [2 x i32] [i32 -442597988, i32 -1121702550] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070459648] }, { [2 x i32] } { [2 x i32] [i32 463249408, i32 1070673107] }, { [2 x i32] } { [2 x i32] [i32 -1441815185, i32 -1120402359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070459648] }, { [2 x i32] } { [2 x i32] [i32 463249408, i32 1070673107] }, { [2 x i32] } { [2 x i32] [i32 -1441815185, i32 -1120402359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070431232] }, { [2 x i32] } { [2 x i32] [i32 -1108381696, i32 1070699699] }, { [2 x i32] } { [2 x i32] [i32 1874718356, i32 -1120827363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070431232] }, { [2 x i32] } { [2 x i32] [i32 -1108381696, i32 1070699699] }, { [2 x i32] } { [2 x i32] [i32 1874718356, i32 -1120827363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070402816] }, { [2 x i32] } { [2 x i32] [i32 1525858304, i32 1070726686] }, { [2 x i32] } { [2 x i32] [i32 -1255123773, i32 1024724665] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070402816] }, { [2 x i32] } { [2 x i32] [i32 1525858304, i32 1070726686] }, { [2 x i32] } { [2 x i32] [i32 -1255123773, i32 1024724665] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070374400] }, { [2 x i32] } { [2 x i32] [i32 -869666816, i32 1070754078] }, { [2 x i32] } { [2 x i32] [i32 1303046649, i32 1022401701] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070374400] }, { [2 x i32] } { [2 x i32] [i32 -869666816, i32 1070754078] }, { [2 x i32] } { [2 x i32] [i32 1303046649, i32 1022401701] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070345984] }, { [2 x i32] } { [2 x i32] [i32 1980465152, i32 1070781889] }, { [2 x i32] } { [2 x i32] [i32 -1106310977, i32 1027271390] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070345984] }, { [2 x i32] } { [2 x i32] [i32 1980465152, i32 1070781889] }, { [2 x i32] } { [2 x i32] [i32 -1106310977, i32 1027271390] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070317568] }, { [2 x i32] } { [2 x i32] [i32 1352630272, i32 1070810131] }, { [2 x i32] } { [2 x i32] [i32 -1204071638, i32 -1120402381] }, { [2 x i32] } { [2 x i32] [i32 1352630272, i32 1070810131] }, { [2 x i32] } { [2 x i32] [i32 -1204071638, i32 -1120402381] }, { [2 x i32] } { [2 x i32] [i32 64, i32 1120927744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1096810496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1064828928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1135607808] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071366144] }, { [2 x i32] } { [2 x i32] [i32 -1087487737, i32 1062894188] }, { [2 x i32] } { [2 x i32] [i32 -596135659, i32 -1074627854] }, { [2 x i32] } { [2 x i32] [i32 -594134479, i32 1073506818] }, { [2 x i32] } { [2 x i32] [i32 1691624569, i32 -1073179895] }, { [2 x i32] } { [2 x i32] [i32 2065628764, i32 1075227551] }, { [2 x i32] } { [2 x i32] [i32 1770847080, i32 -1071265522] }, { [2 x i32] } { [2 x i32] [i32 -508450184, i32 1077250450] }, { [2 x i32] } { [2 x i32] [i32 1316351650, i32 -1069173983] }], align 8 +@_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_119__dlog1p_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [210 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072660480] }, { [2 x i32] } { [2 x i32] [i32 1486880768, i32 1066410070] }, { [2 x i32] } { [2 x i32] [i32 1813744607, i32 -1115074703] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072629760] }, { [2 x i32] } { [2 x i32] [i32 377487360, i32 1067416219] }, { [2 x i32] } { [2 x i32] [i32 919019713, i32 -1115726167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072599040] }, { [2 x i32] } { [2 x i32] [i32 1513619456, i32 1067944025] }, { [2 x i32] } { [2 x i32] [i32 874573033, i32 -1116454356] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072570368] }, { [2 x i32] } { [2 x i32] [i32 -1073217536, i32 1068427825] }, { [2 x i32] } { [2 x i32] [i32 -113302290, i32 -1117489084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072541696] }, { [2 x i32] } { [2 x i32] [i32 -132644864, i32 1068708823] }, { [2 x i32] } { [2 x i32] [i32 627020255, i32 1028629941] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072513024] }, { [2 x i32] } { [2 x i32] [i32 183107584, i32 1068957907] }, { [2 x i32] } { [2 x i32] [i32 -1918263827, i32 1030233118] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072486400] }, { [2 x i32] } { [2 x i32] [i32 1053425664, i32 1069192557] }, { [2 x i32] } { [2 x i32] [i32 696277142, i32 1030474863] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072459776] }, { [2 x i32] } { [2 x i32] [i32 -298844160, i32 1069430535] }, { [2 x i32] } { [2 x i32] [i32 -1664168616, i32 1028792016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072435200] }, { [2 x i32] } { [2 x i32] [i32 -842203136, i32 1069600382] }, { [2 x i32] } { [2 x i32] [i32 624954044, i32 -1117865555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072409600] }, { [2 x i32] } { [2 x i32] [i32 207650816, i32 1069717971] }, { [2 x i32] } { [2 x i32] [i32 -1022231660, i32 -1119790721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072386048] }, { [2 x i32] } { [2 x i32] [i32 -1647738880, i32 1069827627] }, { [2 x i32] } { [2 x i32] [i32 -700738584, i32 1029303785] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072362496] }, { [2 x i32] } { [2 x i32] [i32 -1582956544, i32 1069938736] }, { [2 x i32] } { [2 x i32] [i32 -641724527, i32 -1118128283] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072338944] }, { [2 x i32] } { [2 x i32] [i32 374439936, i32 1070051337] }, { [2 x i32] } { [2 x i32] [i32 -222191722, i32 -1118389801] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072316416] }, { [2 x i32] } { [2 x i32] [i32 -587792384, i32 1070160474] }, { [2 x i32] } { [2 x i32] [i32 1486946159, i32 1023930920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072294912] }, { [2 x i32] } { [2 x i32] [i32 1443954688, i32 1070265993] }, { [2 x i32] } { [2 x i32] [i32 293532967, i32 -1118689019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072273408] }, { [2 x i32] } { [2 x i32] [i32 127762432, i32 1070372856] }, { [2 x i32] } { [2 x i32] [i32 -890821849, i32 -1117943341] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072252928] }, { [2 x i32] } { [2 x i32] [i32 2053832704, i32 1070475911] }, { [2 x i32] } { [2 x i32] [i32 1575076358, i32 1029048544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072232448] }, { [2 x i32] } { [2 x i32] [i32 -1100873728, i32 1070580248] }, { [2 x i32] } { [2 x i32] [i32 1864169120, i32 1026866084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072212992] }, { [2 x i32] } { [2 x i32] [i32 -377765888, i32 1070638340] }, { [2 x i32] } { [2 x i32] [i32 -1932822050, i32 -1119361099] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193536] }, { [2 x i32] } { [2 x i32] [i32 -877854720, i32 1070689116] }, { [2 x i32] } { [2 x i32] [i32 70087871, i32 -1120783719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072175104] }, { [2 x i32] } { [2 x i32] [i32 -68190208, i32 1070737793] }, { [2 x i32] } { [2 x i32] [i32 1620410586, i32 -1120267231] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072156672] }, { [2 x i32] } { [2 x i32] [i32 -1126096896, i32 1070787042] }, { [2 x i32] } { [2 x i32] [i32 311238082, i32 1025781772] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072139264] }, { [2 x i32] } { [2 x i32] [i32 -2144387072, i32 1070834092] }, { [2 x i32] } { [2 x i32] [i32 1664262457, i32 -1119668072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072120832] }, { [2 x i32] } { [2 x i32] [i32 -199294976, i32 1070884491] }, { [2 x i32] } { [2 x i32] [i32 1657121015, i32 -1120293097] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072104448] }, { [2 x i32] } { [2 x i32] [i32 -1699389440, i32 1070929805] }, { [2 x i32] } { [2 x i32] [i32 2014006823, i32 -1119543466] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072087040] }, { [2 x i32] } { [2 x i32] [i32 -547790848, i32 1070978493] }, { [2 x i32] } { [2 x i32] [i32 144991708, i32 -1123415254] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072070656] }, { [2 x i32] } { [2 x i32] [i32 1050435584, i32 1071024840] }, { [2 x i32] } { [2 x i32] [i32 -908739864, i32 1027876916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072055296] }, { [2 x i32] } { [2 x i32] [i32 255516672, i32 1071068760] }, { [2 x i32] } { [2 x i32] [i32 -1657372980, i32 1028049573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072038912] }, { [2 x i32] } { [2 x i32] [i32 1640783872, i32 1071116120] }, { [2 x i32] } { [2 x i32] [i32 893247007, i32 1028452162] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072023552] }, { [2 x i32] } { [2 x i32] [i32 -1354555392, i32 1071161011] }, { [2 x i32] } { [2 x i32] [i32 813240633, i32 1027664048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072009216] }, { [2 x i32] } { [2 x i32] [i32 882917376, i32 1071203348] }, { [2 x i32] } { [2 x i32] [i32 -1918369745, i32 -1119138529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071993856] }, { [2 x i32] } { [2 x i32] [i32 213966848, i32 1071249188] }, { [2 x i32] } { [2 x i32] [i32 -1317763171, i32 1028350609] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071979520] }, { [2 x i32] } { [2 x i32] [i32 -1373462528, i32 1071292428] }, { [2 x i32] } { [2 x i32] [i32 523218347, i32 1028007004] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071965184] }, { [2 x i32] } { [2 x i32] [i32 -1108312064, i32 1071336119] }, { [2 x i32] } { [2 x i32] [i32 -1942059405, i32 1026967097] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071951872] }, { [2 x i32] } { [2 x i32] [i32 -1641603072, i32 1071377101] }, { [2 x i32] } { [2 x i32] [i32 -1841548713, i32 -1120617784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938560] }, { [2 x i32] } { [2 x i32] [i32 -535183360, i32 1071418487] }, { [2 x i32] } { [2 x i32] [i32 -609096893, i32 -1119551685] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071925248] }, { [2 x i32] } { [2 x i32] [i32 -1826603008, i32 1071460286] }, { [2 x i32] } { [2 x i32] [i32 1578908842, i32 -1119456779] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071911936] }, { [2 x i32] } { [2 x i32] [i32 81903616, i32 1071502506] }, { [2 x i32] } { [2 x i32] [i32 770710269, i32 1026742353] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071899648] }, { [2 x i32] } { [2 x i32] [i32 -1495646208, i32 1071541858] }, { [2 x i32] } { [2 x i32] [i32 -472701111, i32 1028434427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071886336] }, { [2 x i32] } { [2 x i32] [i32 2142265344, i32 1071584911] }, { [2 x i32] } { [2 x i32] [i32 175901806, i32 -1121095756] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071874048] }, { [2 x i32] } { [2 x i32] [i32 -1350942720, i32 1071625048] }, { [2 x i32] } { [2 x i32] [i32 -1547606893, i32 1027672159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071862784] }, { [2 x i32] } { [2 x i32] [i32 -860665856, i32 1071653426] }, { [2 x i32] } { [2 x i32] [i32 -100305100, i32 -1121074293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071850496] }, { [2 x i32] } { [2 x i32] [i32 1547755520, i32 1071673870] }, { [2 x i32] } { [2 x i32] [i32 -46202615, i32 -1122208209] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071839232] }, { [2 x i32] } { [2 x i32] [i32 -47980544, i32 1071692786] }, { [2 x i32] } { [2 x i32] [i32 -1454761658, i32 -1120536385] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071826944] }, { [2 x i32] } { [2 x i32] [i32 -876576768, i32 1071713619] }, { [2 x i32] } { [2 x i32] [i32 -1253086473, i32 1025440860] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071816704] }, { [2 x i32] } { [2 x i32] [i32 -151873536, i32 1071731139] }, { [2 x i32] } { [2 x i32] [i32 -1567379895, i32 -1121002089] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071805440] }, { [2 x i32] } { [2 x i32] [i32 -1173641216, i32 1071750582] }, { [2 x i32] } { [2 x i32] [i32 -1121079604, i32 -1120777133] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071794176] }, { [2 x i32] } { [2 x i32] [i32 1852893184, i32 1071770207] }, { [2 x i32] } { [2 x i32] [i32 -343907044, i32 1027348295] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071783936] }, { [2 x i32] } { [2 x i32] [i32 -658587648, i32 1071788208] }, { [2 x i32] } { [2 x i32] [i32 1684924001, i32 -1120190210] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071773696] }, { [2 x i32] } { [2 x i32] [i32 516505600, i32 1071806366] }, { [2 x i32] } { [2 x i32] [i32 429181199, i32 -1121756263] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071763456] }, { [2 x i32] } { [2 x i32] [i32 -108781568, i32 1071824681] }, { [2 x i32] } { [2 x i32] [i32 2044904577, i32 -1120000164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753216] }, { [2 x i32] } { [2 x i32] [i32 877596672, i32 1071843159] }, { [2 x i32] } { [2 x i32] [i32 1396318105, i32 -1121007569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742976] }, { [2 x i32] } { [2 x i32] [i32 -1382182912, i32 1071861800] }, { [2 x i32] } { [2 x i32] [i32 448136789, i32 -1120153104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071733760] }, { [2 x i32] } { [2 x i32] [i32 -572141568, i32 1071878720] }, { [2 x i32] } { [2 x i32] [i32 714165913, i32 -1121527736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071723520] }, { [2 x i32] } { [2 x i32] [i32 -1772593152, i32 1071897682] }, { [2 x i32] } { [2 x i32] [i32 -1067726943, i32 -1121572973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071714304] }, { [2 x i32] } { [2 x i32] [i32 -129556480, i32 1071914895] }, { [2 x i32] } { [2 x i32] [i32 1365684961, i32 -1120602236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071705088] }, { [2 x i32] } { [2 x i32] [i32 -817831936, i32 1071932251] }, { [2 x i32] } { [2 x i32] [i32 368482985, i32 -1120826475] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695872] }, { [2 x i32] } { [2 x i32] [i32 2079455232, i32 1071949752] }, { [2 x i32] } { [2 x i32] [i32 1320576317, i32 1026822714] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071687680] }, { [2 x i32] } { [2 x i32] [i32 851795968, i32 1071965432] }, { [2 x i32] } { [2 x i32] [i32 -592500270, i32 1025224125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071678464] }, { [2 x i32] } { [2 x i32] [i32 647743488, i32 1071983213] }, { [2 x i32] } { [2 x i32] [i32 772992109, i32 -1120928837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071670272] }, { [2 x i32] } { [2 x i32] [i32 26537984, i32 1071999146] }, { [2 x i32] } { [2 x i32] [i32 -1934753020, i32 -1120106021] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661056] }, { [2 x i32] } { [2 x i32] [i32 1547061248, i32 1072017216] }, { [2 x i32] } { [2 x i32] [i32 -1408185861, i32 1026423395] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071652864] }, { [2 x i32] } { [2 x i32] [i32 -1440475136, i32 1072033410] }, { [2 x i32] } { [2 x i32] [i32 215631550, i32 1025638968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 -17156096, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -1815648464, i32 1026487127] }, { [2 x i32] } { [2 x i32] [i32 -17156096, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -1815648464, i32 1026487127] }, { [2 x i32] } { [2 x i32] [i32 64, i32 1120927744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1094713344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1065615360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1135607808] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }, { [2 x i32] } { [2 x i32] [i32 1431655955, i32 1070945621] }, { [2 x i32] } { [2 x i32] [i32 610, i32 -1076887552] }, { [2 x i32] } { [2 x i32] [i32 -1749848959, i32 1070176665] }, { [2 x i32] } { [2 x i32] [i32 1378399119, i32 -1077586603] }, { [2 x i32] } { [2 x i32] [i32 612435357, i32 1069697472] }, { [2 x i32] } { [2 x i32] [i32 94536557, i32 -1077935948] }], align 8 +@_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dlog2_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_log2_d_ha::(anonymous namespace)::__devicelib_imf_internal_dlog2_data_t" { [1026 x i64] [i64 -4571171213967097856, i64 0, i64 -4571171196783507168, i64 4418805050508634521, i64 -4571171179623153264, i64 -4802610926083389291, i64 -4571171162485973368, i64 -4816349774675174031, i64 -4571171145371904984, i64 4413571175312631677, i64 -4571171128280885856, i64 4421922179340200585, i64 -4571171111212853992, i64 -4804666712421908455, i64 -4571171094167747624, i64 -4808507470079697404, i64 -4571171077145505256, i64 -4809941576185753917, i64 -4571171060146065632, i64 -4805644584320762528, i64 -4571171043169367736, i64 4414261094290895939, i64 -4571171026215350808, i64 4418298719598171422, i64 -4571171009283954328, i64 -4805304813158984394, i64 -4571170992375118000, i64 4421944857341462933, i64 -4571170975488781800, i64 4420290043435827344, i64 -4571170958624885920, i64 4419755033301596037, i64 -4571170941783370800, i64 4398537774157846392, i64 -4571170924964177112, i64 -4802931519816577724, i64 -4571170908167245760, i64 -4808625343029709747, i64 -4571170891392517896, i64 -4803810862128559993, i64 -4571170874639934888, i64 4416302293064774761, i64 -4571170857909438360, i64 -4801721829438263552, i64 -4571170841200970136, i64 -4803249631142007031, i64 -4571170824514472288, i64 4409046216533755740, i64 -4571170807849887120, i64 -4819299811253100942, i64 -4571170791207157152, i64 -4809643961993889629, i64 -4571170774586225136, i64 -4800892300441539203, i64 -4571170757987034040, i64 -4804370732787250093, i64 -4571170741409527064, i64 4416556819074757686, i64 -4571170724853647640, i64 -4802491032221151381, i64 -4571170708319339392, i64 4405648515886644796, i64 -4571170691806546192, i64 4417905610758704467, i64 -4571170675315212120, i64 4418349397217854161, i64 -4571170658845281472, i64 4420228480829872949, i64 -4571170642396698768, i64 -4811911467667801563, i64 -4571170625969408728, i64 4414127469614139198, i64 -4571170609563356304, i64 4414789216803103887, i64 -4571170593178486656, i64 -4804257605339321963, i64 -4571170576814745144, i64 -4822591488673744215, i64 -4571170560472077360, i64 -4803880078558832894, i64 -4571170544150429088, i64 -4803212519470820497, i64 -4571170527849746328, i64 -4809419423459932515, i64 -4571170511569975288, i64 4419541580343562662, i64 -4571170495311062392, i64 -4809294864913020158, i64 -4571170479072954248, i64 -4819130268851955630, i64 -4571170462855597688, i64 -4806202484997062828, i64 -4571170446658939736, i64 -4808341488014861552, i64 -4571170430482927624, i64 4404093412925897700, i64 -4571170414327508784, i64 4421406605311749928, i64 -4571170398192630856, i64 4416015004500682198, i64 -4571170382078241664, i64 4420271290079262975, i64 -4571170365984289248, i64 -4809412254784471935, i64 -4571170349910721824, i64 4417279851496497513, i64 -4571170333857487832, i64 -4802664288836328989, i64 -4571170317824535880, i64 -4801628135207727541, i64 -4571170301811814784, i64 -4814004132697234943, i64 -4571170285819273560, i64 -4808350818362719786, i64 -4571170269846861400, i64 4420368467089709350, i64 -4571170253894527712, i64 -4803564943709819901, i64 -4571170237962222064, i64 -4801830322178764748, i64 -4571170222049894232, i64 -4804518783617450635, i64 -4571170206157494176, i64 4418946855981506552, i64 -4571170190284972056, i64 4400230882883560630, i64 -4571170174432278200, i64 -4809898471086612802, i64 -4571170158599363128, i64 4414071194494104331, i64 -4571170142786177552, i64 4415906241047324300, i64 -4571170126992672360, i64 4421014838733938969, i64 -4571170111218798632, i64 4411151234034752684, i64 -4571170095464507616, i64 4418494372523900232, i64 -4571170079729750760, i64 -4804198534588990082, i64 -4571170064014479672, i64 -4802579291085022516, i64 -4571170048318646152, i64 -4804776049260484459, i64 -4571170032642202176, i64 4411344167142305027, i64 -4571170016985099904, i64 -4824635540396929157, i64 -4571170001347291664, i64 -4805918629982214633, i64 -4571169985728729960, i64 -4807351896970879450, i64 -4571169970129367472, i64 4420222772350424282, i64 -4571169954549157072, i64 -4801101377385443202, i64 -4571169938988051768, i64 -4818241381224905081, i64 -4571169923446004776, i64 4402206063579688843, i64 -4571169907922969464, i64 4421806750421856080, i64 -4571169892418899384, i64 4420810732819006266, i64 -4571169876933748248, i64 4417874704597197835, i64 -4571169861467469944, i64 -4801304840270363130, i64 -4571169846020018512, i64 -4808528457096002280, i64 -4571169830591348184, i64 -4804891902389919455, i64 -4571169815181413344, i64 -4802179387692815248, i64 -4571169799790168544, i64 -4801219028125141049, i64 -4571169784417568496, i64 4419738723387619022, i64 -4571169769063568096, i64 4420196271854290127, i64 -4571169753728122384, i64 4420161703730439694, i64 -4571169738411186568, i64 4421762895187782702, i64 -4571169723112716024, i64 4391218103080768883, i64 -4571169707832666280, i64 -4801340419172897535, i64 -4571169692570993024, i64 -4802678390826011944, i64 -4571169677327652112, i64 -4805655113106219967, i64 -4571169662102599552, i64 4420586191408552272, i64 -4571169646895791528, i64 -4803776765866997890, i64 -4571169631707184344, i64 4420861477409042022, i64 -4571169616536734504, i64 4405286636531595026, i64 -4571169601384398632, i64 4421626707401266116, i64 -4571169586250133536, i64 -4814266037437572081, i64 -4571169571133896152, i64 4410776457112608637, i64 -4571169556035643592, i64 -4804418287176943473, i64 -4571169540955333104, i64 -4804200446937116163, i64 -4571169525892922096, i64 -4827058335949322230, i64 -4571169510848368128, i64 4422299938832521402, i64 -4571169495821628920, i64 -4811427498572790812, i64 -4571169480812662320, i64 -4804428826818557835, i64 -4571169465821426336, i64 4405904654828372482, i64 -4571169450847879136, i64 -4803505277572158631, i64 -4571169435891979016, i64 -4805165399061526901, i64 -4571169420953684432, i64 -4814968524564213144, i64 -4571169406032953984, i64 4416086184694059622, i64 -4571169391129746424, i64 -4804060076649967501, i64 -4571169376244020632, i64 -4804686644284362334, i64 -4571169361375735648, i64 -4804182594749980088, i64 -4571169346524850648, i64 -4817288351265210255, i64 -4571169331691324960, i64 -4806664782173252622, i64 -4571169316875118040, i64 4417623455903305890, i64 -4571169302076189504, i64 4412233077514878037, i64 -4571169287294499096, i64 -4808202550491410284, i64 -4571169272530006696, i64 4420835560327521357, i64 -4571169257782672344, i64 4419222121999270809, i64 -4571169243052456200, i64 4421462351653567598, i64 -4571169228339318576, i64 -4821275267175895713, i64 -4571169213643219904, i64 4420068009499903682, i64 -4571169198964120776, i64 4416004815729816661, i64 -4571169184301981904, i64 4414219706539898830, i64 -4571169169656764144, i64 -4810921941624699483, i64 -4571169155028428480, i64 4403781997376059403, i64 -4571169140416936040, i64 4387394196349587919, i64 -4571169125822248080, i64 4401154458229482940, i64 -4571169111244325992, i64 -4821734523932632989, i64 -4571169096683131296, i64 4420577318981993624, i64 -4571169082138625656, i64 4419034842514980688, i64 -4571169067610770856, i64 4417363594811295103, i64 -4571169053099528816, i64 4409140028782262668, i64 -4571169038604861584, i64 4396876706033502841, i64 -4571169024126731344, i64 -4801068252283477412, i64 -4571169009665100392, i64 4415429992065689668, i64 -4571168995219931184, i64 -4804437435737162493, i64 -4571168980791186272, i64 -4806766137412618101, i64 -4571168966378828352, i64 4411767635783700509, i64 -4571168951982820248, i64 4414690350918734566, i64 -4571168937603124904, i64 4418622438876952312, i64 -4571168923239705400, i64 -4801335203371691152, i64 -4571168908892524920, i64 -4802608354294905909, i64 -4571168894561546792, i64 -4806667575931452196, i64 -4571168880246734464, i64 -4811663304198046124, i64 -4571168865948051504, i64 4415898796232987599, i64 -4571168851665461608, i64 4418687185168766386, i64 -4571168837398928592, i64 4413268644171491673, i64 -4571168823148416392, i64 -4809588297378353503, i64 -4571168808913889064, i64 -4809568237327089055, i64 -4571168794695310792, i64 -4801964537718993981, i64 -4571168780492645864, i64 4421278225500341115, i64 -4571168766305858720, i64 -4812618125611095111, i64 -4571168752134913880, i64 4419926081992479585, i64 -4571168737979776016, i64 -4813907992120298940, i64 -4571168723840409896, i64 -4802373786445140794, i64 -4571168709716780408, i64 -4817798149314441194, i64 -4571168695608852568, i64 4419658902417317190, i64 -4571168681516591512, i64 -4802162090117837839, i64 -4571168667439962464, i64 4400946030983968587, i64 -4571168653378930792, i64 4422104712802964961, i64 -4571168639333461976, i64 4413406798752873495, i64 -4571168625303521592, i64 4421686489045035291, i64 -4571168611289075352, i64 4416539983699364465, i64 -4571168597290089064, i64 4419338191287269146, i64 -4571168583306528664, i64 -4809041042936834268, i64 -4571168569338360184, i64 -4813136816234197179, i64 -4571168555385549784, i64 -4803538436218869056, i64 -4571168541448063720, i64 4412028487738705464, i64 -4571168527525868376, i64 4417176206350223079, i64 -4571168513618930240, i64 -4806323683654558090, i64 -4571168499727215896, i64 4418501648844702369, i64 -4571168485850692064, i64 -4814598840325445885, i64 -4571168471989325552, i64 -4803014805704986859, i64 -4571168458143083280, i64 -4805466119969793411, i64 -4571168444311932280, i64 4418724822045582890, i64 -4571168430495839704, i64 -4803315537304553749, i64 -4571168416694772784, i64 -4802889407130302484, i64 -4571168402908698872, i64 4420267205064993711, i64 -4571168389137585440, i64 4420016513020536720, i64 -4571168375381400048, i64 4417744239053461979, i64 -4571168361640110368, i64 -4809304442363505308, i64 -4571168347913684168, i64 4415080582067814615, i64 -4571168334202089336, i64 4415406376465311776, i64 -4571168320505293856, i64 -4811537202665368109, i64 -4571168306823265808, i64 4418714652976156126, i64 -4571168293155973392, i64 4415867792205707517, i64 -4571168279503384896, i64 4418611694597654760, i64 -4571168265865468720, i64 4401415136504734275, i64 -4571168252242193360, i64 -4802343574179534881, i64 -4571168238633527408, i64 -4807832463690168223, i64 -4571168225039439568, i64 4415830043944831962, i64 -4571168211459898648, i64 -4804710282454147874, i64 -4571168197894873536, i64 -4813533215198154893, i64 -4571168184344333240, i64 -4807301958025055310, i64 -4571168170808246856, i64 -4805011694609245363, i64 -4571168157286583576, i64 4421405482924860805, i64 -4571168143779312712, i64 -4815433276814675081, i64 -4571168130286403648, i64 -4801217577850629386, i64 -4571168116807825872, i64 -4803037121027412539, i64 -4571168103343548976, i64 -4808698975436523420, i64 -4571168089893542648, i64 -4809544789752147821, i64 -4571168076457776664, i64 4420928054892760794, i64 -4571168063036220912, i64 4415468316136899448, i64 -4571168049628845360, i64 -4807449787080872471, i64 -4571168036235620072, i64 -4807916733874751075, i64 -4571168022856515216, i64 -4802157776749905332, i64 -4571168009491501040, i64 4416357992185050095, i64 -4571167996140547912, i64 -4802391542621208301, i64 -4571167982803626256, i64 4418582894538158793, i64 -4571167969480706624, i64 4422206227527804293, i64 -4571167956171759648, i64 -4819815444126415397, i64 -4571167942876756040, i64 4409759026745142797, i64 -4571167929595666624, i64 -4802548742252032544, i64 -4571167916328462296, i64 -4806881584330858389, i64 -4571167903075114056, i64 4419188112210048209, i64 -4571167889835593000, i64 4414593464985027099, i64 -4571167876609870304, i64 -4802795712899766472, i64 -4571167863397917224, i64 4417097739105528083, i64 -4571167850199705136, i64 -4805482820298559120, i64 -4571167837015205472, i64 4412499655331165191, i64 -4571167823844389776, i64 4419288888601229537, i64 -4571167810687229672, i64 4422054350802778744, i64 -4571167797543696880, i64 -4804158559605746088, i64 -4571167784413763184, i64 4405980636548931850, i64 -4571167771297400488, i64 -4801967684874625321, i64 -4571167758194580752, i64 4414489831441581495, i64 -4571167745105276056, i64 -4801762545914843478, i64 -4571167732029458528, i64 4418933729126387039, i64 -4571167718967100424, i64 -4804206792882634173, i64 -4571167705918174048, i64 -4804583047283858666, i64 -4571167692882651808, i64 4401579782458913355, i64 -4571167679860506200, i64 -4811896786867808924, i64 -4571167666851709792, i64 4416503828615281987, i64 -4571167653856235248, i64 4419251347608428552, i64 -4571167640874055312, i64 4412231762851104763, i64 -4571167627905142808, i64 -4811256669754203925, i64 -4571167614949470640, i64 4420786127385336697, i64 -4571167602007011816, i64 -4804716102364724115, i64 -4571167589077739392, i64 4417445912154718075, i64 -4571167576161626544, i64 -4803302145395586843, i64 -4571167563258646496, i64 -4808511586975451397, i64 -4571167550368772576, i64 -4815283249962160128, i64 -4571167537491978184, i64 4416711696593214090, i64 -4571167524628236808, i64 4399934819503924379, i64 -4571167511777522008, i64 -4806760230415794601, i64 -4571167498939807424, i64 4389436382061988566, i64 -4571167486115066784, i64 4412702365809896149, i64 -4571167473303273896, i64 -4801289201914540706, i64 -4571167460504402632, i64 -4801748505080104042, i64 -4571167447718426952, i64 4420208164694457306, i64 -4571167434945320912, i64 -4831116354641512840, i64 -4571167422185058616, i64 4416988617320675836, i64 -4571167409437614272, i64 -4802574486020736467, i64 -4571167396702962136, i64 4420354013359984164, i64 -4571167383981076576, i64 4422494672875218499, i64 -4571167371271932024, i64 -4801103798724452578, i64 -4571167358575502968, i64 -4802386605817179980, i64 -4571167345891763992, i64 4421150282485904047, i64 -4571167333220689768, i64 4418130855125330687, i64 -4571167320562255024, i64 -4806858414843506236, i64 -4571167307916434560, i64 4415642417469126670, i64 -4571167295283203272, i64 -4823868153311609657, i64 -4571167282662536112, i64 4413070544604725963, i64 -4571167270054408120, i64 -4808414003908087975, i64 -4571167257458794400, i64 -4804064865375210076, i64 -4571167244875670128, i64 4421633275804514685, i64 -4571167232305010576, i64 4415017312071081065, i64 -4571167219746791064, i64 4404040120709500593, i64 -4571167207200986992, i64 4420501253397337475, i64 -4571167194667573848, i64 -4804376518218390453, i64 -4571167182146527160, i64 4422342465611612548, i64 -4571167169637822568, i64 4419574698369013237, i64 -4571167157141435760, i64 -4807441713314442551, i64 -4571167144657342488, i64 4421585640302827009, i64 -4571167132185518608, i64 -4804887425657051022, i64 -4571167119725940008, i64 4396794858374218691, i64 -4571167107278582680, i64 -4801452525445445680, i64 -4571167094843422656, i64 4419936870041916891, i64 -4571167082420436072, i64 4419405467916372973, i64 -4571167070009599112, i64 4408003033866777271, i64 -4571167057610888032, i64 -4809994611892048168, i64 -4571167032849748896, i64 -4801742503783070319, i64 -4571167008136830112, i64 4416589312525680495, i64 -4571166983471944248, i64 4414217505286666530, i64 -4571166958854904944, i64 -4836810682545169655, i64 -4571166934285526928, i64 -4804768376485455616, i64 -4571166909763626000, i64 -4800961871217028481, i64 -4571166885289019024, i64 -4806641698108070223, i64 -4571166860861523928, i64 4415215511553059922, i64 -4571166836480959688, i64 4421784976489969074, i64 -4571166812147146328, i64 -4802853436358886617, i64 -4571166787859904880, i64 -4806212808705344288, i64 -4571166763619057424, i64 4418488397969945515, i64 -4571166739424427064, i64 -4803655758292623584, i64 -4571166715275837888, i64 -4804458321252591170, i64 -4571166691173115000, i64 4422102948926661585, i64 -4571166667116084512, i64 4420407559166801463, i64 -4571166643104573504, i64 4416643146787886009, i64 -4571166619138410040, i64 4416869285045353296, i64 -4571166595217423160, i64 4415893652656020835, i64 -4571166571341442872, i64 -4801600576275646221, i64 -4571166547510300120, i64 4420753854791877091, i64 -4571166523723826840, i64 -4804687912139930835, i64 -4571166499981855864, i64 4419947774464532231, i64 -4571166476284221000, i64 4418096631392134556, i64 -4571166452630756968, i64 -4800942491070310286, i64 -4571166429021299400, i64 -4801280327247185668, i64 -4571166405455684856, i64 4415369450252530127, i64 -4571166381933750816, i64 -4814002503493173005, i64 -4571166358455335640, i64 4404622904555023316, i64 -4571166335020278600, i64 -4803428142345794928, i64 -4571166311628419840, i64 4406539333376203967, i64 -4571166288279600408, i64 -4807233132053227363, i64 -4571166264973662208, i64 -4817731481184005316, i64 -4571166241710448024, i64 4417753816503947129, i64 -4571166218489801504, i64 4417996889118992821, i64 -4571166195311567152, i64 -4804016422408356343, i64 -4571166172175590312, i64 -4801406314915599772, i64 -4571166149081717176, i64 4419998452084214971, i64 -4571166126029794792, i64 4422086778560201098, i64 -4571166103019671024, i64 4416455758326813985, i64 -4571166080051194560, i64 4413981741763775894, i64 -4571166057124214912, i64 4420119843131971457, i64 -4571166034238582416, i64 -4805717464446068176, i64 -4571166011394148192, i64 4417304733683039142, i64 -4571165988590764192, i64 -4832305766376778057, i64 -4571165965828283144, i64 -4809829037123106505, i64 -4571165943106558576, i64 -4801938814294692907, i64 -4571165920425444792, i64 -4813434793463476615, i64 -4571165897784796888, i64 4419064371712480671, i64 -4571165875184470736, i64 -4808180082961750148, i64 -4571165852624322960, i64 -4804429317070484415, i64 -4571165830104210960, i64 -4801510619476753422, i64 -4571165807623992888, i64 -4804313343702689798, i64 -4571165785183527656, i64 -4802247191719722488, i64 -4571165762782674912, i64 4389282824904026999, i64 -4571165740421295064, i64 -4801141869308163087, i64 -4571165718099249232, i64 -4805547161214090552, i64 -4571165695816399288, i64 -4806994874563303657, i64 -4571165673572607824, i64 -4801066999587720422, i64 -4571165651367738144, i64 -4815434826072431807, i64 -4571165629201654288, i64 -4803810507783343616, i64 -4571165607074220984, i64 4414576594864476216, i64 -4571165584985303688, i64 4415637544161641001, i64 -4571165562934768544, i64 4416268369865741962, i64 -4571165540922482400, i64 -4804842308713289602, i64 -4571165518948312784, i64 -4804943779774452505, i64 -4571165497012127920, i64 4409253131316933585, i64 -4571165475113796720, i64 -4809216739714936252, i64 -4571165453253188760, i64 -4812549885947356592, i64 -4571165431430174296, i64 4414202035895895974, i64 -4571165409644624256, i64 -4827141276679758560, i64 -4571165387896410224, i64 -4808878278809655725, i64 -4571165366185404440, i64 4422459787685367076, i64 -4571165344511479824, i64 -4801519228395358080, i64 -4571165322874509904, i64 -4808718983304318153, i64 -4571165301274368888, i64 -4831422833057037660, i64 -4571165279710931616, i64 -4805120630664149014, i64 -4571165258184073552, i64 4421387778253979831, i64 -4571165236693670824, i64 -4801491866120189053, i64 -4571165215239600144, i64 4403820007142909599, i64 -4571165193821738888, i64 -4813091826581875668, i64 -4571165172439965032, i64 -4804546342549531954, i64 -4571165151094157168, i64 -4808953222838941587, i64 -4571165129784194504, i64 4418360018158536701, i64 -4571165108509956864, i64 -4807625499698929397, i64 -4571165087271324656, i64 -4806039782392385507, i64 -4571165066068178896, i64 4419757555471503805, i64 -4571165044900401208, i64 4415450155700568978, i64 -4571165023767873792, i64 -4808328788514835203, i64 -4571165002670479432, i64 4419186505461160547, i64 -4571164981608101520, i64 -4802235414774865047, i64 -4571164960580623992, i64 4406734971221134808, i64 -4571164939587931392, i64 4413794099650286676, i64 -4571164918629908824, i64 -4805654194449334626, i64 -4571164897706441952, i64 -4810932831782166172, i64 -4571164876817417016, i64 4409151948510142425, i64 -4571164855962720816, i64 -4813665687299957192, i64 -4571164835142240704, i64 -4806322496828362564, i64 -4571164814355864584, i64 4411763014590981562, i64 -4571164793603480920, i64 4413581994957100377, i64 -4571164772884978712, i64 4420285087022433061, i64 -4571164752200247512, i64 4416666760995922020, i64 -4571164731549177400, i64 4420871176865631619, i64 -4571164710931659008, i64 -4804404415042107857, i64 -4571164690347583472, i64 4419856877971173914, i64 -4571164669796842496, i64 -4805097595034619662, i64 -4571164649279328272, i64 -4811332807909208654, i64 -4571164628794933536, i64 4413183845299402154, i64 -4571164608343551544, i64 -4801382279771365772, i64 -4571164587925076048, i64 -4803668425705439314, i64 -4571164567539401328, i64 4404121192864417480, i64 -4571164547186422176, i64 -4805852393931313483, i64 -4571164526866033872, i64 4414631941535395994, i64 -4571164506578132216, i64 4418487275583056392, i64 -4571164486322613504, i64 -4802082053449968099, i64 -4571164466099374504, i64 4421816544986486462, i64 -4571164445908312520, i64 -4816763086693887629, i64 -4571164425749325304, i64 4417988460651456185, i64 -4571164405622311120, i64 4419730779279215767, i64 -4571164385527168712, i64 -4803710560797730740, i64 -4571164365463797288, i64 -4803520514873447479, i64 -4571164345432096544, i64 4421170966580282224, i64 -4571164325431966664, i64 4420336240035127196, i64 -4571164305463308288, i64 -4807506167423606858, i64 -4571164285526022520, i64 -4801889381352508246, i64 -4571164265620010936, i64 -4803192986025784397, i64 -4571164245745175576, i64 -4808615765579224596, i64 -4571164225901418936, i64 4421575136858840395, i64 -4571164206088643984, i64 -4806842633869384699, i64 -4571164186306754112, i64 -4815967981705006114, i64 -4571164166555653184, i64 4420142933386178576, i64 -4571164146835245520, i64 -4801240352263941674, i64 -4571164127145435856, i64 -4802056136368447435, i64 -4571164107486129392, i64 -4826432505164655549, i64 -4571164087857231768, i64 4418319216403801499, i64 -4571164068258649064, i64 -4801288585540829760, i64 -4571164048690287768, i64 4416572751989816396, i64 -4571164029152054840, i64 -4805187491085229866, i64 -4571164009643857632, i64 4415894045012131324, i64 -4571163990165603952, i64 -4815432196744885259, i64 -4571163970717202008, i64 4420441678323467984, i64 -4571163951298560456, i64 -4801797895022919701, i64 -4571163931909588336, i64 -4808764229702515031, i64 -4571163912550195136, i64 -4804007987348080901, i64 -4571163893220290736, i64 4415227141713528739, i64 -4571163873919785448, i64 -4809069410901557071, i64 -4571163854648589968, i64 4419326886887106093, i64 -4571163835406615424, i64 -4816373402662468031, i64 -4571163816193773328, i64 -4802298496287729100, i64 -4571163797009975592, i64 4416548680254849208, i64 -4571163777855134552, i64 -4804253410713495565, i64 -4571163758729162904, i64 4421353909979810389, i64 -4571163739631973776, i64 4412592130081570872, i64 -4571163720563480656, i64 4419883222683526501, i64 -4571163701523597440, i64 4421726554548496551, i64 -4571163682512238408, i64 4411260487410105860, i64 -4571163663529318216, i64 4403966439126705362, i64 -4571163644574751912, i64 -4807980696546893113, i64 -4571163625648454920, i64 -4801745864582497553, i64 -4571163606750343040, i64 -4801146658033405662, i64 -4571163587880332448, i64 -4822142569131306716, i64 -4571163569038339704, i64 -4809577447524938459, i64 -4571163550224281728, i64 -4800879478458243268, i64 -4571163531438075800, i64 4419424258269808134, i64 -4571163512679639600, i64 -4803228081343484489, i64 -4571163493948891128, i64 4418667432961022595, i64 -4571163475245748784, i64 4421811122349361004, i64 -4571163456570131312, i64 4420231949404519602, i64 -4571163437921957816, i64 4399480932068359533, i64 -4571163419301147752, i64 -4811171870882114406, i64 -4571163400707620936, i64 -4805956921901151941, i64 -4571163382141297528, i64 4420521927742144241, i64 -4571163363602098056, i64 4417891574717748718, i64 -4571163345089943376, i64 4419137072518975887, i64 -4571163326604754704, i64 -4806525223689263313, i64 -4571163308146453584, i64 -4808440353899230873, i64 -4571163289714961912, i64 4420251145015954822, i64 -4571163271310201936, i64 -4806274426539894563, i64 -4571163252932096216, i64 -4803692563541939094, i64 -4571163234580567664, i64 -4803073042914390314, i64 -4571163216255539520, i64 4401856079418035386, i64 -4571163197956935368, i64 -4804562791485491455, i64 -4571163179684679104, i64 -4807123401896119719, i64 -4571163161438694960, i64 4421632860317960539, i64 -4571163143218907512, i64 -4802664799893760109, i64 -4571163125025241624, i64 -4805583415361397059, i64 -4571163106857622512, i64 -4805261781521339294, i64 -4571163088715975696, i64 4422435182251697506, i64 -4571163070600227040, i64 -4807043366545938418, i64 -4571163052510302688, i64 4410874878847286915, i64 -4571163034446129128, i64 4416806632717468716, i64 -4571163016407633152, i64 4416947469199537523, i64 -4571162998394741864, i64 4412232302885999674, i64 -4571162980407382680, i64 -4803204615427145013, i64 -4571162962445483312, i64 4409910769853632811, i64 -4571162944508971800, i64 4403778858527175489, i64 -4571162926597776472, i64 4415437839578566464, i64 -4571162908711825968, i64 4410757302211638335, i64 -4571162890851049224, i64 -4823099975735569135, i64 -4571162873015375480, i64 -4801769704798126422, i64 -4571162855204734264, i64 -4804760406652444467, i64 -4571162837419055408, i64 4421501101879963206, i64 -4571162819658269056, i64 -4801101706051386521, i64 -4571162801922305600, i64 4419721915029384209, i64 -4571162784211095776, i64 -4805593096783354684, i64 -4571162766524570568, i64 -4806962224469869298, i64 -4571162748862661272, i64 -4801037179468751055, i64 -4571162731225299456, i64 -4806087038078822539, i64 -4571162713612416984, i64 4407598277373891899, i64 -4571162696023946000, i64 4418057638642580386, i64 -4571162678459818928, i64 4422207095943033950, i64 -4571162660919968480, i64 -4810440020636827754, i64 -4571162643404327624, i64 4421223753235374047, i64 -4571162625912829640, i64 -4804885892216429735, i64 -4571162608445408048, i64 -4808435748455610296, i64 -4571162591001996664, i64 4410307168817590525, i64 -4571162573582529576, i64 -4808909198044557942, i64 -4571162556186941128, i64 4421054522782733783, i64 -4571162538815165960, i64 -4805753978990589288, i64 -4571162521467138944, i64 4420185738874673695, i64 -4571162504142795256, i64 4409107202584439793, i64 -4571162486842070312, i64 -4807686397936367008, i64 -4571162469564899800, i64 -4802006703426262774, i64 -4571162452311219664, i64 4406398069730932890, i64 -4571162435080966128, i64 -4802574964441762827, i64 -4571162417874075648, i64 -9223372036854775808], [513 x i64] [i64 0, i64 -4654734630270110363, i64 -4650237350981751689, i64 -4647359645254034162, i64 -4645746342966130607, i64 -4644136164208327335, i64 -4642870156363990260, i64 -4642068172442673879, i64 -4641267732283469270, i64 -4640468829954528062, i64 -4639671459558125690, i64 -4638875615230400166, i64 -4638394453666352109, i64 -4637998048842452746, i64 -4637602398357399002, i64 -4637207499345703592, i64 -4636813348958175865, i64 -4636419944361798453, i64 -4636027282739605100, i64 -4635635361290559630, i64 -4635244177229436065, i64 -4634853727786699856, i64 -4634464010208390240, i64 -4634139519160122036, i64 -4633945388135309413, i64 -4633751618957910262, i64 -4633558210281514435, i64 -4633365160767212686, i64 -4633172469083541053, i64 -4632980133906425766, i64 -4632788153919128649, i64 -4632596527812193037, i64 -4632405254283390186, i64 -4632214332037666170, i64 -4632023759787089279, i64 -4631833536250797881, i64 -4631643660154948773, i64 -4631454130232665998, i64 -4631264945223990124, i64 -4631076103875827993, i64 -4630887604941902918, i64 -4630699447182705329, i64 -4630511629365443878, i64 -4630324150263996965, i64 -4630137008658864718, i64 -4629950203337121396, i64 -4629763733092368219, i64 -4629639006830778256, i64 -4629546104988730908, i64 -4629453368894928659, i64 -4629360797958994386, i64 -4629268391593699650, i64 -4629176149214942341, i64 -4629084070241724527, i64 -4628992154096130496, i64 -4628900400203304995, i64 -4628808807991431654, i64 -4628717376891711607, i64 -4628626106338342300, i64 -4628534995768496478, i64 -4628444044622301363, i64 -4628353252342818012, i64 -4628262618376020854, i64 -4628172142170777403, i64 -4628081823178828152, i64 -4627991660854766641, i64 -4627901654656019690, i64 -4627811804042827812, i64 -4627722108478225793, i64 -4627632567428023434, i64 -4627543180360786465, i64 -4627453946747817619, i64 -4627364866063137869, i64 -4627275937783467827, i64 -4627187161388209300, i64 -4627098536359427004, i64 -4627010062181830433, i64 -4626921738342755883, i64 -4626833564332148629, i64 -4626745539642545251, i64 -4626657663769056108, i64 -4626569936209347968, i64 -4626482356463626775, i64 -4626394924034620561, i64 -4626307638427562514, i64 -4626220499150174170, i64 -4626133505712648759, i64 -4626046657627634688, i64 -4625959954410219152, i64 -4625873395577911897, i64 -4625786980650629105, i64 -4625700709150677419, i64 -4625614580602738099, i64 -4625528594533851310, i64 -4625442750473400537, i64 -4625357047953097131, i64 -4625271486506964982, i64 -4625191441490412355, i64 -4625148801147140508, i64 -4625106230648852045, i64 -4625063729767108599, i64 -4625021298274590688, i64 -4624978935945090417, i64 -4624936642553504245, i64 -4624894417875825802, i64 -4624852261689138778, i64 -4624810173771609857, i64 -4624768153902481712, i64 -4624726201862066064, i64 -4624684317431736782, i64 -4624642500393923053, i64 -4624600750532102599, i64 -4624559067630794950, i64 -4624517451475554772, i64 -4624475901852965245, i64 -4624434418550631498, i64 -4624393001357174097, i64 -4624351650062222576, i64 -4624310364456409034, i64 -4624269144331361768, i64 -4624227989479698963, i64 -4624186899695022438, i64 -4624145874771911429, i64 -4624104914505916430, i64 -4624064018693553079, i64 -4624023187132296091, i64 -4623982419620573244, i64 -4623941715957759407, i64 -4623901075944170613, i64 -4623860499381058185, i64 -4623819986070602902, i64 -4623779535815909214, i64 -4623739148420999501, i64 -4623698823690808370, i64 -4623658561431177013, i64 -4623618361448847588, i64 -4623578223551457656, i64 -4623538147547534663, i64 -4623498133246490450, i64 -4623458180458615826, i64 -4623418288995075161, i64 -4623378458667901038, i64 -4623338689289988936, i64 -4623298980675091955, i64 -4623259332637815586, i64 -4623219744993612515, i64 -4623180217558777469, i64 -4623140750150442104, i64 -4623101342586569924, i64 -4623061994685951247, i64 -4623022706268198204, i64 -4622983477153739777, i64 -4622944307163816876, i64 -4622905196120477449, i64 -4622866143846571634, i64 -4622827150165746943, i64 -4622788214902443482, i64 -4622749337881889214, i64 -4622710518930095246, i64 -4622671757873851160, i64 -4622633054540720375, i64 -4622594408759035545, i64 -4622555820357893988, i64 -4622517289167153156, i64 -4622478815017426129, i64 -4622440397740077148, i64 -4622402037167217184, i64 -4622363733131699532, i64 -4622325485467115439, i64 -4622287294007789775, i64 -4622249158588776716, i64 -4622211079045855478, i64 -4622173055215526071, i64 -4622135086935005086, i64 -4622097174042221516, i64 -4622059316375812600, i64 -4622021513775119711, i64 -4621983766080184257, i64 -4621946073131743622, i64 -4621908434771227139, i64 -4621870850840752079, i64 -4621833321183119686, i64 -4621795845641811226, i64 -4621758424060984072, i64 -4621721056285467818, i64 -4621683742160760412, i64 -4621646481533024332, i64 -4621609274249082774, i64 -4621572120156415875, i64 -4621535019103156964, i64 -4621497970938088835, i64 -4621460975510640049, i64 -4621424032670881265, i64 -4621387142269521591, i64 -4621350304157904967, i64 -4621313518188006567, i64 -4621276784212429236, i64 -4621240102084399939, i64 -4621203471657766248, i64 -4621166892786992847, i64 -4621130365327158062, i64 -4621093889133950414, i64 -4621057464063665202, i64 -4621021089973201102, i64 -4620984766720056800, i64 -4620948494162327633, i64 -4620912272158702271, i64 -4620876100568459412, i64 -4620839979251464497, i64 -4620803908068166460, i64 -4620767886879594486, i64 -4620731915547354804, i64 -4620695993933627493, i64 4602645723391681333, i64 4602609900803798592, i64 4602574127524379997, i64 4602538403417869570, i64 4602502728349269557, i64 4602467102184137372, i64 4602431524788582554, i64 4602395996029263749, i64 4602360515773385713, i64 4602325083888696328, i64 4602289700243483654, i64 4602254364706572979, i64 4602219077147323914, i64 4602183837435627486, i64 4602148645441903262, i64 4602113501037096491, i64 4602078404092675265, i64 4602043354480627698, i64 4602008352073459121, i64 4601973396744189305, i64 4601938488366349694, i64 4601903626813980660, i64 4601868811961628776, i64 4601834043684344107, i64 4601799321857677521, i64 4601764646357678013, i64 4601730017060890053, i64 4601695433844350948, i64 4601660896585588222, i64 4601626405162617012, i64 4601591959453937487, i64 4601557559338532275, i64 4601523204695863918, i64 4601488895405872332, i64 4601454631348972290, i64 4601420412406050928, i64 4601386238458465251, i64 4601352109388039671, i64 4601318025077063555, i64 4601283985408288784, i64 4601249990264927340, i64 4601216039530648895, i64 4601182133089578430, i64 4601148270826293854, i64 4601114452625823653, i64 4601080678373644543, i64 4601046947955679148, i64 4601013261258293684, i64 4600979618168295663, i64 4600946018572931612, i64 4600912462359884805, i64 4600878949417273010, i64 4600845479633646253, i64 4600812052897984590, i64 4600778669099695901, i64 4600745328128613691, i64 4600712029874994916, i64 4600678774229517806, i64 4600645561083279718, i64 4600612390327794994, i64 4600579261854992838, i64 4600546175557215196, i64 4600513131327214665, i64 4600480129058152403, i64 4600447168643596057, i64 4600414249977517704, i64 4600381372954291804, i64 4600348537468693165, i64 4600315743415894928, i64 4600282990691466551, i64 4600250279191371820, i64 4600217608811966863, i64 4600184979449998181, i64 4600152391002600690, i64 4600119843367295775, i64 4600087336441989354, i64 4600054870124969962, i64 4600022444314906837, i64 4599990058910848024, i64 4599957713812218487, i64 4599925408918818242, i64 4599893144130820483, i64 4599860919348769743, i64 4599828734473580046, i64 4599796589406533084, i64 4599764484049276397, i64 4599732418303821570, i64 4599700392072542437, i64 4599668405258173296, i64 4599636457763807143, i64 4599604549492893902, i64 4599572680349238680, i64 4599540850237000026, i64 4599509059060688200, i64 4599477306725163454, i64 4599445593135634327, i64 4599413918197655943, i64 4599382281817128327, i64 4599350683900294726, i64 4599319124353739939, i64 4599287603084388665, i64 4599256119999503855, i64 4599224675006685071, i64 4599193268013866863, i64 4599161898929317152, i64 4599130567661635617, i64 4599099274119752104, i64 4599068018212925032, i64 4599036799850739821, i64 4599005618943107314, i64 4598974475400262223, i64 4598943369132761580, i64 4598912300051483189, i64 4598881268067624100, i64 4598850273092699083, i64 4598819315038539116, i64 4598788393817289879, i64 4598757509341410257, i64 4598726661523670855, i64 4598695850277152520, i64 4598665075515244870, i64 4598634337151644832, i64 4598603635100355195, i64 4598572969275683160, i64 4598542339592238910, i64 4598511745964934180, i64 4598481188308980841, i64 4598450666539889489, i64 4598420180573468043, i64 4598389730325820352, i64 4598359315713344812, i64 4598328936652732984, i64 4598298593060968228, i64 4598268284855324343, i64 4598238011953364211, i64 4598207774272938452, i64 4598177571732184089, i64 4598119588953770013, i64 4598059323942046927, i64 4597999128721899061, i64 4597939003131865225, i64 4597878947011043889, i64 4597818960199090598, i64 4597759042536215400, i64 4597699193863180296, i64 4597639414021296701, i64 4597579702852422915, i64 4597520060198961619, i64 4597460485903857373, i64 4597400979810594140, i64 4597341541763192816, i64 4597282171606208777, i64 4597222869184729440, i64 4597163634344371838, i64 4597104466931280208, i64 4597045366792123596, i64 4596986333774093467, i64 4596927367724901341, i64 4596868468492776431, i64 4596809635926463302, i64 4596750869875219537, i64 4596692170188813426, i64 4596633536717521655, i64 4596574969312127016, i64 4596516467823916133, i64 4596458032104677190, i64 4596399662006697683, i64 4596341357382762177, i64 4596283118086150078, i64 4596224943970633422, i64 4596166834890474665, i64 4596108790700424498, i64 4596050811255719668, i64 4595992896412080807, i64 4595935046025710284, i64 4595877259953290060, i64 4595819538051979558, i64 4595761880179413541, i64 4595704286193700013, i64 4595646755953418117, i64 4595589289317616053, i64 4595531886145809007, i64 4595474546297977093, i64 4595417269634563297, i64 4595360056016471445, i64 4595302905305064173, i64 4595245817362160914, i64 4595188792050035890, i64 4595131829231416122, i64 4595074928769479443, i64 4595018090527852533, i64 4594961314370608949, i64 4594904600162267182, i64 4594847947767788713, i64 4594791357052576088, i64 4594734827882470993, i64 4594678360123752351, i64 4594621953643134423, i64 4594565608307764919, i64 4594509323985223121, i64 4594453100543518016, i64 4594396937851086440, i64 4594340835776791229, i64 4594284794189919383, i64 4594228812960180236, i64 4594172891957703644, i64 4594117031053038171, i64 4594061230117149296, i64 4594005489021417622, i64 4593949807637637098, i64 4593894185838013249, i64 4593838623495161417, i64 4593783120482105011, i64 4593727676672273765, i64 4593672291939502005, i64 4593562312398147941, i64 4593451778487067871, i64 4593341361977933499, i64 4593231062621615956, i64 4593120880169778518, i64 4593010814374873250, i64 4592900864990137665, i64 4592791031769591412, i64 4592681314468032965, i64 4592571712841036348, i64 4592462226644947860, i64 4592352855636882830, i64 4592243599574722382, i64 4592134458217110220, i64 4592025431323449427, i64 4591916518653899284, i64 4591807719969372106, i64 4591699035031530090, i64 4591590463602782184, i64 4591482005446280970, i64 4591373660325919564, i64 4591265428006328533, i64 4591157308252872826, i64 4591049300831648720, i64 4590941405509480791, i64 4590833622053918883, i64 4590725950233235114, i64 4590618389816420879, i64 4590510940573183880, i64 4590403602273945166, i64 4590296374689836190, i64 4590189257592695883, i64 4590082250755067738, i64 4589975353950196915, i64 4589868566952027355, i64 4589761889535198914, i64 4589655321475044509, i64 4589548862547587278, i64 4589442512529537757, i64 4589336271198291068, i64 4589230138331924126, i64 4589080207127850285, i64 4588868373928523421, i64 4588656756335543550, i64 4588445353910463486, i64 4588234166216172097, i64 4588023192816888878, i64 4587812433278158556, i64 4587601887166845723, i64 4587391554051129493, i64 4587181433500498194, i64 4586971525085744071, i64 4586761828378958037, i64 4586552342953524430, i64 4586343068384115809, i64 4586134004246687774, i64 4585925150118473807, i64 4585716505577980147, i64 4585508070204980683, i64 4585299843580511875, i64 4585091825286867704, i64 4584884014907594645, i64 4584676412027486660, i64 4584273611801995520, i64 4583859233557133817, i64 4583445267834236615, i64 4583031713812772703, i64 4582618570674656566, i64 4582205837604238678, i64 4581793513788295838, i64 4581381598416021556, i64 4580970090679016489, i64 4580558989771278917, i64 4580135768742596123, i64 4579315189427267036, i64 4578495418963045172, i64 4577676455756919591, i64 4576858298220580818, i64 4576040944770402352, i64 4574791566246420625, i64 4573160066226226015, i64 4571530164932421825, i64 4568650096688652250, i64 4564143318334400966, i64 -9223372036854775808], [6 x i64] [i64 -4639987187332182293, i64 4586844004957534158, i64 -4632686892433700848, i64 4594953559526664127, i64 -4623445932625928894, i64 4561386029365702310], [5 x i64] [i64 4598869486402904530, i64 -4623203087916565349, i64 4602334714382641446, i64 -4618699496460944136, i64 4609176140021203710], i64 4503599627370495, i64 4566650022153682944, i64 4562146422526312448, i64 4503599627370496, i64 9218868437227405311, i64 -67108864, i64 4609170335823036416, i64 4607182418800017408, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_131__dlog2_ha___libm_rcp_table_256E = internal unnamed_addr addrspace(1) constant [256 x float] [float 0x3FEFF00000000000, float 0x3FEFD00000000000, float 0x3FEFB00000000000, float 0x3FEF900000000000, float 0x3FEF740000000000, float 0x3FEF540000000000, float 0x3FEF340000000000, float 0x3FEF180000000000, float 0x3FEEF80000000000, float 0x3FEEDC0000000000, float 0x3FEEBC0000000000, float 0x3FEEA00000000000, float 0x3FEE840000000000, float 0x3FEE640000000000, float 0x3FEE480000000000, float 0x3FEE2C0000000000, float 0x3FEE100000000000, float 0x3FEDF40000000000, float 0x3FEDD80000000000, float 0x3FEDBC0000000000, float 0x3FEDA00000000000, float 0x3FED840000000000, float 0x3FED6C0000000000, float 0x3FED500000000000, float 0x3FED340000000000, float 0x3FED180000000000, float 9.062500e-01, float 0x3FECE40000000000, float 0x3FECCC0000000000, float 0x3FECB00000000000, float 0x3FEC980000000000, float 8.906250e-01, float 0x3FEC640000000000, float 0x3FEC4C0000000000, float 0x3FEC340000000000, float 0x3FEC1C0000000000, float 8.750000e-01, float 0x3FEBE80000000000, float 0x3FEBD00000000000, float 0x3FEBB80000000000, float 0x3FEBA00000000000, float 0x3FEB880000000000, float 0x3FEB700000000000, float 0x3FEB5C0000000000, float 0x3FEB440000000000, float 0x3FEB2C0000000000, float 0x3FEB140000000000, float 0x3FEAFC0000000000, float 0x3FEAE80000000000, float 0x3FEAD00000000000, float 0x3FEABC0000000000, float 0x3FEAA40000000000, float 0x3FEA8C0000000000, float 0x3FEA780000000000, float 0x3FEA640000000000, float 0x3FEA4C0000000000, float 0x3FEA380000000000, float 0x3FEA200000000000, float 0x3FEA0C0000000000, float 0x3FE9F80000000000, float 0x3FE9E40000000000, float 0x3FE9CC0000000000, float 0x3FE9B80000000000, float 0x3FE9A40000000000, float 0x3FE9900000000000, float 0x3FE97C0000000000, float 0x3FE9680000000000, float 0x3FE9540000000000, float 0x3FE9400000000000, float 0x3FE92C0000000000, float 0x3FE9180000000000, float 0x3FE9040000000000, float 0x3FE8F00000000000, float 0x3FE8DC0000000000, float 0x3FE8C80000000000, float 0x3FE8B80000000000, float 0x3FE8A40000000000, float 0x3FE8900000000000, float 0x3FE87C0000000000, float 0x3FE86C0000000000, float 0x3FE8580000000000, float 0x3FE8440000000000, float 0x3FE8340000000000, float 0x3FE8200000000000, float 0x3FE8100000000000, float 0x3FE7FC0000000000, float 0x3FE7EC0000000000, float 0x3FE7D80000000000, float 0x3FE7C80000000000, float 0x3FE7B40000000000, float 0x3FE7A40000000000, float 0x3FE7940000000000, float 7.343750e-01, float 0x3FE7700000000000, float 0x3FE7600000000000, float 0x3FE7500000000000, float 0x3FE73C0000000000, float 0x3FE72C0000000000, float 0x3FE71C0000000000, float 0x3FE70C0000000000, float 0x3FE6FC0000000000, float 0x3FE6EC0000000000, float 0x3FE6D80000000000, float 0x3FE6C80000000000, float 0x3FE6B80000000000, float 0x3FE6A80000000000, float 0x3FE6980000000000, float 0x3FE6880000000000, float 0x3FE6780000000000, float 0x3FE6680000000000, float 0x3FE65C0000000000, float 0x3FE64C0000000000, float 0x3FE63C0000000000, float 0x3FE62C0000000000, float 0x3FE61C0000000000, float 0x3FE60C0000000000, float 0x3FE5FC0000000000, float 0x3FE5F00000000000, float 0x3FE5E00000000000, float 0x3FE5D00000000000, float 0x3FE5C40000000000, float 0x3FE5B40000000000, float 0x3FE5A40000000000, float 0x3FE5980000000000, float 0x3FE5880000000000, float 0x3FE5780000000000, float 0x3FE56C0000000000, float 0x3FE55C0000000000, float 0x3FE5500000000000, float 0x3FE5400000000000, float 0x3FE5340000000000, float 0x3FE5240000000000, float 0x3FE5180000000000, float 0x3FE5080000000000, float 0x3FE4FC0000000000, float 0x3FE4EC0000000000, float 0x3FE4E00000000000, float 0x3FE4D00000000000, float 0x3FE4C40000000000, float 0x3FE4B80000000000, float 0x3FE4A80000000000, float 0x3FE49C0000000000, float 0x3FE4900000000000, float 6.406250e-01, float 0x3FE4740000000000, float 0x3FE4680000000000, float 0x3FE45C0000000000, float 0x3FE44C0000000000, float 0x3FE4400000000000, float 0x3FE4340000000000, float 0x3FE4280000000000, float 0x3FE41C0000000000, float 0x3FE40C0000000000, float 6.250000e-01, float 0x3FE3F40000000000, float 0x3FE3E80000000000, float 0x3FE3DC0000000000, float 0x3FE3D00000000000, float 0x3FE3C40000000000, float 0x3FE3B80000000000, float 0x3FE3AC0000000000, float 0x3FE3A00000000000, float 0x3FE3940000000000, float 0x3FE3880000000000, float 0x3FE37C0000000000, float 0x3FE3700000000000, float 0x3FE3640000000000, float 0x3FE3580000000000, float 0x3FE34C0000000000, float 0x3FE3400000000000, float 0x3FE3340000000000, float 0x3FE3280000000000, float 0x3FE3200000000000, float 0x3FE3140000000000, float 0x3FE3080000000000, float 0x3FE2FC0000000000, float 0x3FE2F00000000000, float 0x3FE2E40000000000, float 0x3FE2DC0000000000, float 0x3FE2D00000000000, float 0x3FE2C40000000000, float 0x3FE2B80000000000, float 0x3FE2B00000000000, float 0x3FE2A40000000000, float 0x3FE2980000000000, float 0x3FE2900000000000, float 0x3FE2840000000000, float 0x3FE2780000000000, float 0x3FE2700000000000, float 0x3FE2640000000000, float 0x3FE2580000000000, float 0x3FE2500000000000, float 0x3FE2440000000000, float 0x3FE2380000000000, float 0x3FE2300000000000, float 0x3FE2240000000000, float 0x3FE21C0000000000, float 0x3FE2100000000000, float 0x3FE2080000000000, float 0x3FE1FC0000000000, float 0x3FE1F00000000000, float 0x3FE1E80000000000, float 0x3FE1DC0000000000, float 0x3FE1D40000000000, float 0x3FE1CC0000000000, float 0x3FE1C00000000000, float 0x3FE1B80000000000, float 0x3FE1AC0000000000, float 0x3FE1A40000000000, float 0x3FE1980000000000, float 0x3FE1900000000000, float 0x3FE1840000000000, float 0x3FE17C0000000000, float 0x3FE1740000000000, float 0x3FE1680000000000, float 0x3FE1600000000000, float 0x3FE1580000000000, float 0x3FE14C0000000000, float 0x3FE1440000000000, float 0x3FE13C0000000000, float 0x3FE1300000000000, float 0x3FE1280000000000, float 0x3FE1200000000000, float 0x3FE1140000000000, float 0x3FE10C0000000000, float 0x3FE1040000000000, float 0x3FE0FC0000000000, float 0x3FE0F00000000000, float 0x3FE0E80000000000, float 0x3FE0E00000000000, float 0x3FE0D80000000000, float 0x3FE0CC0000000000, float 0x3FE0C40000000000, float 0x3FE0BC0000000000, float 0x3FE0B40000000000, float 0x3FE0AC0000000000, float 0x3FE0A40000000000, float 0x3FE0980000000000, float 0x3FE0900000000000, float 0x3FE0880000000000, float 5.156250e-01, float 0x3FE0780000000000, float 0x3FE0700000000000, float 0x3FE0680000000000, float 0x3FE0600000000000, float 0x3FE0540000000000, float 0x3FE04C0000000000, float 0x3FE0440000000000, float 0x3FE03C0000000000, float 0x3FE0340000000000, float 0x3FE02C0000000000, float 0x3FE0240000000000, float 0x3FE01C0000000000, float 0x3FE0140000000000, float 0x3FE00C0000000000, float 0x3FE0040000000000], align 4 +@_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_132__dlog2_ha___libm_log2_table_256E = internal unnamed_addr addrspace(1) constant [512 x double] [double 0x3E1485CBFB44C3B7, double 0x3F671B0E00000000, double 0x3E31D5D906028AC0, double 0x3F815CFE00000000, double 0x3DF8B9CBB8D7240B, double 0x3F8CFEE700000000, double 0x3E38864A0D179106, double 0x3F94564A00000000, double 0x3E459C6AECBA1593, double 0x3F99772300000000, double 0x3E48D36A94120C14, double 0x3F9F592300000000, double 0x3E5410BAD2571490, double 0x3FA2A09400000000, double 0x3E2776B01DC036A2, double 0x3FA5389400000000, double 0x3E53722978EFE2B1, double 0x3FA8324C00000000, double 0x3E59C0FAFD29DC75, double 0x3FAACF5400000000, double 0x3E4636B7046734F7, double 0x3FADCED900000000, double 0x3E6F7950D3B410B8, double 0x3FB0387E00000000, double 0x3E19D1E700F2200A, double 0x3FB18AC600000000, double 0x3E4F09A98661BA82, double 0x3FB30EDD00000000, double 0x3E564D919367107C, double 0x3FB463C100000000, double 0x3E4E1FD10E4A4CE8, double 0x3FB5B9E100000000, double 0x3E492CF03CDB6374, double 0x3FB7113F00000000, double 0x3E61A364069C4F7F, double 0x3FB869DD00000000, double 0x3E6493A6427B631B, double 0x3FB9C3BE00000000, double 0x3E6AF2C2E02B3E8B, double 0x3FBB1EE400000000, double 0x3E616E1E389F4365, double 0x3FBC7B5200000000, double 0x3E4633B76A31FD96, double 0x3FBDD90A00000000, double 0x3E62ED840508664D, double 0x3FBF05D400000000, double 0x3E775DCDACA1905C, double 0x3FC032FB00000000, double 0x3E753E65094FBEEB, double 0x3FC0E3B500000000, double 0x3E671F4496AA4B17, double 0x3FC1951900000000, double 0x3E78556692DA5A47, double 0x3FC22DAD00000000, double 0x3E518EFABEB7D722, double 0x3FC2E05000000000, double 0x3E738564AB57551C, double 0x3FC379F700000000, double 0x3E55D0DA54A914E3, double 0x3FC42DDD00000000, double 0x3E73CD00FE974017, double 0x3FC4C89B00000000, double 0x3E54FFD659064390, double 0x3FC563DC00000000, double 0x3E67D75E633AB50F, double 0x3FC619A200000000, double 0x3E77E6CEC8877E8A, double 0x3FC6B5FF00000000, double 0x3E7ECC1F1AB7837F, double 0x3FC752E100000000, double 0x3E7CEA7CF9D5827A, double 0x3FC7F04900000000, double 0x3E357F7A64CCD537, double 0x3FC8A89800000000, double 0x3E7994CAF7C9B05B, double 0x3FC9472400000000, double 0x3E524B8FA2F56536, double 0x3FC9E63A00000000, double 0x3E7FD6405EDAAB42, double 0x3FCA85D800000000, double 0x3E625F54D163379A, double 0x3FCB260200000000, double 0x3E7EBDC3936ACD51, double 0x3FCBC6B600000000, double 0x3E7EEE14CFBC0AA0, double 0x3FCC67F700000000, double 0x3E764469F73BCDAD, double 0x3FCCEEC400000000, double 0x3E6EB44E60971B86, double 0x3FCD910900000000, double 0x3E65FCF4CD2052A5, double 0x3FCE33DD00000000, double 0x3E61AF1EC402867B, double 0x3FCED74100000000, double 0x3E61BFBDA0C956E4, double 0x3FCF7B3600000000, double 0x3E85287B831E77FF, double 0x3FD0022300000000, double 0x3E7D2FC3ADDFDEE2, double 0x3FD054A400000000, double 0x3E83724B342052C1, double 0x3FD0999D00000000, double 0x3E7B4EC9602BCD34, double 0x3FD0ECA600000000, double 0x3E6742DA3AA20EAD, double 0x3FD13FFA00000000, double 0x3E713E829ECDADF4, double 0x3FD185A400000000, double 0x3E52F27EFEF3031B, double 0x3FD1CB8300000000, double 0x3E71073979E4AF8A, double 0x3FD21FA100000000, double 0x3E637301E59AD84A, double 0x3FD265F500000000, double 0x3E88697C3D7DFD9B, double 0x3FD2BAA000000000, double 0x3E717788738117B0, double 0x3FD3016B00000000, double 0x3E6C5514D3C26A97, double 0x3FD3486C00000000, double 0x3E8DF5504C4FF246, double 0x3FD38FA300000000, double 0x3E88102D40340FA6, double 0x3FD3E56200000000, double 0x3E5F53B64592F4C3, double 0x3FD42D1400000000, double 0x3E750FC88B149A00, double 0x3FD474FD00000000, double 0x3E86D01CA8F50E5F, double 0x3FD4BD1E00000000, double 0x3E83C4697A22A88A, double 0x3FD5057800000000, double 0x3E79000EDC18B6D2, double 0x3FD54E0B00000000, double 0x3E7870F07C00250B, double 0x3FD596D700000000, double 0x3E8E3DD5C1C885AE, double 0x3FD5DFDC00000000, double 0x3E7BF64CA6ECC47E, double 0x3FD6291C00000000, double 0x3E6BDACA0BC16C18, double 0x3FD6729600000000, double 0x3E84D25C1F925729, double 0x3FD6BC4A00000000, double 0x3E5A5FB4F23978DE, double 0x3FD7063A00000000, double 0x3E8E3DA0E2AC7F60, double 0x3FD7506400000000, double 0x3E819E2071F51A7B, double 0x3FD79ACB00000000, double 0x3E5E43AE5B924234, double 0x3FD7D67C00000000, double 0x3E701A2BE9AEDF37, double 0x3FD8214F00000000, double 0x3E6B6F51EDDD33EA, double 0x3FD86C5F00000000, double 0x3E79375FE732B3C4, double 0x3FD8B7AC00000000, double 0x3E7E831BE47CB9DF, double 0x3FD8F41600000000, double 0x3E8ABC37E392D3C8, double 0x3FD93FD200000000, double 0x3E80852D28B35C77, double 0x3FD98BCD00000000, double 0x3E69F374D29CEA36, double 0x3FD9C8C300000000, double 0x3E542981B3D7B0E6, double 0x3FDA152F00000000, double 0x3E8B2BFB1FE6D5AC, double 0x3FDA527F00000000, double 0x3E6F6F5CF32E5DDA, double 0x3FDA9F5E00000000, double 0x3E65ABAAD34D0D30, double 0x3FDADD0B00000000, double 0x3E7BD47FE0AC9602, double 0x3FDB2A5D00000000, double 0x3E8336017C5C784B, double 0x3FDB686700000000, double 0x3E5B887CD7B0821F, double 0x3FDBB62F00000000, double 0x3E83ECCCCD0A8F6A, double 0x3FDBF49700000000, double 0x3E7BA0E67500A4E8, double 0x3FDC332A00000000, double 0x3E885A8BFC8712BB, double 0x3FDC819D00000000, double 0x3E81C336F7A3A78F, double 0x3FDCC09000000000, double 0x3E7846B44AD8A38B, double 0x3FDCFFAE00000000, double 0x3E7DB50FFCFC3A99, double 0x3FDD3EF700000000, double 0x3E238809433CCCD2, double 0x3FDD8E5000000000, double 0x3E721B2E6828FA82, double 0x3FDDCDFB00000000, double 0x3E82848BFC7C49C1, double 0x3FDE0DD200000000, double 0x3E6151441FCE4D49, double 0x3FDE4DD600000000, double 0x3E68B88A77E2E8FD, double 0x3FDE8E0600000000, double 0x3E8FD35322A961B0, double 0x3FDECE6200000000, double 0x3E72854E266F2E1F, double 0x3FDF1F1600000000, double 0x3E8520C7C69211FE, double 0x3FDF5FD800000000, double 0x3E826FCFABA878D5, double 0x3FDFA0C800000000, double 0x3E726ED8CD5B35B1, double 0x3FDFE1E600000000, double 0x3E49054D678A4F1C, double 0x3FE0119900000000, double 0x3E5D23CB3BC19F18, double 0x3FE0325600000000, double 0x3E87AF3512772ACB, double 0x3FE0532A00000000, double 0x3E67F5FC2849C88A, double 0x3FE0741600000000, double 0x3E84FCE20E574FA1, double 0x3FE08CD600000000, double 0x3E8570440EC2B5FA, double 0x3FE0ADEB00000000, double 0x3E6D5D1DD031F353, double 0x3FE0CF1800000000, double 0x3E99A159DAE75C4D, double 0x3FE0F05C00000000, double 0x3E90EAF11553AFB9, double 0x3FE111B900000000, double 0x3E8BC6F3DCC5C3C7, double 0x3FE1332E00000000, double 0x3E94EF841109E597, double 0x3FE154BB00000000, double 0x3E937F40D82ADEA4, double 0x3FE16DF500000000, double 0x3E96DC5A78336A2F, double 0x3FE18FAD00000000, double 0x3E90935B84C2C804, double 0x3FE1B17E00000000, double 0x3E8A837A04FD30AA, double 0x3FE1CAEB00000000, double 0x3E99061DD924B0AC, double 0x3FE1ECE700000000, double 0x3E7ED700EF9B9D01, double 0x3FE20EFD00000000, double 0x3E9C6EBB202C81EC, double 0x3FE2289D00000000, double 0x3E936D4DFC0D7D76, double 0x3FE24ADF00000000, double 0x3E9A35D79F8756BA, double 0x3FE26D3A00000000, double 0x3E584EE3E7C79D83, double 0x3FE2871000000000, double 0x3E7D9E0D942065A0, double 0x3FE2A99800000000, double 0x3E8721082175AFBF, double 0x3FE2C38F00000000, double 0x3E9F5809FAF6283C, double 0x3FE2E64400000000, double 0x3E871209411D0507, double 0x3FE3005E00000000, double 0x3E9C3B11370C24BF, double 0x3FE3234100000000, double 0x3E9BCE8E8044BB5A, double 0x3FE33D7D00000000, double 0x3E98ACA0698EA854, double 0x3FE3608F00000000, double 0x3E972A8ED4D873BB, double 0x3FE37AEE00000000, double 0x3E8F669B615E8182, double 0x3FE39E2F00000000, double 0x3E98D1F4DDA5B49A, double 0x3FE3B8B100000000, double 0x3E9CC279E72383F7, double 0x3FE3DC2100000000, double 0x3E9C6774497497F1, double 0x3FE3F6C700000000, double 0x3E82C7F6801BD0E6, double 0x3FE4117D00000000, double 0x3E9DFDD6D0EE28B4, double 0x3FE4353100000000, double 0x3E92D3A2B70D3761, double 0x3FE4500B00000000, double 0x3E9C8343E7D6BCB2, double 0x3FE46AF400000000, double 0x3E69317990D43957, double 0x3FE48EEF00000000, double 0x3E799EABF12570DF, double 0x3FE4A9FD00000000, double 0x3E78C5F81B88755D, double 0x3FE4C51B00000000, double 0x3E7369BEDF99A22C, double 0x3FE4E04900000000, double 0x3E88FD936ED50F62, double 0x3FE5049F00000000, double 0x3E9C6042978605FF, double 0x3FE51FF200000000, double 0x3E930AE6E6C85F4C, double 0x3FE53B5600000000, double 0x3E92E7B6C3275BA6, double 0x3FE556CA00000000, double 0x3E9E640191597938, double 0x3FE5724E00000000, double 0x3E3D2DEE448EBB62, double 0x3FE5971900000000, double 0x3E9B432E47501B6D, double 0x3FE5B2C300000000, double 0x3E83CF9B571FA7CD, double 0x3FE5CE7F00000000, double 0x3E8DC6157359819D, double 0x3FE5EA4B00000000, double 0x3E8973C3C78A85ED, double 0x3FE6062800000000, double 0x3E77D788C15A9F3D, double 0x3FE6221600000000, double 0x3E9D253851952736, double 0x3FE63E1400000000, double 0x3E94DAB9DE792C07, double 0x3FE65A2400000000, double 0x3E8F5BE15BFA4318, double 0x3FE6764500000000, double 0x3E903B2655090EC8, double 0x3FE6927700000000, double 0x3E99236FC78B6175, double 0x3FE6AEBA00000000, double 0x3E8A19723A80DB6A, double 0x3FE6CB0F00000000, double 0x3E8D43A2F558AA96, double 0x3FE6E77500000000, double 0x3E424EE3D9A82F2E, double 0x3FE703ED00000000, double 0x3E764D8E583878F6, double 0x3FE7207600000000, double 0x3E379604C1150A3E, double 0x3FE73D1100000000, double 0x3E93B229ED85584B, double 0x3FE759BD00000000, double 0x3E62967A451A7B48, double 0x3FE7767C00000000, double 0x3E8E12D7C044E72D, double 0x3FE7934C00000000, double 0x3E9CA45DFDFB6949, double 0x3FE7B02E00000000, double 0x3E9244FCFF690FCE, double 0x3FE7C37A00000000, double 0x3E7E9CEA81487A2C, double 0x3FE7E07B00000000, double 0x3E760DA0D0AD2D9A, double 0x3FE7FD8E00000000, double 0x3E8D7703096F45D9, double 0x3FE81AB300000000, double 0x3E78DBEE1B17115B, double 0x3FE837EB00000000, double 0x3E8DC5A47C252EE0, double 0x3FE8553500000000, double 0x3E95011642D5123F, double 0x3FE868C600000000, double 0x3E4C4EB7F11E41BE, double 0x3FE8863000000000, double 0x3E7773B8DB2890B4, double 0x3FE8A3AC00000000, double 0x3E7BC8E77FFB4479, double 0x3FE8C13B00000000, double 0x3E8C388F237693B3, double 0x3FE8D4FA00000000, double 0x3E731CD445FCF1A0, double 0x3FE8F2A900000000, double 0x3E9FAE07E4895B91, double 0x3FE9106A00000000, double 0x3E7D140D42D2824E, double 0x3FE9244C00000000, double 0x3E75C3C839900F67, double 0x3FE9422E00000000, double 0x3E902422A314252B, double 0x3FE9602300000000, double 0x3E7B9BE8F2A6B8EF, double 0x3FE9742700000000, double 0x3E66B1881476F5E9, double 0x3FE9923D00000000, double 0x3E93C377DDE10A6F, double 0x3FE9B06600000000, double 0x3E817CAD4944A32C, double 0x3FE9C48D00000000, double 0x3E9927F2C738E7EF, double 0x3FE9E2D700000000, double 0x3E7CCC41D25CFD94, double 0x3FEA013600000000, double 0x3E8382FA2210E81B, double 0x3FEA158000000000, double 0x3E7752A71E690CE2, double 0x3FEA340000000000, double 0x3E94CFEE122315D2, double 0x3FEA486000000000, double 0x3E80536ECE98333B, double 0x3FEA670200000000, double 0x3E838B7EC30F00E9, double 0x3FEA7B7900000000, double 0x3E9DC38005B0C779, double 0x3FEA9A3C00000000, double 0x3E6BE168DD6DD3FE, double 0x3FEAB91500000000, double 0x3E96675726E0D276, double 0x3FEACDB000000000, double 0x3E8802520AAD615C, double 0x3FEAECAB00000000, double 0x3E607C317927096A, double 0x3FEB015E00000000, double 0x3E59651353B3D90E, double 0x3FEB161A00000000, double 0x3E90EC3A8F2F0570, double 0x3FEB354500000000, double 0x3E9CB64081193954, double 0x3FEB4A1800000000, double 0x3E936479311E7236, double 0x3FEB696700000000, double 0x3E9210E83A42A413, double 0x3FEB7E5200000000, double 0x3E9A17174A0DAEB2, double 0x3FEB9DC400000000, double 0x3E925BB7CE900653, double 0x3FEBB2C700000000, double 0x3E95DBB8B5087588, double 0x3FEBD25D00000000, double 0x3E8D0AA94A41204C, double 0x3FEBE77800000000, double 0x3E9C772F69A0D774, double 0x3FEBFC9C00000000, double 0x3E97B6A079D0A9A5, double 0x3FEC1C6500000000, double 0x3E8F7402D26F1A12, double 0x3FEC31A200000000, double 0x3E4DB2F11243BC84, double 0x3FEC46E900000000, double 0x3E80DCC2477E1755, double 0x3FEC66E500000000, double 0x3E8B1E31C2F904C1, double 0x3FEC7C4400000000, double 0x3E8FB6191785B0C4, double 0x3FEC91AD00000000, double 0x3E98832DEDB052EF, double 0x3FECB1DD00000000, double 0x3E98C8229E373618, double 0x3FECC75F00000000, double 0x3E9A46E732954637, double 0x3FECDCEB00000000, double 0x3E996305F0E6B2A9, double 0x3FECFD5000000000, double 0x3E68C1601A6614EE, double 0x3FED12F600000000, double 0x3E9229C409E33B28, double 0x3FED28A500000000, double 0x3E7F281BE53B994C, double 0x3FED3E5F00000000, double 0x3E9F27F31124AC35, double 0x3FED5F0800000000, double 0x3E84E7793D2FDC03, double 0x3FED74DC00000000, double 0x3E416C071E93FD97, double 0x3FED8ABA00000000, double 0x3E65466991B415EF, double 0x3FEDA0A200000000, double 0x3E9712D46495F594, double 0x3FEDC19100000000, double 0x3E9CA7B240171789, double 0x3FEDD79300000000, double 0x3E929AFAE8FC4323, double 0x3FEDEDA000000000, double 0x3E9A2E96EB03BD09, double 0x3FEE03B700000000, double 0x3E94A63DCA370EA2, double 0x3FEE19D900000000, double 0x3E6A3BCBE30512EC, double 0x3FEE300600000000, double 0x3E99D3ED411C95CE, double 0x3FEE515C00000000, double 0x3E3E5B5735CFAF8E, double 0x3FEE67A400000000, double 0x3E9FCA715669DF6A, double 0x3FEE7DF500000000, double 0x3E9914E204F19D94, double 0x3FEE945200000000, double 0x3E8B511CCAA19134, double 0x3FEEAABA00000000, double 0x3E9ED72F4BB3BFB1, double 0x3FEEC12C00000000, double 0x3E8BE8D63C29D75E, double 0x3FEED7AA00000000, double 0x3E9C55D997DA24FD, double 0x3FEEEE3200000000, double 0x3E7DDFB1983C68EA, double 0x3FEF101400000000, double 0x3E83CE66F4425883, double 0x3FEF26B800000000, double 0x3E9055C3F7857F23, double 0x3FEF3D6700000000, double 0x3E9C22232805B525, double 0x3FEF542100000000, double 0x3E8D59BA0C347FCF, double 0x3FEF6AE700000000, double 0x3E82B1107C901C44, double 0x3FEF81B800000000, double 0x3E8B139474D1B482, double 0x3FEF989400000000, double 0x3E9CA75B36FB9EB2, double 0x3FEFAF7B00000000, double 0x3E981A0A629B1B7E, double 0x3FEFC66E00000000, double 0x3E54CC207B8C1116, double 0x3FEFDD6D00000000, double 0x3E99AC8BC0BABE05, double 0x3FEFF47600000000], align 8 +@_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE = internal unnamed_addr addrspace(1) constant [860 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072629696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072569856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072513472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072460224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072409856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072362112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072316864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072273792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072232896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072156736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072121280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072087424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072054976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072023936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071994176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071965696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071911936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071886656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071862272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071838848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071816256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071794496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071773440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071733504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071714560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071696256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071678528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1608581120, i32 1067891457] }, { [2 x i32] } { [2 x i32] [i32 1949948785, i32 1027381598] }, { [2 x i32] } { [2 x i32] [i32 1341652992, i32 1068918120] }, { [2 x i32] } { [2 x i32] [i32 -1918287952, i32 1026589938] }, { [2 x i32] } { [2 x i32] [i32 -2112962560, i32 1069583575] }, { [2 x i32] } { [2 x i32] [i32 297009671, i32 1026900933] }, { [2 x i32] } { [2 x i32] [i32 1687183360, i32 1069924424] }, { [2 x i32] } { [2 x i32] [i32 2120169064, i32 1026082260] }, { [2 x i32] } { [2 x i32] [i32 53207040, i32 1070255920] }, { [2 x i32] } { [2 x i32] [i32 -557870746, i32 1026438963] }, { [2 x i32] } { [2 x i32] [i32 -476651520, i32 1070578756] }, { [2 x i32] } { [2 x i32] [i32 677794872, i32 1028109305] }, { [2 x i32] } { [2 x i32] [i32 -1865240576, i32 1070744485] }, { [2 x i32] } { [2 x i32] [i32 -387328931, i32 1027382133] }, { [2 x i32] } { [2 x i32] [i32 -1592209408, i32 1070897876] }, { [2 x i32] } { [2 x i32] [i32 1929563302, i32 1027984695] }, { [2 x i32] } { [2 x i32] [i32 -1829826560, i32 1071047207] }, { [2 x i32] } { [2 x i32] [i32 243175481, i32 1026641700] }, { [2 x i32] } { [2 x i32] [i32 -1637265408, i32 1071193041] }, { [2 x i32] } { [2 x i32] [i32 -453589401, i32 1028504382] }, { [2 x i32] } { [2 x i32] [i32 658427904, i32 1071335525] }, { [2 x i32] } { [2 x i32] [i32 161357665, i32 1028306250] }, { [2 x i32] } { [2 x i32] [i32 539168768, i32 1071474585] }, { [2 x i32] } { [2 x i32] [i32 -1763150588, i32 1025043792] }, { [2 x i32] } { [2 x i32] [i32 -1636536320, i32 1071610420] }, { [2 x i32] } { [2 x i32] [i32 -2116447968, i32 1028288112] }, { [2 x i32] } { [2 x i32] [i32 1355743232, i32 1071694102] }, { [2 x i32] } { [2 x i32] [i32 -351186267, i32 1028003666] }, { [2 x i32] } { [2 x i32] [i32 1854838784, i32 1071759170] }, { [2 x i32] } { [2 x i32] [i32 1812291414, i32 1027042047] }, { [2 x i32] } { [2 x i32] [i32 473251840, i32 -1076195427] }, { [2 x i32] } { [2 x i32] [i32 1330616404, i32 -1119484683] }, { [2 x i32] } { [2 x i32] [i32 -1979437056, i32 -1076319966] }, { [2 x i32] } { [2 x i32] [i32 -812787580, i32 -1119241184] }, { [2 x i32] } { [2 x i32] [i32 -408272896, i32 -1076442215] }, { [2 x i32] } { [2 x i32] [i32 -710475733, i32 -1119802534] }, { [2 x i32] } { [2 x i32] [i32 1568866304, i32 -1076562273] }, { [2 x i32] } { [2 x i32] [i32 -766792122, i32 -1120341139] }, { [2 x i32] } { [2 x i32] [i32 -122327040, i32 -1076679659] }, { [2 x i32] } { [2 x i32] [i32 -534932942, i32 -1123193118] }, { [2 x i32] } { [2 x i32] [i32 -749752320, i32 -1076795083] }, { [2 x i32] } { [2 x i32] [i32 881689765, i32 -1121889850] }, { [2 x i32] } { [2 x i32] [i32 2121375744, i32 -1076928598] }, { [2 x i32] } { [2 x i32] [i32 549802690, i32 -1120070282] }, { [2 x i32] } { [2 x i32] [i32 492560384, i32 -1077150628] }, { [2 x i32] } { [2 x i32] [i32 239252792, i32 -1121483632] }, { [2 x i32] } { [2 x i32] [i32 155754496, i32 -1077368403] }, { [2 x i32] } { [2 x i32] [i32 1693604438, i32 -1119057478] }, { [2 x i32] } { [2 x i32] [i32 -9764864, i32 -1077582931] }, { [2 x i32] } { [2 x i32] [i32 127148739, i32 -1119025097] }, { [2 x i32] } { [2 x i32] [i32 41181184, i32 -1077793293] }, { [2 x i32] } { [2 x i32] [i32 -1034920643, i32 -1120909085] }, { [2 x i32] } { [2 x i32] [i32 -1829879808, i32 -1078065004] }, { [2 x i32] } { [2 x i32] [i32 -53117049, i32 -1119857271] }, { [2 x i32] } { [2 x i32] [i32 1101037568, i32 -1078471533] }, { [2 x i32] } { [2 x i32] [i32 -1124619691, i32 -1118900488] }, { [2 x i32] } { [2 x i32] [i32 -816168960, i32 -1078870923] }, { [2 x i32] } { [2 x i32] [i32 329155479, i32 -1118995022] }, { [2 x i32] } { [2 x i32] [i32 -1048412160, i32 -1079543555] }, { [2 x i32] } { [2 x i32] [i32 -223390925, i32 -1120651382] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 -1080606083] }, { [2 x i32] } { [2 x i32] [i32 1258533012, i32 -1119420175] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072689152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072685056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072681024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072676992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072672960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072668928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072664960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072660992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072657024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072653056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072649152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072645248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072641344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072637440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072710976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072709888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072708864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072707776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072706752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072705664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072704640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072703616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072702528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072701504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072700480] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072699456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072698368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072697344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072696320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072695296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072694272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1540882432, i32 1063721742] }, { [2 x i32] } { [2 x i32] [i32 -1737035961, i32 1028226920] }, { [2 x i32] } { [2 x i32] [i32 -1066926080, i32 1064771801] }, { [2 x i32] } { [2 x i32] [i32 930662348, i32 1027873525] }, { [2 x i32] } { [2 x i32] [i32 -1971716096, i32 1065436614] }, { [2 x i32] } { [2 x i32] [i32 -1698667384, i32 1027915217] }, { [2 x i32] } { [2 x i32] [i32 1641152512, i32 1065811444] }, { [2 x i32] } { [2 x i32] [i32 1188689655, i32 1027383036] }, { [2 x i32] } { [2 x i32] [i32 895221760, i32 1066187001] }, { [2 x i32] } { [2 x i32] [i32 -1376013223, i32 1026717129] }, { [2 x i32] } { [2 x i32] [i32 -332070912, i32 1066482539] }, { [2 x i32] } { [2 x i32] [i32 1338190555, i32 1024402868] }, { [2 x i32] } { [2 x i32] [i32 2071330816, i32 1066668054] }, { [2 x i32] } { [2 x i32] [i32 -1460841705, i32 1027573772] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 1066853925] }, { [2 x i32] } { [2 x i32] [i32 1683363035, i32 1027948302] }, { [2 x i32] } { [2 x i32] [i32 1828782080, i32 1067040153] }, { [2 x i32] } { [2 x i32] [i32 874130859, i32 1026348678] }, { [2 x i32] } { [2 x i32] [i32 -1898971136, i32 1067226740] }, { [2 x i32] } { [2 x i32] [i32 1724975876, i32 1028585613] }, { [2 x i32] } { [2 x i32] [i32 -736100352, i32 1067410669] }, { [2 x i32] } { [2 x i32] [i32 -2105005862, i32 1027936707] }, { [2 x i32] } { [2 x i32] [i32 -1752039424, i32 1067522658] }, { [2 x i32] } { [2 x i32] [i32 -673958186, i32 1028493916] }, { [2 x i32] } { [2 x i32] [i32 -86573056, i32 1067614973] }, { [2 x i32] } { [2 x i32] [i32 -1517580946, i32 1028255456] }, { [2 x i32] } { [2 x i32] [i32 -1077805056, i32 1067707465] }, { [2 x i32] } { [2 x i32] [i32 772669574, i32 1028516547] }, { [2 x i32] } { [2 x i32] [i32 824377344, i32 -1080507245] }, { [2 x i32] } { [2 x i32] [i32 1593617402, i32 -1119245049] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 -1080606083] }, { [2 x i32] } { [2 x i32] [i32 1258533012, i32 -1119420175] }, { [2 x i32] } { [2 x i32] [i32 -292487168, i32 -1080699200] }, { [2 x i32] } { [2 x i32] [i32 1397883555, i32 -1119203051] }, { [2 x i32] } { [2 x i32] [i32 -1380581376, i32 -1080798234] }, { [2 x i32] } { [2 x i32] [i32 -519899343, i32 -1119790524] }, { [2 x i32] } { [2 x i32] [i32 1460142080, i32 -1080891535] }, { [2 x i32] } { [2 x i32] [i32 1592372614, i32 -1119060264] }, { [2 x i32] } { [2 x i32] [i32 219152384, i32 -1080990766] }, { [2 x i32] } { [2 x i32] [i32 1716511551, i32 -1119426375] }, { [2 x i32] } { [2 x i32] [i32 -875823104, i32 -1081086651] }, { [2 x i32] } { [2 x i32] [i32 1128677462, i32 -1120406727] }, { [2 x i32] } { [2 x i32] [i32 -974520320, i32 -1081273806] }, { [2 x i32] } { [2 x i32] [i32 -1329739553, i32 -1122513100] }, { [2 x i32] } { [2 x i32] [i32 677904384, i32 -1081472856] }, { [2 x i32] } { [2 x i32] [i32 -265577265, i32 -1120557783] }, { [2 x i32] } { [2 x i32] [i32 1290797056, i32 -1081660385] }, { [2 x i32] } { [2 x i32] [i32 1477436787, i32 -1121236684] }, { [2 x i32] } { [2 x i32] [i32 -1494089728, i32 -1081848096] }, { [2 x i32] } { [2 x i32] [i32 -13548777, i32 -1121662773] }, { [2 x i32] } { [2 x i32] [i32 -602144768, i32 -1082035989] }, { [2 x i32] } { [2 x i32] [i32 751117103, i32 -1119584848] }, { [2 x i32] } { [2 x i32] [i32 -1747714048, i32 -1082341217] }, { [2 x i32] } { [2 x i32] [i32 -1875702149, i32 -1119638372] }, { [2 x i32] } { [2 x i32] [i32 1836580864, i32 -1082717756] }, { [2 x i32] } { [2 x i32] [i32 1456335141, i32 -1119525958] }, { [2 x i32] } { [2 x i32] [i32 -856424448, i32 -1083094662] }, { [2 x i32] } { [2 x i32] [i32 -573315216, i32 -1118893849] }, { [2 x i32] } { [2 x i32] [i32 -16252928, i32 -1083764861] }, { [2 x i32] } { [2 x i32] [i32 836003693, i32 -1120687322] }, { [2 x i32] } { [2 x i32] [i32 926941184, i32 -1084812699] }, { [2 x i32] } { [2 x i32] [i32 -45102563, i32 -1120951648] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157401] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157355] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157308] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157262] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157216] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157170] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157124] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157078] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157031] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156985] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156939] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156893] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156847] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156801] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156709] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156662] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156616] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156570] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156524] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156478] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156432] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156340] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156248] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156201] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156155] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156109] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156063] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156017] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155971] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155925] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155879] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155833] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155787] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155649] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155602] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155556] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155510] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155464] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155418] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155372] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155326] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155280] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155234] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155188] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155142] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155096] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155050] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155004] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154958] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154912] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154866] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154820] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154774] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154728] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154682] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158995] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158972] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158903] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158879] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158856] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158833] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158810] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158787] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158764] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158718] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158694] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158671] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158648] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158625] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158602] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158556] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158533] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158509] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158486] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158463] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158440] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158417] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158394] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158325] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158301] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158278] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158255] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158232] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158209] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158186] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158163] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158117] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158093] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158070] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158047] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158024] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158001] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157978] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157955] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157932] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157909] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157886] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157862] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157839] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157816] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157793] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157770] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157747] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157724] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157701] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157678] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157655] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157632] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157608] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157585] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157562] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157539] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157516] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157493] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157470] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1057431575] }, { [2 x i32] } { [2 x i32] [i32 1679773494, i32 1024039205] }, { [2 x i32] } { [2 x i32] [i32 989855744, i32 1058476078] }, { [2 x i32] } { [2 x i32] [i32 -1050488540, i32 1024589954] }, { [2 x i32] } { [2 x i32] [i32 209715200, i32 1059147828] }, { [2 x i32] } { [2 x i32] [i32 152199156, i32 1027874535] }, { [2 x i32] } { [2 x i32] [i32 -1845493760, i32 1059526748] }, { [2 x i32] } { [2 x i32] [i32 -1951665041, i32 1022283036] }, { [2 x i32] } { [2 x i32] [i32 1560281088, i32 1059903632] }, { [2 x i32] } { [2 x i32] [i32 -256118577, i32 1027337824] }, { [2 x i32] } { [2 x i32] [i32 -12582912, i32 1060196455] }, { [2 x i32] } { [2 x i32] [i32 -1969862435, i32 1027595231] }, { [2 x i32] } { [2 x i32] [i32 1665138688, i32 1060384909] }, { [2 x i32] } { [2 x i32] [i32 -1360939408, i32 1026982347] }, { [2 x i32] } { [2 x i32] [i32 -1031798784, i32 1060574392] }, { [2 x i32] } { [2 x i32] [i32 -1086515906, i32 1027670758] }, { [2 x i32] } { [2 x i32] [i32 -314572800, i32 1060763881] }, { [2 x i32] } { [2 x i32] [i32 863587004, i32 1026973426] }, { [2 x i32] } { [2 x i32] [i32 -1824522240, i32 1060952352] }, { [2 x i32] } { [2 x i32] [i32 1027097864, i32 1028644619] }, { [2 x i32] } { [2 x i32] [i32 1296039936, i32 1061141853] }, { [2 x i32] } { [2 x i32] [i32 2016162954, i32 1025089894] }, { [2 x i32] } { [2 x i32] [i32 -1186988032, i32 1061244623] }, { [2 x i32] } { [2 x i32] [i32 970842239, i32 1028172704] }, { [2 x i32] } { [2 x i32] [i32 -572522496, i32 1061339379] }, { [2 x i32] } { [2 x i32] [i32 -1654663133, i32 1027825546] }, { [2 x i32] } { [2 x i32] [i32 -1335885824, i32 1061433626] }, { [2 x i32] } { [2 x i32] [i32 306547692, i32 1028101690] }, { [2 x i32] } { [2 x i32] [i32 -1663041536, i32 1061528388] }, { [2 x i32] } { [2 x i32] [i32 747377661, i32 1028120913] }, { [2 x i32] } { [2 x i32] [i32 794820608, i32 1061622641] }, { [2 x i32] } { [2 x i32] [i32 -888417030, i32 1028182206] }, { [2 x i32] } { [2 x i32] [i32 -469762048, i32 1061717408] }, { [2 x i32] } { [2 x i32] [i32 -589192076, i32 1027201825] }, { [2 x i32] } { [2 x i32] [i32 916455424, i32 1061811667] }, { [2 x i32] } { [2 x i32] [i32 1432750358, i32 1028165990] }, { [2 x i32] } { [2 x i32] [i32 -1283457024, i32 1061906440] }, { [2 x i32] } { [2 x i32] [i32 -933058608, i32 1027438936] }, { [2 x i32] } { [2 x i32] [i32 -964689920, i32 1062000704] }, { [2 x i32] } { [2 x i32] [i32 -734301964, i32 1027805882] }, { [2 x i32] } { [2 x i32] [i32 -1212153856, i32 1062094971] }, { [2 x i32] } { [2 x i32] [i32 -1755435967, i32 1028011583] }, { [2 x i32] } { [2 x i32] [i32 -547356672, i32 1062189753] }, { [2 x i32] } { [2 x i32] [i32 -2062563645, i32 1025658467] }, { [2 x i32] } { [2 x i32] [i32 1218445312, i32 1062245757] }, { [2 x i32] } { [2 x i32] [i32 396499622, i32 1025861782] }, { [2 x i32] } { [2 x i32] [i32 1086324736, i32 1062293151] }, { [2 x i32] } { [2 x i32] [i32 -1537726428, i32 1026731615] }, { [2 x i32] } { [2 x i32] [i32 2047868928, i32 1062340290] }, { [2 x i32] } { [2 x i32] [i32 -2068775593, i32 1027982328] }, { [2 x i32] } { [2 x i32] [i32 580911104, i32 1062387431] }, { [2 x i32] } { [2 x i32] [i32 1252857417, i32 1028280924] }, { [2 x i32] } { [2 x i32] [i32 1887436800, i32 1062434829] }, { [2 x i32] } { [2 x i32] [i32 659583454, i32 1025370904] }, { [2 x i32] } { [2 x i32] [i32 -108003328, i32 1062481972] }, { [2 x i32] } { [2 x i32] [i32 -707305546, i32 1028188900] }, { [2 x i32] } { [2 x i32] [i32 738197504, i32 1062529374] }, { [2 x i32] } { [2 x i32] [i32 -1054270587, i32 1027025093] }, { [2 x i32] } { [2 x i32] [i32 -1783627776, i32 1062576520] }, { [2 x i32] } { [2 x i32] [i32 -1410535209, i32 1028614554] }, { [2 x i32] } { [2 x i32] [i32 1859125248, i32 1062623668] }, { [2 x i32] } { [2 x i32] [i32 -1892868183, i32 1025699109] }, { [2 x i32] } { [2 x i32] [i32 -146800640, i32 1062671073] }, { [2 x i32] } { [2 x i32] [i32 -1959729792, i32 1026835951] }, { [2 x i32] } { [2 x i32] [i32 -1324351488, i32 1062718224] }, { [2 x i32] } { [2 x i32] [i32 -596247866, i32 1027808594] }, { [2 x i32] } { [2 x i32] [i32 -632291328, i32 1062765376] }, { [2 x i32] } { [2 x i32] [i32 -1590313623, i32 1027603403] }, { [2 x i32] } { [2 x i32] [i32 1929379840, i32 1062812530] }, { [2 x i32] } { [2 x i32] [i32 761521627, i32 1027109120] }, { [2 x i32] } { [2 x i32] [i32 -1021313024, i32 1062859941] }, { [2 x i32] } { [2 x i32] [i32 470528098, i32 1027977181] }, { [2 x i32] } { [2 x i32] [i32 1019215872, i32 1062907098] }, { [2 x i32] } { [2 x i32] [i32 -590331730, i32 1027707215] }, { [2 x i32] } { [2 x i32] [i32 635437056, i32 1062954256] }, { [2 x i32] } { [2 x i32] [i32 -618374369, i32 1027502983] }, { [2 x i32] } { [2 x i32] [i32 2122317824, i32 1063001415] }, { [2 x i32] } { [2 x i32] [i32 1497197375, i32 1028267547] }, { [2 x i32] } { [2 x i32] [i32 -1765801984, i32 1063048832] }, { [2 x i32] } { [2 x i32] [i32 -869139418, i32 1022000476] }, { [2 x i32] } { [2 x i32] [i32 -796917760, i32 1063095994] }, { [2 x i32] } { [2 x i32] [i32 1982476393, i32 1026289596] }, { [2 x i32] } { [2 x i32] [i32 2043674624, i32 1063143158] }, { [2 x i32] } { [2 x i32] [i32 -1792286676, i32 1028471295] }, { [2 x i32] } { [2 x i32] [i32 -1831862272, i32 1063190323] }, { [2 x i32] } { [2 x i32] [i32 991567028, i32 1027421239] }, { [2 x i32] } { [2 x i32] [i32 460324864, i32 1063237490] }, { [2 x i32] } { [2 x i32] [i32 1461814384, i32 1026181618] }, { [2 x i32] } { [2 x i32] [i32 920125440, i32 1063270489] }, { [2 x i32] } { [2 x i32] [i32 1613472693, i32 1027845558] }, { [2 x i32] } { [2 x i32] [i32 -338690048, i32 1063294073] }, { [2 x i32] } { [2 x i32] [i32 93449747, i32 1028284502] }, { [2 x i32] } { [2 x i32] [i32 1487405056, i32 1063317659] }, { [2 x i32] } { [2 x i32] [i32 1336931403, i32 1026834156] }, { [2 x i32] } { [2 x i32] [i32 2102919168, i32 1063341245] }, { [2 x i32] } { [2 x i32] [i32 319680825, i32 1027392710] }, { [2 x i32] } { [2 x i32] [i32 1508376576, i32 1063364832] }, { [2 x i32] } { [2 x i32] [i32 -1820323713, i32 1027776685] }, { [2 x i32] } { [2 x i32] [i32 -295698432, i32 1063388419] }, { [2 x i32] } { [2 x i32] [i32 -1190962646, i32 1024627034] }, { [2 x i32] } { [2 x i32] [i32 985137152, i32 1063412008] }, { [2 x i32] } { [2 x i32] [i32 550153379, i32 1026678253] }, { [2 x i32] } { [2 x i32] [i32 1056440320, i32 1063435597] }, { [2 x i32] } { [2 x i32] [i32 672168391, i32 1027731310] }, { [2 x i32] } { [2 x i32] [i32 -81264640, i32 1063459186] }, { [2 x i32] } { [2 x i32] [i32 1805142399, i32 1026660459] }, { [2 x i32] } { [2 x i32] [i32 -1522532352, i32 1063482905] }, { [2 x i32] } { [2 x i32] [i32 -1846365136, i32 1028404887] }, { [2 x i32] } { [2 x i32] [i32 -766509056, i32 1063506496] }, { [2 x i32] } { [2 x i32] [i32 -837023902, i32 1027665063] }, { [2 x i32] } { [2 x i32] [i32 -1219493888, i32 1063530088] }, { [2 x i32] } { [2 x i32] [i32 121314862, i32 1027996294] }, { [2 x i32] } { [2 x i32] [i32 1414004736, i32 1063553681] }, { [2 x i32] } { [2 x i32] [i32 94774013, i32 1028053481] }, { [2 x i32] } { [2 x i32] [i32 -1455947776, i32 1063577274] }, { [2 x i32] } { [2 x i32] [i32 1263902834, i32 1028588748] }, { [2 x i32] } { [2 x i32] [i32 -1238892544, i32 1063600868] }, { [2 x i32] } { [2 x i32] [i32 369708558, i32 1028257136] }, { [2 x i32] } { [2 x i32] [i32 2065170432, i32 1063624463] }, { [2 x i32] } { [2 x i32] [i32 1634529849, i32 1027810905] }, { [2 x i32] } { [2 x i32] [i32 1769996288, i32 -1084740139] }, { [2 x i32] } { [2 x i32] [i32 1054279927, i32 -1120225983] }, { [2 x i32] } { [2 x i32] [i32 -1852833792, i32 -1084763923] }, { [2 x i32] } { [2 x i32] [i32 2067107398, i32 -1119799866] }, { [2 x i32] } { [2 x i32] [i32 456130560, i32 -1084787451] }, { [2 x i32] } { [2 x i32] [i32 -152211490, i32 -1124142144] }, { [2 x i32] } { [2 x i32] [i32 -1992294400, i32 -1084811236] }, { [2 x i32] } { [2 x i32] [i32 1526169727, i32 -1119443883] }, { [2 x i32] } { [2 x i32] [i32 1524629504, i32 -1084834765] }, { [2 x i32] } { [2 x i32] [i32 -1852012243, i32 -1119541705] }, { [2 x i32] } { [2 x i32] [i32 251658240, i32 -1084858550] }, { [2 x i32] } { [2 x i32] [i32 -2140238128, i32 -1119431808] }, { [2 x i32] } { [2 x i32] [i32 681574400, i32 -1084882080] }, { [2 x i32] } { [2 x i32] [i32 -19104405, i32 -1118940066] }, { [2 x i32] } { [2 x i32] [i32 584056832, i32 -1084905866] }, { [2 x i32] } { [2 x i32] [i32 -39114820, i32 -1121401766] }, { [2 x i32] } { [2 x i32] [i32 -2073034752, i32 -1084929397] }, { [2 x i32] } { [2 x i32] [i32 -1796090560, i32 -1119817792] }, { [2 x i32] } { [2 x i32] [i32 -997195776, i32 -1084953184] }, { [2 x i32] } { [2 x i32] [i32 1851620949, i32 -1119278431] }, { [2 x i32] } { [2 x i32] [i32 1849688064, i32 -1084976715] }, { [2 x i32] } { [2 x i32] [i32 -1371911787, i32 -1123656655] }, { [2 x i32] } { [2 x i32] [i32 -195035136, i32 -1085000503] }, { [2 x i32] } { [2 x i32] [i32 -1867314095, i32 -1121929839] }, { [2 x i32] } { [2 x i32] [i32 -436207616, i32 -1085024035] }, { [2 x i32] } { [2 x i32] [i32 1550068012, i32 -1121939937] }, { [2 x i32] } { [2 x i32] [i32 -1307574272, i32 -1085047823] }, { [2 x i32] } { [2 x i32] [i32 -167316762, i32 -1119115683] }, { [2 x i32] } { [2 x i32] [i32 -340787200, i32 -1085071356] }, { [2 x i32] } { [2 x i32] [i32 442055840, i32 -1120195627] }, { [2 x i32] } { [2 x i32] [i32 -37748736, i32 -1085095145] }, { [2 x i32] } { [2 x i32] [i32 -181006467, i32 -1119616442] }, { [2 x i32] } { [2 x i32] [i32 2135949312, i32 -1085118678] }, { [2 x i32] } { [2 x i32] [i32 2076166727, i32 -1119737471] }, { [2 x i32] } { [2 x i32] [i32 -681574400, i32 -1085142468] }, { [2 x i32] } { [2 x i32] [i32 -818876125, i32 -1123362518] }, { [2 x i32] } { [2 x i32] [i32 -1595932672, i32 -1085166002] }, { [2 x i32] } { [2 x i32] [i32 1765290157, i32 -1121375627] }, { [2 x i32] } { [2 x i32] [i32 1053818880, i32 -1085189792] }, { [2 x i32] } { [2 x i32] [i32 -533130202, i32 -1119284114] }, { [2 x i32] } { [2 x i32] [i32 1346371584, i32 -1085213327] }, { [2 x i32] } { [2 x i32] [i32 1459626820, i32 -1118935735] }, { [2 x i32] } { [2 x i32] [i32 875560960, i32 -1085237118] }, { [2 x i32] } { [2 x i32] [i32 -1892606199, i32 -1120057977] }, { [2 x i32] } { [2 x i32] [i32 -1919942656, i32 -1085260654] }, { [2 x i32] } { [2 x i32] [i32 687754918, i32 -1120023914] }, { [2 x i32] } { [2 x i32] [i32 1858076672, i32 -1085292731] }, { [2 x i32] } { [2 x i32] [i32 252333183, i32 -1119435724] }, { [2 x i32] } { [2 x i32] [i32 -1319108608, i32 -1085339804] }, { [2 x i32] } { [2 x i32] [i32 1334776821, i32 -1120375739] }, { [2 x i32] } { [2 x i32] [i32 -1864368128, i32 -1085387389] }, { [2 x i32] } { [2 x i32] [i32 1326030186, i32 -1121480589] }, { [2 x i32] } { [2 x i32] [i32 1665138688, i32 -1085434463] }, { [2 x i32] } { [2 x i32] [i32 737674412, i32 -1120565739] }, { [2 x i32] } { [2 x i32] [i32 2122317824, i32 -1085481538] }, { [2 x i32] } { [2 x i32] [i32 -307798462, i32 -1119620388] }, { [2 x i32] } { [2 x i32] [i32 815792128, i32 -1085529125] }, { [2 x i32] } { [2 x i32] [i32 -768056624, i32 -1118898441] }, { [2 x i32] } { [2 x i32] [i32 -608174080, i32 -1085576202] }, { [2 x i32] } { [2 x i32] [i32 587265932, i32 -1120016431] }, { [2 x i32] } { [2 x i32] [i32 429916160, i32 -1085623790] }, { [2 x i32] } { [2 x i32] [i32 -1151051480, i32 -1119011687] }, { [2 x i32] } { [2 x i32] [i32 1417674752, i32 -1085670868] }, { [2 x i32] } { [2 x i32] [i32 -1376681595, i32 -1120106540] }, { [2 x i32] } { [2 x i32] [i32 505413632, i32 -1085718458] }, { [2 x i32] } { [2 x i32] [i32 436607152, i32 -1119224230] }, { [2 x i32] } { [2 x i32] [i32 -390070272, i32 -1085765538] }, { [2 x i32] } { [2 x i32] [i32 -1427179866, i32 -1121373019] }, { [2 x i32] } { [2 x i32] [i32 -65011712, i32 -1085812618] }, { [2 x i32] } { [2 x i32] [i32 -323267486, i32 -1120284736] }, { [2 x i32] } { [2 x i32] [i32 -1738539008, i32 -1085860210] }, { [2 x i32] } { [2 x i32] [i32 -1079918229, i32 -1120472242] }, { [2 x i32] } { [2 x i32] [i32 998244352, i32 -1085907291] }, { [2 x i32] } { [2 x i32] [i32 -1870083583, i32 -1121784548] }, { [2 x i32] } { [2 x i32] [i32 1667235840, i32 -1085954885] }, { [2 x i32] } { [2 x i32] [i32 762177973, i32 -1119735008] }, { [2 x i32] } { [2 x i32] [i32 -1776287744, i32 -1086001968] }, { [2 x i32] } { [2 x i32] [i32 282609672, i32 -1119332239] }, { [2 x i32] } { [2 x i32] [i32 1237319680, i32 -1086049563] }, { [2 x i32] } { [2 x i32] [i32 1502777354, i32 -1120025068] }, { [2 x i32] } { [2 x i32] [i32 203423744, i32 -1086096647] }, { [2 x i32] } { [2 x i32] [i32 -166595342, i32 -1119082319] }, { [2 x i32] } { [2 x i32] [i32 392167424, i32 -1086143732] }, { [2 x i32] } { [2 x i32] [i32 306802084, i32 -1119243150] }, { [2 x i32] } { [2 x i32] [i32 -1652555776, i32 -1086191330] }, { [2 x i32] } { [2 x i32] [i32 -1334090779, i32 -1121823649] }, { [2 x i32] } { [2 x i32] [i32 945815552, i32 -1086238416] }, { [2 x i32] } { [2 x i32] [i32 1800251929, i32 -1124860812] }, { [2 x i32] } { [2 x i32] [i32 1241513984, i32 -1086286015] }, { [2 x i32] } { [2 x i32] [i32 -1619442772, i32 -1121445459] }, { [2 x i32] } { [2 x i32] [i32 -390070272, i32 -1086341470] }, { [2 x i32] } { [2 x i32] [i32 83988225, i32 -1119171438] }, { [2 x i32] } { [2 x i32] [i32 -817889280, i32 -1086435647] }, { [2 x i32] } { [2 x i32] [i32 1575792028, i32 -1119309784] }, { [2 x i32] } { [2 x i32] [i32 -1757413376, i32 -1086530849] }, { [2 x i32] } { [2 x i32] [i32 1662079495, i32 -1119051043] }, { [2 x i32] } { [2 x i32] [i32 -1660944384, i32 -1086625029] }, { [2 x i32] } { [2 x i32] [i32 -1476619421, i32 -1120583677] }, { [2 x i32] } { [2 x i32] [i32 2080374784, i32 -1086720234] }, { [2 x i32] } { [2 x i32] [i32 1081767985, i32 -1119188256] }, { [2 x i32] } { [2 x i32] [i32 -1598029824, i32 -1086814417] }, { [2 x i32] } { [2 x i32] [i32 -1851223139, i32 -1119691381] }, { [2 x i32] } { [2 x i32] [i32 1459617792, i32 -1086908601] }, { [2 x i32] } { [2 x i32] [i32 790904149, i32 -1120253659] }, { [2 x i32] } { [2 x i32] [i32 -624951296, i32 -1087003811] }, { [2 x i32] } { [2 x i32] [i32 581064731, i32 -1121500705] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 -1087097998] }, { [2 x i32] } { [2 x i32] [i32 1008918738, i32 -1123243147] }, { [2 x i32] } { [2 x i32] [i32 377487360, i32 -1087192186] }, { [2 x i32] } { [2 x i32] [i32 1606538461, i32 -1119130095] }, { [2 x i32] } { [2 x i32] [i32 1052770304, i32 -1087287400] }, { [2 x i32] } { [2 x i32] [i32 -1760420312, i32 -1119907174] }, { [2 x i32] } { [2 x i32] [i32 -1996488704, i32 -1087389871] }, { [2 x i32] } { [2 x i32] [i32 -2140152870, i32 -1122768354] }, { [2 x i32] } { [2 x i32] [i32 117440512, i32 -1087580304] }, { [2 x i32] } { [2 x i32] [i32 1374248651, i32 -1120465231] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 -1087768693] }, { [2 x i32] } { [2 x i32] [i32 -14387961, i32 -1119778983] }, { [2 x i32] } { [2 x i32] [i32 -1140850688, i32 -1087957085] }, { [2 x i32] } { [2 x i32] [i32 -960040640, i32 -1120137877] }, { [2 x i32] } { [2 x i32] [i32 -2105540608, i32 -1088147527] }, { [2 x i32] } { [2 x i32] [i32 -1194081950, i32 -1119030545] }, { [2 x i32] } { [2 x i32] [i32 746586112, i32 -1088335924] }, { [2 x i32] } { [2 x i32] [i32 315615614, i32 -1121948445] }, { [2 x i32] } { [2 x i32] [i32 -251658240, i32 -1088626761] }, { [2 x i32] } { [2 x i32] [i32 274116456, i32 -1118996684] }, { [2 x i32] } { [2 x i32] [i32 268435456, i32 -1089007662] }, { [2 x i32] } { [2 x i32] [i32 691182319, i32 -1121662300] }, { [2 x i32] } { [2 x i32] [i32 603979776, i32 -1089384474] }, { [2 x i32] } { [2 x i32] [i32 112661265, i32 -1124956989] }, { [2 x i32] } { [2 x i32] [i32 -100663296, i32 -1090052120] }, { [2 x i32] } { [2 x i32] [i32 -577218918, i32 -1120683252] }, { [2 x i32] } { [2 x i32] [i32 -1409286144, i32 -1091108876] }, { [2 x i32] } { [2 x i32] [i32 192153543, i32 -1119005481] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1443155147, i32 1072698941] }, { [2 x i32] } { [2 x i32] [i32 -1699164745, i32 1016815913] }, { [2 x i32] } { [2 x i32] [i32 1048019041, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 1398474845, i32 -1133408125] }, { [2 x i32] } { [2 x i32] [i32 -395411579, i32 1072710421] }, { [2 x i32] } { [2 x i32] [i32 427280750, i32 -1131371748] }, { [2 x i32] } { [2 x i32] [i32 -753564300, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1535789979, i32 1015903202] }, { [2 x i32] } { [2 x i32] [i32 702412510, i32 1072722027] }, { [2 x i32] } { [2 x i32] [i32 -491701210, i32 -1131638305] }, { [2 x i32] } { [2 x i32] [i32 410360776, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 1269990655, i32 1013024446] }, { [2 x i32] } { [2 x i32] [i32 -892931197, i32 1072733758] }, { [2 x i32] } { [2 x i32] [i32 405889333, i32 1016154232] }, { [2 x i32] } { [2 x i32] [i32 1828292879, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1255956746, i32 1016636974] }, { [2 x i32] } { [2 x i32] [i32 728909815, i32 1072745618] }, { [2 x i32] } { [2 x i32] [i32 383930225, i32 1016078044] }, { [2 x i32] } { [2 x i32] [i32 852742562, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 667253586, i32 1010842135] }, { [2 x i32] } { [2 x i32] [i32 -1342254309, i32 1072757606] }, { [2 x i32] } { [2 x i32] [i32 -1001472645, i32 -1133798419] }, { [2 x i32] } { [2 x i32] [i32 -804103343, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 960797497, i32 -1130969840] }, { [2 x i32] } { [2 x i32] [i32 -1066651188, i32 1072769725] }, { [2 x i32] } { [2 x i32] [i32 -1284725305, i32 -1135495916] }, { [2 x i32] } { [2 x i32] [i32 -1364644384, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 -1695467874, i32 -1131204673] }, { [2 x i32] } { [2 x i32] [i32 -928674223, i32 1072781976] }, { [2 x i32] } { [2 x i32] [i32 -1175540983, i32 1015169130] }, { [2 x i32] } { [2 x i32] [i32 1014845819, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -1177056651, i32 -1132359615] }, { [2 x i32] } { [2 x i32] [i32 948735466, i32 1072794361] }, { [2 x i32] } { [2 x i32] [i32 -778629269, i32 -1131343837] }, { [2 x i32] } { [2 x i32] [i32 -344994955, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 2068408548, i32 1015962444] }, { [2 x i32] } { [2 x i32] [i32 -2080088876, i32 1072806880] }, { [2 x i32] } { [2 x i32] [i32 892270087, i32 -1130802298] }, { [2 x i32] } { [2 x i32] [i32 828946858, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 10642492, i32 1016988014] }, { [2 x i32] } { [2 x i32] [i32 586995997, i32 1072819536] }, { [2 x i32] } { [2 x i32] [i32 41662347, i32 -1131290728] }, { [2 x i32] } { [2 x i32] [i32 -2006807338, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -2125822828, i32 1015924597] }, { [2 x i32] } { [2 x i32] [i32 -1854022506, i32 1072832329] }, { [2 x i32] } { [2 x i32] [i32 -1802197523, i32 1015196030] }, { [2 x i32] } { [2 x i32] [i32 1853186616, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -1228470926, i32 1016705150] }, { [2 x i32] } { [2 x i32] [i32 1337108031, i32 1072845262] }, { [2 x i32] } { [2 x i32] [i32 -1091242844, i32 1015726421] }, { [2 x i32] } { [2 x i32] [i32 1709341917, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 -1723799079, i32 1015201075] }, { [2 x i32] } { [2 x i32] [i32 -504011903, i32 1072858335] }, { [2 x i32] } { [2 x i32] [i32 -1942024835, i32 -1130738630] }, { [2 x i32] } { [2 x i32] [i32 -182460703, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -1347612075, i32 1015419624] }, { [2 x i32] } { [2 x i32] [i32 -790963824, i32 1072871551] }, { [2 x i32] } { [2 x i32] [i32 -700966237, i32 -1136588068] }, { [2 x i32] } { [2 x i32] [i32 -1495006453, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 1423655380, i32 1016070727] }, { [2 x i32] } { [2 x i32] [i32 -1455542442, i32 1072884911] }, { [2 x i32] } { [2 x i32] [i32 1171596163, i32 1014090255] }, { [2 x i32] } { [2 x i32] [i32 171030293, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -768507164, i32 1015477354] }, { [2 x i32] } { [2 x i32] [i32 -62072783, i32 1072898416] }, { [2 x i32] } { [2 x i32] [i32 -1911028612, i32 1015717095] }, { [2 x i32] } { [2 x i32] [i32 -1302063361, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -2076812891, i32 1016276769] }, { [2 x i32] } { [2 x i32] [i32 1603444721, i32 1072912069] }, { [2 x i32] } { [2 x i32] [i32 1548633640, i32 -1131717394] }, { [2 x i32] } { [2 x i32] [i32 926591435, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 -1086133535, i32 -1131005206] }, { [2 x i32] } { [2 x i32] [i32 1829099622, i32 1072925870] }, { [2 x i32] } { [2 x i32] [i32 1016661180, i32 -1130457715] }, { [2 x i32] } { [2 x i32] [i32 887463927, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -698223134, i32 -1133124554] }, { [2 x i32] } { [2 x i32] [i32 -1022121755, i32 1072939821] }, { [2 x i32] } { [2 x i32] [i32 928852419, i32 -1130430472] }, { [2 x i32] } { [2 x i32] [i32 1276261410, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 300981947, i32 1015732745] }, { [2 x i32] } { [2 x i32] [i32 78413852, i32 1072953925] }, { [2 x i32] } { [2 x i32] [i32 -111740429, i32 -1130901469] }, { [2 x i32] } { [2 x i32] [i32 569847338, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 472945272, i32 -1134627991] }, { [2 x i32] } { [2 x i32] [i32 -649025385, i32 1072968181] }, { [2 x i32] } { [2 x i32] [i32 -480282216, i32 -1132345379] }, { [2 x i32] } { [2 x i32] [i32 1617004845, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 82804943, i32 1011391354] }, { [2 x i32] } { [2 x i32] [i32 -316866473, i32 1072982593] }, { [2 x i32] } { [2 x i32] [i32 -781940106, i32 1016894539] }, { [2 x i32] } { [2 x i32] [i32 -1245627184, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 -1232051472, i32 1014219171] }, { [2 x i32] } { [2 x i32] [i32 -254290978, i32 1072997162] }, { [2 x i32] } { [2 x i32] [i32 -204358058, i32 1016712034] }, { [2 x i32] } { [2 x i32] [i32 -717870553, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1343470878, i32 1014842263] }, { [2 x i32] } { [2 x i32] [i32 -1711416051, i32 1073011890] }, { [2 x i32] } { [2 x i32] [i32 -1133873101, i32 1016655067] }, { [2 x i32] } { [2 x i32] [i32 1990012071, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -765896733, i32 -1131105527] }, { [2 x i32] } { [2 x i32] [i32 -1563466174, i32 1073026778] }, { [2 x i32] } { [2 x i32] [i32 1774031854, i32 -1131448699] }, { [2 x i32] } { [2 x i32] [i32 1453150082, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 498154668, i32 -1132430658] }, { [2 x i32] } { [2 x i32] [i32 -899837425, i32 1073041828] }, { [2 x i32] } { [2 x i32] [i32 -269621862, i32 -1131583332] }, { [2 x i32] } { [2 x i32] [i32 917841882, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 18715564, i32 1016707884] }, { [2 x i32] } { [2 x i32] [i32 -728250371, i32 1073057042] }, { [2 x i32] } { [2 x i32] [i32 1536826855, i32 1015191009] }, { [2 x i32] } { [2 x i32] [i32 -582462423, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 88491948, i32 1016476236] }, { [2 x i32] } { [2 x i32] [i32 -1973860681, i32 1073072422] }, { [2 x i32] } { [2 x i32] [i32 -2123790686, i32 1010584347] }, { [2 x i32] } { [2 x i32] [i32 363667784, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 813753949, i32 1016833785] }, { [2 x i32] } { [2 x i32] [i32 -1183392759, i32 1073087969] }, { [2 x i32] } { [2 x i32] [i32 -1688805817, i32 -1131158974] }, { [2 x i32] } { [2 x i32] [i32 -1338354299, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 2118169750, i32 -1131183167] }, { [2 x i32] } { [2 x i32] [i32 885834528, i32 1073103686] }, { [2 x i32] } { [2 x i32] [i32 1973258546, i32 -1131657156] }, { [2 x i32] } { [2 x i32] [i32 -2108349915, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 -2024203213, i32 -1130646007] }, { [2 x i32] } { [2 x i32] [i32 -733173389, i32 1073119573] }, { [2 x i32] } { [2 x i32] [i32 1157054052, i32 1012938926] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 330458197, i32 -1130635980] }, { [2 x i32] } { [2 x i32] [i32 1963711167, i32 1073135634] }, { [2 x i32] } { [2 x i32] [i32 1744767756, i32 -1133344426] }, { [2 x i32] } { [2 x i32] [i32 1013258799, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 1748797610, i32 -1133789638] }, { [2 x i32] } { [2 x i32] [i32 -112094076, i32 1073151869] }, { [2 x i32] } { [2 x i32] [i32 629542646, i32 -1131922417] }, { [2 x i32] } { [2 x i32] [i32 -387162252, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 -2037876071, i32 -1132368313] }, { [2 x i32] } { [2 x i32] [i32 1218806132, i32 1073168282] }, { [2 x i32] } { [2 x i32] [i32 1818613051, i32 -1131370279] }, { [2 x i32] } { [2 x i32] [i32 1447192521, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 1462857171, i32 -1131404199] }, { [2 x i32] } { [2 x i32] [i32 1339972927, i32 1073184873] }, { [2 x i32] } { [2 x i32] [i32 167908908, i32 1016620728] }, { [2 x i32] } { [2 x i32] [i32 1944781191, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 -301688529, i32 -1132194441] }, { [2 x i32] } { [2 x i32] [i32 19972402, i32 1073201645] }, { [2 x i32] } { [2 x i32] [i32 -787067435, i32 1017057868] }, { [2 x i32] } { [2 x i32] [i32 919555682, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -1172997762, i32 1013996802] }, { [2 x i32] } { [2 x i32] [i32 1413356050, i32 1073218599] }, { [2 x i32] } { [2 x i32] [i32 1651349290, i32 -1131250554] }, { [2 x i32] } { [2 x i32] [i32 -1723019757, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 -736808233, i32 -1130542051] }, { [2 x i32] } { [2 x i32] [i32 1176749997, i32 1073235738] }, { [2 x i32] } { [2 x i32] [i32 -1555968517, i32 -1131882876] }, { [2 x i32] } { [2 x i32] [i32 -1690004755, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 -1680542022, i32 -1130379528] }, { [2 x i32] } { [2 x i32] [i32 -645241191, i32 1073253063] }, { [2 x i32] } { [2 x i32] [i32 -209930950, i32 1016698050] }, { [2 x i32] } { [2 x i32] [i32 1110089947, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 1451641638, i32 1016523249] }, { [2 x i32] } { [2 x i32] [i32 380978316, i32 1073270578] }, { [2 x i32] } { [2 x i32] [i32 854188970, i32 -1133456034] }, { [2 x i32] } { [2 x i32] [i32 -1726646474, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 -1562142868, i32 1015401491] }, { [2 x i32] } { [2 x i32] [i32 194117574, i32 1073288283] }, { [2 x i32] } { [2 x i32] [i32 777528611, i32 -1130506631] }, { [2 x i32] } { [2 x i32] [i32 -1328691739, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -2118811973, i32 -1134075961] }, { [2 x i32] } { [2 x i32] [i32 -876064241, i32 1073306180] }, { [2 x i32] } { [2 x i32] [i32 -1767509959, i32 -1133098116] }, { [2 x i32] } { [2 x i32] [i32 -1612820912, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 2082178512, i32 -1130555301] }, { [2 x i32] } { [2 x i32] [i32 1892288442, i32 1073324273] }, { [2 x i32] } { [2 x i32] [i32 -1848711630, i32 -1131318339] }, { [2 x i32] } { [2 x i32] [i32 -2103185264, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -1334709570, i32 1014791238] }, { [2 x i32] } { [2 x i32] [i32 434316067, i32 1073342563] }, { [2 x i32] } { [2 x i32] [i32 2028358766, i32 1014506698] }, { [2 x i32] } { [2 x i32] [i32 2069751141, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 1562170674, i32 -1131194039] }, { [2 x i32] } { [2 x i32] [i32 -330683085, i32 1073361051] }, { [2 x i32] } { [2 x i32] [i32 2111583915, i32 1016475740] }, { [2 x i32] } { [2 x i32] [i32 -1304550051, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -611499551, i32 -1130549394] }, { [2 x i32] } { [2 x i32] [i32 321958744, i32 1073379742] }, { [2 x i32] } { [2 x i32] [i32 -893033530, i32 1016843134] }, { [2 x i32] } { [2 x i32] [i32 1434058175, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 251133233, i32 1016134345] }, { [2 x i32] } { [2 x i32] [i32 -1076628614, i32 1073398635] }, { [2 x i32] } { [2 x i32] [i32 -890802992, i32 -1131441612] }, { [2 x i32] } { [2 x i32] [i32 -1722100819, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 878562433, i32 1016570317] }, { [2 x i32] } { [2 x i32] [i32 697153126, i32 1073417735] }, { [2 x i32] } { [2 x i32] [i32 1283515428, i32 -1130635531] }, { [2 x i32] } { [2 x i32] [i32 -1202776581, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 814012167, i32 -1134395298] }, { [2 x i32] } { [2 x i32] [i32 -1914349254, i32 1073437042] }, { [2 x i32] } { [2 x i32] [i32 -1145410077, i32 -1130597921] }, { [2 x i32] } { [2 x i32] [i32 -218407353, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 2119478330, i32 -1133160369] }, { [2 x i32] } { [2 x i32] [i32 815859274, i32 1073456560] }, { [2 x i32] } { [2 x i32] [i32 240396590, i32 -1130431277] }, { [2 x i32] } { [2 x i32] [i32 -1874083374, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 2049810052, i32 1015168464] }, { [2 x i32] } { [2 x i32] [i32 1540824585, i32 1073476290] }, { [2 x i32] } { [2 x i32] [i32 1064017010, i32 -1130431030] }, { [2 x i32] } { [2 x i32] [i32 -578465124, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 -1991227171, i32 1015091301] }, { [2 x i32] } { [2 x i32] [i32 1610600570, i32 1073496235] }, { [2 x i32] } { [2 x i32] [i32 -528234998, i32 1016808759] }, { [2 x i32] } { [2 x i32] [i32 777507147, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 -12043092, i32 1016236109] }, { [2 x i32] } { [2 x i32] [i32 -1811486795, i32 1073516397] }, { [2 x i32] } { [2 x i32] [i32 1216371780, i32 1014082748] }, { [2 x i32] } { [2 x i32] [i32 -588279703, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -773240357, i32 1014301643] }, { [2 x i32] } { [2 x i32] [i32 1432208378, i32 1073536779] }, { [2 x i32] } { [2 x i32] [i32 1401068914, i32 -1131554757] }, { [2 x i32] } { [2 x i32] [i32 1242007932, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 1132034716, i32 -1130578889] }, { [2 x i32] } { [2 x i32] [i32 135105010, i32 1073557383] }, { [2 x i32] } { [2 x i32] [i32 1906148727, i32 -1130542981] }, { [2 x i32] } { [2 x i32] [i32 -587488121, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 -681887994, i32 1015213314] }, { [2 x i32] } { [2 x i32] [i32 382305176, i32 1073578211] }, { [2 x i32] } { [2 x i32] [i32 -1947344920, i32 -1131340095] }, { [2 x i32] } { [2 x i32] [i32 64696965, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 1768797490, i32 1016865536] }, { [2 x i32] } { [2 x i32] [i32 -217992096, i32 1073599265] }, { [2 x i32] } { [2 x i32] [i32 2029000898, i32 1016257111] }, { [2 x i32] } { [2 x i32] [i32 863738719, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 1326992219, i32 -1131305523] }, { [2 x i32] } { [2 x i32] [i32 351641897, i32 1073620550] }, { [2 x i32] } { [2 x i32] [i32 -2122705770, i32 -1130908121] }, { [2 x i32] } { [2 x i32] [i32 -410304522, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -2136355697, i32 1015258761] }, { [2 x i32] } { [2 x i32] [i32 -70824829, i32 1073642065] }, { [2 x i32] } { [2 x i32] [i32 -905146911, i32 1016255778] }, { [2 x i32] } { [2 x i32] [i32 -1566273318, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 396109971, i32 -1130456029] }, { [2 x i32] } { [2 x i32] [i32 764307441, i32 1073663816] }, { [2 x i32] } { [2 x i32] [i32 -1273909876, i32 -1130589197] }, { [2 x i32] } { [2 x i32] [i32 -295609817, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -2036025680, i32 1016973300] }, { [2 x i32] } { [2 x i32] [i32 929806999, i32 1073685803] }, { [2 x i32] } { [2 x i32] [i32 -1089630653, i32 1016308133] }, { [2 x i32] } { [2 x i32] [i32 1533953344, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 769171850, i32 1016714209] }, { [2 x i32] } { [2 x i32] [i32 -1382236652, i32 1073708029] }, { [2 x i32] } { [2 x i32] [i32 -804899575, i32 -1130513646] }, { [2 x i32] } { [2 x i32] [i32 -2120314664, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -207252706, i32 1015498835] }, { [2 x i32] } { [2 x i32] [i32 730821105, i32 1073730498] }, { [2 x i32] } { [2 x i32] [i32 -1771734553, i32 1013115764] }, { [2 x i32] } { [2 x i32] [i32 -1771808792, i32 1048167334] }, { [2 x i32] } { [2 x i32] [i32 1181303047, i32 -1076482493] }, { [2 x i32] } { [2 x i32] [i32 1656151777, i32 1069842388] }, { [2 x i32] } { [2 x i32] [i32 714085080, i32 -1078636473] }, { [2 x i32] } { [2 x i32] [i32 -17155601, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -8206961, i32 1070514109] }, { [2 x i32] } { [2 x i32] [i32 -687562560, i32 1068264200] }, { [2 x i32] } { [2 x i32] [i32 1874480759, i32 1065595563] }, { [2 x i32] } { [2 x i32] [i32 -410360015, i32 1062590591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 2145386496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1048576] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1120403456] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1282408448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 862978048] }], align 8 +@_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_144__devicelib_imf_internal_derfinv_data_avx512E = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_erfinv_d_la::(anonymous namespace)::__devicelib_imf_internal_derfinv_data_avx512_t" { [11010 x i64] [i64 4448531655089778539, i64 4607182418800017408, i64 4448656380441379624, i64 4607182418800017408, i64 4448781105792980710, i64 4607182418800017408, i64 4448905831144581796, i64 4607182418800017408, i64 4449030556496182881, i64 4607182418800017408, i64 4449155281847783967, i64 4607182418800017408, i64 4449280007199385053, i64 4607182418800017408, i64 4449404732550986138, i64 4607182418800017408, i64 4449529457902587224, i64 4607182418800017408, i64 4449605307548119179, i64 4607182418800017408, i64 4449667670223919722, i64 4607182418800017408, i64 4449730032899720264, i64 4607182418800017408, i64 4449792395575520807, i64 4607182418800017408, i64 4449854758251321350, i64 4607182418800017408, i64 4449917120927121893, i64 4607182418800017408, i64 4449979483602922436, i64 4607182418800017408, i64 4450041846278722979, i64 4607182418800017408, i64 4450104208954523521, i64 4607182418800017408, i64 4450166571630324064, i64 4607182418800017408, i64 4450228934306124607, i64 4607182418800017408, i64 4450291296981925150, i64 4607182418800017408, i64 4450353659657725693, i64 4607182418800017408, i64 4450416022333526236, i64 4607182418800017408, i64 4450478385009326778, i64 4607182418800017408, i64 4450540747685127321, i64 4607182418800017408, i64 4450603110360927864, i64 4607182418800017408, i64 4450665473036728407, i64 4607182418800017408, i64 4450727835712528950, i64 4607182418800017408, i64 4450790198388329493, i64 4607182418800017408, i64 4450852561064130035, i64 4607182418800017408, i64 4450914923739930578, i64 4607182418800017408, i64 4450977286415731121, i64 4607182418800017408, i64 4451039649091531664, i64 4607182418800017408, i64 4451102011767332207, i64 4607182418800017408, i64 4451164374443132750, i64 4607182418800017408, i64 4451226737118933292, i64 4607182418800017408, i64 4451289099794733835, i64 4607182418800017408, i64 4451351462470534378, i64 4607182418800017408, i64 4451413825146334921, i64 4607182418800017408, i64 4451476187822135464, i64 4607182418800017408, i64 4451538550497936007, i64 4607182418800017408, i64 4451600913173736549, i64 4607182418800017408, i64 4451663275849537092, i64 4607182418800017408, i64 4451725638525337635, i64 4607182418800017408, i64 4451788001201138178, i64 4607182418800017408, i64 4451850363876938721, i64 4607182418800017408, i64 4451912726552739264, i64 4607182418800017408, i64 4451975089228539806, i64 4607182418800017408, i64 4452037451904340349, i64 4607182418800017408, i64 4452099814580140892, i64 4607182418800017408, i64 4452162177255941435, i64 4607182418800017408, i64 4452224539931741978, i64 4607182418800017408, i64 4452286902607542521, i64 4607182418800017408, i64 4452349265283343063, i64 4607182418800017408, i64 4452411627959143606, i64 4607182418800017408, i64 4452473990634944149, i64 4607182418800017408, i64 4452536353310744692, i64 4607182418800017408, i64 4452598715986545235, i64 4607182418800017408, i64 4452661078662345778, i64 4607182418800017408, i64 4452723441338146320, i64 4607182418800017408, i64 4452785804013946863, i64 4607182418800017408, i64 4452848166689747406, i64 4607182418800017408, i64 4452910529365547949, i64 4607182418800017408, i64 4452972892041348492, i64 4607182418800017408, i64 4453035254717149035, i64 4607182418800017408, i64 4453159980068750120, i64 4607182418800017408, i64 4453284705420351206, i64 4607182418800017408, i64 4453409430771952292, i64 4607182418800017408, i64 4453534156123553377, i64 4607182418800017408, i64 4453658881475154463, i64 4607182418800017408, i64 4453783606826755549, i64 4607182418800017408, i64 4453908332178356634, i64 4607182418800017408, i64 4454033057529957720, i64 4607182418800017408, i64 4454108907175489675, i64 4607182418800017408, i64 4454171269851290218, i64 4607182418800017408, i64 4454233632527090760, i64 4607182418800017408, i64 4454295995202891303, i64 4607182418800017408, i64 4454358357878691846, i64 4607182418800017408, i64 4454420720554492389, i64 4607182418800017408, i64 4454483083230292932, i64 4607182418800017408, i64 4454545445906093475, i64 4607182418800017408, i64 4454607808581894017, i64 4607182418800017408, i64 4454670171257694560, i64 4607182418800017408, i64 4454732533933495103, i64 4607182418800017408, i64 4454794896609295646, i64 4607182418800017408, i64 4454857259285096189, i64 4607182418800017408, i64 4454919621960896732, i64 4607182418800017408, i64 4454981984636697274, i64 4607182418800017408, i64 4455044347312497817, i64 4607182418800017408, i64 4455106709988298360, i64 4607182418800017408, i64 4455169072664098903, i64 4607182418800017408, i64 4455231435339899446, i64 4607182418800017408, i64 4455293798015699989, i64 4607182418800017408, i64 4455356160691500531, i64 4607182418800017408, i64 4455418523367301074, i64 4607182418800017408, i64 4455480886043101617, i64 4607182418800017408, i64 4455543248718902160, i64 4607182418800017408, i64 4455605611394702703, i64 4607182418800017408, i64 4455667974070503246, i64 4607182418800017408, i64 4455730336746303788, i64 4607182418800017408, i64 4455792699422104331, i64 4607182418800017408, i64 4455855062097904874, i64 4607182418800017408, i64 4455917424773705417, i64 4607182418800017408, i64 4455979787449505960, i64 4607182418800017408, i64 4456042150125306503, i64 4607182418800017408, i64 4456104512801107045, i64 4607182418800017408, i64 4456166875476907588, i64 4607182418800017408, i64 4456229238152708131, i64 4607182418800017408, i64 4456291600828508674, i64 4607182418800017408, i64 4456353963504309217, i64 4607182418800017408, i64 4456416326180109760, i64 4607182418800017408, i64 4456478688855910302, i64 4607182418800017408, i64 4456541051531710845, i64 4607182418800017408, i64 4456603414207511388, i64 4607182418800017408, i64 4456665776883311931, i64 4607182418800017408, i64 4456728139559112474, i64 4607182418800017408, i64 4456790502234913017, i64 4607182418800017408, i64 4456852864910713559, i64 4607182418800017408, i64 4456915227586514102, i64 4607182418800017408, i64 4456977590262314645, i64 4607182418800017408, i64 4457039952938115188, i64 4607182418800017408, i64 4457102315613915731, i64 4607182418800017408, i64 4457164678289716274, i64 4607182418800017408, i64 4457227040965516816, i64 4607182418800017408, i64 4457289403641317359, i64 4607182418800017408, i64 4457351766317117902, i64 4607182418800017408, i64 4457414128992918445, i64 4607182418800017408, i64 4457476491668718988, i64 4607182418800017408, i64 4457538854344519531, i64 4607182418800017408, i64 4457663579696120616, i64 4607182418800017408, i64 4457788305047721702, i64 4607182418800017408, i64 4457913030399322788, i64 4607182418800017408, i64 4458037755750923873, i64 4607182418800017408, i64 4458162481102524959, i64 4607182418800017408, i64 4458287206454126045, i64 4607182418800017408, i64 4458411931805727130, i64 4607182418800017408, i64 4458536657157328216, i64 4607182418800017408, i64 4458612506802860171, i64 4607182418800017408, i64 4458674869478660714, i64 4607182418800017408, i64 4458737232154461256, i64 4607182418800017408, i64 4458799594830261799, i64 4607182418800017408, i64 4458861957506062342, i64 4607182418800017408, i64 4458924320181862885, i64 4607182418800017408, i64 4458986682857663428, i64 4607182418800017408, i64 4459049045533463971, i64 4607182418800017408, i64 4459111408209264513, i64 4607182418800017408, i64 4459173770885065056, i64 4607182418800017408, i64 4459236133560865599, i64 4607182418800017408, i64 4459298496236666142, i64 4607182418800017408, i64 4459360858912466685, i64 4607182418800017408, i64 4459423221588267228, i64 4607182418800017408, i64 4459485584264067770, i64 4607182418800017408, i64 4459547946939868313, i64 4607182418800017408, i64 4459610309615668856, i64 4607182418800017408, i64 4459672672291469399, i64 4607182418800017408, i64 4459735034967269942, i64 4607182418800017408, i64 4459797397643070485, i64 4607182418800017408, i64 4459859760318871027, i64 4607182418800017408, i64 4459922122994671570, i64 4607182418800017408, i64 4459984485670472113, i64 4607182418800017408, i64 4460046848346272656, i64 4607182418800017408, i64 4460109211022073199, i64 4607182418800017408, i64 4460171573697873742, i64 4607182418800017408, i64 4460233936373674284, i64 4607182418800017408, i64 4460296299049474827, i64 4607182418800017408, i64 4460358661725275370, i64 4607182418800017408, i64 4460421024401075913, i64 4607182418800017408, i64 4460483387076876456, i64 4607182418800017408, i64 4460545749752676999, i64 4607182418800017408, i64 4460608112428477541, i64 4607182418800017408, i64 4460670475104278084, i64 4607182418800017408, i64 4460732837780078627, i64 4607182418800017408, i64 4460795200455879170, i64 4607182418800017408, i64 4460857563131679713, i64 4607182418800017408, i64 4460919925807480256, i64 4607182418800017408, i64 4460982288483280798, i64 4607182418800017408, i64 4461044651159081341, i64 4607182418800017408, i64 4461107013834881884, i64 4607182418800017408, i64 4461169376510682427, i64 4607182418800017408, i64 4461231739186482970, i64 4607182418800017408, i64 4461294101862283513, i64 4607182418800017408, i64 4461356464538084055, i64 4607182418800017408, i64 4461418827213884598, i64 4607182418800017408, i64 4461481189889685141, i64 4607182418800017408, i64 4461543552565485684, i64 4607182418800017408, i64 4461605915241286227, i64 4607182418800017408, i64 4461668277917086770, i64 4607182418800017408, i64 4461730640592887312, i64 4607182418800017408, i64 4461793003268687855, i64 4607182418800017408, i64 4461855365944488398, i64 4607182418800017408, i64 4461917728620288941, i64 4607182418800017408, i64 4461980091296089484, i64 4607182418800017408, i64 4462042453971890027, i64 4607182418800017408, i64 4462167179323491112, i64 4607182418800017408, i64 4462291904675092198, i64 4607182418800017408, i64 4462416630026693284, i64 4607182418800017408, i64 4462541355378294369, i64 4607182418800017408, i64 4462666080729895455, i64 4607182418800017408, i64 4462790806081496541, i64 4607182418800017408, i64 4462915531433097626, i64 4607182418800017408, i64 4463040256784698712, i64 4607182418800017408, i64 4463116106430230667, i64 4607182418800017408, i64 4463178469106031210, i64 4607182418800017408, i64 4463240831781831752, i64 4607182418800017408, i64 4463303194457632295, i64 4607182418800017408, i64 4463365557133432838, i64 4607182418800017408, i64 4463427919809233381, i64 4607182418800017408, i64 4463490282485033924, i64 4607182418800017408, i64 4463552645160834467, i64 4607182418800017408, i64 4463615007836635009, i64 4607182418800017408, i64 4463677370512435552, i64 4607182418800017408, i64 4463739733188236095, i64 4607182418800017408, i64 4463802095864036638, i64 4607182418800017408, i64 4463864458539837181, i64 4607182418800017408, i64 4463926821215637724, i64 4607182418800017408, i64 4463989183891438266, i64 4607182418800017408, i64 4464051546567238809, i64 4607182418800017408, i64 4464113909243039352, i64 4607182418800017408, i64 4464176271918839895, i64 4607182418800017408, i64 4464238634594640438, i64 4607182418800017408, i64 4464300997270440981, i64 4607182418800017408, i64 4464363359946241523, i64 4607182418800017408, i64 4464425722622042066, i64 4607182418800017408, i64 4464488085297842609, i64 4607182418800017408, i64 4464550447973643152, i64 4607182418800017408, i64 4464612810649443695, i64 4607182418800017408, i64 4464675173325244238, i64 4607182418800017408, i64 4464737536001044780, i64 4607182418800017408, i64 4464799898676845323, i64 4607182418800017408, i64 4464862261352645866, i64 4607182418800017408, i64 4464924624028446409, i64 4607182418800017408, i64 4464986986704246952, i64 4607182418800017408, i64 4465049349380047495, i64 4607182418800017408, i64 4465111712055848037, i64 4607182418800017408, i64 4465174074731648580, i64 4607182418800017408, i64 4465236437407449123, i64 4607182418800017408, i64 4465298800083249666, i64 4607182418800017408, i64 4465361162759050209, i64 4607182418800017408, i64 4465423525434850752, i64 4607182418800017408, i64 4465485888110651294, i64 4607182418800017408, i64 4465548250786451837, i64 4607182418800017408, i64 4465610613462252380, i64 4607182418800017408, i64 4465672976138052923, i64 4607182418800017408, i64 4465735338813853466, i64 4607182418800017408, i64 4465797701489654009, i64 4607182418800017408, i64 4465860064165454551, i64 4607182418800017408, i64 4465922426841255094, i64 4607182418800017408, i64 4465984789517055637, i64 4607182418800017408, i64 4466047152192856180, i64 4607182418800017408, i64 4466109514868656723, i64 4607182418800017408, i64 4466171877544457266, i64 4607182418800017408, i64 4466234240220257808, i64 4607182418800017408, i64 4466296602896058351, i64 4607182418800017408, i64 4466358965571858894, i64 4607182418800017408, i64 4466421328247659437, i64 4607182418800017408, i64 4466483690923459980, i64 4607182418800017408, i64 4466546053599260523, i64 4607182418800017408, i64 4466670778950861608, i64 4607182418800017408, i64 4466795504302462694, i64 4607182418800017408, i64 4466920229654063780, i64 4607182418800017408, i64 4467044955005664865, i64 4607182418800017408, i64 4467169680357265951, i64 4607182418800017408, i64 4467294405708867037, i64 4607182418800017408, i64 4467419131060468122, i64 4607182418800017408, i64 4467543856412069208, i64 4607182418800017408, i64 4467619706057601163, i64 4607182418800017408, i64 4467682068733401706, i64 4607182418800017408, i64 4467744431409202248, i64 4607182418800017408, i64 4467806794085002791, i64 4607182418800017408, i64 4467869156760803334, i64 4607182418800017408, i64 4467931519436603877, i64 4607182418800017408, i64 4467993882112404420, i64 4607182418800017408, i64 4468056244788204963, i64 4607182418800017408, i64 4468118607464005505, i64 4607182418800017408, i64 4468180970139806048, i64 4607182418800017408, i64 4468243332815606591, i64 4607182418800017408, i64 4468305695491407134, i64 4607182418800017408, i64 4468368058167207677, i64 4607182418800017408, i64 4468430420843008220, i64 4607182418800017408, i64 4468492783518808762, i64 4607182418800017408, i64 4468555146194609305, i64 4607182418800017408, i64 4468617508870409848, i64 4607182418800017408, i64 4468679871546210391, i64 4607182418800017408, i64 4468742234222010934, i64 4607182418800017408, i64 4468804596897811477, i64 4607182418800017408, i64 4468866959573612019, i64 4607182418800017408, i64 4468929322249412562, i64 4607182418800017408, i64 4468991684925213105, i64 4607182418800017408, i64 4469054047601013648, i64 4607182418800017408, i64 4469116410276814191, i64 4607182418800017408, i64 4469178772952614734, i64 4607182418800017408, i64 4469241135628415276, i64 4607182418800017408, i64 4469303498304215819, i64 4607182418800017408, i64 4469365860980016362, i64 4607182418800017408, i64 4469428223655816905, i64 4607182418800017408, i64 4469490586331617448, i64 4607182418800017408, i64 4469552949007417991, i64 4607182418800017408, i64 4469615311683218533, i64 4607182418800017408, i64 4469677674359019076, i64 4607182418800017408, i64 4469740037034819619, i64 4607182418800017408, i64 4469802399710620162, i64 4607182418800017408, i64 4469864762386420705, i64 4607182418800017408, i64 4469927125062221248, i64 4607182418800017408, i64 4469989487738021790, i64 4607182418800017408, i64 4470051850413822333, i64 4607182418800017408, i64 4470114213089622876, i64 4607182418800017408, i64 4470176575765423419, i64 4607182418800017408, i64 4470238938441223962, i64 4607182418800017408, i64 4470301301117024505, i64 4607182418800017408, i64 4470363663792825047, i64 4607182418800017408, i64 4470426026468625590, i64 4607182418800017408, i64 4470488389144426133, i64 4607182418800017408, i64 4470550751820226676, i64 4607182418800017408, i64 4470613114496027219, i64 4607182418800017408, i64 4470675477171827762, i64 4607182418800017408, i64 4470737839847628304, i64 4607182418800017408, i64 4470800202523428847, i64 4607182418800017408, i64 4470862565199229390, i64 4607182418800017408, i64 4470924927875029933, i64 4607182418800017408, i64 4470987290550830476, i64 4607182418800017408, i64 4471049653226631019, i64 4607182418800017408, i64 4471174378578232104, i64 4607182418800017408, i64 4471299103929833190, i64 4607182418800017408, i64 4471423829281434276, i64 4607182418800017408, i64 4471548554633035361, i64 4607182418800017408, i64 4471673279984636447, i64 4607182418800017408, i64 4471798005336237533, i64 4607182418800017408, i64 4471922730687838618, i64 4607182418800017408, i64 4472047456039439704, i64 4607182418800017408, i64 4472123305684971659, i64 4607182418800017408, i64 4472185668360772202, i64 4607182418800017408, i64 4472248031036572744, i64 4607182418800017408, i64 4472310393712373287, i64 4607182418800017408, i64 4472372756388173830, i64 4607182418800017408, i64 4472435119063974373, i64 4607182418800017408, i64 4472497481739774916, i64 4607182418800017408, i64 4472559844415575459, i64 4607182418800017408, i64 4472622207091376001, i64 4607182418800017408, i64 4472684569767176544, i64 4607182418800017408, i64 4472746932442977087, i64 4607182418800017408, i64 4472809295118777630, i64 4607182418800017408, i64 4472871657794578173, i64 4607182418800017408, i64 4472934020470378716, i64 4607182418800017408, i64 4472996383146179258, i64 4607182418800017408, i64 4473058745821979801, i64 4607182418800017408, i64 4473121108497780344, i64 4607182418800017408, i64 4473183471173580887, i64 4607182418800017408, i64 4473245833849381430, i64 4607182418800017408, i64 4473308196525181973, i64 4607182418800017408, i64 4473370559200982515, i64 4607182418800017408, i64 4473432921876783058, i64 4607182418800017408, i64 4473495284552583601, i64 4607182418800017408, i64 4473557647228384144, i64 4607182418800017408, i64 4473620009904184687, i64 4607182418800017408, i64 4473682372579985230, i64 4607182418800017408, i64 4473744735255785772, i64 4607182418800017408, i64 4473807097931586315, i64 4607182418800017408, i64 4473869460607386858, i64 4607182418800017408, i64 4473931823283187401, i64 4607182418800017408, i64 4473994185958987944, i64 4607182418800017408, i64 4474056548634788487, i64 4607182418800017408, i64 4474118911310589029, i64 4607182418800017408, i64 4474181273986389572, i64 4607182418800017408, i64 4474243636662190115, i64 4607182418800017408, i64 4474305999337990658, i64 4607182418800017408, i64 4474368362013791201, i64 4607182418800017408, i64 4474430724689591744, i64 4607182418800017408, i64 4474493087365392286, i64 4607182418800017408, i64 4474555450041192829, i64 4607182418800017408, i64 4474617812716993372, i64 4607182418800017408, i64 4474680175392793915, i64 4607182418800017408, i64 4474742538068594458, i64 4607182418800017408, i64 4474804900744395001, i64 4607182418800017408, i64 4474867263420195543, i64 4607182418800017408, i64 4474929626095996086, i64 4607182418800017408, i64 4474991988771796629, i64 4607182418800017408, i64 4475054351447597172, i64 4607182418800017408, i64 4475116714123397715, i64 4607182418800017408, i64 4475179076799198258, i64 4607182418800017408, i64 4475241439474998800, i64 4607182418800017408, i64 4475303802150799343, i64 4607182418800017408, i64 4475366164826599886, i64 4607182418800017408, i64 4475428527502400429, i64 4607182418800017408, i64 4475490890178200972, i64 4607182418800017408, i64 4475553252854001515, i64 4607182418800017408, i64 4475677978205602600, i64 4607182418800017408, i64 4475802703557203686, i64 4607182418800017408, i64 4475927428908804772, i64 4607182418800017408, i64 4476052154260405857, i64 4607182418800017408, i64 4476176879612006943, i64 4607182418800017408, i64 4476301604963608029, i64 4607182418800017408, i64 4476426330315209114, i64 4607182418800017408, i64 4476551055666810200, i64 4607182418800017408, i64 4476626905312342155, i64 4607182418800017408, i64 4476689267988142698, i64 4607182418800017408, i64 4476751630663943240, i64 4607182418800017408, i64 4476813993339743783, i64 4607182418800017408, i64 4476876356015544326, i64 4607182418800017408, i64 4476938718691344869, i64 4607182418800017408, i64 4477001081367145412, i64 4607182418800017408, i64 4477063444042945955, i64 4607182418800017408, i64 4477125806718746497, i64 4607182418800017408, i64 4477188169394547040, i64 4607182418800017408, i64 4477250532070347583, i64 4607182418800017408, i64 4477312894746148126, i64 4607182418800017408, i64 4477375257421948669, i64 4607182418800017408, i64 4477437620097749212, i64 4607182418800017408, i64 4477499982773549755, i64 4607182418800017408, i64 4477562345449350297, i64 4607182418800017408, i64 4477624708125150840, i64 4607182418800017408, i64 4477687070800951383, i64 4607182418800017408, i64 4477749433476751926, i64 4607182418800017408, i64 4477811796152552469, i64 4607182418800017408, i64 4477874158828353012, i64 4607182418800017408, i64 4477936521504153554, i64 4607182418800017408, i64 4477998884179954097, i64 4607182418800017408, i64 4478061246855754640, i64 4607182418800017408, i64 4478123609531555183, i64 4607182418800017408, i64 4478185972207355726, i64 4607182418800017408, i64 4478248334883156269, i64 4607182418800017408, i64 4478310697558956811, i64 4607182418800017408, i64 4478373060234757354, i64 4607182418800017408, i64 4478435422910557897, i64 4607182418800017408, i64 4478497785586358440, i64 4607182418800017408, i64 4478560148262158983, i64 4607182418800017408, i64 4478622510937959526, i64 4607182418800017408, i64 4478684873613760068, i64 4607182418800017408, i64 4478747236289560611, i64 4607182418800017408, i64 4478809598965361154, i64 4607182418800017408, i64 4478871961641161697, i64 4607182418800017408, i64 4478934324316962240, i64 4607182418800017408, i64 4478996686992762783, i64 4607182418800017408, i64 4479059049668563325, i64 4607182418800017408, i64 4479121412344363868, i64 4607182418800017408, i64 4479183775020164411, i64 4607182418800017408, i64 4479246137695964954, i64 4607182418800017408, i64 4479308500371765497, i64 4607182418800017408, i64 4479370863047566040, i64 4607182418800017408, i64 4479433225723366582, i64 4607182418800017408, i64 4479495588399167125, i64 4607182418800017408, i64 4479557951074967668, i64 4607182418800017408, i64 4479620313750768211, i64 4607182418800017408, i64 4479682676426568754, i64 4607182418800017408, i64 4479745039102369297, i64 4607182418800017408, i64 4479807401778169839, i64 4607182418800017408, i64 4479869764453970382, i64 4607182418800017408, i64 4479932127129770925, i64 4607182418800017408, i64 4479994489805571468, i64 4607182418800017408, i64 4480056852481372011, i64 4607182418800017408, i64 4480181577832973096, i64 4607182418800017408, i64 4480306303184574182, i64 4607182418800017408, i64 4480431028536175268, i64 4607182418800017408, i64 4480555753887776353, i64 4607182418800017408, i64 4480680479239377439, i64 4607182418800017408, i64 4480805204590978525, i64 4607182418800017408, i64 4480929929942579610, i64 4607182418800017408, i64 4481054655294180696, i64 4607182418800017408, i64 4481130504939712651, i64 4607182418800017408, i64 4481192867615513194, i64 4607182418800017408, i64 4481255230291313737, i64 4607182418800017408, i64 4481317592967114279, i64 4607182418800017408, i64 4481379955642914822, i64 4607182418800017408, i64 4481442318318715365, i64 4607182418800017408, i64 4481504680994515908, i64 4607182418800017408, i64 4481567043670316451, i64 4607182418800017408, i64 4481629406346116994, i64 4607182418800017408, i64 4481691769021917536, i64 4607182418800017408, i64 4481754131697718079, i64 4607182418800017408, i64 4481816494373518622, i64 4607182418800017408, i64 4481878857049319165, i64 4607182418800017408, i64 4481941219725119708, i64 4607182418800017408, i64 4482003582400920251, i64 4607182418800017408, i64 4482065945076720793, i64 4607182418800017408, i64 4482128307752521336, i64 4607182418800017408, i64 4482190670428321879, i64 4607182418800017408, i64 4482253033104122422, i64 4607182418800017408, i64 4482315395779922965, i64 4607182418800017408, i64 4482377758455723508, i64 4607182418800017408, i64 4482440121131524050, i64 4607182418800017408, i64 4482502483807324593, i64 4607182418800017408, i64 4482564846483125136, i64 4607182418800017408, i64 4482627209158925679, i64 4607182418800017408, i64 4482689571834726222, i64 4607182418800017408, i64 4482751934510526765, i64 4607182418800017408, i64 4482814297186327307, i64 4607182418800017408, i64 4482876659862127850, i64 4607182418800017408, i64 4482939022537928393, i64 4607182418800017408, i64 4483001385213728936, i64 4607182418800017408, i64 4483063747889529479, i64 4607182418800017408, i64 4483126110565330022, i64 4607182418800017408, i64 4483188473241130564, i64 4607182418800017408, i64 4483250835916931107, i64 4607182418800017408, i64 4483313198592731650, i64 4607182418800017408, i64 4483375561268532193, i64 4607182418800017408, i64 4483437923944332736, i64 4607182418800017408, i64 4483500286620133279, i64 4607182418800017408, i64 4483562649295933821, i64 4607182418800017408, i64 4483625011971734364, i64 4607182418800017408, i64 4483687374647534907, i64 4607182418800017408, i64 4483749737323335450, i64 4607182418800017408, i64 4483812099999135993, i64 4607182418800017408, i64 4483874462674936536, i64 4607182418800017408, i64 4483936825350737078, i64 4607182418800017408, i64 4483999188026537621, i64 4607182418800017408, i64 4484061550702338164, i64 4607182418800017408, i64 4484123913378138707, i64 4607182418800017408, i64 4484186276053939250, i64 4607182418800017408, i64 4484248638729739793, i64 4607182418800017408, i64 4484311001405540335, i64 4607182418800017408, i64 4484373364081340878, i64 4607182418800017408, i64 4484435726757141421, i64 4607182418800017408, i64 4484498089432941964, i64 4607182418800017408, i64 4484560452108742507, i64 4607182418800017408, i64 4484685177460343592, i64 4607182418800017408, i64 4484809902811944678, i64 4607182418800017408, i64 4484934628163545764, i64 4607182418800017408, i64 4485059353515146849, i64 4607182418800017408, i64 4485184078866747935, i64 4607182418800017408, i64 4485308804218349021, i64 4607182418800017408, i64 4485433529569950106, i64 4607182418800017408, i64 4485558254921551192, i64 4607182418800017408, i64 4485634104567083147, i64 4607182418800017408, i64 4485696467242883690, i64 4607182418800017408, i64 4485758829918684233, i64 4607182418800017408, i64 4485821192594484775, i64 4607182418800017408, i64 4485883555270285318, i64 4607182418800017408, i64 4485945917946085861, i64 4607182418800017408, i64 4486008280621886404, i64 4607182418800017408, i64 4486070643297686947, i64 4607182418800017408, i64 4486133005973487490, i64 4607182418800017408, i64 4486195368649288032, i64 4607182418800017408, i64 4486257731325088575, i64 4607182418800017408, i64 4486320094000889118, i64 4607182418800017408, i64 4486382456676689661, i64 4607182418800017408, i64 4486444819352490204, i64 4607182418800017408, i64 4486507182028290747, i64 4607182418800017408, i64 4486569544704091289, i64 4607182418800017408, i64 4486631907379891832, i64 4607182418800017408, i64 4486694270055692375, i64 4607182418800017408, i64 4486756632731492918, i64 4607182418800017408, i64 4486818995407293461, i64 4607182418800017408, i64 4486881358083094004, i64 4607182418800017408, i64 4486943720758894547, i64 4607182418800017408, i64 4487006083434695089, i64 4607182418800017408, i64 4487068446110495632, i64 4607182418800017408, i64 4487130808786296175, i64 4607182418800017408, i64 4487193171462096718, i64 4607182418800017408, i64 4487255534137897261, i64 4607182418800017408, i64 4487317896813697804, i64 4607182418800017408, i64 4487380259489498346, i64 4607182418800017408, i64 4487442622165298889, i64 4607182418800017408, i64 4487504984841099432, i64 4607182418800017409, i64 4487567347516899975, i64 4607182418800017409, i64 4487629710192700518, i64 4607182418800017409, i64 4487692072868501061, i64 4607182418800017409, i64 4487754435544301603, i64 4607182418800017409, i64 4487816798220102146, i64 4607182418800017409, i64 4487879160895902689, i64 4607182418800017409, i64 4487941523571703232, i64 4607182418800017409, i64 4488003886247503775, i64 4607182418800017409, i64 4488066248923304318, i64 4607182418800017409, i64 4488128611599104860, i64 4607182418800017409, i64 4488190974274905403, i64 4607182418800017409, i64 4488253336950705946, i64 4607182418800017409, i64 4488315699626506489, i64 4607182418800017409, i64 4488378062302307032, i64 4607182418800017409, i64 4488440424978107575, i64 4607182418800017409, i64 4488502787653908118, i64 4607182418800017409, i64 4488565150329708660, i64 4607182418800017409, i64 4488627513005509203, i64 4607182418800017409, i64 4488689875681309746, i64 4607182418800017409, i64 4488752238357110289, i64 4607182418800017409, i64 4488814601032910832, i64 4607182418800017409, i64 4488876963708711375, i64 4607182418800017409, i64 4488939326384511917, i64 4607182418800017409, i64 4489001689060312460, i64 4607182418800017409, i64 4489064051736113003, i64 4607182418800017409, i64 4489188777087714089, i64 4607182418800017409, i64 4489313502439315174, i64 4607182418800017409, i64 4489438227790916260, i64 4607182418800017409, i64 4489562953142517346, i64 4607182418800017409, i64 4489687678494118432, i64 4607182418800017409, i64 4489812403845719517, i64 4607182418800017409, i64 4489937129197320603, i64 4607182418800017409, i64 4490061854548921689, i64 4607182418800017409, i64 4490137704194453643, i64 4607182418800017409, i64 4490200066870254186, i64 4607182418800017409, i64 4490262429546054729, i64 4607182418800017409, i64 4490324792221855272, i64 4607182418800017409, i64 4490387154897655815, i64 4607182418800017409, i64 4490449517573456357, i64 4607182418800017409, i64 4490511880249256900, i64 4607182418800017409, i64 4490574242925057443, i64 4607182418800017409, i64 4490636605600857986, i64 4607182418800017409, i64 4490698968276658529, i64 4607182418800017409, i64 4490761330952459072, i64 4607182418800017409, i64 4490823693628259615, i64 4607182418800017409, i64 4490886056304060157, i64 4607182418800017409, i64 4490948418979860700, i64 4607182418800017409, i64 4491010781655661243, i64 4607182418800017409, i64 4491073144331461786, i64 4607182418800017409, i64 4491135507007262329, i64 4607182418800017410, i64 4491197869683062872, i64 4607182418800017410, i64 4491260232358863414, i64 4607182418800017410, i64 4491322595034663957, i64 4607182418800017410, i64 4491384957710464500, i64 4607182418800017410, i64 4491447320386265043, i64 4607182418800017410, i64 4491509683062065586, i64 4607182418800017410, i64 4491572045737866129, i64 4607182418800017410, i64 4491634408413666672, i64 4607182418800017410, i64 4491696771089467214, i64 4607182418800017410, i64 4491759133765267757, i64 4607182418800017410, i64 4491821496441068300, i64 4607182418800017410, i64 4491883859116868843, i64 4607182418800017410, i64 4491946221792669386, i64 4607182418800017410, i64 4492008584468469929, i64 4607182418800017410, i64 4492070947144270472, i64 4607182418800017410, i64 4492133309820071015, i64 4607182418800017410, i64 4492195672495871557, i64 4607182418800017410, i64 4492258035171672100, i64 4607182418800017410, i64 4492320397847472643, i64 4607182418800017410, i64 4492382760523273186, i64 4607182418800017410, i64 4492445123199073729, i64 4607182418800017410, i64 4492507485874874272, i64 4607182418800017410, i64 4492569848550674815, i64 4607182418800017410, i64 4492632211226475357, i64 4607182418800017410, i64 4492694573902275900, i64 4607182418800017410, i64 4492756936578076443, i64 4607182418800017411, i64 4492819299253876986, i64 4607182418800017411, i64 4492881661929677529, i64 4607182418800017411, i64 4492944024605478072, i64 4607182418800017411, i64 4493006387281278615, i64 4607182418800017411, i64 4493068749957079158, i64 4607182418800017411, i64 4493131112632879700, i64 4607182418800017411, i64 4493193475308680243, i64 4607182418800017411, i64 4493255837984480786, i64 4607182418800017411, i64 4493318200660281329, i64 4607182418800017411, i64 4493380563336081872, i64 4607182418800017411, i64 4493442926011882415, i64 4607182418800017411, i64 4493505288687682958, i64 4607182418800017411, i64 4493567651363483501, i64 4607182418800017411, i64 4493692376715084586, i64 4607182418800017411, i64 4493817102066685672, i64 4607182418800017411, i64 4493941827418286758, i64 4607182418800017411, i64 4494066552769887844, i64 4607182418800017412, i64 4494191278121488929, i64 4607182418800017412, i64 4494316003473090015, i64 4607182418800017412, i64 4494440728824691101, i64 4607182418800017412, i64 4494565454176292187, i64 4607182418800017412, i64 4494641303821824140, i64 4607182418800017412, i64 4494703666497624683, i64 4607182418800017412, i64 4494766029173425226, i64 4607182418800017412, i64 4494828391849225769, i64 4607182418800017412, i64 4494890754525026312, i64 4607182418800017413, i64 4494953117200826855, i64 4607182418800017413, i64 4495015479876627398, i64 4607182418800017413, i64 4495077842552427940, i64 4607182418800017413, i64 4495140205228228483, i64 4607182418800017413, i64 4495202567904029026, i64 4607182418800017413, i64 4495264930579829569, i64 4607182418800017413, i64 4495327293255630112, i64 4607182418800017413, i64 4495389655931430655, i64 4607182418800017414, i64 4495452018607231198, i64 4607182418800017414, i64 4495514381283031741, i64 4607182418800017414, i64 4495576743958832284, i64 4607182418800017414, i64 4495639106634632827, i64 4607182418800017414, i64 4495701469310433370, i64 4607182418800017414, i64 4495763831986233912, i64 4607182418800017414, i64 4495826194662034455, i64 4607182418800017414, i64 4495888557337834998, i64 4607182418800017415, i64 4495950920013635541, i64 4607182418800017415, i64 4496013282689436084, i64 4607182418800017415, i64 4496075645365236627, i64 4607182418800017415, i64 4496138008041037170, i64 4607182418800017415, i64 4496200370716837713, i64 4607182418800017415, i64 4496262733392638256, i64 4607182418800017416, i64 4496325096068438799, i64 4607182418800017416, i64 4496387458744239342, i64 4607182418800017416, i64 4496449821420039885, i64 4607182418800017416, i64 4496512184095840428, i64 4607182418800017416, i64 4496574546771640971, i64 4607182418800017416, i64 4496636909447441514, i64 4607182418800017416, i64 4496699272123242057, i64 4607182418800017417, i64 4496761634799042599, i64 4607182418800017417, i64 4496823997474843142, i64 4607182418800017417, i64 4496886360150643685, i64 4607182418800017417, i64 4496948722826444228, i64 4607182418800017417, i64 4497011085502244771, i64 4607182418800017417, i64 4497073448178045314, i64 4607182418800017418, i64 4497135810853845857, i64 4607182418800017418, i64 4497198173529646400, i64 4607182418800017418, i64 4497260536205446943, i64 4607182418800017418, i64 4497322898881247486, i64 4607182418800017418, i64 4497385261557048029, i64 4607182418800017418, i64 4497447624232848572, i64 4607182418800017419, i64 4497509986908649115, i64 4607182418800017419, i64 4497572349584449658, i64 4607182418800017419, i64 4497634712260250201, i64 4607182418800017419, i64 4497697074936050744, i64 4607182418800017419, i64 4497759437611851287, i64 4607182418800017420, i64 4497821800287651830, i64 4607182418800017420, i64 4497884162963452373, i64 4607182418800017420, i64 4497946525639252916, i64 4607182418800017420, i64 4498008888315053459, i64 4607182418800017420, i64 4498071250990854002, i64 4607182418800017421, i64 4498195976342455088, i64 4607182418800017421, i64 4498320701694056174, i64 4607182418800017421, i64 4498445427045657260, i64 4607182418800017422, i64 4498570152397258346, i64 4607182418800017422, i64 4498694877748859432, i64 4607182418800017423, i64 4498819603100460518, i64 4607182418800017423, i64 4498944328452061604, i64 4607182418800017423, i64 4499069053803662691, i64 4607182418800017424, i64 4499144903449194640, i64 4607182418800017424, i64 4499207266124995183, i64 4607182418800017425, i64 4499269628800795726, i64 4607182418800017425, i64 4499331991476596270, i64 4607182418800017426, i64 4499394354152396813, i64 4607182418800017426, i64 4499456716828197356, i64 4607182418800017427, i64 4499519079503997899, i64 4607182418800017427, i64 4499581442179798442, i64 4607182418800017428, i64 4499643804855598985, i64 4607182418800017428, i64 4499706167531399528, i64 4607182418800017429, i64 4499768530207200071, i64 4607182418800017429, i64 4499830892883000614, i64 4607182418800017430, i64 4499893255558801158, i64 4607182418800017430, i64 4499955618234601701, i64 4607182418800017431, i64 4500017980910402244, i64 4607182418800017431, i64 4500080343586202787, i64 4607182418800017432, i64 4500142706262003330, i64 4607182418800017432, i64 4500205068937803873, i64 4607182418800017433, i64 4500267431613604416, i64 4607182418800017433, i64 4500329794289404960, i64 4607182418800017434, i64 4500392156965205503, i64 4607182418800017435, i64 4500454519641006046, i64 4607182418800017435, i64 4500516882316806589, i64 4607182418800017436, i64 4500579244992607133, i64 4607182418800017436, i64 4500641607668407676, i64 4607182418800017437, i64 4500703970344208219, i64 4607182418800017437, i64 4500766333020008762, i64 4607182418800017438, i64 4500828695695809305, i64 4607182418800017439, i64 4500891058371609849, i64 4607182418800017439, i64 4500953421047410392, i64 4607182418800017440, i64 4501015783723210935, i64 4607182418800017441, i64 4501078146399011479, i64 4607182418800017441, i64 4501140509074812022, i64 4607182418800017442, i64 4501202871750612565, i64 4607182418800017442, i64 4501265234426413109, i64 4607182418800017443, i64 4501327597102213652, i64 4607182418800017444, i64 4501389959778014195, i64 4607182418800017444, i64 4501452322453814739, i64 4607182418800017445, i64 4501514685129615282, i64 4607182418800017446, i64 4501577047805415825, i64 4607182418800017446, i64 4501639410481216369, i64 4607182418800017447, i64 4501701773157016912, i64 4607182418800017448, i64 4501764135832817455, i64 4607182418800017449, i64 4501826498508617999, i64 4607182418800017449, i64 4501888861184418542, i64 4607182418800017450, i64 4501951223860219086, i64 4607182418800017451, i64 4502013586536019629, i64 4607182418800017451, i64 4502075949211820172, i64 4607182418800017452, i64 4502138311887620716, i64 4607182418800017453, i64 4502200674563421259, i64 4607182418800017454, i64 4502263037239221803, i64 4607182418800017454, i64 4502325399915022346, i64 4607182418800017455, i64 4502387762590822890, i64 4607182418800017456, i64 4502450125266623433, i64 4607182418800017457, i64 4502512487942423977, i64 4607182418800017457, i64 4502574850618224520, i64 4607182418800017458, i64 4502699575969825607, i64 4607182418800017460, i64 4502824301321426695, i64 4607182418800017461, i64 4502949026673027782, i64 4607182418800017463, i64 4503073752024628869, i64 4607182418800017465, i64 4503198477376229956, i64 4607182418800017466, i64 4503323202727831044, i64 4607182418800017468, i64 4503447928079432131, i64 4607182418800017470, i64 4503572653431033218, i64 4607182418800017472, i64 4503648503076565153, i64 4607182418800017473, i64 4503710865752365697, i64 4607182418800017475, i64 4503773228428166240, i64 4607182418800017477, i64 4503835591103966784, i64 4607182418800017479, i64 4503897953779767328, i64 4607182418800017481, i64 4503960316455567872, i64 4607182418800017483, i64 4504022679131368416, i64 4607182418800017485, i64 4504085041807168960, i64 4607182418800017487, i64 4504147404482969504, i64 4607182418800017489, i64 4504209767158770048, i64 4607182418800017491, i64 4504272129834570592, i64 4607182418800017493, i64 4504334492510371136, i64 4607182418800017495, i64 4504396855186171680, i64 4607182418800017497, i64 4504459217861972224, i64 4607182418800017499, i64 4504521580537772768, i64 4607182418800017501, i64 4504583943213573312, i64 4607182418800017503, i64 4504646305889373856, i64 4607182418800017505, i64 4504708668565174400, i64 4607182418800017507, i64 4504771031240974945, i64 4607182418800017510, i64 4504833393916775489, i64 4607182418800017512, i64 4504895756592576033, i64 4607182418800017514, i64 4504958119268376577, i64 4607182418800017516, i64 4505020481944177122, i64 4607182418800017519, i64 4505082844619977666, i64 4607182418800017521, i64 4505145207295778211, i64 4607182418800017523, i64 4505207569971578755, i64 4607182418800017526, i64 4505269932647379299, i64 4607182418800017528, i64 4505332295323179844, i64 4607182418800017531, i64 4505394657998980389, i64 4607182418800017533, i64 4505457020674780933, i64 4607182418800017536, i64 4505519383350581478, i64 4607182418800017538, i64 4505581746026382022, i64 4607182418800017541, i64 4505644108702182567, i64 4607182418800017543, i64 4505706471377983112, i64 4607182418800017546, i64 4505768834053783657, i64 4607182418800017549, i64 4505831196729584201, i64 4607182418800017551, i64 4505893559405384746, i64 4607182418800017554, i64 4505955922081185291, i64 4607182418800017556, i64 4506018284756985836, i64 4607182418800017559, i64 4506080647432786381, i64 4607182418800017562, i64 4506143010108586926, i64 4607182418800017565, i64 4506205372784387471, i64 4607182418800017567, i64 4506267735460188016, i64 4607182418800017570, i64 4506330098135988561, i64 4607182418800017573, i64 4506392460811789106, i64 4607182418800017576, i64 4506454823487589651, i64 4607182418800017579, i64 4506517186163390197, i64 4607182418800017582, i64 4506579548839190742, i64 4607182418800017585, i64 4506641911514991287, i64 4607182418800017588, i64 4506704274190791833, i64 4607182418800017591, i64 4506766636866592378, i64 4607182418800017594, i64 4506828999542392923, i64 4607182418800017597, i64 4506891362218193469, i64 4607182418800017600, i64 4506953724893994014, i64 4607182418800017603, i64 4507016087569794560, i64 4607182418800017606, i64 4507078450245595105, i64 4607182418800017609, i64 4507203175597196197, i64 4607182418800017615, i64 4507327900948797288, i64 4607182418800017622, i64 4507452626300398380, i64 4607182418800017628, i64 4507577351651999472, i64 4607182418800017635, i64 4507702077003600564, i64 4607182418800017642, i64 4507826802355201656, i64 4607182418800017649, i64 4507951527706802749, i64 4607182418800017655, i64 4508076253058403841, i64 4607182418800017662, i64 4508152102703935715, i64 4607182418800017670, i64 4508214465379736261, i64 4607182418800017677, i64 4508276828055536808, i64 4607182418800017684, i64 4508339190731337355, i64 4607182418800017692, i64 4508401553407137902, i64 4607182418800017699, i64 4508463916082938449, i64 4607182418800017707, i64 4508526278758738996, i64 4607182418800017714, i64 4508588641434539543, i64 4607182418800017722, i64 4508651004110340090, i64 4607182418800017730, i64 4508713366786140637, i64 4607182418800017738, i64 4508775729461941185, i64 4607182418800017746, i64 4508838092137741732, i64 4607182418800017754, i64 4508900454813542280, i64 4607182418800017763, i64 4508962817489342828, i64 4607182418800017771, i64 4509025180165143376, i64 4607182418800017780, i64 4509087542840943924, i64 4607182418800017788, i64 4509149905516744472, i64 4607182418800017797, i64 4509212268192545020, i64 4607182418800017806, i64 4509274630868345569, i64 4607182418800017814, i64 4509336993544146117, i64 4607182418800017823, i64 4509399356219946666, i64 4607182418800017833, i64 4509461718895747215, i64 4607182418800017842, i64 4509524081571547763, i64 4607182418800017851, i64 4509586444247348312, i64 4607182418800017860, i64 4509648806923148862, i64 4607182418800017870, i64 4509711169598949411, i64 4607182418800017879, i64 4509773532274749960, i64 4607182418800017889, i64 4509835894950550510, i64 4607182418800017899, i64 4509898257626351060, i64 4607182418800017909, i64 4509960620302151609, i64 4607182418800017919, i64 4510022982977952159, i64 4607182418800017929, i64 4510085345653752710, i64 4607182418800017939, i64 4510147708329553260, i64 4607182418800017949, i64 4510210071005353810, i64 4607182418800017960, i64 4510272433681154361, i64 4607182418800017970, i64 4510334796356954911, i64 4607182418800017981, i64 4510397159032755462, i64 4607182418800017991, i64 4510459521708556013, i64 4607182418800018002, i64 4510521884384356564, i64 4607182418800018013, i64 4510584247060157116, i64 4607182418800018024, i64 4510646609735957667, i64 4607182418800018035, i64 4510708972411758219, i64 4607182418800018046, i64 4510771335087558770, i64 4607182418800018057, i64 4510833697763359322, i64 4607182418800018069, i64 4510896060439159874, i64 4607182418800018080, i64 4510958423114960427, i64 4607182418800018091, i64 4511020785790760979, i64 4607182418800018103, i64 4511083148466561532, i64 4607182418800018115, i64 4511145511142362084, i64 4607182418800018127, i64 4511207873818162637, i64 4607182418800018139, i64 4511270236493963190, i64 4607182418800018151, i64 4511332599169763743, i64 4607182418800018163, i64 4511394961845564297, i64 4607182418800018175, i64 4511457324521364850, i64 4607182418800018187, i64 4511519687197165404, i64 4607182418800018200, i64 4511582049872965958, i64 4607182418800018212, i64 4511706775224567066, i64 4607182418800018238, i64 4511831500576168175, i64 4607182418800018263, i64 4511956225927769285, i64 4607182418800018289, i64 4512080951279370395, i64 4607182418800018316, i64 4512205676630971506, i64 4607182418800018343, i64 4512330401982572618, i64 4607182418800018370, i64 4512455127334173731, i64 4607182418800018398, i64 4512579852685774845, i64 4607182418800018426, i64 4512655702331306475, i64 4607182418800018454, i64 4512718065007107033, i64 4607182418800018483, i64 4512780427682907591, i64 4607182418800018512, i64 4512842790358708149, i64 4607182418800018542, i64 4512905153034508708, i64 4607182418800018572, i64 4512967515710309267, i64 4607182418800018603, i64 4513029878386109827, i64 4607182418800018633, i64 4513092241061910387, i64 4607182418800018665, i64 4513154603737710947, i64 4607182418800018696, i64 4513216966413511508, i64 4607182418800018728, i64 4513279329089312069, i64 4607182418800018761, i64 4513341691765112631, i64 4607182418800018793, i64 4513404054440913193, i64 4607182418800018827, i64 4513466417116713756, i64 4607182418800018860, i64 4513528779792514319, i64 4607182418800018894, i64 4513591142468314883, i64 4607182418800018929, i64 4513653505144115447, i64 4607182418800018963, i64 4513715867819916012, i64 4607182418800018998, i64 4513778230495716577, i64 4607182418800019034, i64 4513840593171517142, i64 4607182418800019070, i64 4513902955847317708, i64 4607182418800019106, i64 4513965318523118275, i64 4607182418800019143, i64 4514027681198918842, i64 4607182418800019180, i64 4514090043874719410, i64 4607182418800019218, i64 4514152406550519978, i64 4607182418800019255, i64 4514214769226320547, i64 4607182418800019294, i64 4514277131902121116, i64 4607182418800019332, i64 4514339494577921686, i64 4607182418800019371, i64 4514401857253722256, i64 4607182418800019411, i64 4514464219929522827, i64 4607182418800019451, i64 4514526582605323398, i64 4607182418800019491, i64 4514588945281123970, i64 4607182418800019532, i64 4514651307956924543, i64 4607182418800019573, i64 4514713670632725116, i64 4607182418800019614, i64 4514776033308525689, i64 4607182418800019656, i64 4514838395984326264, i64 4607182418800019698, i64 4514900758660126839, i64 4607182418800019741, i64 4514963121335927414, i64 4607182418800019784, i64 4515025484011727990, i64 4607182418800019827, i64 4515087846687528567, i64 4607182418800019871, i64 4515150209363329144, i64 4607182418800019915, i64 4515212572039129722, i64 4607182418800019960, i64 4515274934714930300, i64 4607182418800020005, i64 4515337297390730879, i64 4607182418800020050, i64 4515399660066531459, i64 4607182418800020096, i64 4515462022742332039, i64 4607182418800020142, i64 4515524385418132620, i64 4607182418800020189, i64 4515586748093933202, i64 4607182418800020235, i64 4515649110769733784, i64 4607182418800020283, i64 4515711473445534367, i64 4607182418800020330, i64 4515773836121334951, i64 4607182418800020379, i64 4515836198797135535, i64 4607182418800020427, i64 4515898561472936120, i64 4607182418800020476, i64 4515960924148736706, i64 4607182418800020525, i64 4516023286824537292, i64 4607182418800020575, i64 4516085649500337879, i64 4607182418800020625, i64 4516210374851939055, i64 4607182418800020726, i64 4516335100203540234, i64 4607182418800020829, i64 4516459825555141416, i64 4607182418800020934, i64 4516584550906742601, i64 4607182418800021040, i64 4516709276258343789, i64 4607182418800021147, i64 4516834001609944980, i64 4607182418800021256, i64 4516958726961546173, i64 4607182418800021367, i64 4517083452313147370, i64 4607182418800021480, i64 4517159301958678029, i64 4607182418800021593, i64 4517221664634478631, i64 4607182418800021709, i64 4517284027310279234, i64 4607182418800021826, i64 4517346389986079839, i64 4607182418800021944, i64 4517408752661880445, i64 4607182418800022065, i64 4517471115337681053, i64 4607182418800022186, i64 4517533478013481663, i64 4607182418800022310, i64 4517595840689282275, i64 4607182418800022435, i64 4517658203365082888, i64 4607182418800022561, i64 4517720566040883503, i64 4607182418800022689, i64 4517782928716684120, i64 4607182418800022819, i64 4517845291392484739, i64 4607182418800022950, i64 4517907654068285359, i64 4607182418800023083, i64 4517970016744085981, i64 4607182418800023217, i64 4518032379419886606, i64 4607182418800023353, i64 4518094742095687232, i64 4607182418800023490, i64 4518157104771487860, i64 4607182418800023629, i64 4518219467447288490, i64 4607182418800023770, i64 4518281830123089122, i64 4607182418800023912, i64 4518344192798889756, i64 4607182418800024056, i64 4518406555474690391, i64 4607182418800024201, i64 4518468918150491029, i64 4607182418800024348, i64 4518531280826291669, i64 4607182418800024496, i64 4518593643502092311, i64 4607182418800024646, i64 4518656006177892955, i64 4607182418800024798, i64 4518718368853693602, i64 4607182418800024951, i64 4518780731529494250, i64 4607182418800025106, i64 4518843094205294901, i64 4607182418800025262, i64 4518905456881095553, i64 4607182418800025420, i64 4518967819556896208, i64 4607182418800025579, i64 4519030182232696865, i64 4607182418800025740, i64 4519092544908497525, i64 4607182418800025903, i64 4519154907584298186, i64 4607182418800026067, i64 4519217270260098850, i64 4607182418800026233, i64 4519279632935899516, i64 4607182418800026400, i64 4519341995611700185, i64 4607182418800026569, i64 4519404358287500856, i64 4607182418800026739, i64 4519466720963301529, i64 4607182418800026911, i64 4519529083639102204, i64 4607182418800027085, i64 4519591446314902882, i64 4607182418800027260, i64 4519653808990703563, i64 4607182418800027437, i64 4519716171666504246, i64 4607182418800027615, i64 4519778534342304931, i64 4607182418800027795, i64 4519840897018105619, i64 4607182418800027976, i64 4519903259693906310, i64 4607182418800028159, i64 4519965622369707003, i64 4607182418800028344, i64 4520027985045507698, i64 4607182418800028530, i64 4520090347721308396, i64 4607182418800028718, i64 4520152710397109097, i64 4607182418800028907, i64 4520215073072909800, i64 4607182418800029098, i64 4520277435748710507, i64 4607182418800029290, i64 4520339798424511215, i64 4607182418800029484, i64 4520402161100311927, i64 4607182418800029680, i64 4520464523776112641, i64 4607182418800029877, i64 4520526886451913358, i64 4607182418800030076, i64 4520589249127714077, i64 4607182418800030276, i64 4520713974479315525, i64 4607182418800030681, i64 4520838699830916984, i64 4607182418800031093, i64 4520963425182518454, i64 4607182418800031511, i64 4521088150534119936, i64 4607182418800031935, i64 4521212875885721430, i64 4607182418800032365, i64 4521337601237322936, i64 4607182418800032802, i64 4521462326588924454, i64 4607182418800033245, i64 4521587051940525985, i64 4607182418800033694, i64 4521662901586052756, i64 4607182418800034150, i64 4521725264261853534, i64 4607182418800034611, i64 4521787626937654318, i64 4607182418800035079, i64 4521849989613455109, i64 4607182418800035554, i64 4521912352289255906, i64 4607182418800036035, i64 4521974714965056710, i64 4607182418800036521, i64 4522037077640857521, i64 4607182418800037015, i64 4522099440316658339, i64 4607182418800037514, i64 4522161802992459164, i64 4607182418800038020, i64 4522224165668259996, i64 4607182418800038532, i64 4522286528344060835, i64 4607182418800039050, i64 4522348891019861681, i64 4607182418800039575, i64 4522411253695662534, i64 4607182418800040106, i64 4522473616371463395, i64 4607182418800040643, i64 4522535979047264263, i64 4607182418800041187, i64 4522598341723065139, i64 4607182418800041736, i64 4522660704398866023, i64 4607182418800042293, i64 4522723067074666914, i64 4607182418800042855, i64 4522785429750467813, i64 4607182418800043424, i64 4522847792426268720, i64 4607182418800043998, i64 4522910155102069635, i64 4607182418800044580, i64 4522972517777870559, i64 4607182418800045167, i64 4523034880453671490, i64 4607182418800045761, i64 4523097243129472429, i64 4607182418800046361, i64 4523159605805273377, i64 4607182418800046967, i64 4523221968481074334, i64 4607182418800047580, i64 4523284331156875299, i64 4607182418800048199, i64 4523346693832676272, i64 4607182418800048824, i64 4523409056508477254, i64 4607182418800049455, i64 4523471419184278245, i64 4607182418800050093, i64 4523533781860079245, i64 4607182418800050737, i64 4523596144535880254, i64 4607182418800051387, i64 4523658507211681272, i64 4607182418800052044, i64 4523720869887482299, i64 4607182418800052707, i64 4523783232563283335, i64 4607182418800053376, i64 4523845595239084381, i64 4607182418800054052, i64 4523907957914885436, i64 4607182418800054733, i64 4523970320590686500, i64 4607182418800055421, i64 4524032683266487574, i64 4607182418800056116, i64 4524095045942288658, i64 4607182418800056816, i64 4524157408618089751, i64 4607182418800057523, i64 4524219771293890855, i64 4607182418800058236, i64 4524282133969691968, i64 4607182418800058956, i64 4524344496645493091, i64 4607182418800059681, i64 4524406859321294224, i64 4607182418800060413, i64 4524469221997095368, i64 4607182418800061152, i64 4524531584672896521, i64 4607182418800061896, i64 4524593947348697685, i64 4607182418800062647, i64 4524656310024498860, i64 4607182418800063404, i64 4524718672700300045, i64 4607182418800064167, i64 4524781035376101241, i64 4607182418800064937, i64 4524843398051902447, i64 4607182418800065713, i64 4524905760727703664, i64 4607182418800066495, i64 4524968123403504892, i64 4607182418800067284, i64 4525030486079306131, i64 4607182418800068079, i64 4525092848755107381, i64 4607182418800068880, i64 4525217574106709915, i64 4607182418800070501, i64 4525342299458312493, i64 4607182418800072147, i64 4525467024809915118, i64 4607182418800073818, i64 4525591750161517790, i64 4607182418800075515, i64 4525716475513120508, i64 4607182418800077236, i64 4525841200864723275, i64 4607182418800078983, i64 4525965926216326090, i64 4607182418800080755, i64 4526090651567928955, i64 4607182418800082552, i64 4526166501213440175, i64 4607182418800084374, i64 4526228863889241658, i64 4607182418800086221, i64 4526291226565043167, i64 4607182418800088094, i64 4526353589240844701, i64 4607182418800089991, i64 4526415951916646263, i64 4607182418800091914, i64 4526478314592447851, i64 4607182418800093862, i64 4526540677268249466, i64 4607182418800095835, i64 4526603039944051108, i64 4607182418800097833, i64 4526665402619852779, i64 4607182418800099856, i64 4526727765295654478, i64 4607182418800101904, i64 4526790127971456205, i64 4607182418800103978, i64 4526852490647257961, i64 4607182418800106076, i64 4526914853323059746, i64 4607182418800108200, i64 4526977215998861561, i64 4607182418800110349, i64 4527039578674663406, i64 4607182418800112523, i64 4527101941350465281, i64 4607182418800114722, i64 4527164304026267187, i64 4607182418800116946, i64 4527226666702069123, i64 4607182418800119196, i64 4527289029377871092, i64 4607182418800121470, i64 4527351392053673091, i64 4607182418800123770, i64 4527413754729475123, i64 4607182418800126095, i64 4527476117405277187, i64 4607182418800128444, i64 4527538480081079284, i64 4607182418800130819, i64 4527600842756881414, i64 4607182418800133220, i64 4527663205432683577, i64 4607182418800135645, i64 4527725568108485774, i64 4607182418800138095, i64 4527787930784288005, i64 4607182418800140571, i64 4527850293460090271, i64 4607182418800143072, i64 4527912656135892571, i64 4607182418800145598, i64 4527975018811694907, i64 4607182418800148149, i64 4528037381487497278, i64 4607182418800150725, i64 4528099744163299685, i64 4607182418800153326, i64 4528162106839102128, i64 4607182418800155952, i64 4528224469514904607, i64 4607182418800158604, i64 4528286832190707124, i64 4607182418800161280, i64 4528349194866509678, i64 4607182418800163982, i64 4528411557542312269, i64 4607182418800166709, i64 4528473920218114898, i64 4607182418800169461, i64 4528536282893917566, i64 4607182418800172238, i64 4528598645569720272, i64 4607182418800175041, i64 4528661008245523017, i64 4607182418800177868, i64 4528723370921325802, i64 4607182418800180721, i64 4528785733597128626, i64 4607182418800183598, i64 4528848096272931490, i64 4607182418800186501, i64 4528910458948734395, i64 4607182418800189429, i64 4528972821624537340, i64 4607182418800192382, i64 4529035184300340326, i64 4607182418800195360, i64 4529097546976143354, i64 4607182418800198364, i64 4529159909651946423, i64 4607182418800201392, i64 4529222272327749535, i64 4607182418800204446, i64 4529284635003552689, i64 4607182418800207525, i64 4529346997679355886, i64 4607182418800210629, i64 4529409360355159126, i64 4607182418800213758, i64 4529471723030962410, i64 4607182418800216912, i64 4529534085706765737, i64 4607182418800220091, i64 4529596448382569109, i64 4607182418800223295, i64 4529721173734175986, i64 4607182418800229780, i64 4529845899085783044, i64 4607182418800236364, i64 4529970624437390286, i64 4607182418800243050, i64 4530095349788997714, i64 4607182418800249836, i64 4530220075140605332, i64 4607182418800256722, i64 4530344800492213142, i64 4607182418800263709, i64 4530469525843821147, i64 4607182418800270796, i64 4530594251195429349, i64 4607182418800277984, i64 4530670100840878364, i64 4607182418800285273, i64 4530732463516682667, i64 4607182418800292662, i64 4530794826192487073, i64 4607182418800300151, i64 4530857188868291584, i64 4607182418800307741, i64 4530919551544096200, i64 4607182418800315432, i64 4530981914219900924, i64 4607182418800323223, i64 4531044276895705756, i64 4607182418800331115, i64 4531106639571510698, i64 4607182418800339107, i64 4531169002247315751, i64 4607182418800347200, i64 4531231364923120917, i64 4607182418800355393, i64 4531293727598926198, i64 4607182418800363687, i64 4531356090274731593, i64 4607182418800372081, i64 4531418452950537106, i64 4607182418800380576, i64 4531480815626342737, i64 4607182418800389172, i64 4531543178302148488, i64 4607182418800397867, i64 4531605540977954360, i64 4607182418800406664, i64 4531667903653760355, i64 4607182418800415561, i64 4531730266329566473, i64 4607182418800424558, i64 4531792629005372717, i64 4607182418800433656, i64 4531854991681179087, i64 4607182418800442855, i64 4531917354356985585, i64 4607182418800452154, i64 4531979717032792213, i64 4607182418800461554, i64 4532042079708598972, i64 4607182418800471054, i64 4532104442384405863, i64 4607182418800480655, i64 4532166805060212887, i64 4607182418800490356, i64 4532229167736020047, i64 4607182418800500158, i64 4532291530411827343, i64 4607182418800510060, i64 4532353893087634777, i64 4607182418800520063, i64 4532416255763442350, i64 4607182418800530166, i64 4532478618439250064, i64 4607182418800540370, i64 4532540981115057919, i64 4607182418800550675, i64 4532603343790865918, i64 4607182418800561079, i64 4532665706466674062, i64 4607182418800571585, i64 4532728069142482352, i64 4607182418800582191, i64 4532790431818290790, i64 4607182418800592898, i64 4532852794494099376, i64 4607182418800603705, i64 4532915157169908113, i64 4607182418800614612, i64 4532977519845717002, i64 4607182418800625620, i64 4533039882521526044, i64 4607182418800636729, i64 4533102245197335240, i64 4607182418800647938, i64 4533164607873144592, i64 4607182418800659248, i64 4533226970548954101, i64 4607182418800670658, i64 4533289333224763770, i64 4607182418800682169, i64 4533351695900573598, i64 4607182418800693780, i64 4533414058576383588, i64 4607182418800705492, i64 4533476421252193740, i64 4607182418800717305, i64 4533538783928004057, i64 4607182418800729217, i64 4533601146603814540, i64 4607182418800741231, i64 4533663509279625189, i64 4607182418800753345, i64 4533725871955436007, i64 4607182418800765559, i64 4533788234631246995, i64 4607182418800777874, i64 4533850597307058154, i64 4607182418800790290, i64 4533912959982869486, i64 4607182418800802806, i64 4533975322658680992, i64 4607182418800815423, i64 4534037685334492673, i64 4607182418800828140, i64 4534100048010304531, i64 4607182418800840958, i64 4534224773361928782, i64 4607182418800866895, i64 4534349498713553758, i64 4607182418800893234, i64 4534474224065179469, i64 4607182418800919975, i64 4534598949416805925, i64 4607182418800947118, i64 4534723674768433140, i64 4607182418800974664, i64 4534848400120061122, i64 4607182418801002611, i64 4534973125471689884, i64 4607182418801030961, i64 4535097850823319437, i64 4607182418801059713, i64 4535173700468519632, i64 4607182418801088867, i64 4535236063144335216, i64 4607182418801118423, i64 4535298425820151212, i64 4607182418801148381, i64 4535360788495967625, i64 4607182418801178742, i64 4535423151171784462, i64 4607182418801209504, i64 4535485513847601727, i64 4607182418801240669, i64 4535547876523419427, i64 4607182418801272236, i64 4535610239199237567, i64 4607182418801304204, i64 4535672601875056152, i64 4607182418801336575, i64 4535734964550875188, i64 4607182418801369348, i64 4535797327226694681, i64 4607182418801402524, i64 4535859689902514636, i64 4607182418801436101, i64 4535922052578335058, i64 4607182418801470080, i64 4535984415254155954, i64 4607182418801504462, i64 4536046777929977329, i64 4607182418801539246, i64 4536109140605799189, i64 4607182418801574432, i64 4536171503281621538, i64 4607182418801610020, i64 4536233865957444383, i64 4607182418801646010, i64 4536296228633267729, i64 4607182418801682402, i64 4536358591309091582, i64 4607182418801719196, i64 4536420953984915947, i64 4607182418801756393, i64 4536483316660740830, i64 4607182418801793991, i64 4536545679336566236, i64 4607182418801831992, i64 4536608042012392171, i64 4607182418801870395, i64 4536670404688218641, i64 4607182418801909200, i64 4536732767364045651, i64 4607182418801948407, i64 4536795130039873207, i64 4607182418801988016, i64 4536857492715701314, i64 4607182418802028027, i64 4536919855391529978, i64 4607182418802068441, i64 4536982218067359204, i64 4607182418802109256, i64 4537044580743188998, i64 4607182418802150474, i64 4537106943419019366, i64 4607182418802192094, i64 4537169306094850313, i64 4607182418802234116, i64 4537231668770681844, i64 4607182418802276540, i64 4537294031446513966, i64 4607182418802319366, i64 4537356394122346684, i64 4607182418802362594, i64 4537418756798180003, i64 4607182418802406225, i64 4537481119474013928, i64 4607182418802450257, i64 4537543482149848467, i64 4607182418802494692, i64 4537605844825683623, i64 4607182418802539529, i64 4537668207501519403, i64 4607182418802584768, i64 4537730570177355813, i64 4607182418802630409, i64 4537792932853192857, i64 4607182418802676452, i64 4537855295529030541, i64 4607182418802722897, i64 4537917658204868872, i64 4607182418802769745, i64 4537980020880707854, i64 4607182418802816994, i64 4538042383556547493, i64 4607182418802864646, i64 4538104746232387794, i64 4607182418802912700, i64 4538167108908228764, i64 4607182418802961156, i64 4538229471584070408, i64 4607182418803010014, i64 4538291834259912731, i64 4607182418803059274, i64 4538354196935755739, i64 4607182418803108936, i64 4538416559611599437, i64 4607182418803159001, i64 4538478922287443831, i64 4607182418803209467, i64 4538541284963288927, i64 4607182418803260336, i64 4538603647639134730, i64 4607182418803311607, i64 4538728372990828480, i64 4607182418803415355, i64 4538853098342525126, i64 4607182418803520711, i64 4538977823694224712, i64 4607182418803627676, i64 4539102549045927282, i64 4607182418803736249, i64 4539227274397632881, i64 4607182418803846431, i64 4539351999749341555, i64 4607182418803958222, i64 4539476725101053346, i64 4607182418804071621, i64 4539601450452768300, i64 4607182418804186628, i64 4539677300096973215, i64 4607182418804303244, i64 4539739662772833922, i64 4607182418804421469, i64 4539802025448696277, i64 4607182418804541301, i64 4539864388124560302, i64 4607182418804662743, i64 4539926750800426020, i64 4607182418804785793, i64 4539989113476293454, i64 4607182418804910451, i64 4540051476152162624, i64 4607182418805036718, i64 4540113838828033555, i64 4607182418805164593, i64 4540176201503906267, i64 4607182418805294077, i64 4540238564179780783, i64 4607182418805425170, i64 4540300926855657126, i64 4607182418805557871, i64 4540363289531535317, i64 4607182418805692180, i64 4540425652207415379, i64 4607182418805828098, i64 4540488014883297335, i64 4607182418805965624, i64 4540550377559181206, i64 4607182418806104759, i64 4540612740235067014, i64 4607182418806245502, i64 4540675102910954783, i64 4607182418806387854, i64 4540737465586844534, i64 4607182418806531815, i64 4540799828262736290, i64 4607182418806677383, i64 4540862190938630073, i64 4607182418806824561, i64 4540924553614525905, i64 4607182418806973347, i64 4540986916290423808, i64 4607182418807123741, i64 4541049278966323805, i64 4607182418807275744, i64 4541111641642225917, i64 4607182418807429355, i64 4541174004318130169, i64 4607182418807584575, i64 4541236366994036580, i64 4607182418807741403, i64 4541298729669945175, i64 4607182418807899840, i64 4541361092345855974, i64 4607182418808059885, i64 4541423455021769001, i64 4607182418808221539, i64 4541485817697684277, i64 4607182418808384801, i64 4541548180373601825, i64 4607182418808549672, i64 4541610543049521668, i64 4607182418808716151, i64 4541672905725443827, i64 4607182418808884239, i64 4541735268401368324, i64 4607182418809053935, i64 4541797631077295183, i64 4607182418809225240, i64 4541859993753224424, i64 4607182418809398153, i64 4541922356429156072, i64 4607182418809572675, i64 4541984719105090147, i64 4607182418809748805, i64 4542047081781026672, i64 4607182418809926544, i64 4542109444456965669, i64 4607182418810105891, i64 4542171807132907161, i64 4607182418810286847, i64 4542234169808851170, i64 4607182418810469411, i64 4542296532484797718, i64 4607182418810653584, i64 4542358895160746828, i64 4607182418810839365, i64 4542421257836698521, i64 4607182418811026755, i64 4542483620512652820, i64 4607182418811215753, i64 4542545983188609748, i64 4607182418811406360, i64 4542608345864569326, i64 4607182418811598575, i64 4542670708540531577, i64 4607182418811792399, i64 4542733071216496523, i64 4607182418811987831, i64 4542795433892464186, i64 4607182418812184872, i64 4542857796568434589, i64 4607182418812383521, i64 4542920159244407753, i64 4607182418812583779, i64 4542982521920383702, i64 4607182418812785645, i64 4543044884596362457, i64 4607182418812989120, i64 4543107247272344041, i64 4607182418813194203, i64 4543231972624315785, i64 4607182418813609195, i64 4543356697976299110, i64 4607182418814030620, i64 4543481423328294196, i64 4607182418814458480, i64 4543606148680301220, i64 4607182418814892774, i64 4543730874032320361, i64 4607182418815333502, i64 4543855599384351797, i64 4607182418815780663, i64 4543980324736395706, i64 4607182418816234259, i64 4544105050088452266, i64 4607182418816694289, i64 4544180899728676060, i64 4607182418817160752, i64 4544243262404717258, i64 4607182418817633650, i64 4544305625080765050, i64 4607182418818112982, i64 4544367987756819523, i64 4607182418818598747, i64 4544430350432880767, i64 4607182418819090947, i64 4544492713108948872, i64 4607182418819589581, i64 4544555075785023926, i64 4607182418820094648, i64 4544617438461106019, i64 4607182418820606150, i64 4544679801137195238, i64 4607182418821124085, i64 4544742163813291675, i64 4607182418821648455, i64 4544804526489395417, i64 4607182418822179258, i64 4544866889165506553, i64 4607182418822716496, i64 4544929251841625174, i64 4607182418823260167, i64 4544991614517751368, i64 4607182418823810273, i64 4545053977193885223, i64 4607182418824366812, i64 4545116339870026830, i64 4607182418824929786, i64 4545178702546176277, i64 4607182418825499193, i64 4545241065222333653, i64 4607182418826075034, i64 4545303427898499047, i64 4607182418826657310, i64 4545365790574672549, i64 4607182418827246019, i64 4545428153250854248, i64 4607182418827841162, i64 4545490515927044232, i64 4607182418828442740, i64 4545552878603242591, i64 4607182418829050751, i64 4545615241279449414, i64 4607182418829665196, i64 4545677603955664790, i64 4607182418830286075, i64 4545739966631888808, i64 4607182418830913389, i64 4545802329308121557, i64 4607182418831547136, i64 4545864691984363126, i64 4607182418832187317, i64 4545927054660613605, i64 4607182418832833932, i64 4545989417336873082, i64 4607182418833486981, i64 4546051780013141646, i64 4607182418834146465, i64 4546114142689419387, i64 4607182418834812382, i64 4546176505365706394, i64 4607182418835484733, i64 4546238868042002756, i64 4607182418836163518, i64 4546301230718308561, i64 4607182418836848737, i64 4546363593394623900, i64 4607182418837540390, i64 4546425956070948860, i64 4607182418838238477, i64 4546488318747283532, i64 4607182418838942998, i64 4546550681423628004, i64 4607182418839653953, i64 4546613044099982365, i64 4607182418840371342, i64 4546675406776346705, i64 4607182418841095165, i64 4546737769452721112, i64 4607182418841825422, i64 4546800132129105676, i64 4607182418842562113, i64 4546862494805500486, i64 4607182418843305238, i64 4546924857481905630, i64 4607182418844054797, i64 4546987220158321199, i64 4607182418844810789, i64 4547049582834747280, i64 4607182418845573216, i64 4547111945511183964, i64 4607182418846342077, i64 4547174308187631338, i64 4607182418847117372, i64 4547236670864089493, i64 4607182418847899101, i64 4547299033540558518, i64 4607182418848687264, i64 4547361396217038500, i64 4607182418849481860, i64 4547423758893529531, i64 4607182418850282891, i64 4547486121570031698, i64 4607182418851090356, i64 4547548484246545090, i64 4607182418851904255, i64 4547610846923069798, i64 4607182418852724587, i64 4547735572276153514, i64 4607182418854384555, i64 4547860297629283559, i64 4607182418856070258, i64 4547985022982460645, i64 4607182418857781697, i64 4548109748335685485, i64 4607182418859518872, i64 4548234473688958791, i64 4607182418861281783, i64 4548359199042281277, i64 4607182418863070430, i64 4548483924395653655, i64 4607182418864884813, i64 4548608649749076639, i64 4607182418866724932, i64 4548684499373375950, i64 4607182418868590787, i64 4548746862050139115, i64 4607182418870482377, i64 4548809224726928653, i64 4607182418872399704, i64 4548871587403744918, i64 4607182418874342767, i64 4548933950080588268, i64 4607182418876311565, i64 4548996312757459058, i64 4607182418878306100, i64 4549058675434357645, i64 4607182418880326370, i64 4549121038111284386, i64 4607182418882372376, i64 4549183400788239637, i64 4607182418884444118, i64 4549245763465223754, i64 4607182418886541597, i64 4549308126142237094, i64 4607182418888664811, i64 4549370488819280012, i64 4607182418890813761, i64 4549432851496352866, i64 4607182418892988447, i64 4549495214173456011, i64 4607182418895188868, i64 4549557576850589805, i64 4607182418897415026, i64 4549619939527754603, i64 4607182418899666920, i64 4549682302204950762, i64 4607182418901944550, i64 4549744664882178638, i64 4607182418904247915, i64 4549807027559438588, i64 4607182418906577017, i64 4549869390236730967, i64 4607182418908931854, i64 4549931752914056133, i64 4607182418911312428, i64 4549994115591414442, i64 4607182418913718737, i64 4550056478268806250, i64 4607182418916150782, i64 4550118840946231913, i64 4607182418918608563, i64 4550181203623691788, i64 4607182418921092080, i64 4550243566301186231, i64 4607182418923601333, i64 4550305928978715599, i64 4607182418926136322, i64 4550368291656280247, i64 4607182418928697047, i64 4550430654333880533, i64 4607182418931283508, i64 4550493017011516813, i64 4607182418933895705, i64 4550555379689189442, i64 4607182418936533638, i64 4550617742366898778, i64 4607182418939197306, i64 4550680105044645177, i64 4607182418941886711, i64 4550742467722428995, i64 4607182418944601851, i64 4550804830400250589, i64 4607182418947342728, i64 4550867193078110314, i64 4607182418950109340, i64 4550929555756008528, i64 4607182418952901689, i64 4550991918433945586, i64 4607182418955719773, i64 4551054281111921846, i64 4607182418958563593, i64 4551116643789937663, i64 4607182418961433149, i64 4551179006467993393, i64 4607182418964328441, i64 4551241369146089394, i64 4607182418967249469, i64 4551303731824226021, i64 4607182418970196233, i64 4551366094502403631, i64 4607182418973168733, i64 4551428457180622581, i64 4607182418976166969, i64 4551490819858883226, i64 4607182418979190940, i64 4551553182537185923, i64 4607182418982240648, i64 4551615545215531029, i64 4607182418985316091, i64 4551677907893918899, i64 4607182418988417271, i64 4551740270572349890, i64 4607182418991544186, i64 4551802633250824359, i64 4607182418994696838, i64 4551864995929342662, i64 4607182418997875225, i64 4551927358607905155, i64 4607182419001079348, i64 4551989721286512195, i64 4607182419004309207, i64 4552052083965164137, i64 4607182419007564803, i64 4552114446643861339, i64 4607182419010846134, i64 4552239172001392947, i64 4607182419017486004, i64 4552363897359109869, i64 4607182419024228817, i64 4552488622717014956, i64 4607182419031074575, i64 4552613348075111058, i64 4607182419038023276, i64 4552738073433401028, i64 4607182419045074921, i64 4552862798791887715, i64 4607182419052229509, i64 4552987524150573972, i64 4607182419059487042, i64 4553112249509462648, i64 4607182419066847518, i64 4553188099070064026, i64 4607182419074310938, i64 4553250461749715060, i64 4607182419081877301, i64 4553312824429471581, i64 4607182419089546609, i64 4553375187109335014, i64 4607182419097318860, i64 4553437549789306784, i64 4607182419105194055, i64 4553499912469388317, i64 4607182419113172193, i64 4553562275149581039, i64 4607182419121253276, i64 4553624637829886374, i64 4607182419129437302, i64 4553687000510305749, i64 4607182419137724272, i64 4553749363190840589, i64 4607182419146114186, i64 4553811725871492319, i64 4607182419154607043, i64 4553874088552262364, i64 4607182419163202844, i64 4553936451233152152, i64 4607182419171901589, i64 4553998813914163106, i64 4607182419180703278, i64 4554061176595296652, i64 4607182419189607911, i64 4554123539276554216, i64 4607182419198615487, i64 4554185901957937224, i64 4607182419207726007, i64 4554248264639447100, i64 4607182419216939471, i64 4554310627321085271, i64 4607182419226255878, i64 4554372990002853161, i64 4607182419235675230, i64 4554435352684752197, i64 4607182419245197525, i64 4554497715366783804, i64 4607182419254822764, i64 4554560078048949406, i64 4607182419264550947, i64 4554622440731250431, i64 4607182419274382073, i64 4554684803413688303, i64 4607182419284316143, i64 4554747166096264447, i64 4607182419294353157, i64 4554809528778980290, i64 4607182419304493115, i64 4554871891461837257, i64 4607182419314736017, i64 4554934254144836773, i64 4607182419325081862, i64 4554996616827980263, i64 4607182419335530652, i64 4555058979511269154, i64 4607182419346082385, i64 4555121342194704870, i64 4607182419356737062, i64 4555183704878288838, i64 4607182419367494682, i64 4555246067562022483, i64 4607182419378355247, i64 4555308430245907229, i64 4607182419389318755, i64 4555370792929944503, i64 4607182419400385207, i64 4555433155614135731, i64 4607182419411554603, i64 4555495518298482337, i64 4607182419422826942, i64 4555557880982985747, i64 4607182419434202226, i64 4555620243667647387, i64 4607182419445680453, i64 4555682606352468682, i64 4607182419457261624, i64 4555744969037451058, i64 4607182419468945739, i64 4555807331722595940, i64 4607182419480732798, i64 4555869694407904754, i64 4607182419492622800, i64 4555932057093378924, i64 4607182419504615747, i64 4555994419779019877, i64 4607182419516711637, i64 4556056782464829039, i64 4607182419528910471, i64 4556119145150807834, i64 4607182419541212248, i64 4556181507836957688, i64 4607182419553616970, i64 4556243870523280027, i64 4607182419566124636, i64 4556306233209776275, i64 4607182419578735245, i64 4556368595896447860, i64 4607182419591448798, i64 4556430958583296205, i64 4607182419604265295, i64 4556493321270322737, i64 4607182419617184736, i64 4556555683957528881, i64 4607182419630207120, i64 4556618046644916063, i64 4607182419643332449, i64 4556742772020239241, i64 4607182419669891937, i64 4556867497396303675, i64 4607182419696863201, i64 4556992222773120769, i64 4607182419724246240, i64 4557116948150701927, i64 4607182419752041055, i64 4557241673529058554, i64 4607182419780247645, i64 4557366398908202052, i64 4607182419808866011, i64 4557491124288143826, i64 4607182419837896152, i64 4557615849668895280, i64 4607182419867338068, i64 4557691698974704885, i64 4607182419897191760, i64 4557754061665907398, i64 4607182419927457228, i64 4557816424357531856, i64 4607182419958134471, i64 4557878787049583963, i64 4607182419989223490, i64 4557941149742069419, i64 4607182420020724284, i64 4558003512434993927, i64 4607182420052636854, i64 4558065875128363189, i64 4607182420084961200, i64 4558128237822182907, i64 4607182420117697321, i64 4558190600516458783, i64 4607182420150845218, i64 4558252963211196518, i64 4607182420184404891, i64 4558315325906401815, i64 4607182420218376339, i64 4558377688602080375, i64 4607182420252759563, i64 4558440051298237901, i64 4607182420287554563, i64 4558502413994880095, i64 4607182420322761338, i64 4558564776692012659, i64 4607182420358379890, i64 4558627139389641294, i64 4607182420394410217, i64 4558689502087771702, i64 4607182420430852320, i64 4558751864786409587, i64 4607182420467706199, i64 4558814227485560648, i64 4607182420504971854, i64 4558876590185230590, i64 4607182420542649285, i64 4558938952885425113, i64 4607182420580738492, i64 4559001315586149919, i64 4607182420619239474, i64 4559063678287410711, i64 4607182420658152233, i64 4559126040989213190, i64 4607182420697476768, i64 4559188403691563059, i64 4607182420737213079, i64 4559250766394466019, i64 4607182420777361166, i64 4559313129097927773, i64 4607182420817921028, i64 4559375491801954022, i64 4607182420858892668, i64 4559437854506550468, i64 4607182420900276083, i64 4559500217211722814, i64 4607182420942071274, i64 4559562579917476761, i64 4607182420984278242, i64 4559624942623818011, i64 4607182421026896986, i64 4559687305330752267, i64 4607182421069927506, i64 4559749668038285230, i64 4607182421113369802, i64 4559812030746422603, i64 4607182421157223875, i64 4559874393455170087, i64 4607182421201489724, i64 4559936756164533384, i64 4607182421246167349, i64 4559999118874518196, i64 4607182421291256751, i64 4560061481585130226, i64 4607182421336757929, i64 4560123844296375175, i64 4607182421382670884, i64 4560186207008258745, i64 4607182421428995615, i64 4560248569720786639, i64 4607182421475732123, i64 4560310932433964557, i64 4607182421522880407, i64 4560373295147798203, i64 4607182421570440468, i64 4560435657862293278, i64 4607182421618412305, i64 4560498020577455485, i64 4607182421666795919, i64 4560560383293290524, i64 4607182421715591310, i64 4560622746009804099, i64 4607182421764798478, i64 4560685108727001911, i64 4607182421814417422, i64 4560747471444889662, i64 4607182421864448143, i64 4560809834163473054, i64 4607182421914890640, i64 4560872196882757790, i64 4607182421965744915, i64 4560934559602749571, i64 4607182422017010966, i64 4560996922323454098, i64 4607182422068688794, i64 4561059285044877075, i64 4607182422120778400, i64 4561121647767024204, i64 4607182422173279782, i64 4561246373213513721, i64 4607182422279517877, i64 4561371098662968268, i64 4607182422387403081, i64 4561495824115433459, i64 4607182422496935393, i64 4561620549570954911, i64 4607182422608114814, i64 4561745275029578239, i64 4607182422720941344, i64 4561870000491349060, i64 4607182422835414983, i64 4561994725956312990, i64 4607182422951535732, i64 4562119451424515644, i64 4607182423069303591, i64 4562195299711157544, i64 4607182423188718560, i64 4562257662448566020, i64 4607182423309780640, i64 4562320025187662282, i64 4607182423432489830, i64 4562382387928469139, i64 4607182423556846132, i64 4562444750671009399, i64 4607182423682849546, i64 4562507113415305869, i64 4607182423810500071, i64 4562569476161381357, i64 4607182423939797708, i64 4562631838909258672, i64 4607182424070742458, i64 4562694201658960622, i64 4607182424203334321, i64 4562756564410510015, i64 4607182424337573296, i64 4562818927163929658, i64 4607182424473459386, i64 4562881289919242361, i64 4607182424610992589, i64 4562943652676470930, i64 4607182424750172906, i64 4563006015435638175, i64 4607182424891000338, i64 4563068378196766902, i64 4607182425033474885, i64 4563130740959879921, i64 4607182425177596547, i64 4563193103725000039, i64 4607182425323365325, i64 4563255466492150064, i64 4607182425470781219, i64 4563317829261352806, i64 4607182425619844229, i64 4563380192032631070, i64 4607182425770554356, i64 4563442554806007667, i64 4607182425922911600, i64 4563504917581505403, i64 4607182426076915962, i64 4563567280359147087, i64 4607182426232567442, i64 4563629643138955528, i64 4607182426389866040, i64 4563692005920953532, i64 4607182426548811757, i64 4563754368705163910, i64 4607182426709404593, i64 4563816731491609467, i64 4607182426871644548, i64 4563879094280313014, i64 4607182427035531624, i64 4563941457071297357, i64 4607182427201065820, i64 4564003819864585305, i64 4607182427368247136, i64 4564066182660199667, i64 4607182427537075575, i64 4564128545458163250, i64 4607182427707551134, i64 4564190908258498862, i64 4607182427879673816, i64 4564253271061229313, i64 4607182428053443621, i64 4564315633866377409, i64 4607182428228860548, i64 4564377996673965960, i64 4607182428405924599, i64 4564440359484017772, i64 4607182428584635774, i64 4564502722296555656, i64 4607182428764994073, i64 4564565085111602418, i64 4607182428946999498, i64 4564627447929180867, i64 4607182429130652047, i64 4564689810749313812, i64 4607182429315951722, i64 4564752173572024060, i64 4607182429502898524, i64 4564814536397334420, i64 4607182429691492452, i64 4564876899225267700, i64 4607182429881733507, i64 4564939262055846708, i64 4607182430073621690, i64 4565001624889094253, i64 4607182430267157002, i64 4565063987725033142, i64 4607182430462339442, i64 4565126350563686185, i64 4607182430659169011, i64 4565188713405076189, i64 4607182430857645710, i64 4565251076249225962, i64 4607182431057769539, i64 4565313439096158314, i64 4607182431259540499, i64 4565375801945896052, i64 4607182431462958590, i64 4565438164798461985, i64 4607182431668023812, i64 4565500527653878920, i64 4607182431874736167, i64 4565562890512169667, i64 4607182432083095655, i64 4565625253373357034, i64 4607182432293102276, i64 4565749979104512859, i64 4607182432718056921, i64 4565874704847528863, i64 4607182433149600105, i64 4565999430602587512, i64 4607182433587731834, i64 4566124156369871275, i64 4607182434032452111, i64 4566248882149562617, i64 4607182434483760942, i64 4566373607941844007, i64 4607182434941658330, i64 4566498333746897911, i64 4607182435406144281, i64 4566623059564906798, i64 4607182435877218800, i64 4566698903774868040, i64 4607182436354881891, i64 4566761266697101167, i64 4607182436839133559, i64 4566823629626085488, i64 4607182437329973809, i64 4566885992561912236, i64 4607182437827402646, i64 4566948355504672645, i64 4607182438331420075, i64 4567010718454457950, i64 4607182438842026101, i64 4567073081411359384, i64 4607182439359220730, i64 4567135444375468183, i64 4607182439883003967, i64 4567197807346875580, i64 4607182440413375818, i64 4567260170325672810, i64 4607182440950336286, i64 4567322533311951108, i64 4607182441493885379, i64 4567384896305801709, i64 4607182442044023102, i64 4567447259307315846, i64 4607182442600749460, i64 4567509622316584756, i64 4607182443164064459, i64 4567571985333699672, i64 4607182443733968105, i64 4567634348358751830, i64 4607182444310460404, i64 4567696711391832465, i64 4607182444893541361, i64 4567759074433032812, i64 4607182445483210982, i64 4567821437482444106, i64 4607182446079469275, i64 4567883800540157583, i64 4607182446682316244, i64 4567946163606264478, i64 4607182447291751895, i64 4568008526680856026, i64 4607182447907776236, i64 4568070889764023463, i64 4607182448530389273, i64 4568133252855858025, i64 4607182449159591011, i64 4568195615956450948, i64 4607182449795381457, i64 4568257979065893466, i64 4607182450437760618, i64 4568320342184276817, i64 4607182451086728500, i64 4568382705311692236, i64 4607182451742285110, i64 4568445068448230959, i64 4607182452404430455, i64 4568507431593984223, i64 4607182453073164542, i64 4568569794749043264, i64 4607182453748487376, i64 4568632157913499317, i64 4607182454430398966, i64 4568694521087443621, i64 4607182455118899318, i64 4568756884270967411, i64 4607182455813988440, i64 4568819247464161923, i64 4607182456515666338, i64 4568881610667118396, i64 4607182457223933019, i64 4568943973879928065, i64 4607182457938788491, i64 4569006337102682168, i64 4607182458660232761, i64 4569068700335471941, i64 4607182459388265837, i64 4569131063578388622, i64 4607182460122887726, i64 4569193426831523449, i64 4607182460864098435, i64 4569255790094967658, i64 4607182461611897972, i64 4569318153368812487, i64 4607182462366286345, i64 4569380516653149174, i64 4607182463127263561, i64 4569442879948068957, i64 4607182463894829629, i64 4569505243253663072, i64 4607182464668984556, i64 4569567606570022759, i64 4607182465449728350, i64 4569629969897239255, i64 4607182466237061019, i64 4569692333235403798, i64 4607182467030982571, i64 4569754696584607627, i64 4607182467831493014, i64 4569817059944941980, i64 4607182468638592357, i64 4569879423316498096, i64 4607182469452280607, i64 4569941786699367213, i64 4607182470272557774, i64 4570004150093640569, i64 4607182471099423865, i64 4570066513499409405, i64 4607182471932878889, i64 4570128876916764958, i64 4607182472772922854, i64 4570253603786601173, i64 4607182474472777643, i64 4570378330703879130, i64 4607182476198988302, i64 4570503057669328744, i64 4607182477951554902, i64 4570627784683679933, i64 4607182479730477514, i64 4570752511747662618, i64 4607182481535756211, i64 4570877238862006720, i64 4607182483367391068, i64 4571001966027442163, i64 4607182485225382158, i64 4571126693244698873, i64 4607182487109729560, i64 4571202521147780110, i64 4607182489020433348, i64 4571264884809324626, i64 4607182490957493602, i64 4571327248497874672, i64 4607182492920910402, i64 4571389612213795215, i64 4607182494910683827, i64 4571451975957451224, i64 4607182496926813959, i64 4571514339729207667, i64 4607182498969300881, i64 4571576703529429517, i64 4607182501038144676, i64 4571639067358481744, i64 4607182503133345429, i64 4571701431216729323, i64 4607182505254903226, i64 4571763795104537227, i64 4607182507402818154, i64 4571826159022270433, i64 4607182509577090301, i64 4571888522970293916, i64 4607182511777719756, i64 4571950886948972656, i64 4607182514004706608, i64 4572013250958671631, i64 4607182516258050950, i64 4572075614999755821, i64 4607182518537752874, i64 4572137979072590210, i64 4607182520843812472, i64 4572200343177539780, i64 4607182523176229840, i64 4572262707314969515, i64 4607182525535005073, i64 4572325071485244401, i64 4607182527920138267, i64 4572387435688729426, i64 4607182530331629521, i64 4572449799925789578, i64 4607182532769478933, i64 4572512164196789846, i64 4607182535233686603, i64 4572574528502095223, i64 4607182537724252631, i64 4572636892842070701, i64 4607182540241177121, i64 4572699257217081274, i64 4607182542784460174, i64 4572761621627491937, i64 4607182545354101896, i64 4572823986073667688, i64 4607182547950102392, i64 4572886350555973525, i64 4607182550572461767, i64 4572948715074774447, i64 4607182553221180130, i64 4573011079630435458, i64 4607182555896257588, i64 4573073444223321558, i64 4607182558597694251, i64 4573135808853797753, i64 4607182561325490231, i64 4573198173522229049, i64 4607182564079645639, i64 4573260538228980454, i64 4607182566860160587, i64 4573322902974416976, i64 4607182569667035189, i64 4573385267758903626, i64 4607182572500269562, i64 4573447632582805417, i64 4607182575359863819, i64 4573509997446487363, i64 4607182578245818080, i64 4573572362350314478, i64 4607182581158132461, i64 4573634727294651781, i64 4607182584096807083, i64 4573697092279864291, i64 4607182587061842065, i64 4573759457306317026, i64 4607182590053237530, i64 4573821822374375011, i64 4607182593070993599, i64 4573884187484403269, i64 4607182596115110396, i64 4573946552636766825, i64 4607182599185588047, i64 4574008917831830708, i64 4607182602282426676, i64 4574071283069959945, i64 4607182605405626411, i64 4574133648351519569, i64 4607182608555187379, i64 4574196013676874611, i64 4607182611731109711, i64 4574258379046390107, i64 4607182614933393535, i64 4574320744460431092, i64 4607182618162038983, i64 4574383109919362604, i64 4607182621417046187, i64 4574445475423549684, i64 4607182624698415280, i64 4574507840973357374, i64 4607182628006146398, i64 4574570206569150717, i64 4607182631340239676, i64 4574632572211294758, i64 4607182634700695249, i64 4574757303636095128, i64 4607182641500693836, i64 4574882035250678887, i64 4607182648406143274, i64 4575006767057966470, i64 4607182655417044694, i64 4575131499060878340, i64 4607182662533399245, i64 4575256231262334996, i64 4607182669755208094, i64 4575380963665256969, i64 4607182677082472424, i64 4575505696272564820, i64 4607182684515193436, i64 4575630429087179146, i64 4607182692053372347, i64 4575706191760222257, i64 4607182699697010394, i64 4575768558379216859, i64 4607182707446108828, i64 4575830925106245696, i64 4607182715300668921, i64 4575893291942769137, i64 4607182723260691958, i64 4575955658890247565, i64 4607182731326179245, i64 4576018025950141387, i64 4607182739497132104, i64 4576080393123911023, i64 4607182747773551874, i64 4576142760413016914, i64 4607182756155439910, i64 4576205127818919521, i64 4607182764642797588, i64 4576267495343079322, i64 4607182773235626297, i64 4576329862986956816, i64 4607182781933927446, i64 4576392230752012520, i64 4607182790737702461, i64 4576454598639706972, i64 4607182799646952785, i64 4576516966651500731, i64 4607182808661679878, i64 4576579334788854373, i64 4607182817781885217, i64 4576641703053228499, i64 4607182827007570297, i64 4576704071446083728, i64 4607182836338736630, i64 4576766439968880700, i64 4607182845775385746, i64 4576828808623080077, i64 4607182855317519192, i64 4576891177410142543, i64 4607182864965138531, i64 4576953546331528804, i64 4607182874718245344, i64 4577015915388699585, i64 4607182884576841231, i64 4577078284583115638, i64 4607182894540927808, i64 4577140653916237734, i64 4607182904610506706, i64 4577203023389526668, i64 4607182914785579578, i64 4577265393004443258, i64 4607182925066148090, i64 4577327762762448344, i64 4607182935452213928, i64 4577390132665002791, i64 4607182945943778795, i64 4577452502713567488, i64 4607182956540844410, i64 4577514872909603346, i64 4607182967243412510, i64 4577577243254571301, i64 4607182978051484849, i64 4577639613749932314, i64 4607182988965063200, i64 4577701984397147371, i64 4607182999984149351, i64 4577764355197677482, i64 4607183011108745108, i64 4577826726152983681, i64 4607183022338852296, i64 4577889097264527030, i64 4607183033674472754, i64 4577951468533768616, i64 4607183045115608342, i64 4578013839962169549, i64 4607183056662260935, i64 4578076211551190969, i64 4607183068314432425, i64 4578138583302294039, i64 4607183080072124723, i64 4578200955216939952, i64 4607183091935339757, i64 4578263327296589925, i64 4607183103904079471, i64 4578325699542705203, i64 4607183115978345827, i64 4578388071956747059, i64 4607183128158140805, i64 4578450444540176792, i64 4607183140443466402, i64 4578512817294455730, i64 4607183152834324631, i64 4578575190221045228, i64 4607183165330717524, i64 4578637563321406671, i64 4607183177932647131, i64 4578699936597001470, i64 4607183190640115516, i64 4578762310049291067, i64 4607183203453124763, i64 4578824683679736932, i64 4607183216371676974, i64 4578887057489800564, i64 4607183229395774266, i64 4578949431480943492, i64 4607183242525418774, i64 4579011805654627274, i64 4607183255760612651, i64 4579074180012313499, i64 4607183269101358067, i64 4579136554555463785, i64 4607183282547657210, i64 4579261304204003166, i64 4607183309756925512, i64 4579386054611938979, i64 4607183337388435401, i64 4579510805790965281, i64 4607183365442205002, i64 4579635557752776637, i64 4607183393918252712, i64 4579760310509068124, i64 4607183422816597212, i64 4579885064071535342, i64 4607183452137257455, i64 4580009818451874419, i64 4607183481880252674, i64 4580134573661782018, i64 4607183512045602379, i64 4580210075374374889, i64 4607183542633326358, i64 4580272453826443300, i64 4607183573643444676, i64 4580334832710842615, i64 4607183605075977676, i64 4580397212033422279, i64 4607183636930945977, i64 4580459591800032022, i64 4607183669208370479, i64 4580521972016521868, i64 4607183701908272356, i64 4580584352688742132, i64 4607183735030673063, i64 4580646733822543432, i64 4607183768575594330, i64 4580709115423776687, i64 4607183802543058167, i64 4580771497498293123, i64 4607183836933086861, i64 4580833880051944276, i64 4607183871745702976, i64 4580896263090581996, i64 4607183906980929355, i64 4580958646620058454, i64 4607183942638789119, i64 4581021030646226139, i64 4607183978719305667, i64 4581083415174937870, i64 4607184015222502675, i64 4581145800212046793, i64 4607184052148404099, i64 4581208185763406389, i64 4607184089497034171, i64 4581270571834870475, i64 4607184127268417403, i64 4581332958432293210, i64 4607184165462578584, i64 4581395345561529101, i64 4607184204079542781, i64 4581457733228432999, i64 4607184243119335342, i64 4581520121438860112, i64 4607184282581981888, i64 4581582510198666002, i64 4607184322467508325, i64 4581644899513706594, i64 4607184362775940832, i64 4581707289389838175, i64 4607184403507305869, i64 4581769679832917403, i64 4607184444661630175, i64 4581832070848801306, i64 4607184486238940766, i64 4581894462443347289, i64 4607184528239264937, i64 4581956854622413137, i64 4607184570662630262, i64 4582019247391857018, i64 4607184613509064593, i64 4582081640757537488, i64 4607184656778596063, i64 4582144034725313495, i64 4607184700471253081, i64 4582206429301044382, i64 4607184744587064337, i64 4582268824490589890, i64 4607184789126058797, i64 4582331220299810166, i64 4607184834088265710, i64 4582393616734565761, i64 4607184879473714601, i64 4582456013800717638, i64 4607184925282435274, i64 4582518411504127174, i64 4607184971514457814, i64 4582580809850656165, i64 4607185018169812584, i64 4582643208846166831, i64 4607185065248530227, i64 4582705608496521815, i64 4607185112750641663, i64 4582768008807584192, i64 4607185160676178094, i64 4582830409785217472, i64 4607185209025170999, i64 4582892811435285600, i64 4607185257797652140, i64 4582955213763652965, i64 4607185306993653554, i64 4583017616776184401, i64 4607185356613207560, i64 4583080020478745191, i64 4607185406656346757, i64 4583142424877201072, i64 4607185457123104023, i64 4583204829977418238, i64 4607185508013512514, i64 4583267235785263344, i64 4607185559327605669, i64 4583329642306603510, i64 4607185611065417203, i64 4583392049547306324, i64 4607185663226981115, i64 4583454457513239848, i64 4607185715812331681, i64 4583516866210272621, i64 4607185768821503458, i64 4583579275644273660, i64 4607185822254531282, i64 4583641685821112468, i64 4607185876111450271, i64 4583766508426783850, i64 4607185985097103611, i64 4583891334074252622, i64 4607186095778750017, i64 4584016162810492640, i64 4607186208156680515, i64 4584140994682485880, i64 4607186322231190616, i64 4584265829737222565, i64 4607186438002580321, i64 4584390668021701288, i64 4607186555471154125, i64 4584515509582929138, i64 4607186674637221014, i64 4584640354467921822, i64 4607186795501094468, i64 4584714811693434361, i64 4607186918063092469, i64 4584777237530236650, i64 4607187042323537495, i64 4584839665099471399, i64 4607187168282756529, i64 4584902094424664325, i64 4607187295941081057, i64 4584964525529345764, i64 4607187425298847070, i64 4585026958437050739, i64 4607187556356395072, i64 4585089393171319015, i64 4607187689114070074, i64 4585151829755695170, i64 4607187823572221602, i64 4585214268213728650, i64 4607187959731203700, i64 4585276708568973837, i64 4607188097591374928, i64 4585339150844990109, i64 4607188237153098367, i64 4585401595065341901, i64 4607188378416741622, i64 4585464041253598773, i64 4607188521382676824, i64 4585526489433335467, i64 4607188666051280632, i64 4585588939628131972, i64 4607188812422934236, i64 4585651391861573588, i64 4607188960498023360, i64 4585713846157250987, i64 4607189110276938264, i64 4585776302538760277, i64 4607189261760073746, i64 4585838761029703064, i64 4607189414947829146, i64 4585901221653686514, i64 4607189569840608350, i64 4585963684434323420, i64 4607189726438819789, i64 4586026149395232260, i64 4607189884742876444, i64 4586088616560037263, i64 4607190044753195851, i64 4586151085952368470, i64 4607190206470200098, i64 4586213557595861800, i64 4607190369894315835, i64 4586276031514159111, i64 4607190535025974270, i64 4586338507730908263, i64 4607190701865611180, i64 4586400986269763184, i64 4607190870413666904, i64 4586463467154383928, i64 4607191040670586355, i64 4586525950408436744, i64 4607191212636819018, i64 4586588436055594136, i64 4607191386312818956, i64 4586650924119534926, i64 4607191561699044808, i64 4586713414623944322, i64 4607191738795959801, i64 4586775907592513974, i64 4607191917604031744, i64 4586838403048942045, i64 4607192098123733036, i64 4586900901016933270, i64 4607192280355540669, i64 4586963401520199021, i64 4607192464299936231, i64 4587025904582457369, i64 4607192649957405908, i64 4587088410227433151, i64 4607192837328440490, i64 4587150918478858033, i64 4607193026413535370, i64 4587213429360470569, i64 4607193217213190553, i64 4587275942896016273, i64 4607193409727910655, i64 4587338459109247676, i64 4607193603958204908, i64 4587400978023924393, i64 4607193799904587164, i64 4587463499663813186, i64 4607193997567575899, i64 4587526024052688029, i64 4607194196947694214, i64 4587588551214330172, i64 4607194398045469840, i64 4587651081172528204, i64 4607194600861435145, i64 4587713613951078118, i64 4607194805396127130, i64 4587776149573783376, i64 4607195011650087442, i64 4587838688064454972, i64 4607195219623862369, i64 4587901229446911496, i64 4607195429318002851, i64 4587963773744979199, i64 4607195640733064478, i64 4588026320982492061, i64 4607195853869607498, i64 4588088871183291848, i64 4607196068728196818, i64 4588151424371228183, i64 4607196285309402012, i64 4588276539803948648, i64 4607196723641961648, i64 4588401667471609987, i64 4607197168871936417, i64 4588526807565298549, i64 4607197621004051210, i64 4588651960276232573, i64 4607198080043105932, i64 4588777125795764272, i64 4607198545993975632, i64 4588902304315381912, i64 4607199018861610642, i64 4589027496026711902, i64 4607199498651036708, i64 4589152701121520880, i64 4607199985367355137, i64 4589222970041126619, i64 4607200479015742932, i64 4589285586259945759, i64 4607200979601452938, i64 4589348209458585532, i64 4607201487129813989, i64 4589410839733220214, i64 4607202001606231053, i64 4589473477180099454, i64 4607202523036185387, i64 4589536121895549328, i64 4607203051425234684, i64 4589598773975973405, i64 4607203586779013232, i64 4589661433517853803, i64 4607204129103232068, i64 4589724100617752254, i64 4607204678403679138, i64 4589786775372311172, i64 4607205234686219461, i64 4589849457878254719, i64 4607205797956795287, i64 4589912148232389879, i64 4607206368221426269, i64 4589974846531607526, i64 4607206945486209627, i64 4590037552872883505, i64 4607207529757320320, i64 4590100267353279703, i64 4607208121041011219, i64 4590162990069945137, i64 4607208719343613281, i64 4590225721120117028, i64 4607209324671535728, i64 4590288460601121895, i64 4607209937031266223, i64 4590351208610376633, i64 4607210556429371059, i64 4590413965245389612, i64 4607211182872495335, i64 4590476730603761763, i64 4607211816367363149, i64 4590539504783187675, i64 4607212456920777783, i64 4590602287881456695, i64 4607213104539621897, i64 4590665079996454027, i64 4607213759230857723, i64 4590727881226161834, i64 4607214421001527258, i64 4590790691668660346, i64 4607215089858752465, i64 4590853511422128967, i64 4607215765809735475, i64 4590916340584847388, i64 4607216448861758787, i64 4590979179255196700, i64 4607217139022185479, i64 4591042027531660512, i64 4607217836298459409, i64 4591104885512826070, i64 4607218540698105433, i64 4591167753297385383, i64 4607219252228729614, i64 4591230630984136345, i64 4607219970898019438, i64 4591293518671983867, i64 4607220696713744033, i64 4591356416459941006, i64 4607221429683754392, i64 4591419324447130105, i64 4607222169815983591, i64 4591482242732783926, i64 4607222917118447018, i64 4591545171416246795, i64 4607223671599242601, i64 4591608110596975745, i64 4607224433266551038, i64 4591671060374541662, i64 4607225202128636032, i64 4591734020848630442, i64 4607225978193844525, i64 4591796992119044137, i64 4607226761470606936, i64 4591859974285702120, i64 4607227551967437406, i64 4591922967448642241, i64 4607228349692934037, i64 4591985971708021994, i64 4607229154655779141, i64 4592048987164119684, i64 4607229966864739488, i64 4592112013917335599, i64 4607230786328666560, i64 4592175052068193181, i64 4607231613056496801, i64 4592238101717340212, i64 4607232447057251879, i64 4592301162965549987, i64 4607233288340038940, i64 4592364235913722507, i64 4607234136914050876, i64 4592427320662885662, i64 4607234992788566588, i64 4592490417314196428, i64 4607235855972951252, i64 4592553525968942064, i64 4607236726476656592, i64 4592616646728541308, i64 4607237604309221152, i64 4592679779694545584, i64 4607238489480270574, i64 4592806082652645614, i64 4607240281876763733, i64 4592932435658353268, i64 4607242103744893809, i64 4593058839528980351, i64 4607243955164830248, i64 4593185295084078582, i64 4607245836218163532, i64 4593311803145479083, i64 4607247746987914707, i64 4593438364537332133, i64 4607249687558545094, i64 4593564980086147188, i64 4607251658015966188, i64 4593681635269369553, i64 4607253658447549756, i64 4593744998445322526, i64 4607255688942138121, i64 4593808389946800441, i64 4607257749590054649, i64 4593871810191979318, i64 4607259840483114430, i64 4593935259600316959, i64 4607261961714635167, i64 4593998738592573829, i64 4607264113379448264, i64 4594062247590834098, i64 4607266295573910121, i64 4594125787018526838, i64 4607268508395913643, i64 4594189357300447376, i64 4607270751944899953, i64 4594252958862778820, i64 4607273026321870330, i64 4594316592133113743, i64 4607275331629398353, i64 4594380257540476041, i64 4607277667971642276, i64 4594443955515342968, i64 4607280035454357618, i64 4594507686489667335, i64 4607282434184909984, i64 4594571450896899902, i64 4607284864272288116, i64 4594635249172011940, i64 4607287325827117172, i64 4594699081751517990, i64 4607289818961672241, i64 4594762949073498800, i64 4607292343789892105, i64 4594826851577624461, i64 4607294900427393229, i64 4594890789705177740, i64 4607297488991484012, i64 4594954763899077604, i64 4607300109601179272, i64 4595018774603902952, i64 4607302762377214995, i64 4595082822265916555, i64 4607305447442063335, i64 4595146907333089200, i64 4607308164919947871, i64 4595211030255124050, i64 4607310914936859134, i64 4595275191483481220, i64 4607313697620570398, i64 4595339391471402577, i64 4607316513100653737, i64 4595403630673936758, i64 4607319361508496368, i64 4595467909547964420, i64 4607322242977317261, i64 4595532228552223724, i64 4607325157642184045, i64 4595596588147336049, i64 4607328105640030187, i64 4595660988795831953, i64 4607331087109672477, i64 4595725430962177372, i64 4607334102191828800, i64 4595789915112800070, i64 4607337151029136211, i64 4595854441716116345, i64 4607340233766169317, i64 4595919011242557981, i64 4607343350549458969, i64 4595983624164599474, i64 4607346501527511262, i64 4596048280956785516, i64 4607349686850826868, i64 4596112982095758747, i64 4607352906671920682, i64 4596177728060287787, i64 4607356161145341799, i64 4596242519331295547, i64 4607359450427693835, i64 4596307356391887815, i64 4607362774677655577, i64 4596372239727382140, i64 4607366134056001985, i64 4596437169825337008, i64 4607369528725625544, i64 4596502147175581310, i64 4607372958851557973, i64 4596567172270244117, i64 4607376424600992296, i64 4596632245603784768, i64 4607379926143305281, i64 4596697367673023259, i64 4607383463650080256, i64 4596762538977170966, i64 4607387037295130300, i64 4596827760017861678, i64 4607390647254521832, i64 4596893031299182967, i64 4607394293706598577, i64 4596958353327707891, i64 4607397976832005951, i64 4597023726612527038, i64 4607401696813715832, i64 4597089151665280915, i64 4607405453837051764, i64 4597154629000192687, i64 4607409248089714566, i64 4597220159134101278, i64 4607413079761808376, i64 4597285742586494832, i64 4607416949045867129, i64 4597417071538138878, i64 4607424801232326150, i64 4597548620065309451, i64 4607432806238993257, i64 4597680392422783596, i64 4607440965696417074, i64 4597812392911069266, i64 4607449281276721515, i64 4597944625877569942, i64 4607457754694565432, i64 4598077095717776287, i64 4607466387708134740, i64 4598192513210881074, i64 4607475182120168170, i64 4598258991697163685, i64 4607484139779017859, i64 4598325595363967321, i64 4607493262579746049, i64 4598392326511456529, i64 4607502552465259205, i64 4598459187467037859, i64 4607512011427480932, i64 4598526180586046969, i64 4607521641508565135, i64 4598593308252452818, i64 4607531444802150917, i64 4598660572879579536, i64 4607541423454660792, i64 4598727976910846576, i64 4607551579666643846, i64 4598795522820527791, i64 4607561915694165575, i64 4598863213114530085, i64 4607572433850246180, i64 4598931050331192331, i64 4607583136506349199, i64 4598999037042105258, i64 4607594026093922448, i64 4599067175852953056, i64 4607605105105993307, i64 4599135469404377454, i64 4607616376098820512, i64 4599203920372865078, i64 4607627841693604693, i64 4599272531471658915, i64 4607639504578260021, i64 4599341305451694744, i64 4607651367509249421, i64 4599410245102563444, i64 4607663433313485938, i64 4599479353253500091, i64 4607675704890302955, i64 4599548632774400840, i64 4607688185213496111, i64 4599618086576868590, i64 4607700877333439875, i64 4599687717615288501, i64 4607713784379281908, i64 4599757528887934440, i64 4607726909561218465, i64 4599827523438107532, i64 4607740256172854289, i64 4599897704355307981, i64 4607753827593650565, i64 4599968074776441430, i64 4607767627291464745, i64 4600038637887061145, i64 4607781658825186182, i64 4600109396922647380, i64 4607795925847471761, i64 4600180355169925350, i64 4607810432107585887, i64 4600251515968223267, i64 4607825181454349441, i64 4600322882710872002, i64 4607840177839202535, i64 4600394458846647972, i64 4607855425319386157, i64 4600466247881260938, i64 4607870928061248046, i64 4600538253378888472, i64 4607886690343678434, i64 4600610478963758937, i64 4607902716561681579, i64 4600682928321784892, i64 4607919011230089326, i64 4600755605202248949, i64 4607935578987423266, i64 4600828513419544171, i64 4607952424599912426, i64 4600901656854971230, i64 4607969552965673775, i64 4600975039458594621, i64 4607986969119063251, i64 4601048665251160351, i64 4608004678235205426, i64 4601122538326077647, i64 4608022685634710361, i64 4601196662851467314, i64 4608040996788586714, i64 4601271043072279554, i64 4608059617323360616, i64 4601345683312484139, i64 4608078553026410427, i64 4601420587977336015, i64 4608097809851528004, i64 4601495761555719553, i64 4608117393924717757, i64 4601571208622574806, i64 4608137311550245406, i64 4601646933841409336, i64 4608157569216949021, i64 4601722941966899318, i64 4608178173604825717, i64 4601799237847583840, i64 4608199131591908083, i64 4601875826428656523, i64 4608220450261445345, i64 4601952712754858774, i64 4608242136909405085, i64 4602029901973479234, i64 4608264199052312336, i64 4602107399337464221, i64 4608286644435443876, i64 4602185210208644199, i64 4608309481041396625, i64 4602263340061081610, i64 4608332717099050238, i64 4602341794484545662, i64 4608356361092945204, i64 4602420579188119987, i64 4608380421773099115, i64 4602499700003949393, i64 4608404908165285188, i64 4602579162891132304, i64 4608429829581798659, i64 4602658973939765810, i64 4608455195632738306, i64 4602708979273898792, i64 4608481016237832111, i64 4602749242367405469, i64 4608507301638837988, i64 4602789689091227445, i64 4608534062412552489, i64 4602830322774294820, i64 4608561309484462633, i64 4602871146822430170, i64 4608589054143078302, i64 4602912164720913669, i64 4608617308054985204, i64 4602953380037155053, i64 4608646083280661099, i64 4602994796423477862, i64 4608675392291100930, i64 4603036417620021731, i64 4608705247985299628, i64 4603078247457768842, i64 4608735663708644788, i64 4603120289861701030, i64 4608766653272275085, i64 4603162548854094438, i64 4608798230973464226, i64 4603205028557959031, i64 4608830411617094584, i64 4603247733200630762, i64 4608863210538289233, i64 4603290667117524650, i64 4608896643626276162, i64 4603333834756057582, i64 4608930727349563863, i64 4603377240679750203, i64 4608965478782513369, i64 4603420889572517877, i64 4609000915633398222, i64 4603464786243161361, i64 4609037056274050770, i64 4603508935630068533, i64 4609073919771200722, i64 4603553342806139278, i64 4609111525919620087, i64 4603598012983946472, i64 4609149895277197512, i64 4603642951521146861, i64 4609189049202074742, i64 4603688163926156609, i64 4609229009891988485, i64 4603733655864107317, i64 4609269800425972497, i64 4603779433163099418, i64 4609311444808587273, i64 4603825501820771073, i64 4609353968016858480, i64 4603871868011201990, i64 4609397396050120285, i64 4603918538092173011, i64 4609441755982976209, i64 4603965518612803820, i64 4609487076021608122, i64 4604012816321592837, i64 4609533385563683774, i64 4604060438174885116, i64 4609580715262134964, i64 4604108391345796071, i64 4609629097093102237, i64 4604156683233620970, i64 4609678564428368253, i64 4604205321473762479, i64 4609729152112630804, i64 4604254313948211058, i64 4609780896545998266, i64 4604303668796615808, i64 4609833835772125365, i64 4604353394427986366, i64 4609888009572445883, i64 4604403499533069769, i64 4609943459567001803, i64 4604453993097449827, i64 4610000229322415830, i64 4604504884415420492, i64 4610058364467606800, i64 4604556183104689093, i64 4610117912817905862, i64 4604607899121970055, i64 4610178924508296155, i64 4604660042779534968, i64 4610241452136570804, i64 4604712624762790679, i64 4610305550917284449, i64 4604765656148963401, i64 4610371278847463098, i64 4604819148426973894, i64 4610438696885137235, i64 4604873113518596490, i64 4610507869141875027, i64 4604927563801003340, i64 4610578863090617926, i64 4604982512130804732, i64 4610651749790261590, i64 4605037971869706869, i64 4610726604128583113, i64 4605093956911920175, i64 4610803505085293352, i64 4605150481713464204, i64 4610882536017193523, i64 4605207561323529678, i64 4610963784967641469, i64 4605265211418074347, i64 4611047345002788716, i64 4605323448335847346, i64 4611133314577339194, i64 4605382289117056926, i64 4611221797932909135, i64 4605441751544918987, i64 4611312905532441363, i64 4605501854190349217, i64 4611406754534552699, i64 4605532151625218423, i64 4611454745631141038, i64 4605562616460090123, i64 4611503469312178808, i64 4605593251259916410, i64 4611552942344668111, i64 4605624058648596342, i64 4611603182020435981, i64 4605655041310828574, i64 4611654206176969373, i64 4605686201994037841, i64 4611696025823321682, i64 4605717543510378874, i64 4611722350285036197, i64 4605749068738821526, i64 4611749095492232060, i64 4605780780627321106, i64 4611776271569641415, i64 4605812682195078173, i64 4611803888975055190, i64 4605844776534892243, i64 4611831958513225666, i64 4605877066815614184, i64 4611860491350474641, i64 4605909556284702310, i64 4611889499030049474, i64 4605942248270887514, i64 4611918993488272206, i64 4605975146186953099, i64 4611948987071530120, i64 4606008253532635304, i64 4611979492554159494, i64 4606041573897650903, i64 4612010523157278010, i64 4606075110964858644, i64 4612042092568625227, i64 4606108868513561737, i64 4612074214963474851, i64 4606142850422959025, i64 4612106905026687188, i64 4606177060675753011, i64 4612140177975975207, i64 4606211503361923381, i64 4612174049586463107, i64 4606246182682675298, i64 4612208536216622212, i64 4606281102954572277, i64 4612243654835675465, i64 4606316268613864181, i64 4612279423052568777, i64 4606351684221021523, i64 4612315859146615086, i64 4606387354465488055, i64 4612352982099925275, i64 4606423284170664435, i64 4612390811631749074, i64 4606459478299136657, i64 4612429368234858933, i64 4606495941958163864, i64 4612468673214120520, i64 4606532680405441231, i64 4612508748727405218, i64 4606569699055154701, i64 4612549617829012769, i64 4606607003484345567, i64 4612591304515786157, i64 4606644599439604233, i64 4612633833776116168, i64 4606682492844113870, i64 4612677231642049761, i64 4606720689805066275, i64 4612721525244734817, i64 4606759196621473871, i64 4612766742873453969, i64 4606798019792403652, i64 4612812914038522392, i64 4606837166025660845, i64 4612860069538348843, i64 4606876642246952223, i64 4612908241530986047, i64 4606916455609561358, i64 4612957463610526148, i64 4606956613504570710, i64 4613007770888729601, i64 4606997123571668192, i64 4613059200082311938, i64 4607037993710579019, i64 4613111789606352751, i64 4607079232093166909, i64 4613165579674335401, i64 4607120847176252494, i64 4613220612405374929, i64 4607162847715200753, i64 4613276931939245982, i64 4607193830789175602, i64 4613334584559882961, i64 4607215230281123779, i64 4613393618828091782, i64 4607236836603997263, i64 4613454085724287490, i64 4607258654809233037, i64 4613516038802155471, i64 4607280690138352632, i64 4613579534354227289, i64 4607302948032748728, i64 4613644631590466507, i64 4607325434144114233, i64 4613711392831076746, i64 4607348154345565364, i64 4613779883714875389, i64 4607371114743515154, i64 4613850173424723655, i64 4607394321690359246, i64 4613922334931669605, i64 4607417781798041882, i64 4613996445259647523, i64 4607441501952576753, i64 4614072585772788099, i64 4607465489329604868, i64 4614150842487632480, i64 4607489751411080022, i64 4614231306412813496, i64 4607514296003181804, i64 4614314073919074175, i64 4607539131255566660, i64 4614399247142842338, i64 4607564265682079279, i64 4614486934426977340, i64 4607576947851247276, i64 4614531756513593406, i64 4607589708183059921, i64 4614577250802758349, i64 4607602547854395496, i64 4614623432805026877, i64 4607615468069398219, i64 4614670318517701958, i64 4607628470060337393, i64 4614717924444206411, i64 4607641555088500896, i64 4614766267614391013, i64 4607654724445124665, i64 4614815365605832540, i64 4607667979452359945, i64 4614865236566178654, i64 4607681321464280162, i64 4614915899236600345, i64 4607694751867929403, i64 4614967372976416700, i64 4607708272084414571, i64 4615019677788961138, i64 4607721883570043451, i64 4615072834348762976, i64 4607735587817511014, i64 4615126864030123245, i64 4607749386357136450, i64 4615181788937169164, i64 4607763280758153570, i64 4615237631935477581, i64 4607777272630057369, i64 4615294416685364047, i64 4607791363624009732, i64 4615352167676941090, i64 4607805555434307422, i64 4615410910267056698, i64 4607819849799915727, i64 4615470670718232032, i64 4607834248506071328, i64 4615531476239726172, i64 4607848753385958174, i64 4615593355030865048, i64 4607863366322460432, i64 4615656336326782023, i64 4607878089249996808, i64 4615720450446728621, i64 4607892924156440831, i64 4615785728845125997, i64 4607907873085132014, i64 4615852204165540790, i64 4607922938136983105, i64 4615919910297783266, i64 4607938121472689037, i64 4615988882438341124, i64 4607953425315043523, i64 4616059157154379208, i64 4607968851951369703, i64 4616130772451553755, i64 4607984403736071659, i64 4616196692950334134, i64 4608000083093314121, i64 4616233901247455586, i64 4608015892519838203, i64 4616271841529682890, i64 4608031834587921576, i64 4616310536058982601, i64 4608047911948492091, i64 4616350008019818779, i64 4608064127334404548, i64 4616390281567745891, i64 4608080483563891013, i64 4616431381881118766, i64 4608096983544195878, i64 4616473335216156105, i64 4608113630275407716, i64 4616516168965614751, i64 4608130426854500908, i64 4616559911721354829, i64 4608147376479601025, i64 4616604593341101004, i64 4608164482454489066, i64 4616650245019732831, i64 4608181748193360861, i64 4616696899365467818, i64 4608199177225859223, i64 4616744590481334585, i64 4608216773202397945, i64 4616793354052370974, i64 4608234539899798234, i64 4616843227439023311, i64 4608252481227259970, i64 4616894249777268990, i64 4608270601232692018, i64 4616946462086035498, i64 4608288904109427940, i64 4616999907382545619, i64 4608307394203355723, i64 4617054630806281614, i64 4608326076020492650, i64 4617110679752331382, i64 4608344954235039242, i64 4617168104014957948, i64 4608364033697949224, i64 4617226955942321155, i64 4608383319446055891, i64 4617287290603378392, i64 4608402816711798948, i64 4617349165968100847, i64 4608422530933600081, i64 4617412643102264945, i64 4608442467766940078, i64 4617477786378216895, i64 4608462633096195449, i64 4617544663703164019, i64 4608483033047298153, i64 4617613346766721999, i64 4608503674001288371, i64 4617683911309645351, i64 4608524562608837308, i64 4617756437415892575, i64 4608545705805824898, i64 4617831009830431308, i64 4608567110830066082, i64 4617907718305477059, i64 4608588785239289235, i64 4617986657978186757, i64 4608610736930481374, i64 4618067929783201680, i64 4608621819322485807, i64 4618109473472828485, i64 4608632974160727294, i64 4618151640903860422, i64 4608644202537293411, i64 4618194446531637090, i64 4608655505569683786, i64 4618237905266389912, i64 4608666884401613058, i64 4618282032491384397, i64 4608678340203845986, i64 4618326844081940971, i64 4608689874175066281, i64 4618372356425384555, i64 4608701487542780813, i64 4618418586441976375, i64 4608713181564260933, i64 4618465551606885025, i64 4608724957527522776, i64 4618513269973257670, i64 4608736816752348495, i64 4618561760196456335, i64 4608748760591350498, i64 4618611041559528715, i64 4608760790431080902, i64 4618661133999987671, i64 4608772907693188524, i64 4618712058137978759, i64 4608785113835625895, i64 4618763835305920667, i64 4608797410353908911, i64 4618816487579709443, i64 4608809798782431929, i64 4618870037811583896, i64 4608822280695841252, i64 4618924509664756508, i64 4608834857710470172, i64 4618979927649921819, i64 4608847531485838916, i64 4619036317163762413, i64 4608860303726223061, i64 4619093704529581553, i64 4608873176182294223, i64 4619152117040201094, i64 4608886150652837064, i64 4619211583003273815, i64 4608899228986546935, i64 4619272131789170596, i64 4608912413083912761, i64 4619333793881615238, i64 4608925704899190083, i64 4619396600931253100, i64 4608939106442469499, i64 4619460585812354329, i64 4608952619781846130, i64 4619525782682868342, i64 4608966247045696094, i64 4619592227048063531, i64 4608979990425066426, i64 4619659955828005070, i64 4608993852176185309, i64 4619729007429144312, i64 4609007834623099994, i64 4619799421820315830, i64 4609021940160450300, i64 4619871240613462808, i64 4609036171256386195, i64 4619944507149438480, i64 4609050530455638545, i64 4620019266589260915, i64 4609065020382752838, i64 4620095566011230894, i64 4609079643745496391, i64 4620173454514358270, i64 4609094403338450403, i64 4620252983328581343, i64 4609109302046799024, i64 4620334205932306898, i64 4609124342850328640, i64 4620417178177845983, i64 4609139528827651548, i64 4620501958425372842, i64 4609154863160669368, i64 4620588607686092122, i64 4609170349139292777, i64 4620677189775363313, i64 4609185990166435485, i64 4620730494579365403, i64 4609201789763301876, i64 4620776820199491918, i64 4609217751574989370, i64 4620824217218582022, i64 4609233879376428319, i64 4620872724033011608, i64 4609250177078684246, i64 4620922380914525990, i64 4609266648735649370, i64 4620973230126806222, i64 4609283298551152736, i64 4621025316050871266, i64 4609300130886520894, i64 4621078685320109420, i64 4609317150268623950, i64 4621133386965815036, i64 4609334361398445011, i64 4621189472574199009, i64 4609351769160214555, i64 4621246996455945132, i64 4609369378631155192, i64 4621306015829500632, i64 4609387195091886600, i64 4621366591019419885, i64 4609405224037545239, i64 4621428785671227320, i64 4609423471189678800, i64 4621492666984431335, i64 4609441942508981324, i64 4621558305965508255, i64 4609460644208941569, i64 4621625777702887088, i64 4609479582770484645, i64 4621695161666205822, i64 4609498764957695255, i64 4621766542032382328, i64 4609518197834720223, i64 4621840008041352655, i64 4609537888783958439, i64 4621915654384682409, i64 4609547833434471027, i64 4621954326367326802, i64 4609557845525658160, i64 4621993581630659686, i64 4609567926078807307, i64 4622033433740335570, i64 4609578076139054838, i64 4622073896689938816, i64 4609588296776141411, i64 4622114984918081803, i64 4609598589085197674, i64 4622156713326332287, i64 4609608954187561737, i64 4622199097298017402, i64 4609619393231629999, i64 4622242152717954812, i64 4609629907393742963, i64 4622285895993164944, i64 4609640497879107792, i64 4622330344074621805, i64 4609651165922759460, i64 4622375514480103803, i64 4609661912790562448, i64 4622421425318210189, i64 4609672739780255082, i64 4622468095313613235, i64 4609683648222538687, i64 4622515543833621152, i64 4609694639482213924, i64 4622563790916132005, i64 4609705714959366774, i64 4622612857299064553, i64 4609716876090606805, i64 4622662764451358073, i64 4609728124350360532, i64 4622713534605639870, i64 4609739461252222834, i64 4622765190792666319, i64 4609750888350369606, i64 4622817756877651082, i64 4609762407241035012, i64 4622871257598602519, i64 4609774019564056929, i64 4622925718606801461, i64 4609785727004494407, i64 4622981166509560394, i64 4609797531294321224, i64 4623037628915415833, i64 4609809434214199892, i64 4623095134481917370, i64 4609821437595340750, i64 4623153712966189528, i64 4609833543321451114, i64 4623213395278456428, i64 4609845753330779780, i64 4623274213538734255, i64 4609858069618262568, i64 4623336201136912972, i64 4609870494237774947, i64 4623399392796466597, i64 4609883029304498285, i64 4623463824642050908, i64 4609895676997406653, i64 4623529534271268795, i64 4609908439561881678, i64 4623596560830906867, i64 4609921319312463461, i64 4623664945097972472, i64 4609934318635746176, i64 4623734729565888353, i64 4609947439993427595, i64 4623805958536232906, i64 4609960685925522520, i64 4623878678216447787, i64 4609974059053750823, i64 4623952936823971730, i64 4609987562085111657, i64 4624028784697300290, i64 4610001197815656280, i64 4624106274414516192, i64 4610014969134472939, i64 4624185460919884589, i64 4610028879027898319, i64 4624266401659162256, i64 4610042930583971255, i64 4624349156724330237, i64 4610057126997145665, i64 4624433789008526406, i64 4610071471573281102, i64 4624520364372028468, i64 4610085967734930830, i64 4624608951820220138, i64 4610100619026949057, i64 4624699623694564444, i64 4610115429122440771, i64 4624792455877709516, i64 4610130401829079726, i64 4624887528013965055, i64 4610145541095822325, i64 4624984923746513470, i64 4610160851020047648, i64 4625084730972859999, i64 4610176335855156616, i64 4625187042120182944, i64 4610192000018666299, i64 4625244385875960021, i64 4610207848100838712, i64 4625298193825313930, i64 4610223884873887169, i64 4625353407510929514, i64 4610240115301807370, i64 4625410083815785725, i64 4610256544550884948, i64 4625468282761170745, i64 4610273178000936311, i64 4625528067727240391, i64 4610290021257345248, i64 4625589505692503748, i64 4610307080163964114, i64 4625652667494162838, i64 4610324360816955415, i64 4625717628111461014, i64 4610341869579657579, i64 4625784466974453428, i64 4610359613098567493, i64 4625853268300907113, i64 4610377598320542349, i64 4625924121464373432, i64 4610386683827733764, i64 4625960346922330229, i64 4610395832511334539, i64 4625997121396858358, i64 4610405045332670977, i64 4626034457695326845, i64 4610414323275585907, i64 4626072369029953803, i64 4610423667347153351, i64 4626110869034007661, i64 4610433078578421914, i64 4626149971778795084, i64 4610442558025188284, i64 4626189691791480617, i64 4610452106768802340, i64 4626230044073786042, i64 4610461725917005415, i64 4626271044121620648, i64 4610471416604803390, i64 4626312707945697061, i64 4610481179995376364, i64 4626355052093190952, i64 4610491017281026758, i64 4626398093670506973, i64 4610500929684167843, i64 4626441850367217522, i64 4610510918458354756, i64 4626486340481245592, i64 4610520984889360244, i64 4626531582945367968, i64 4610531130296297480, i64 4626577597355120412, i64 4610541356032792467, i64 4626624403998192307, i64 4610551663488208657, i64 4626672023885404560, i64 4610562054088926657, i64 4626720478783371358, i64 4610572529299681984, i64 4626769791248953758, i64 4610583090624964102, i64 4626819984665621120, i64 4610593739610480130, i64 4626871083281845023, i64 4610604477844686871, i64 4626923112251659751, i64 4610615306960395017, i64 4626976097677533645, i64 4610626228636449673, i64 4627030066655706707, i64 4610637244599491617, i64 4627085047324161956, i64 4610648356625803998, i64 4627141068913411137, i64 4610659566543249511, i64 4627198161800289737, i64 4610670876233303452, i64 4627256357564971862, i64 4610682287633188401, i64 4627315689051432553, i64 4610693802738116722, i64 4627376190431603739, i64 4610705423603647500, i64 4627437897273490329, i64 4610717152348165019, i64 4627500846613535213, i64 4610728991155486387, i64 4627565077033546280, i64 4610740942277606517, i64 4627630628742525258, i64 4610753008037589248, i64 4627697543663767461, i64 4610765190832614078, i64 4627765865527633688, i64 4610777493137188699, i64 4627835639970430859, i64 4610789917506538307, i64 4627906914639876882, i64 4610802466580183542, i64 4627979739307668047, i64 4610815143085719809, i64 4628054165989714528, i64 4610827949842811810, i64 4628130249074661667, i64 4610840889767418174, i64 4628208045461372358, i64 4610853965876262352, i64 4628287614706109591, i64 4610867181291567237, i64 4628369019180228785, i64 4610880539246072471, i64 4628452324239267874, i64 4610894043088354989, i64 4628537598404409974, i64 4610907696288475138, i64 4628624913557390125, i64 4610921502443972632, i64 4628714345150025104, i64 4610935465286238774, i64 4628805972429665175, i64 4610949588687293711, i64 4628899878682000391, i64 4610963876667000126, i64 4628996151492803523, i64 4610978333400747608, i64 4629094883030358944, i64 4610992963227645175, i64 4629196170350514261, i64 4611007770659262922, i64 4629300115726501836, i64 4611022760388967704, i64 4629406827005913828, i64 4611037937301902096, i64 4629516417997480564, i64 4611053306485660732, i64 4629629008890602254, i64 4611068873241723509, i64 4629722571823896462, i64 4611084643097711165, i64 4629782061376244898, i64 4611100621820535452, i64 4629843252684691814, i64 4611116815430523670, i64 4629906221092236468, i64 4611133230216605761, i64 4629971046491526161, i64 4611149872752661627, i64 4630037813675108566, i64 4611158281563490443, i64 4630071953367069216, i64 4611166749915137013, i64 4630106612718643030, i64 4611175278717550531, i64 4630141803883643159, i64 4611183868902048293, i64 4630177539400754452, i64 4611192521421995111, i64 4630213832208955805, i64 4611201237253510076, i64 4630250695663692199, i64 4611210017396201987, i64 4630288143553839330, i64 4611218862873934866, i64 4630326190119506655, i64 4611227774735625046, i64 4630364850070727650, i64 4611236754056071418, i64 4630404138607089437, i64 4611245801936820510, i64 4630444071438357394, i64 4611254919507068162, i64 4630484664806154241, i64 4611264107924599691, i64 4630525935506757132, i64 4611273368376770528, i64 4630567900915080756, i64 4611282702081529446, i64 4630610579009919187, i64 4611292110288486631, i64 4630653988400524398, i64 4611301594280028962, i64 4630698148354604914, i64 4611311155372485062, i64 4630743078827834090, i64 4611320794917342788, i64 4630788800494964039, i64 4611330514302522050, i64 4630835334782648253, i64 4611340314953705993, i64 4630882703904083629, i64 4611350198335733805, i64 4630930930895590888, i64 4611360165954058613, i64 4630980039655261350, i64 4611370219356274158, i64 4631030054983807823, i64 4611380360133714190, i64 4631081002627767937, i64 4611390589923128804, i64 4631132909325219812, i64 4611400910408442192, i64 4631185802854182515, i64 4611411323322596636, i64 4631239712083887411, i64 4611421830449487875, i64 4631294667029121466, i64 4611432433625997348, i64 4631350698907859802, i64 4611443134744127207, i64 4631407840202422609, i64 4611453935753244423, i64 4631466124724410908, i64 4611464838662440760, i64 4631525587683696958, i64 4611475845543015878, i64 4631586265761768345, i64 4611486958531091401, i64 4631648197189750306, i64 4611498179830364326, i64 4631711421831458841, i64 4611509511715008824, i64 4631775981271867904, i64 4611520956532736147, i64 4631841918911407724, i64 4611532516708023140, i64 4631909280066548531, i64 4611544194745520631, i64 4631978112077164872, i64 4611555993233653934, i64 4632048464421220905, i64 4611567914848428600, i64 4632120388837366870, i64 4611579962357455697, i64 4632193939456092066, i64 4611592138624212001, i64 4632269172940140583, i64 4611604446612551812, i64 4632346148634963579, i64 4611616889391488481, i64 4632424928730056748, i64 4611629470140265275, i64 4632505578432114750, i64 4611642192153736933, i64 4632588166151026803, i64 4611655058848085066, i64 4632672763699840486, i64 4611668073766892658, i64 4632759446509935459, i64 4611681240587605161, i64 4632848293862776765, i64 4611690290777898030, i64 4632939389139760353, i64 4611697031891471116, i64 4633032820091823516, i64 4611703854909281722, i64 4633128679130672280, i64 4611710761974503541, i64 4633227063643679080, i64 4611717755316869777, i64 4633328076334730372, i64 4611724837257432027, i64 4633431825593558568, i64 4611732010213652131, i64 4633538425896379991, i64 4611739276704855420, i64 4633647998240985030, i64 4611746639358076687, i64 4633760670619793801, i64 4611754100914333390, i64 4633876578534806730, i64 4611761664235364221, i64 4633995865558851870, i64 4611769332310875201, i64 4634118683948068176, i64 4611777108266340008, i64 4634224605937708345, i64 4611781037714945003, i64 4634256952830532473, i64 4611784995371406326, i64 4634289793953014111, i64 4611788981668444963, i64 4634323140889695641, i64 4611792997048965762, i64 4634357005592522070, i64 4611797041966381727, i64 4634391400395580278, i64 4611801116884951379, i64 4634426338030555375, i64 4611805222280129828, i64 4634461831642945301, i64 4611809358638934203, i64 4634497894809077472, i64 4611813526460324194, i64 4634534541553974249, i64 4611817726255598423, i64 4634571786370117116, i64 4611821958548807477, i64 4634609644237162856, i64 4611826223877184422, i64 4634648130642668657, i64 4611830522791593730, i64 4634687261603887005, i64 4611834855856999537, i64 4634727053690695462, i64 4611839223652954273, i64 4634767524049731003, i64 4611843626774108727, i64 4634808690429803519, i64 4611848065830744678, i64 4634850571208668429, i64 4611852541449331330, i64 4634893185421244115, i64 4611857054273106814, i64 4634936552789366133, i64 4611861604962686148, i64 4634980693753176921, i64 4611866194196697109, i64 4635025629504257027, i64 4611870822672445565, i64 4635071382020611852, i64 4611875491106611949, i64 4635117974103636491, i64 4611880200235980610, i64 4635165429417190626, i64 4611884950818203956, i64 4635213772528925599, i64 4611889743632603393, i64 4635263028954016837, i64 4611894579481009209, i64 4635313225201466865, i64 4611899459188641708, i64 4635364388823157229, i64 4611904383605036057, i64 4635416548465841983, i64 4611909353605013473, i64 4635469733926290971, i64 4611914370089701590, i64 4635523976209808198, i64 4611919433987607000, i64 4635579307592369193, i64 4611924546255743250, i64 4635635761686641676, i64 4611929707880817749, i64 4635693373512176137, i64 4611934919880481341, i64 4635752179570077409, i64 4611940183304644562, i64 4635812217922495173, i64 4611945499236864909, i64 4635873528277300787, i64 4611950868795809786, i64 4635936152078350272, i64 4611956293136800126, i64 4636000132601768917, i64 4611961773453440142, i64 4636065515058732282, i64 4611967310979339003, i64 4636132346705261681, i64 4611972906989930786, i64 4636200676959600059, i64 4611978562804399510, i64 4636270557527787038, i64 4611984279787716636, i64 4636342042538110376, i64 4611990059352799037, i64 4636415188685175886, i64 4611995902962796108, i64 4636490055384409667, i64 4612001812133515423, i64 4636566704937886313, i64 4612007788435997164, i64 4636645202712465411, i64 4612013833499248426, i64 4636725617331317398, i64 4612019949013149502, i64 4636808020880029836, i64 4612026136731545322, i64 4636892489128608027, i64 4612032398475536422, i64 4636979101770821096, i64 4612038736136985128, i64 4637067942682498324, i64 4612045151682254127, i64 4637159100200552662, i64 4612051647156196186, i64 4637252667424701630, i64 4612058224686415604, i64 4637348742544073065, i64 4612064886487823960, i64 4637447429191127764, i64 4612071634867514954, i64 4637548836825606970, i64 4612078472229985602, i64 4637653081151524180, i64 4612085401082733832, i64 4637760284570573369, i64 4612092424042265573, i64 4637870576675725282, i64 4612099543840547937, i64 4637984094789237189, i64 4612106763331948928, i64 4638100984549817647, i64 4612114085500708490, i64 4638221400554276014, i64 4612117786059153355, i64 4638282981830387275, i64 4612121513468990585, i64 4638345507059658197, i64 4612125268143466547, i64 4638408998409836436, i64 4612129050505571529, i64 4638473478752638667, i64 4612132860988350438, i64 4638538971692020016, i64 4612136700035226023, i64 4638605501593819975, i64 4612140568100335238, i64 4638673093616863798, i64 4612144465648879396, i64 4638724694968607211, i64 4612148393157488794, i64 4638759592507999726, i64 4612152351114602537, i64 4638795061392536138, i64 4612156340020864337, i64 4638831115959196021, i64 4612160360389535085, i64 4638867771031697551, i64 4612164412746923074, i64 4638905041941404764, i64 4612168497632832780, i64 4638942944549324338, i64 4612172615601033181, i64 4638981495269258826, i64 4612176767219746636, i64 4639020711092188003, i64 4612180953072159420, i64 4639060609611955151, i64 4612185173756955095, i64 4639101209052340614, i64 4612189429888871932, i64 4639142528295610977, i64 4612193722099285722, i64 4639184586912638727, i64 4612198051036819363, i64 4639227405194694263, i64 4612202417367980734, i64 4639271004187019797, i64 4612206821777830427, i64 4639315405724302935, i64 4612211264970681058, i64 4639360632468176751, i64 4612215747670829954, i64 4639406707946882935, i64 4612220270623327153, i64 4639453656597245223, i64 4612224834594780790, i64 4639501503809111912, i64 4612229440374202077, i64 4639550275972438855, i64 4612234088773892236, i64 4639600000527198103, i64 4612238780630373924, i64 4639650706016312356, i64 4612243516805369853, i64 4639702422141831768, i64 4612248298186831519, i64 4639755179824587591, i64 4612253125690021155, i64 4639809011267576721, i64 4612258000258650249, i64 4639863950023352698, i64 4612262922866078229, i64 4639920031065722233, i64 4612267894516575180, i64 4639977290866072162, i64 4612272916246652743, i64 4640035767474680083, i64 4612277989126467684, i64 4640095500607393116, i64 4612283114261302952, i64 4640156531738093519, i64 4612288292793131422, i64 4640218904197407713, i64 4612293525902267958, i64 4640282663278156929, i64 4612298814809115838, i64 4640347856348093727, i64 4612304160776014127, i64 4640414532970519471, i64 4612309565109193065, i64 4640482745033434149, i64 4612315029160845193, i64 4640552546887932235, i64 4612320554331320524, i64 4640623995496627444, i64 4612326142071454816, i64 4640697150592965996, i64 4612331793885040782, i64 4640772074852373358, i64 4612337511331452901, i64 4640848834076274444, i64 4612343296028437480, i64 4640927497390133181, i64 4612349149655080618, i64 4641008137456775532, i64 4612355073954967911, i64 4641090830706392219, i64 4612361070739550984, i64 4641175657584765261, i64 4612367141891737344, i64 4641262702821428174, i64 4612373289369721615, i64 4641352055719655780, i64 4612379515211077951, i64 4641443810470388708, i64 4612385821537135320, i64 4641538066492433224, i64 4612392210557659524, i64 4641634928801542618, i64 4612398684575868167, i64 4641734508411286436, i64 4612405245993807485, i64 4641836922768953371, i64 4612411897318122866, i64 4641942296230118425, i64 4612418641166258287, i64 4642050760575941978, i64 4612425480273123551, i64 4642162455577765495, i64 4612432417498272470, i64 4642277529614135199, i64 4612435923834787920, i64 4642336382656976740, i64 4612439455833639779, i64 4642396140346032062, i64 4612443013890873956, i64 4642456823960680536, i64 4612446598411889963, i64 4642518455456826840, i64 4612450209811739499, i64 4642581057494091748, i64 4612453848515437094, i64 4642644653464327816, i64 4612457514958283382, i64 4642709267521536010, i64 4612461209586201644, i64 4642774924613264357, i64 4612464932856088275, i64 4642841650513575119, i64 4612468685236177866, i64 4642909471857672808, i64 4612472467206423656, i64 4642978416178291643, i64 4612476279258894125, i64 4643048511943947777, i64 4612480121898186561, i64 4643119788599168943, i64 4612483995641858491, i64 4643192276606821962, i64 4612487901020877900, i64 4643238611655824234, i64 4612491838580093239, i64 4643276114855629332, i64 4612495808878724274, i64 4643314272709725866, i64 4612499812490874899, i64 4643353102721197032, i64 4612503850006069101, i64 4643392623026273083, i64 4612507922029811352, i64 4643432852423316380, i64 4612512029184172775, i64 4643473810403416895, i64 4612516172108404522, i64 4643515517182703685, i64 4612520351459579905, i64 4643557993736485863, i64 4612524567913266900, i64 4643601261835345241, i64 4612528822164232791, i64 4643645344083312260, i64 4612533114927182795, i64 4643690263958267075, i64 4612537446937534679, i64 4643736045854718813, i64 4612541818952231481, i64 4643782715129128212, i64 4612546231750594627, i64 4643830298147952058, i64 4612550686135219870, i64 4643878822338602360, i64 4612555182932918670, i64 4643928316243528974, i64 4612559722995707817, i64 4643978809577651669, i64 4612564307201850282, i64 4644030333289386547, i64 4612568936456950552, i64 4644082919625532411, i64 4612573611695107885, i64 4644136602200305390, i64 4612578333880131215, i64 4644191416068835020, i64 4612583104006819725, i64 4644247397805462331, i64 4612587923102313391, i64 4644304585587210576, i64 4612592792227518148, i64 4644363019282832302, i64 4612597712478610691, i64 4644422740547872951, i64 4612602684988628330, i64 4644483792926231358, i64 4612607710929149736, i64 4644546221958741928, i64 4612612791512072905, i64 4644610075299352319, i64 4612617927991497174, i64 4644675402839524747, i64 4612623121665716721, i64 4644742256841549183, i64 4612628373879333546, i64 4644810692081523385, i64 4612633686025498696, i64 4644880766002828826, i64 4612639059548291166, i64 4644952538881013877, i64 4612644495945244804, i64 4645026074001087323, i64 4612649996770034418, i64 4645101437848327487, i64 4612655563635333305, i64 4645178700313826285, i64 4612661198215855522, i64 4645257934916115062, i64 4612666902251597458, i64 4645339219040361772, i64 4612672677551294616, i64 4645422634196789013, i64 4612678525996111009, i64 4645508266300142044, i64 4612684449543580259, i64 4645596205972237757, i64 4612690450231819332, i64 4645686548869852957, i64 4612696530184037908, i64 4645779396040466672, i64 4612702691613368687, i64 4645874854308660869, i64 4612708936828046481, i64 4645973036696311701, i64 4612715268236966844, i64 4646074062880074937, i64 4612721688355658174, i64 4646178059690091132, i64 4612728199812704817, i64 4646285161654316042, i64 4612734805356662784, i64 4646395511593428879, i64 4612738144304784657, i64 4646451951611544112, i64 4612741507863514207, i64 4646509261271895768, i64 4612744896413579152, i64 4646567461059547440, i64 4612748310344711798, i64 4646626572111480705, i64 4612751750055936772, i64 4646686616242816698, i64 4612755215955870376, i64 4646747615974316118, i64 4612758708463032125, i64 4646809594561231098, i64 4612762228006169083, i64 4646872576023587217, i64 4612765775024593627, i64 4646936585177979168, i64 4612769349968535308, i64 4647001647670969215, i64 4612772953299507537, i64 4647067790014183636, i64 4612776585490689832, i64 4647135039621208865, i64 4612780247027326452, i64 4647203424846396086, i64 4612783938407142246, i64 4647272975025690607, i64 4612787660140776641, i64 4647343720519610525, i64 4612791412752236709, i64 4647415692758508050, i64 4612795196779370338, i64 4647488924290256367, i64 4612799012774360602, i64 4647563448830515294, i64 4612802861304242455, i64 4647639301315740114, i64 4612806742951442999, i64 4647715666702730995, i64 4612810658314346617, i64 4647754975877959159, i64 4612814608007886360, i64 4647795005380257489, i64 4612818592664163073, i64 4647835775415151140, i64 4612822612933093838, i64 4647877306954989375, i64 4612826669483091416, i64 4647919621775782883, i64 4612830763001776491, i64 4647962742496189494, i64 4612834894196724638, i64 4648006692618796103, i64 4612839063796250067, i64 4648051496573856400, i64 4612843272550228344, i64 4648097179765656761, i64 4612847521230960447, i64 4648143768621696691, i64 4612851810634080675, i64 4648191290644885463, i64 4612856141579511110, i64 4648239774468973282, i64 4612860514912465539, i64 4648289249917453604, i64 4612864931504505952, i64 4648339748066193229, i64 4612869392254654948, i64 4648391301310068734, i64 4612873898090567659, i64 4648443943433911873, i64 4612878449969767054, i64 4648497709688093035, i64 4612883048880946795, i64 4648552636869100878, i64 4612887695845346130, i64 4648608763405508297, i64 4612892391918201670, i64 4648666129449750086, i64 4612897138190281274, i64 4648724776976176555, i64 4612901935789505697, i64 4648784749885890263, i64 4612906785882664098, i64 4648846094118920477, i64 4612911689677230022, i64 4648908857774342437, i64 4612916648423285023, i64 4648973091239006687, i64 4612921663415557672, i64 4649038847325608201, i64 4612926735995586397, i64 4649106181420896675, i64 4612931867554015284, i64 4649175151644908998, i64 4612937059533032812, i64 4649245819022193547, i64 4612942313428964341, i64 4649318247666094835, i64 4612947630795030164, i64 4649392504977277318, i64 4612953013244281998, i64 4649468661857790513, i64 4612958462452731979, i64 4649546792942115598, i64 4612963980162689536, i64 4649626976846788404, i64 4612969568186322973, i64 4649709296440367409, i64 4612975228409464193, i64 4649793839135710631, i64 4612980962795676822, i64 4649880697206745236, i64 4612986773390609932, i64 4649969968132161725, i64 4612992662326661850, i64 4650061754968744742, i64 4612998631827980965, i64 4650156166757369685, i64 4613004684215833247, i64 4650253318965053704, i64 4613010821914369306, i64 4650353333966857925, i64 4613017047456827272, i64 4650456341571902109, i64 4613023363492211716, i64 4650562479598282360, i64 4613026556305980492, i64 4650616767931219801, i64 4613029772792493222, i64 4650671894502287046, i64 4613033013318734232, i64 4650727879081354310, i64 4613036278260378176, i64 4650784742067997965, i64 4613039568002067973, i64 4650842504516845551, i64 4613042882937703963, i64 4650901188164157173, i64 4613046223470744862, i64 4650960815455714281, i64 4613049590014521071, i64 4651021409576091611, i64 4613052982992560967, i64 4651082994479393054, i64 4613056402838930829, i64 4651145594921537736, i64 4613059849998589086, i64 4651209236494188392, i64 4613063324927755619, i64 4651273945660420467, i64 4613066828094296896, i64 4651339749792237191, i64 4613070359978127754, i64 4651406677210043172, i64 4613073921071630716, i64 4651474757224197026, i64 4613077511880093759, i64 4651544020178772080, i64 4613081132922167515, i64 4651614497497663450, i64 4613084784730342966, i64 4651686221733189783, i64 4613088467851450738, i64 4651759226617348783, i64 4613092182847183171, i64 4651833547115897341, i64 4613095930294640448, i64 4651909219485439810, i64 4613099710786902100, i64 4651986281333721700, i64 4613103524933625348, i64 4652064771683341048, i64 4613107373361671778, i64 4652144731039105928, i64 4613111256715764014, i64 4652222308266503281, i64 4613115175659174099, i64 4652263820852366573, i64 4613119130874445465, i64 4652306133511930534, i64 4613123123064150470, i64 4652349269839782563, i64 4613127152951685635, i64 4652393254372016005, i64 4613131221282106855, i64 4652438112633798854, i64 4613135328823007032, i64 4652483871189861310, i64 4613139476365438740, i64 4652530557698113579, i64 4613143664724884721, i64 4652578200966623010, i64 4613147894742279251, i64 4652626831014199022, i64 4613152167285083584, i64 4652676479134855543, i64 4613156483248418976, i64 4652727177966443995, i64 4613160843556261020, i64 4652778961563775453, i64 4613165249162699336, i64 4652831865476578774, i64 4613169701053266959, i64 4652885926832672497, i64 4613174200246344107, i64 4652941184426762415, i64 4613178747794641400, i64 4652997678815314432, i64 4613183344786767987, i64 4653055452417993831, i64 4613187992348890501, i64 4653114549626208102, i64 4613192691646489235, i64 4653175016919341268, i64 4613197443886218474, i64 4653236902989324037, i64 4613202250317878494, i64 4653300258874246570, i64 4613207112236507390, i64 4653365138101790063, i64 4613212030984601591, i64 4653431596843330505, i64 4613217007954474695, i64 4653499694079653889, i64 4613222044590765121, i64 4653569491779317910, i64 4613227142393104007, i64 4653641055090802114, i64 4613232302918955815, i64 4653714452549707952, i64 4613237527786645279, i64 4653789756302403959, i64 4613242818678585566, i64 4653867042347661237, i64 4613248177344723964, i64 4653946390797992772, i64 4613253605606222955, i64 4654027886162599393, i64 4613259105359396260, i64 4654111617654038316, i64 4613264678579921410, i64 4654197679520970651, i64 4613270327327352509, i64 4654286171409615857, i64 4613276053749959292, i64 4654377198756848473, i64 4613281860089921253, i64 4654470873218220953, i64 4613287748688908634, i64 4654567313134592099, i64 4613293721994085438, i64 4654666644041490845, i64 4613299782564573416, i64 4654768999225858360, i64 4613302846406351822, i64 4654821354842574216, i64 4613305933078420265, i64 4654874520335397568, i64 4613309042935350543, i64 4654928514826210156, i64 4613312176340120044, i64 4654983358046430005, i64 4613315333664380778, i64 4655039070361559115, i64 4613318515288739292, i64 4655095672796929191, i64 4613321721603047991, i64 4655153187064714283, i64 4613324953006708444, i64 4655211635592283739, i64 4613328209908987251, i64 4655271041551973833, i64 4613331492729345125, i64 4655331428892361654, i64 4613334801897779849, i64 4655392822371130567, i64 4613338137855183804, i64 4655455247589622672, i64 4613341501053716848, i64 4655518731029180277, i64 4613344891957195314, i64 4655583300089385522, i64 4613348311041497998, i64 4655648983128315001, i64 4613351758794990016, i64 4655715809504934480, i64 4613355235718965496, i64 4655783809623767819, i64 4613358742328110124, i64 4655853014981983887, i64 4613362279150984603, i64 4655923458219055741, i64 4613365846730530204, i64 4655995173169157732, i64 4613369445624597596, i64 4656068194916478482, i64 4613373076406500295, i64 4656142559853641079, i64 4613376739665594090, i64 4656218305743436271, i64 4613380436007883940, i64 4656295471784090247, i64 4613384166056659932, i64 4656374098678305655, i64 4613387930453163963, i64 4656454228706333152, i64 4613391729857288973, i64 4656535905803351033, i64 4613395564948312648, i64 4656619175641452572, i64 4613399436425667650, i64 4656704085716564773, i64 4613403345009750596, i64 4656756350070870702, i64 4613407291442772139, i64 4656800520470325895, i64 4613411276489650698, i64 4656845588179034212, i64 4613415300938952554, i64 4656891581082970250, i64 4613419365603881231, i64 4656938528240964198, i64 4613423471323319308, i64 4656986459947182559, i64 4613427618962926031, i64 4657035407797653069, i64 4613431809416294367, i64 4657085404761142893, i64 4613436043606171394, i64 4657136485254726537, i64 4613440322485746258, i64 4657188685224409973, i64 4613444647040010237, i64 4657242042231210599, i64 4613449018287193820, i64 4657296595543129231, i64 4613453437280286102, i64 4657352386233490630, i64 4613457905108642235, i64 4657409457286173704, i64 4613462422899685126, i64 4657467853708301870, i64 4613466991820708130, i64 4657527622651018725, i64 4613471613080785999, i64 4657588813539034864, i64 4613476287932802023, i64 4657651478209699006, i64 4613481017675599939, i64 4657715671062421523, i64 4613485803656269971, i64 4657781449219361831, i64 4613490647272579173, i64 4657848872698384091, i64 4613495549975557150, i64 4657918004599389441, i64 4613500513272249280, i64 4657988911305248978, i64 4613505538728650631, i64 4658061662698691605, i64 4613510627972835022, i64 4658136332396646395, i64 4613515782698295043, i64 4658212998003702604, i64 4613521004667510374, i64 4658291741386534213, i64 4613526295715763397, i64 4658372648971342840, i64 4613531657755223021, i64 4658455812066606287, i64 4613537092779319682, i64 4658541327213683733, i64 4613542602867436856, i64 4658629296568127019, i64 4613548190189946991, i64 4658719828314885868, i64 4613553857013622737, i64 4658813037120979122, i64 4613559605707457568, i64 4658909044629641331, i64 4613565438748933635, i64 4659007980000452412, i64 4613568387705567264, i64 4659058588196134023, i64 4613571358730778768, i64 4659109980500527386, i64 4613574352167862579, i64 4659162175445113351, i64 4613577368368259280, i64 4659215192152494661, i64 4613580407691816510, i64 4659269050360214585, i64 4613583470507060430, i64 4659323770445738501, i64 4613586557191478258, i64 4659379373452665313, i64 4613589668131812433, i64 4659435881118239978, i64 4613592803724366968, i64 4659493315902243238, i64 4613595964375326630, i64 4659551701017339730, i64 4613599150501089573, i64 4659611060460971214, i64 4613602362528614128, i64 4659671419048887577, i64 4613605600895780474, i64 4659732802450414697, i64 4613608866051767968, i64 4659795237225565174, i64 4613612158457448946, i64 4659858750864105374, i64 4613615478585799880, i64 4659923371826700324, i64 4613618826922330812, i64 4659989129588266692, i64 4613622203965534048, i64 4660056054683673498, i64 4613625610227353167, i64 4660124178755940429, i64 4613629046233673451, i64 4660193534607094635, i64 4613632512524834932, i64 4660264156251858876, i64 4613636009656169316, i64 4660336078974356859, i64 4613639538198562133, i64 4660409339388035680, i64 4613643098739041553, i64 4660483975499020592, i64 4613646691881395402, i64 4660560026773133960, i64 4613650318246818010, i64 4660637534206828309, i64 4613653978474588662, i64 4660716540402303126, i64 4613657673222783498, i64 4660797089647096472, i64 4613661403169022884, i64 4660879227998465902, i64 4613665169011256399, i64 4660963003372898705, i64 4613668971468587725, i64 4661048465641119376, i64 4613672811282141907, i64 4661135666728992731, i64 4613676689215977643, i64 4661224660724754456, i64 4613680606058047411, i64 4661270559160750385, i64 4613684562621208515, i64 4661316934812332740, i64 4613688559744288302, i64 4661364295125993598, i64 4613692598293207096, i64 4661412672078650110, i64 4613696679162162637, i64 4661462099052876649, i64 4613700803274880130, i64 4661512610915194188, i64 4613704971585932302, i64 4661564244099659683, i64 4613709185082134263, i64 4661617036697179350, i64 4613713444784018293, i64 4661671028551008885, i64 4613717751747394145, i64 4661726261358947109, i64 4613722107065000885, i64 4661782778782777423, i64 4613726511868256801, i64 4661840626565564677, i64 4613730967329114467, i64 4661899852657473976, i64 4613735474662028643, i64 4661960507350843466, i64 4613740035126045374, i64 4662022643425315944, i64 4613744650027021351, i64 4662086316303915214, i64 4613749320719983449, i64 4662151584221043504, i64 4613754048611639186, i64 4662218508403477166, i64 4613758835163049890, i64 4662287153265550659, i64 4613763681892479389, i64 4662357586619845120, i64 4613768590378432277, i64 4662429879904839346, i64 4613773562262897117, i64 4662504108431139971, i64 4613778599254811424, i64 4662580351648086299, i64 4613783703133766918, i64 4662658693432726518, i64 4613788875753975338, i64 4662739222403389018, i64 4613794119048517172, i64 4662822032260329015, i64 4613799435033897904, i64 4662907222156220949, i64 4613804825814938925, i64 4662994897099596179, i64 4613810293590033097, i64 4663085168394699282, i64 4613815840656798141, i64 4663178154121661463, i64 4613821469418164602, i64 4663273979661374383, i64 4613824315215640363, i64 4663322998679120726, i64 4613827182388939170, i64 4663372778270001425, i64 4613830071271054573, i64 4663423336424842174, i64 4613832982202888682, i64 4663474691708697106, i64 4613835915533505622, i64 4663526863283997662, i64 4613838871620395247, i64 4663579870934832133, i64 4613841850829747612, i64 4663633735092420927, i64 4613844853536738751, i64 4663688476861856898, i64 4613847880125828299, i64 4663744118050184723, i64 4613850930991069579, i64 4663800681195898300, i64 4613854006536432772, i64 4663858189599940516, i64 4613857107176141843, i64 4663916667358295519, i64 4613860233335025932, i64 4663976139396269866, i64 4613863385448885960, i64 4664036631504565649, i64 4613866563964877261, i64 4664098170377255974, i64 4613869769341909074, i64 4664160783651780978, i64 4613873002051061796, i64 4664224499951091101, i64 4613876262576022976, i64 4664289348928073437, i64 4613879551413543039, i64 4664355361312406953, i64 4613882869073911850, i64 4664422568960003091, i64 4613886216081457251, i64 4664491004905199905, i64 4613889592975066820, i64 4664560703415890529, i64 4613893000308734157, i64 4664631700051780471, i64 4613896438652131084, i64 4664704031725983103, i64 4613899908591207272, i64 4664777736770178909, i64 4613903410728818872, i64 4664852855003581661, i64 4613906945685387866, i64 4664929427805973840, i64 4613910514099593945, i64 4665007498195094514, i64 4613914116629100884, i64 4665087110908685643, i64 4613917753951319474, i64 4665168312491527654, i64 4613921426764209271, i64 4665251151387822250, i64 4613925135787121542, i64 4665335678039310127, i64 4613928881761685988, i64 4665421944989543728, i64 4613932665452743998, i64 4665510006994770772, i64 4613936487649331411, i64 4665599921141923261, i64 4613940349165713964, i64 4665691746974249519, i64 4613944250842478861, i64 4665757380290503830, i64 4613948193547686165, i64 4665805299458426792, i64 4613952178178083990, i64 4665854271844562270, i64 4613956205660391792, i64 4665904332848548465, i64 4613960276952656397, i64 4665955519480775637, i64 4613964393045685780, i64 4666007870455271260, i64 4613968554964566010, i64 4666061426289097688, i64 4613972763770267233, i64 4666116229408801930, i64 4613977020561345044, i64 4666172324264508883, i64 4613981326475744142, i64 4666229757452306787, i64 4613985682692711744, i64 4666288577845637415, i64 4613990090434828894, i64 4666348836736474401, i64 4613994550970168493, i64 4666410587987152068, i64 4613999065614589679, i64 4666473888193795101, i64 4614003635734179047, i64 4666538796862397669, i64 4614008262747850141, i64 4666605376598710423, i64 4614012948130113717, i64 4666673693313216764, i64 4614017693414032444, i64 4666743816442617588, i64 4614022500194374988, i64 4666815819189398504, i64 4614027370130985890, i64 4666889778781227509, i64 4614032304952389205, i64 4666965776752127105, i64 4614037306459645685, i64 4667043899247585903, i64 4614042376530485239, i64 4667124237356024516, i64 4614047517123738631, i64 4667206887469313264, i64 4614052730284094835, i64 4667291951675359661, i64 4614058018147213243, i64 4667379538186147693, i64 4614063382945223011, i64 4667469761805025057, i64 4614068827012645330, i64 4667562744437506706, i64 4614071579531482990, i64 4667610310557842828, i64 4614074352792778321, i64 4667658615650402362, i64 4614077147120070492, i64 4667707677208645093, i64 4614079962844588662, i64 4667757513284692936, i64 4614082800305498568, i64 4667808142511860867, i64 4614085659850159091, i64 4667859584128288730, i64 4614088541834389305, i64 4667911858001737275, i64 4614091446622746520, i64 4667964984655615950, i64 4614094374588815860, i64 4668018985296314501, i64 4614097326115511971, i64 4668073881841915318, i64 4614100301595393465, i64 4668129696952368660, i64 4614103301430990754, i64 4668186454061218559, i64 4614106326035147964, i64 4668244177408973272, i64 4614109375831379663, i64 4668302892078220704, i64 4614112451254243186, i64 4668362624030596308, i64 4614115552749727369, i64 4668423400145718591, i64 4614118680775658590, i64 4668485248262215648, i64 4614121835802125032, i64 4668548197220975042, i64 4614125018311920168, i64 4668612276910759028, i64 4614128228801006532, i64 4668677518316337604, i64 4614131467779000881, i64 4668743953569303186, i64 4614134735769681969, i64 4668811616001743028, i64 4614138033311522188, i64 4668880540202958861, i64 4614141360958244457, i64 4668950762079437728, i64 4614144719279405803, i64 4669022318918293749, i64 4614148108861009187, i64 4669095249454417723, i64 4614151530306145235, i64 4669169593941590135, i64 4614154984235665649, i64 4669245394227833473, i64 4614158471288890199, i64 4669322693835301988, i64 4614161992124349319, i64 4669401538045031203, i64 4614165547420564496, i64 4669481973986895966, i64 4614169137876868775, i64 4669564050735154762, i64 4614172764214269899, i64 4669647819409989641, i64 4614176427176358753, i64 4669733333285485817, i64 4614180127530266025, i64 4669820647904532988, i64 4614183866067670174, i64 4669909821201172149, i64 4614187643605860050, i64 4670000913630957516, i64 4614191460988855777, i64 4670093988309953540, i64 4614195319088591772, i64 4670189111163042475, i64 4614199218806166080, i64 4670259582332741713, i64 4614203161073160560, i64 4670309296839650378, i64 4614207146853036790, i64 4670360143566722757, i64 4614211177142612981, i64 4670412161942301798, i64 4614215252973627606, i64 4670465393253883808, i64 4614219375414395950, i64 4670519880759249539, i64 4614223545571566283, i64 4670575669805674871, i64 4614227764591982945, i64 4670632807957915531, i64 4614232033664664276, i64 4670691345135729412, i64 4614236354022903981, i64 4670751333761776981, i64 4614240726946505327, i64 4670812828920826099, i64 4614245153764158377, i64 4670875888531283323, i64 4614249635855971415, i64 4670940573530180876, i64 4614254174656168737, i64 4671006948072868308, i64 4614258771655968125, i64 4671075079748792299, i64 4614263428406652571, i64 4671145039814898905, i64 4614268146522852248, i64 4671216903448362271, i64 4614272927686054232, i64 4671290750020534881, i64 4614277773648359255, i64 4671366663394230002, i64 4614282686236506686, i64 4671444732246690518, i64 4614287667356191073, i64 4671525050420874012, i64 4614292718996696008, i64 4671607717307996481, i64 4614297843235873775, i64 4671692838264632042, i64 4614303042245502244, i64 4671780525068069871, i64 4614308318297053904, i64 4671870896414090129, i64 4614310985952167072, i64 4671917127907817766, i64 4614313673767915711, i64 4671964078461846568, i64 4614316382059123648, i64 4672011765110195657, i64 4614319111148102789, i64 4672060205431145541, i64 4614321861364893357, i64 4672109417569196724, i64 4614324633047513846, i64 4672159420258101577, i64 4614327426542221202, i64 4672210232845031222, i64 4614330242203781705, i64 4672261875315943298, i64 4614333080395753108, i64 4672314368322220880, i64 4614335941490778589, i64 4672367733208657554, i64 4614338825870893124, i64 4672421992042868768, i64 4614341733927842901, i64 4672477167646215084, i64 4614344666063418470, i64 4672533283626328858, i64 4614347622689802322, i64 4672590364411342310, i64 4614350604229931676, i64 4672648435285921810, i64 4614353611117877265, i64 4672707522429220680, i64 4614356643799238980, i64 4672767652954870882, i64 4614359702731559288, i64 4672828854953142629, i64 4614362788384755388, i64 4672891157535410440, i64 4614365901241571126, i64 4672954590881074345, i64 4614369041798049787, i64 4673019186287095998, i64 4614372210564028907, i64 4673084976220321503, i64 4614375408063658373, i64 4673151994372775739, i64 4614378634835943116, i64 4673220275720127165, i64 4614381891435311845, i64 4673289856583537429, i64 4614385178432213300, i64 4673360774695126867, i64 4614388496413741677, i64 4673433069267305193, i64 4614391845984292928, i64 4673506781066236519, i64 4614395227766253801, i64 4673581952489729520, i64 4614398642400725604, i64 4673658627649867163, i64 4614402090548284801, i64 4673736852460716253, i64 4614405572889782736, i64 4673816674731485274, i64 4614409090127186920, i64 4673898144265529868, i64 4614412642984466495, i64 4673981312965639163, i64 4614416232208524706, i64 4674066234946073229, i64 4614419858570181412, i64 4674152966651862668, i64 4614423522865208880, i64 4674241566985926037, i64 4614427225915424400, i64 4674332097444610026, i64 4614430968569843478, i64 4674424622262311368, i64 4614434751705897716, i64 4674519208565899167, i64 4614438576230721768, i64 4674615926539722067, i64 4614442443082514148, i64 4674714849602057343, i64 4614446353231977029, i64 4674776233902257072, i64 4614450307683840622, i64 4674828017595984022, i64 4614454307478478165, i64 4674881024641387175, i64 4614458353693618075, i64 4674935299229498571, i64 4614462447446160380, i64 4674990887713316018, i64 4614466589894105141, i64 4675047838741931893, i64 4614470782238601288, i64 4675106203404786971, i64 4614475025726124995, i64 4675166035386953244, i64 4614479321650797580, i64 4675227391136443154, i64 4614483671356853799, i64 4675290330044647210, i64 4614488076241272417, i64 4675354914641118935, i64 4614492537756582051, i64 4675421210804057319, i64 4614497057413856493, i64 4675489287987984204, i64 4614501636785915127, i64 4675559219470279679, i64 4614506277510745517, i64 4675631082618425110, i64 4614510981295166985, i64 4675704959180013852, i64 4614515749918755852, i64 4675780935597827449, i64 4614520585238055127, i64 4675859103352544258, i64 4614525489191093766, i64 4675939559335952543, i64 4614530463802243291, i64 4676022406257886617, i64 4614535511187442470, i64 4676107753090499001, i64 4614540633559824091, i64 4676195715553931098, i64 4614543223585872087, i64 4676240715784712431, i64 4614545833235781620, i64 4676286416647958479, i64 4614548462816310575, i64 4676332834751679112, i64 4614551112641517699, i64 4676379987234774629, i64 4614553783032996930, i64 4676427891788462424, i64 4614556474320121227, i64 4676476566678751205, i64 4614559186840296356, i64 4676526030770023073, i64 4614561920939225138, i64 4676576303549787743, i64 4614564676971182671, i64 4676627405154677538, i64 4614567455299303083, i64 4676679356397756365, i64 4614570256295878401, i64 4676732178797220908, i64 4614573080342670160, i64 4676785894606577631, i64 4614575927831234395, i64 4676840526846384969, i64 4614578799163260736, i64 4676896099337656324, i64 4614581694750926330, i64 4676952636737026257, i64 4614584615017265382, i64 4677010164573789499, i64 4614587560396555149, i64 4677068709288930309, i64 4614590531334719276, i64 4677128298276268204, i64 4614593528289749426, i64 4677188959925855289, i64 4614596551732146189, i64 4677250723669770400, i64 4614599602145380367, i64 4677313620030466069, i64 4614602680026375758, i64 4677377680671836068, i64 4614605785886014654, i64 4677442938453183981, i64 4614608920249667360, i64 4677509427486287091, i64 4614612083657747119, i64 4677577183195764911, i64 4614615276666291901, i64 4677646242382977995, i64 4614618499847574666, i64 4677716643293700497, i64 4614621753790743759, i64 4677788425689829311, i64 4614625039102495278, i64 4677861630925413794, i64 4614628356407779312, i64 4677936302027313140, i64 4614631706350542155, i64 4678012483780813696, i64 4614635089594506708, i64 4678090222820566089, i64 4614638506823993442, i64 4678169567727232181, i64 4614641958744784503, i64 4678250569130264954, i64 4614645446085033699, i64 4678333279817280634, i64 4614648969596225332, i64 4678417754850522146, i64 4614652530054185055, i64 4678504051690956667, i64 4614656128260146189, i64 4678592230330598109, i64 4614659765041875198, i64 4678682353433698182, i64 4614663441254860298, i64 4678774486487508033, i64 4614667157783567518, i64 4678868697963376636, i64 4614670915542768859, i64 4678965059489023159, i64 4614674715478947574, i64 4679063646032898911, i64 4614678558571786034, i64 4679164536101641364, i64 4614682445835742057, i64 4679253912394832119, i64 4614686378321720107, i64 4679306786327208502, i64 4614690357118844316, i64 4679360941493908934, i64 4614694383356340854, i64 4679416425363204566, i64 4614698458205537879, i64 4679473287785508798, i64 4614702582881991972, i64 4679531581145007071, i64 4614706758647750824, i64 4679591360523033355, i64 4614710986813762778, i64 4679652683874269916, i64 4614715268742444837, i64 4679715612216961263, i64 4614719605850421838, i64 4679780209838461384, i64 4614723999611450662, i64 4679846544517577312, i64 4614728451559544732, i64 4679914687765333891, i64 4614732963292315491, i64 4679984715085966972, i64 4614737536474549235, i64 4680056706260157828, i64 4614742172842039493, i64 4680130745652754018, i64 4614746874205697217, i64 4680206922547484883, i64 4614751642455963338, i64 4680285331511478065, i64 4614756479567550811, i64 4680366072792722146, i64 4614761387604546155, i64 4680449252754005901, i64 4614766368725903759, i64 4680534984347304100, i64 4614768887395280477, i64 4680578844231978214, i64 4614771425191369832, i64 4680623387633081696, i64 4614773982413437802, i64 4680668630762252480, i64 4614776559367877027, i64 4680714590349562783, i64 4614779156368435644, i64 4680761283664449750, i64 4614781773736455397, i64 4680808728537669666, i64 4614784411801119480, i64 4680856943384334670, i64 4614787070899710595, i64 4680905947228094814, i64 4614789751377879730, i64 4680955759726532516, i64 4614792453589926206, i64 4681006401197840984, i64 4614795177899089558, i64 4681057892648863063, i64 4614797924677853856, i64 4681110255804572205, i64 4614800694308265117, i64 4681163513139082918, i64 4614803487182262473, i64 4681217687908284168, i64 4614806303702023844, i64 4681272804184195788, i64 4614809144280326857, i64 4681328886891155050, i64 4614812009340925846, i64 4681385961843948296, i64 4614814899318945799, i64 4681444055788010774, i64 4614817814661294162, i64 4681503196441826894, i64 4614820755827091502, i64 4681563412541672828, i64 4614823723288122063, i64 4681624733888853954, i64 4614826717529305325, i64 4681687191399601131, i64 4614829739049189773, i64 4681750817157802183, i64 4614832788360470122, i64 4681815644470758539, i64 4614835865990529368, i64 4681881707928171628, i64 4614838972482007096, i64 4681949043464579613, i64 4614842108393395598, i64 4682017688425482474, i64 4614845274299665451, i64 4682087681637412374, i64 4614848470792922317, i64 4682159063482226945, i64 4614851698483096860, i64 4682231875975925695, i64 4614854957998669807, i64 4682306162852314376, i64 4614858249987434323, i64 4682381969651869149, i64 4614861575117298031, i64 4682459343816181833, i64 4614864934077127192, i64 4682538334788399900, i64 4614868327577635713, i64 4682618994120110260, i64 4614871756352321897, i64 4682701375585154802, i64 4614875221158456036, i64 4682785535300908361, i64 4614878722778122200, i64 4682871531857596762, i64 4614882262019317843, i64 4682959426456284287, i64 4614885839717115113, i64 4683049283056216914, i64 4614889456734888081, i64 4683141168532270497, i64 4614893113965610438, i64 4683235152843322471, i64 4614896812333228573, i64 4683331309212442403, i64 4614900552794115352, i64 4683429714319881597, i64 4614904336338610377, i64 4683530448509936069, i64 4614908163992652971, i64 4683633596012861576, i64 4614912036819514674, i64 4683739245183135320, i64 4614915955921638644, i64 4683795550610401850, i64 4614919922442593961, i64 4683851018292794089, i64 4614923937569153594, i64 4683907883042607014, i64 4614928002533505536, i64 4683966198666775514, i64 4614932118615607500, i64 4684026021780204666, i64 4614936287145696525, i64 4684087411991712422, i64 4614940509506965894, i64 4684150432104964995, i64 4614944787138422953, i64 4684215148335835810, i64 4614949121537942717, i64 4684281630547777157, i64 4614953514265533604, i64 4684349952506972055, i64 4614957966946833261, i64 4684420192159234958, i64 4614962481276854214, i64 4684492431930857264, i64 4614967059024001140, i64 4684566759055850851, i64 4614971702034383746, i64 4684643265932334579, i64 4614976412236451791, i64 4684722050511140047, i64 4614981191645981609, i64 4684803216720089936, i64 4614986042371446639, i64 4684886874927832159, i64 4614988495163315463, i64 4684929674906595044, i64 4614990966619808061, i64 4684973142451604098, i64 4614993457033208683, i64 4685017293404536238, i64 4614995966702765651, i64 4685062144113863303, i64 4614998495934915050, i64 4685107711455318794, i64 4615001045043513502, i64 4685154012853365735, i64 4615003614350080447, i64 4685201066303723304, i64 4615006204184050420, i64 4685248890397013719, i64 4615008814883035810, i64 4685297504343594972, i64 4615011446793100632, i64 4685346927999649428, i64 4615014100269045882, i64 4685397181894603087, i64 4615016775674707047, i64 4685448287259955441, i64 4615019473383264425, i64 4685500266059605384, i64 4615022193777566895, i64 4685553141021764624, i64 4615024937250469866, i64 4685606935672556492, i64 4615027704205188146, i64 4685661674371404980, i64 4615030495055664533, i64 4685717382348326414, i64 4615033310226954971, i64 4685774085743244267, i64 4615036150155631193, i64 4685831811647456445, i64 4615039015290201782, i64 4685890588147393924, i64 4615041906091552701, i64 4685950444370819943, i64 4615044823033408369, i64 4686011410535630195, i64 4615047766602814446, i64 4686073518001426610, i64 4615050737300643571, i64 4686136799324050568, i64 4615053735642125373, i64 4686201288313275741, i64 4615056762157402169, i64 4686267020093876413, i64 4615059817392111862, i64 4686334031170304149, i64 4615062901907999649, i64 4686402359495224239, i64 4615066016283560276, i64 4686472044542183593, i64 4615069161114712675, i64 4686543127382703823, i64 4615072337015508987, i64 4686615650768117418, i64 4615075544618880080, i64 4686689659216491252, i64 4615078784577419844, i64 4686765199105010604, i64 4615082057564210729, i64 4686842318768228433, i64 4615085364273693133, i64 4686921068602619382, i64 4615088705422581493, i64 4687001501177916025, i64 4615092081750830106, i64 4687083671355746674, i64 4615095494022651977, i64 4687167636416140074, i64 4615098943027594215, i64 4687253456192512885, i64 4615102429581673802, i64 4687341193215811657, i64 4615105954528577843, i64 4687430912868542487, i64 4615109518740932755, i64 4687522683549489528, i64 4615113123121647203, i64 4687616576849998561, i64 4615116768605333991, i64 4687712667742785016, i64 4615120456159816557, i64 4687811034784317905, i64 4615124186787726181, i64 4687911760331933286, i64 4615127961528196569, i64 4688014930776944410, i64 4615131781458663006, i64 4688120636795141864, i64 4615135647696773956, i64 4688228973616217587, i64 4615139561402423637, i64 4688293626703244831, i64 4615143523779914906, i64 4688350578605337683, i64 4615147536080262599, i64 4688409003922534320, i64 4615151599603648456, i64 4688468960945337645, i64 4615155715702039751, i64 4688530511089563307, i64 4615159885781984933, i64 4688593719109027316, i64 4615164111307600859, i64 4688658653325863302, i64 4615168393803767586, i64 4688725385880199624, i64 4615172734859548331, i64 4688793993001123522, i64 4615177136131853898, i64 4688864555301082055, i64 4615181599349372909, i64 4688937158096121450, i64 4615186126316791320, i64 4689011891754652152, i64 4615190718919327195, i64 4689088852077751262, i64 4615195379127609469, i64 4689168140714383272, i64 4615200109002932529, i64 4689249865615340934, i64 4615202500736065433, i64 4689291677244057582, i64 4615204910702921942, i64 4689334141530188949, i64 4615207339189260296, i64 4689377273969099918, i64 4615209786487650599, i64 4689421090552043586, i64 4615212252897693705, i64 4689465607786192954, i64 4615214738726248980, i64 4689510842715652656, i64 4615217244287671382, i64 4689556812943507213, i64 4615219769904058309, i64 4689603536654965974, i64 4615222315905506722, i64 4689651032641669004, i64 4615224882630381041, i64 4689699320327222446, i64 4615227470425592372, i64 4689748419794036633, i64 4615230079646889649, i64 4689798351811545181, i64 4615232710659163289, i64 4689849137865888774, i64 4615235363836762039, i64 4689900800191153177, i64 4615238039563823684, i64 4689953361802257328, i64 4615240738234620365, i64 4690006846529594185, i64 4615243460253919290, i64 4690061279055534383, i64 4615246206037359654, i64 4690116684952910710, i64 4615248976011846680, i64 4690173090725610065, i64 4615251770615963690, i64 4690230523851408869, i64 4615254590300403235, i64 4690289012827198084, i64 4615257435528418331, i64 4690348587216754918, i64 4615260306776294960, i64 4690409277701230272, i64 4615263204533847022, i64 4690471116132533896, i64 4615266129304935070, i64 4690534135589813340, i64 4615269081608010174, i64 4690598370439238069, i64 4615272061976684424, i64 4690663856397316816, i64 4615275070960329634, i64 4690730630597994405, i64 4615278109124705948, i64 4690798731663794114, i64 4615281177052622162, i64 4690868199781293273, i64 4615284275344629687, i64 4690939076781243428, i64 4615287404619752265, i64 4691011406223672252, i64 4615290565516253641, i64 4691085233488332673, i64 4615293758692445607, i64 4691160605870895666, i64 4615296984827538994, i64 4691237572685317121, i64 4615300244622540373, i64 4691316185372846515, i64 4615303538801197463, i64 4691396497618186037, i64 4615306868110996447, i64 4691478565473353879, i64 4615310233324214660, i64 4691562447489854986, i64 4615313635239032389, i64 4691648204859817189, i64 4615317074680707812, i64 4691735901566810910, i64 4615320552502819441, i64 4691825604547137182, i64 4615324069588580771, i64 4691917383862442318, i64 4615327626852232247, i64 4692011312884598963, i64 4615331225240516069, i64 4692107468493883532, i64 4615334865734239839, i64 4692205931291580113, i64 4615338549349935542, i64 4692306785828252108, i64 4615342277141620944, i64 4692410120849046558, i64 4615346050202671098, i64 4692516029557533746, i64 4615349869667808320, i64 4692624609899738251, i64 4615353736715219769, i64 4692735964870188994, i64 4615357652568812596, i64 4692800507281032158, i64 4615361618500617517, i64 4692859124821662419, i64 4615365635833352733, i64 4692919301031080463, i64 4615369705943161194, i64 4692981099291681268, i64 4615373830262535504, i64 4693044586479756082, i64 4615378010283446111, i64 4693109833210025123, i64 4615382247560690023, i64 4693176914101023117, i64 4615386543715478964, i64 4693245908063443917, i64 4615390900439287864, i64 4693316898613797326, i64 4615395319497986693, i64 4693389974216011134, i64 4615399802736281082, i64 4693465228653929295, i64 4615404352082489870, i64 4693542761438019004, i64 4615408969553690777, i64 4693622678250011929, i64 4615411304492126629, i64 4693663565498321370, i64 4615413657261268800, i64 4693705091429676098, i64 4615416028140758463, i64 4693747271214398963, i64 4615418417416905801, i64 4693790120508454349, i64 4615420825382904364, i64 4693833655473070819, i64 4615423252339054135, i64 4693877892795324007, i64 4615425698592993710, i64 4693922849709735063, i64 4615428164459942059, i64 4693968544020943647, i64 4615430650262950345, i64 4694014994127518412, i64 4615433156333164299, i64 4694062219046972167, i64 4615435683010097695, i64 4694110238442053484, i64 4615438230641917495, i64 4694159072648391458, i64 4615440799585741257, i64 4694208742703575638, i64 4615443390207947467, i64 4694259270377758860, i64 4615446002884499438, i64 4694310678205876952, i64 4615448638001283545, i64 4694362989521585915, i64 4615451295954462513, i64 4694416228493024432, i64 4615453977150844612, i64 4694470420160517382, i64 4615456682008269605, i64 4694525590476344478, i64 4615459410956012369, i64 4694581766346707306, i64 4615462164435205189, i64 4694638975676037983, i64 4615464942899279752, i64 4694697247413803420, i64 4615467746814429967, i64 4694756611603970847, i64 4615470576660096795, i64 4694817099437312980, i64 4615473432929476366, i64 4694878743306744990, i64 4615476316130052733, i64 4694941576865900458, i64 4615479226784156710, i64 4695005635091169863, i64 4615482165429552358, i64 4695070954347442947, i64 4615485132620052758, i64 4695137572457815732, i64 4615488128926166860, i64 4695205528777544211, i64 4615491154935779309, i64 4695274864272549845, i64 4615494211254865283, i64 4695345621602807395, i64 4615497298508242540, i64 4695417845210973305, i64 4615500417340363015, i64 4695491581416643245, i64 4615503568416146503, i64 4695566878516660742, i64 4615506752421859136, i64 4695643786891935336, i64 4615509970066039586, i64 4695722359121268913, i64 4615513222080476128, i64 4695802650102732972, i64 4615516509221237976, i64 4695884717183188234, i64 4615519832269764538, i64 4695968620296591536, i64 4615523192034016543, i64 4696054422111794055, i64 4615526589349693324, i64 4696142188190600171, i64 4615530025081520865, i64 4696231987156928373, i64 4615533500124615609, i64 4696323890877995516, i64 4615537015405929459, i64 4696417974658534144, i64 4615540571885781839, i64 4696514317449150797, i64 4615544170559485190, i64 4696613002070042198, i64 4615547812459070842, i64 4696714115451407491, i64 4615551498655122788, i64 4696817748892029688, i64 4615555230258727578, i64 4696923998337650042, i64 4615559008423549279, i64 4697032964680927124, i64 4615562834348039253, i64 4697144754084960310, i64 4615566709277791425, i64 4697256944839997543, i64 4615570634508054697, i64 4697315833275586107, i64 4615574611386415280, i64 4697376310115710755, i64 4615578641315662930, i64 4697438440876971247, i64 4615582725756856453, i64 4697502294739503022, i64 4615586866232605351, i64 4697567944807107978, i64 4615591064330586192, i64 4697635468389894111, i64 4615595321707314141, i64 4697704947311731379, i64 4615599640092192253, i64 4697776468245105620, i64 4615604021291863445, i64 4697850123076264167, i64 4615608467194892755, i64 4697926009303901629, i64 4615612979776810462, i64 4698004230475038873, i64 4615615261714814780, i64 4698044250793215762, i64 4615617561105550001, i64 4698084896662210414, i64 4615619878222908785, i64 4698126182946512739, i64 4615622213347318384, i64 4698168124986604461, i64 4615624566765950746, i64 4698210738618196303, i64 4615626938772941144, i64 4698254040192406712, i64 4615629329669615751, i64 4698298046596936404, i64 4615631739764728609, i64 4698342775278296552, i64 4615634169374708447, i64 4698388244265152367, i64 4615636618823915857, i64 4698434472192847948, i64 4615639088444911358, i64 4698481478329182803, i64 4615641578578734883, i64 4698529282601515257, i64 4615644089575197313, i64 4698577905625273179, i64 4615646621793184657, i64 4698627368733958108, i64 4615649175600975555, i64 4698677694010734888, i64 4615651751376572824, i64 4698728904321705526, i64 4615654349508049768, i64 4698781023350973026, i64 4615656970393912080, i64 4698834075637608673, i64 4615659614443476175, i64 4698888086614644477, i64 4615662282077264853, i64 4698943082650221528, i64 4615664973727421258, i64 4698999091091034713, i64 4615667689838142169, i64 4699056140308224830, i64 4615670430866131701, i64 4699114259745880590, i64 4615673197281076591, i64 4699173479972325462, i64 4615675989566144317, i64 4699233832734377850, i64 4615678808218505376, i64 4699295351014787822, i64 4615681653749881138, i64 4699358069093069650, i64 4615684526687118806, i64 4699422022609966907, i64 4615687427572795103, i64 4699487248635805920, i64 4615690356965850428, i64 4699553785743014182, i64 4615693315442255344, i64 4699621674083103082, i64 4615696303595711408, i64 4699690955468439130, i64 4615699322038388482, i64 4699761673459155100, i64 4615702371401700831, i64 4699833873455582280, i64 4615705452337124490, i64 4699907602796617715, i64 4615708565517058565, i64 4699982910864476180, i64 4615711711635733321, i64 4700059849196316023, i64 4615714891410168174, i64 4700138471603271338, i64 4615718105581182876, i64 4700218834297470626, i64 4615721354914465525, i64 4700300996027674650, i64 4615724640201701246, i64 4700385018224224167, i64 4615727962261765746, i64 4700470965154052240, i64 4615731321941988279, i64 4700558904086586617, i64 4615734720119488908, i64 4700648905471446003, i64 4615738157702595399, i64 4700741043128920838, i64 4615741635632345498, i64 4700835394454325533, i64 4615745154884080853, i64 4700932040637416059, i64 4615748716469139375, i64 4701031066898185759, i64 4615752321436653440, i64 4701132562740484739, i64 4615755970875461975, i64 4701236622225055895, i64 4615759665916145217, i64 4701343344263745575, i64 4615763407733191706, i64 4701452832936831261, i64 4615767197547307981, i64 4701565197835615108, i64 4615771036627882423, i64 4701680554432663680, i64 4615774926295615754, i64 4701778517728565972, i64 4615778867925331939, i64 4701839373714658593, i64 4615782862948984546, i64 4701901918489836013, i64 4615786912858875133, i64 4701966223729976688, i64 4615791019211101865, i64 4702032365236263882, i64 4615795183629258457, i64 4702100423236787128, i64 4615799407808405571, i64 4702170482715024908, i64 4615803693519339147, i64 4702242633768048021, i64 4615808042613182740, i64 4702316971997631363, i64 4615812457026333864, i64 4702393598937858905, i64 4615814689357395123, i64 4702432804140283804, i64 4615816938785797643, i64 4702472622523260220, i64 4615819205580019043, i64 4702513068662859287, i64 4615821490014944768, i64 4702554157602036186, i64 4615823792372074176, i64 4702595904869503261, i64 4615826112939734983, i64 4702638326499527044, i64 4615828452013306496, i64 4702681439052702416, i64 4615830809895452042, i64 4702725259637760679, i64 4615833186896361085, i64 4702769805934472123, i64 4615835583334001486, i64 4702815096217707753, i64 4615837999534382451, i64 4702861149382729261, i64 4615840435831828696, i64 4702907984971781070, i64 4615842892569266412, i64 4702955623202063383, i64 4615845370098521659, i64 4703004084995170719, i64 4615847868780631817, i64 4703053392008086348, i64 4615850388986170820, i64 4703103566665829493, i64 4615852931095588877, i64 4703154632195859116, i64 4615855495499567497, i64 4703206612664345630, i64 4615858082599390618, i64 4703259533014430026, i64 4615860692807332763, i64 4703313419106598719, i64 4615863326547065130, i64 4703368297761311990, i64 4615865984254080665, i64 4703424196804034248, i64 4615868666376139145, i64 4703481145112825614, i64 4615871373373733461, i64 4703539172668666548, i64 4615874105720578292, i64 4703598310608700521, i64 4615876863904122482, i64 4703658591282594217, i64 4615879648426086532, i64 4703720048312230466, i64 4615882459803026671, i64 4703782716654966302, i64 4615885298566927124, i64 4703846632670707227, i64 4615888165265822282, i64 4703911834193069196, i64 4615891060464450596, i64 4703978360604922165, i64 4615893984744942169, i64 4704046252918633419, i64 4615896938707542152, i64 4704115553861355657, i64 4615899922971372198, i64 4704186307965733988, i64 4615902938175232423, i64 4704258561666438158, i64 4615905984978446472, i64 4704332363402961466, i64 4615909064061752509, i64 4704407763729166546, i64 4615912176128243165, i64 4704484815430100708, i64 4615915321904357718, i64 4704563573646650374, i64 4615918502140930008, i64 4704644096008655713, i64 4615921717614295917, i64 4704726442777163527, i64 4615924969127464509, i64 4704810676996559289, i64 4615928257511357288, i64 4704896864657388707, i64 4615931583626120381, i64 4704985074870756146, i64 4615934948362514872, i64 4705075380055272425, i64 4615938352643390933, i64 4705167856137619098, i64 4615941797425251903, i64 4705262582767901340, i64 4615945283699914992, i64 4705359643551078382, i64 4615948812496275849, i64 4705459126295890514, i64 4615952384882184928, i64 4705561123282846706, i64 4615956001966444245, i64 4705665731552998876, i64 4615959664900933927, i64 4705773053219409848, i64 4615963374882878844, i64 4705883195803424817, i64 4615967133157266524, i64 4705996272598083402, i64 4615970941019428669, i64 4706112403061264652, i64 4615974799817799739, i64 4706231713241444384, i64 4615978710956867405, i64 4706307973420717957, i64 4615982675900331118, i64 4706371011655335883, i64 4615986696174486686, i64 4706435851001265426, i64 4615990773371856572, i64 4706502570178895528, i64 4615994909155087642, i64 4706571252575853705, i64 4615999105261140414, i64 4706641986598641177, i64 4616003363505796354, i64 4706714866056578397, i64 4616007685788512714, i64 4706789990581581110, i64 4616009871561883980, i64 4706828427583532893, i64 4616012074097657573, i64 4706867466087732550, i64 4616014293659198913, i64 4706907120397675549, i64 4616016530516161441, i64 4706947405275127313, i64 4616018784944688908, i64 4706988335958651822, i64 4616021057227625867, i64 4707029928183047388, i64 4616023347654736783, i64 4707072198199741898, i64 4616025656522934194, i64 4707115162798203274, i64 4616027984136516354, i64 4707158839328424647, i64 4616030330807414863, i64 4707203245724547755, i64 4616032696855452765, i64 4707248400529692397, i64 4616035082608613680, i64 4707294322922064465, i64 4616037488403322508, i64 4707341032742420062, i64 4616039914584738337, i64 4707388550522968677, i64 4616042361507060180, i64 4707436897517804212, i64 4616044829533846230, i64 4707486095734958992, i64 4616047319038347357, i64 4707536167970182727, i64 4616049830403855606, i64 4707587137842555768, i64 4616052364024068540, i64 4707639029832054011, i64 4616054920303470265, i64 4707691869319191479, i64 4616057499657730096, i64 4707745682626875961, i64 4616060102514119834, i64 4707800497064623334, i64 4616062729311950718, i64 4707856340975287185, i64 4616065380503031169, i64 4707913243784472410, i64 4616068056552146531, i64 4707971236052814502, i64 4616070757937562089, i64 4708030349531320437, i64 4616073485151550742, i64 4708090617219982559, i64 4616076238700946775, i64 4708152073429893695, i64 4616079019107727324, i64 4708214753849110126, i64 4616081826909623195, i64 4708278695612529105, i64 4616084662660760841, i64 4708343937376069542, i64 4616087526932337429, i64 4708410519395468420, i64 4616090420313331059, i64 4708478483610031787, i64 4616093343411248368, i64 4708547873731707862, i64 4616096296852911894, i64 4708618735339881343, i64 4616099281285289782, i64 4708691115982322573, i64 4616102297376370589, i64 4708765065282763220, i64 4616105345816086161, i64 4708840635055611924, i64 4616108427317285797, i64 4708917879428369350, i64 4616111542616765164, i64 4708996854972352786, i64 4616114692476353696, i64 4709077620842396342, i64 4616117877684064512, i64 4709160238926254559, i64 4616121099055311231, i64 4709244774004505509, i64 4616124357434196413, i64 4709331293921825033, i64 4616127653694876736, i64 4709419869770587519, i64 4616130988743010486, i64 4709510576087841479, i64 4616134363517293378, i64 4709603491066811429, i64 4616137778991089271, i64 4709698696784192312, i64 4616141236174162904, i64 4709796279444630503, i64 4616144736114522419, i64 4709896329643927977, i64 4616148279900380135, i64 4709998942652665282, i64 4616151868662240806, i64 4710104218722116928, i64 4616155503575127444, i64 4710212263414531919, i64 4616159185860955756, i64 4710323187960075564, i64 4616162916791069254, i64 4710437109642979443, i64 4616166697688948290, i64 4710554152219728504, i64 4616170529933107543, i64 4710674446372431932, i64 4616174414960197935, i64 4710781670215210851, i64 4616178354268330539, i64 4710845279993378030, i64 4616182349420641843, i64 4710910734928539381, i64 4616186402049121737, i64 4710978116897473167, i64 4616190065956743110, i64 4711047512706092333, i64 4616192152343285273, i64 4711119014466596646, i64 4616194270143823872, i64 4711192720009826908, i64 4616195341127533959, i64 4711230431446021624, i64 4616196420334268317, i64 4711268733336717768, i64 4616197507893291544, i64 4711307639727296704, i64 4616198603936955522, i64 4711347165113246854, i64 4616199708600798766, i64 4711387324458365632, i64 4616200822023649788, i64 4711428133213852706, i64 4616201944347734714, i64 4711469607338345946, i64 4616203075718789324, i64 4711511763318954869, i64 4616204216286175768, i64 4711554618193350025, i64 4616205366203004179, i64 4711598189572970746, i64 4616206525626259429, i64 4711642495667417912, i64 4616207694716933302, i64 4711687555310102989, i64 4616208873640162362, i64 4711733387985229524, i64 4616210062565371801, i64 4711780013856188617, i64 4616211261666425602, i64 4711827453795455636, i64 4616212471121783333, i64 4711875729416081658, i64 4616213691114663942, i64 4711924863104879844, i64 4616214921833216920, i64 4711974878057414200, i64 4616216163470701248, i64 4712025798314906059, i64 4616217416225672534, i64 4712077648803182116, i64 4616218680302178827, i64 4712130455373797091, i64 4616219955909965560, i64 4712184244847474111, i64 4616221243264690169, i64 4712239045060016730, i64 4616222542588146922, i64 4712294884910858374, i64 4616223854108502550, i64 4712351794414427770, i64 4616225178060543326, i64 4712409804754522917, i64 4616226514685934239, i64 4712468948341901345, i64 4616227864233491001, i64 4712529258875310975, i64 4616229226959465661, i64 4712590771406203972, i64 4616230603127846628, i64 4712653522407395688, i64 4616231993010674013, i64 4712717549845952359, i64 4616233396888371220, i64 4712782893260614768, i64 4616234815050093816, i64 4712849593844090883, i64 4616236247794096753, i64 4712917694530578727, i64 4616237695428121144, i64 4712987240088911706, i64 4616239158269801823, i64 4713058277221752638, i64 4616240636647097072, i64 4713130854671300051, i64 4616242130898741968, i64 4713205023332011421, i64 4616243641374726924, i64 4713280836370893211, i64 4616245168436803132, i64 4713358349355957435, i64 4616246712459016737, i64 4713437620393499390, i64 4616248273828273739, i64 4713518710274911971, i64 4616249852944937752, i64 4713601682633819025, i64 4616251450223462960, i64 4713686604114384555, i64 4616253066093064784, i64 4713773544551736840, i64 4616254700998430979, i64 4713862577165537915, i64 4616256355400476151, i64 4713953778767830260, i64 4616258029777142884, i64 4714047229986405402, i64 4616259724624253009, i64 4714143015505064751, i64 4616261440456412812, i64 4714241224322283113, i64 4616263177807976353, i64 4714341950029941726, i64 4616264937234071424, i64 4714445291113972579, i64 4616266719311693110, i64 4714551351278951594, i64 4616268524640870368, i64 4714660239798897831, i64 4616270353845911573, i64 4714772071896782436, i64 4616272207576735524, i64 4714886969155528356, i64 4616274086510295057, i64 4715005059963594219, i64 4616275991352101119, i64 4715126479998588133, i64 4616277922837855934, i64 4715251372752755448, i64 4616279881735204777, i64 4715324349980772283, i64 4616281868845616860, i64 4715390501399300468, i64 4616283885006406922, i64 4715458630848107766, i64 4616285931092910371, i64 4715528828829544568, i64 4616288008020826192, i64 4715601191465926535, i64 4616289058348124296, i64 4715638216213000629, i64 4616290116748743411, i64 4715675820943276222, i64 4616291183349656167, i64 4715714019457261972, i64 4616292258280868668, i64 4715752825997824284, i64 4616293341675518120, i64 4715792255268078969, i64 4616294433669974430, i64 4715832322450159159, i64 4616295534403945961, i64 4715873043224909988, i64 4616296644020589649, i64 4715914433792563903, i64 4616297762666625717, i64 4715956510894454103, i64 4616298890492457191, i64 4715999291835827440, i64 4616300027652294486, i64 4716042794509822361, i64 4616301174304285310, i64 4716087037422681924, i64 4616302330610650159, i64 4716132039720276802, i64 4616303496737823707, i64 4716177821216018443, i64 4616304672856602390, i64 4716224402420248168, i64 4616305859142298511, i64 4716271804571194156, i64 4616307055774901235, i64 4716320049667594822, i64 4616308262939244816, i64 4716369160503094253, i64 4616309480825184480, i64 4716419160702523118, i64 4616310709627780372, i64 4716470074760186806, i64 4616311949547490003, i64 4716521928080291648, i64 4616313200790369706, i64 4716574747019649924, i64 4616314463568285582, i64 4716628558932815013, i64 4616315738099134485, i64 4716683392219809707, i64 4616317024607075640, i64 4716739276376623262, i64 4616318323322773498, i64 4716796242048666552, i64 4616319634483652494, i64 4716854321087389602, i64 4616320958334164419, i64 4716913546610282084, i64 4616322295126069161, i64 4716973953064495137, i64 4616323645118729625, i64 4717035576294342242, i64 4616325008579421705, i64 4717098453612958111, i64 4616326385783660231, i64 4717162623878417693, i64 4616327777015541909, i64 4717228127574642780, i64 4616329182568106301, i64 4717295006897451467, i64 4616330602743716026, i64 4717363305846136195, i64 4616332037854457407, i64 4717433070320989544, i64 4616333488222562897, i64 4717504348227233669, i64 4616334954180856741, i64 4717577189585849682, i64 4616336436073225400, i64 4717651646651847750, i64 4616337934255114431, i64 4717727774040567684, i64 4616339449094053616, i64 4717805628862653874, i64 4616340980970212294, i64 4717885270868408110, i64 4616342530276987016, i64 4717966762602289871, i64 4616344097421623792, i64 4718050169568406687, i64 4616345682825877427, i64 4718135560407918191, i64 4616347286926710607, i64 4718223007089367271, i64 4616348910177035674, i64 4718312585113051537, i64 4616350553046502245, i64 4718404373730659273, i64 4616352216022334121, i64 4718498456181517649, i64 4616353899610219246, i64 4718594919946938754, i64 4616355604335256795, i64 4718693857024302901, i64 4616357330742965870, i64 4718795364222690662, i64 4616359079400360661, i64 4718899543482067748, i64 4616360850897097420, i64 4719006502218242824, i64 4616362645846699071, i64 4719116353696060883, i64 4616364464887863875, i64 4719229217433567613, i64 4616366308685865158, i64 4719345219640187419, i64 4616368177934049819, i64 4719464493692304440, i64 4616370073355444139, i64 4719587180650027648, i64 4616371995704476209, i64 4719713429819364563, i64 4616373945768825344, i64 4719807904424405401, i64 4616375924371409865, i64 4719874833229987627, i64 4616377932372525886, i64 4719943795041193382, i64 4616379970672151094, i64 4720014884356788111, i64 4616381001476605498, i64 4720051257977204241, i64 4616382040212429054, i64 4720088201638084072, i64 4616383087004418096, i64 4720125728907222903, i64 4616384141980351289, i64 4720163853787404663, i64 4616385205271085633, i64 4720202590733998366, i64 4616386277010656368, i64 4720241954673416494, i64 4616387357336380965, i64 4720281961022484972, i64 4616388446388967423, i64 4720322625708777744, i64 4616389544312627062, i64 4720363965191972489, i64 4616390651255192061, i64 4720405996486287846, i64 4616391767368237969, i64 4720448737184066638, i64 4616392892807211454, i64 4720492205480573995, i64 4616394027731563545, i64 4720536420200084096, i64 4616395172304888681, i64 4720581400823334358, i64 4616396326695069836, i64 4720627167516431516, i64 4616397491074430083, i64 4720673741161299997, i64 4616398665619890904, i64 4720721143387769543, i64 4616399850513137643, i64 4720769396607406023, i64 4616401045940792469, i64 4720818524049196996, i64 4616402252094595274, i64 4720868549797211845, i64 4616403469171592946, i64 4720919498830365191, i64 4616404697374337481, i64 4720971397064422029, i64 4616405936911093445, i64 4721024271396393504, i64 4616407187996055310, i64 4721078149751483688, i64 4616408450849575241, i64 4721133061132760142, i64 4616409725698401941, i64 4721189035673734525, i64 4616411012775931204, i64 4721246104694054268, i64 4616412312322468879, i64 4721304300758522322, i64 4616413624585506974, i64 4721363657739679506, i64 4616414949820013721, i64 4721424210884203032, i64 4616416288288738437, i64 4721485996883395686, i64 4616417640262532106, i64 4721549053948062882, i64 4616419006020684669, i64 4721613421888099834, i64 4616420385851280071, i64 4721679142197138365, i64 4616421780051570205, i64 4721746258142632902, i64 4616423188928368972, i64 4721814814861798067, i64 4616424612798467772, i64 4721884859463846472, i64 4616426051989073846, i64 4721956441139015017, i64 4616427506838272975, i64 4722029611274911822, i64 4616428977695518214, i64 4722104423580764094, i64 4616430464922146407, i64 4722180934220200470, i64 4616431968891924422, i64 4722259201953260117, i64 4616433489991627177, i64 4722339288288385833, i64 4616435028621649706, i64 4722421257645230296, i64 4616436585196655696, i64 4722505177529184297, i64 4616438160146265155, i64 4722591118718624168, i64 4616439753915784056, i64 4722679155465973837, i64 4616441366966979088, i64 4722769365713786148, i64 4616442999778900906, i64 4722861831327169694, i64 4616444652848759569, i64 4722956638344023058, i64 4616446326692856182, i64 4723053877244689751, i64 4616448021847575152, i64 4723153643242816474, i64 4616449738870441840, i64 4723256036599386897, i64 4616451478341250857, i64 4723361162962115717, i64 4616453240863270761, i64 4723469133732626473, i64 4616455027064531439, i64 4723580066464105050, i64 4616456837599201087, i64 4723694085292423222, i64 4616458673149060395, i64 4723811321404067770, i64 4616460534425082287, i64 4723931913544596263, i64 4616462422169126421, i64 4724056008571777073, i64 4616464337155758626, i64 4724183762058066114, i64 4616466280194206488, i64 4724295674029642673, i64 4616468252130463523, i64 4724363461692727930, i64 4616470253849555691, i64 4724433341527562175, i64 4616471266165506076, i64 4724469096648807130, i64 4616472286277985546, i64 4724505412353797370, i64 4616473314309720502, i64 4724542301988810943, i64 4616474350386370994, i64 4724579779328095816, i64 4616475394636625173, i64 4724617858591185059, i64 4616476447192297588, i64 4724656554461060262, i64 4616477508188431503, i64 4724695882103212095, i64 4616478577763405442, i64 4724735857185650184, i64 4616479656059044171, i64 4724776495899917939, i64 4616480743220734340, i64 4724817814983171770, i64 4616481839397545025, i64 4724859831741388145, i64 4616482944742353415, i64 4724902564073766330, i64 4616484059411975923, i64 4724946030498399351, i64 4616485183567304983, i64 4724990250179290782, i64 4616486317373451860, i64 4725035242954800461, i64 4616487460999895764, i64 4725081029367608142, i64 4616488614620639626, i64 4725127630696290485, i64 4616489778414372896, i64 4725175068988613709, i64 4616490952564641722, i64 4725223367096651737, i64 4616492137260026958, i64 4725272548713847724, i64 4616493332694330391, i64 4725322638414145727, i64 4616494539066769689, i64 4725373661693328721, i64 4616495756582182528, i64 4725425645012709606, i64 4616496985451240459, i64 4725478615845333010, i64 4616498225890673040, i64 4725532602724857999, i64 4616499478123502863, i64 4725587635297305024, i64 4616500742379292104, i64 4725643744375864988, i64 4616502018894401274, i64 4725700961998984046, i64 4616503307912260921, i64 4725759321491955006, i64 4616504609683657057, i64 4725818857532264940, i64 4616505924467031151, i64 4725879606218969204, i64 4616507252528795601, i64 4725941605146384448, i64 4616508594143665638, i64 4726004893482417831, i64 4616509949595008716, i64 4726069512051876514, i64 4616511319175212497, i64 4726135503425131063, i64 4616512703186072635, i64 4726202912012538760, i64 4616514101939201654, i64 4726271784165068418, i64 4616515515756460305, i64 4726342168281607447, i64 4616516944970412924, i64 4726414114923474974, i64 4616518389924808378, i64 4726487676936712334, i64 4616519850975088389, i64 4726562909582774612, i64 4616521328488925082, i64 4726639870678304777, i64 4616522822846789843, i64 4726718620744735876, i64 4616524334442555673, i64 4726799223168537600, i64 4616525863684135445, i64 4726881744373001937, i64 4616527410994158666, i64 4726966254002549680, i64 4616528976810689570, i64 4727052825120636256, i64 4616530561587989603, i64 4727141534422442849, i64 4616532165797327648, i64 4727232462463658549, i64 4616533789927841613, i64 4727325693906792809, i64 4616535434487455356, i64 4727421317786606556, i64 4616537100003855262, i64 4727519427796417046, i64 4616538787025531202, i64 4727620122597218194, i64 4616540496122887022, i64 4727723506151767432, i64 4616542227889426248, i64 4727829688086025177, i64 4616543982943019175, i64 4727938784080597359, i64 4616545761927258162, i64 4728050916295129209, i64 4616547565512908615, i64 4728166213828934498, i64 4616549394399463871, i64 4728284813221524035, i64 4616551249316813062, i64 4728406858997127069, i64 4616553131027031967, i64 4728532504257786560, i64 4616555040326307894, i64 4728661911330162973, i64 4616556978047010832, i64 4728787430605416066, i64 4616558945059924432, i64 4728856159691217802, i64 4616559939834172070, i64 4728891326331379658, i64 4616560942276651852, i64 4728927044546649852, i64 4616561952508118305, i64 4728963327472124687, i64 4616562970652213195, i64 4729000188664175482, i64 4616563996835558502, i64 4729037642117495313, i64 4616565031187853174, i64 4729075702282980960, i64 4616566073841973852, i64 4729114384086498190, i64 4616567124934079746, i64 4729153702948581757, i64 4616568184603721885, i64 4729193674805124912, i64 4616569252993956954, i64 4729234316129116944, i64 4616570330251465954, i64 4729275643953491241, i64 4616571416526677929, i64 4729317675895150676, i64 4616572511973899028, i64 4729360430180241745, i64 4616573616751447179, i64 4729403925670753891, i64 4616574731021792661, i64 4729448181892525834, i64 4616575854951704906, i64 4729493219064746564, i64 4616576988712405845, i64 4729539058131044954, i64 4616578132479730167, i64 4729585720792268751, i64 4616579286434292861, i64 4729633229541061092, i64 4616580450761664444, i64 4729681607698350677, i64 4616581625652554302, i64 4729730879451880385, i64 4616582811303002601, i64 4729781069896908500, i64 4616584007914581248, i64 4729832205079226950, i64 4616585215694604434, i64 4729884312040651966, i64 4616586434856349288, i64 4729937418867154691, i64 4616587665619287260, i64 4729991554739812285, i64 4616588908209326841, i64 4730046749988774410, i64 4616590162859068308, i64 4730103036150455468, i64 4616591429808071216, i64 4730160446028179941, i64 4616592709303135399, i64 4730219013756526693, i64 4616594001598596324, i64 4730278774869638315, i64 4616595306956635676, i64 4730339766373783668, i64 4616596625647608132, i64 4730402026824486042, i64 4616597957950385349, i64 4730465596408555796, i64 4616599304152718255, i64 4730530517031395466, i64 4616600664551618852, i64 4730596832409977188, i64 4616602039453762772, i64 4730664588171927381, i64 4616603429175913986, i64 4730733831961192154, i64 4616604834045373128, i64 4730804613550799349, i64 4616606254400451034, i64 4730876984963279916, i64 4616607690590969223, i64 4730951000599362888, i64 4616609142978789174, i64 4731026717375615211, i64 4616610611938372421, i64 4731104194871760711, i64 4616612097857373636, i64 4731183495488482151, i64 4616613601137269073, i64 4731264684616587685, i64 4616615122194022926, i64 4731347830818508668, i64 4616616661458794384, i64 4731433006023191091, i64 4616618219378688411, i64 4731520285735548772, i64 4616619796417553532, i64 4731609749261764449, i64 4616621393056830207, i64 4731701479951856407, i64 4616623009796453696, i64 4731795565461075185, i64 4616624647155815668, i64 4731892098031859113, i64 4616626305674789220, i64 4731991174798261300, i64 4616627985914822368, i64 4732092898114966908, i64 4616629688460105611, i64 4732197375913251057, i64 4616631413918819647, i64 4732304722086488142, i64 4616633162924469962, i64 4732415056908116684, i64 4616634936137315646, i64 4732528507485294777, i64 4616636734245900553, i64 4732645208251855235, i64 4616638557968695724, i64 4732765301504592937, i64 4616640408055862934, i64 4732888937987396985, i64 4616642285291150255, i64 4733016277528285746, i64 4616644190493931674, i64 4733147489735023607, i64 4616646124521404125, i64 4733282754755706116, i64 4616647102623195012, i64 4733317587409698089, i64 4616648088270956758, i64 4733352736238950098, i64 4616649081583562652, i64 4733388440982283346, i64 4616650082682728909, i64 4733424714988056424, i64 4616651091693106237, i64 4733461572036298148, i64 4616652108742375125, i64 4733499026356320515, i64 4616653133961345034, i64 4733537092645201816, i64 4616654167484057691, i64 4733575786087190506, i64 4616655209447894677, i64 4733615122374083824, i64 4616656259993689541, i64 4733655117726638803, i64 4616657319265844663, i64 4733695788917077243, i64 4616658387412453109, i64 4733737153292750458, i64 4616659464585425738, i64 4733779228801034168, i64 4616660550940623838, i64 4733822034015528834, i64 4616661646637997574, i64 4733865588163646044, i64 4616662751841730569, i64 4733909911155667323, i64 4616663866720390932, i64 4733955023615367910, i64 4616664991447089098, i64 4734000946912304794, i64 4616666126199642839, i64 4734047703195875545, i64 4616667271160749848, i64 4734095315431262357, i64 4616668426518168308, i64 4734143807437384238, i64 4616669592464905917, i64 4734193203926989564, i64 4616670769199417813, i64 4734243530549031216, i64 4616671956925813943, i64 4734294813933477477, i64 4616673155854076400, i64 4734347081738723680, i64 4616674366200287309, i64 4734400362701782559, i64 4616675588186867907, i64 4734454686691445260, i64 4616676822042829445, i64 4734510084764620314, i64 4616678068004036661, i64 4734566589226074573, i64 4616679326313484554, i64 4734624233691818342, i64 4616680597221589301, i64 4734683053156396862, i64 4616681880986494177, i64 4734743084064372099, i64 4616683177874391420, i64 4734804364386302616, i64 4616684488159861055, i64 4734866933699555451, i64 4616685812126227757, i64 4734930833274312560, i64 4616687150065936919, i64 4734996106165165814, i64 4616688502280951181, i64 4735062797308729109, i64 4616689869083168774, i64 4735130953627734098, i64 4616691250794865127, i64 4735200624142117910, i64 4616692647749159325, i64 4735271860087657282, i64 4616694060290507095, i64 4735344715042754401, i64 4616695488775222172, i64 4735419245064035854, i64 4616696933572028021, i64 4735495508831488235, i64 4616698395062642061, i64 4735573567803922610, i64 4616699873642394721, i64 4735653486385636231, i64 4616701369720885856, i64 4735735332105224358, i64 4616702883722681253, i64 4735819175807588916, i64 4616704416088052220, i64 4735905091860295082, i64 4616705967273761477, i64 4735993158375543147, i64 4616707537753898897, i64 4736083457449152649, i64 4616709128020770932, i64 4736176075418100479, i64 4616710738585847911, i64 4736271103138316524, i64 4616712369980773815, i64 4736368636284621635, i64 4616714022758443522, i64 4736468775674895879, i64 4616715697494153020, i64 4736571627620793253, i64 4616717394786828602, i64 4736677304307575662, i64 4616719115260341650, i64 4736785924205928083, i64 4616720859564916270, i64 4736897612518942987, i64 4616722628378637746, i64 4737012501667830731, i64 4616724422409070647, i64 4737130731820329912, i64 4616726242394996260, i64 4737252451466264863, i64 4616728089108280112, i64 4737377818045235069, i64 4616729963355881431, i64 4737506998632033073, i64 4616731865982017717, i64 4737640170686085114, i64 4616732828211612964, i64 4737708312009299429, i64 4616733797870499019, i64 4737777522872005799, i64 4616734775075751892, i64 4737817318374714165, i64 4616735759947248160, i64 4737853031976516188, i64 4616736752607755181, i64 4737889319813092448, i64 4616737753183024981, i64 4737926195901909227, i64 4616738761801891981, i64 4737963674721309615, i64 4616739778596374770, i64 4738001771229634018, i64 4616740803701782111, i64 4738040500885301288, i64 4616741837256823403, i64 4738079879667907272, i64 4616742879403723828, i64 4738119924100401481, i64 4616743930288344409, i64 4738160651272406722, i64 4616744990060307255, i64 4738202078864751072, i64 4616746058873126242, i64 4738244225175286388, i64 4616747136884343429, i64 4738287109146072821, i64 4616748224255671518, i64 4738330750392014449, i64 4616749321153142664, i64 4738375169231037252, i64 4616750427747263996, i64 4738420386715907283, i64 4616751544213180212, i64 4738466424667794051, i64 4616752670730843626, i64 4738513305711691884, i64 4616753807485192101, i64 4738561053313820446, i64 4616754954666335291, i64 4738609691821134720, i64 4616756112469749679, i64 4738659246503084643, i64 4616757281096482901, i64 4738709743595775366, i64 4616758460753367908, i64 4738761210348690783, i64 4616759651653247517, i64 4738813675074155695, i64 4616760854015209990, i64 4738867167199725857, i64 4616762068064836278, i64 4738921717323710216, i64 4616763294034459632, i64 4738977357274046136, i64 4616764532163438346, i64 4739034120170766394, i64 4616765782698442420, i64 4739092040492316332, i64 4616767045893755016, i64 4739151154146001070, i64 4616768322011589630, i64 4739211498542866162, i64 4616769611322423972, i64 4739273112677340843, i64 4616770914105351633, i64 4739336037212001248, i64 4616772230648452668, i64 4739400314567841973, i64 4616773561249184355, i64 4739465989020478414, i64 4616774906214793445, i64 4739533106802739754, i64 4616776265862751352, i64 4739601716214153707, i64 4616777640521213815, i64 4739671867737869546, i64 4616779030529506730, i64 4739743614165616084, i64 4616780436238639932, i64 4739817010731346619, i64 4616781858011850908, i64 4739892115254284055, i64 4616783296225180541, i64 4739968988292147164, i64 4616784751268083180, i64 4740047693305414022, i64 4616786223544073542, i64 4740128296833561944, i64 4616787713471413117, i64 4740210868684315766, i64 4616789221483839044, i64 4740295482137039244, i64 4616790748031338621, i64 4740382214161518926, i64 4616792293580972951, i64 4740471145653517665, i64 4616793858617753499, i64 4740562361688617654, i64 4616795443645575696, i64 4740655951796032374, i64 4616797049188214120, i64 4740752010254245581, i64 4616798675790384181, i64 4740850636410535713, i64 4616800324018875729, i64 4740951935026669156, i64 4616801994463764520, i64 4741056016653298768, i64 4616803687739708035, i64 4741162998035889157, i64 4616805404487332825, i64 4741273002555311749, i64 4616807145374721250, i64 4741386160706616155, i64 4616808911099006277, i64 4741502610619895752, i64 4616810702388083928, i64 4741622498627631965, i64 4616812520002453943, i64 4741745979883431767, i64 4616814364737200367, i64 4741873219037676151, i64 4616816237424125031, i64 4742004390976285214, i64 4616817184520194819, i64 4742071509387853477, i64 4616818138934048331, i64 4742139681629591388, i64 4616819100781042256, i64 4742208932813955152, i64 4616820070179293298, i64 4742279288859212094, i64 4616821047249767104, i64 4742320592071596153, i64 4616822032116370797, i64 4742356915526488747, i64 4616823024906049313, i64 4742393832873801791, i64 4616824025748885710, i64 4742431358855614819, i64 4616825034778205663, i64 4742469508706931183, i64 4616826052130686342, i64 4742508298176477253, i64 4616827077946469913, i64 4742547743548564522, i64 4616828112369281880, i64 4742587861666078591, i64 4616829155546554542, i64 4742628669954663417, i64 4616830207629555804, i64 4742670186448173984, i64 4616831268773523650, i64 4742712429815475765, i64 4616832339137806561, i64 4742755419388674873, i64 4616833418886010210, i64 4742799175192868878, i64 4616834508186150761, i64 4742843717977514763, i64 4616835607210815143, i64 4742889069249517555, i64 4616836716137328679, i64 4742935251308150845, i64 4616837835147930477, i64 4742982287281928672, i64 4616838964429957024, i64 4743030201167557247, i64 4616840104176034442, i64 4743079017871104779, i64 4616841254584279912, i64 4743128763251538237, i64 4616842415858512777, i64 4743179464166787441, i64 4616843588208475910, i64 4743231148522509413, i64 4616844771850067940, i64 4743283845323739568, i64 4616845967005586978, i64 4743337584729631239, i64 4616847173903986547, i64 4743392398111501241, i64 4616848392781144447, i64 4743448318114416933, i64 4616849623880145350, i64 4743505378722579584, i64 4616850867451577980, i64 4743563615328780029, i64 4616852123753847784, i64 4743623064808225807, i64 4616853393053506083, i64 4743683765597064336, i64 4616854675625596746, i64 4743745757775954545, i64 4616855971754021536, i64 4743809083159069947, i64 4616857281731925326, i64 4743873785388949724, i64 4616858605862102519, i64 4743939910037651306, i64 4616859944457426079, i64 4744007504714698604, i64 4616861297841300695, i64 4744076619182364865, i64 4616862666348141743, i64 4744147305478878532, i64 4616864050323881813, i64 4744219618050195087, i64 4616865450126506739, i64 4744293613891038240, i64 4616866866126623217, i64 4744369352695980588, i64 4616868298708060275, i64 4744446897021407968, i64 4616869748268507037, i64 4744526312459293817, i64 4616871215220189469, i64 4744607667823801149, i64 4616872699990588970, i64 4744691035351831222, i64 4616874203023205990, i64 4744776490918751024, i64 4616875724778372073, i64 4744864114270657735, i64 4616877265734114084, i64 4744953989274679057, i64 4616878826387074688, i64 4745046204188965705, i64 4616880407253493543, i64 4745140851954208515, i64 4616882008870254070, i64 4745238030508710259, i64 4616883631796001151, i64 4745337843129264128, i64 4616885276612335585, i64 4745440398800340418, i64 4616886943925091745, i64 4745545812614364089, i64 4616888634365705473, i64 4745654206206183051, i64 4616890348592679984, i64 4745765708225185509, i64 4616892087293158344, i64 4745880454848930497, i64 4616893851184611949, i64 4745998590342615909, i64 4616895641016655445, i64 4746120267669231164, i64 4616897457572999634, i64 4746245649155836613, i64 4616899301673555150, i64 4746374907222090319, i64 4616900234319587291, i64 4746441046808184260, i64 4616901174176701118, i64 4746508225177918031, i64 4616902121358606526, i64 4746576467090098210, i64 4616903075981734564, i64 4746645798098109640, i64 4616904038165325120, i64 4746716244582083735, i64 4616905008031518171, i64 4746787833782643488, i64 4616905985705448770, i64 4746827300542409452, i64 4616906971315345966, i64 4746864280530606581, i64 4616907964992635838, i64 4746901875501032382, i64 4616908966872048865, i64 4746940100981130244, i64 4616909977091731838, i64 4746978973026479481, i64 4616910995793364569, i64 4747018508243467139, i64 4616912023122281621, i64 4747058723813138696, i64 4616913059227599333, i64 4747099637516299806, i64 4616914104262348425, i64 4747141267759946386, i64 4616915158383612469, i64 4747183633605105812, i64 4616916221752672540, i64 4747226754796177960, i64 4616917294535158395, i64 4747270651791871264, i64 4616918376901206518, i64 4747315345797835920, i64 4616919469025625427, i64 4747360858801103930, i64 4616920571088068635, i64 4747407213606453834, i64 4616921683273215695, i64 4747454433874826880, i64 4616922805770961799, i64 4747502544163930988, i64 4616923938776616405, i64 4747551569971179342, i64 4616925082491111425, i64 4747601537779121821, i64 4616926237121219526, i64 4747652475103539841, i64 4616927402879783143, i64 4747704410544388674, i64 4616928579985954837, i64 4747757373839786003, i64 4616929768665449686, i64 4747811395923261450, i64 4616930969150810436, i64 4747866508984499370, i64 4616932181681686195, i64 4747922746533826243, i64 4616933406505125502, i64 4747980143470714938, i64 4616934643875884696, i64 4748038736156600963, i64 4616935894056752513, i64 4748098562492330890, i64 4616937157318891990, i64 4748159662000590596, i64 4616938433942200768, i64 4748222075913691127, i64 4616939724215691005, i64 4748285847267123133, i64 4616941028437890198, i64 4748351020999327221, i64 4616942346917264303, i64 4748417644058167733, i64 4616943679972664672, i64 4748485765514641615, i64 4616945027933800419, i64 4748555436684402843, i64 4616946391141737986, i64 4748626711257736713, i64 4616947769949429809, i64 4748699645438677861, i64 4616949164722274135, i64 4748774298094031786, i64 4616950575838708232, i64 4748850730913132700, i64 4616952003690837411, i64 4748929008579251581, i64 4616953448685102474, i64 4749009198953658320, i64 4616954911242988466, i64 4749091373273441997, i64 4616956391801777815, i64 4749175606364304851, i64 4616957890815351262, i64 4749261976869669848, i64 4616959408755040249, i64 4749350567497580613, i64 4616960946110534805, i64 4749441465287027774, i64 4616962503390851315, i64 4749534761895509598, i64 4616964081125364983, i64 4749630553909829782, i64 4616965679864912251, i64 4749728943182354163, i64 4616967300182968954, i64 4749830037195194375, i64 4616968942676910521, i64 4749933949455063859, i64 4616970607969361221, i64 4750040799921864592, i64 4616972296709640071, i64 4750150715474416592, i64 4616974009575311888, i64 4750263830417142677, i64 4616975747273852767, i64 4750380287031975004, i64 4616977510544440295, i64 4750500236180265758, i64 4616979300159879889, i64 4750623837960071488, i64 4616981116928679862, i64 4750751262424850044, i64 4616982035758558483, i64 4750816464220124428, i64 4616982961697289256, i64 4750882690370373991, i64 4616983894857002897, i64 4750949965295085064, i64 4616984835352513984, i64 4751018314197540064, i64 4616985783301407462, i64 4751087763096552705, i64 4616986738824128644, i64 4751158338859758831, i64 4616987702044076922, i64 4751230069238552587, i64 4616988673087703335, i64 4751300294890318466, i64 4616989652084612216, i64 4751337358182525467, i64 4616990639167667099, i64 4751375043248941037, i64 4616991634473101125, i64 4751413365925657223, i64 4616992638140632161, i64 4751452342592118264, i64 4616993650313582891, i64 4751491990194650973, i64 4616994671139006117, i64 4751532326271229497, i64 4616995700767815573, i64 4751573368977550683, i64 4616996739354922524, i64 4751615137114501749, i64 4616997787059378460, i64 4751657650157107800, i64 4616998844044524235, i64 4751700928285053116, i64 4616999910478145976, i64 4751744992414876978, i64 4617000986532638158, i64 4751789864233952267, i64 4617002072385174230, i64 4751835566236363139, i64 4617003168217885219, i64 4751882121760806841, i64 4617004274218046770, i64 4751929555030654207, i64 4617005390578275097, i64 4751977891196313758, i64 4617006517496732363, i64 4752027156380055479, i64 4617007655177342041, i64 4752077377723462639, i64 4617008803830014841, i64 4752128583437693253, i64 4617009963670885834, i64 4752180802856747326, i64 4617011134922563446, i64 4752234066493951798, i64 4617012317814391043, i64 4752288406101892395, i64 4617013512582721871, i64 4752343854736040415, i64 4617014719471208195, i64 4752400446822343125, i64 4617015938731105516, i64 4752458218229068995, i64 4617017170621592812, i64 4752517206343223740, i64 4617018415410109852, i64 4752577450151880224, i64 4617019673372712659, i64 4752638990328795068, i64 4617020944794448330, i64 4752701869326717484, i64 4617022229969750480, i64 4752766131475831817, i64 4617023529202856693, i64 4752831823088814864, i64 4617024842808249466, i64 4752898992573032669, i64 4617026171111122253, i64 4752967690550449616, i64 4617027514447872339, i64 4753037969985875793, i64 4617028873166622431, i64 4753109886324237394, i64 4617030247627772989, i64 4753183497637619943, i64 4617031638204587505, i64 4753258864782906247, i64 4617033045283813111, i64 4753336051570910956, i64 4617034469266339120, i64 4753415124948002478, i64 4617035910567896307, i64 4753496155191301797, i64 4617037369619800004, i64 4753579216118657858, i64 4617038846869740335, i64 4753664385314721848, i64 4617040342782623249, i64 4753751744374579833, i64 4617041857841466299, i64 4753841379166556374, i64 4617043392548353522, i64 4753933380115973418, i64 4617044947425454152, i64 4754027842511841099, i64 4617046523016110372, i64 4754124866838673236, i64 4617048119885999791, i64 4754224559135863320, i64 4617049738624378900, i64 4754327031387330560, i64 4617051379845414379, i64 4754432401944454479, i64 4617053044189609812, i64 4754540795985665636, i64 4617054732325336139, i64 4754652346016455275, i64 4617056444950475048, i64 4754767192414014863, i64 4617058182794185448, i64 4754885484021225648, i64 4617059946618804272, i64 4755007378795297884, i64 4617061737221894072, i64 4755133044517020151, i64 4617062642824775777, i64 4755197346790491445, i64 4617063555438451214, i64 4755262659567334246, i64 4617064475173535066, i64 4755329006941109959, i64 4617065402143290066, i64 4755396413778815467, i64 4617066336463712347, i64 4755464905752202064, i64 4617067278253620269, i64 4755534509370629726, i64 4617068227634746883, i64 4755605252015545282, i64 4617069184731836210, i64 4755677161976678971, i64 4617070149672743551, i64 4755750268490060168, i64 4617071122588539994, i64 4755812904140601849, i64 4617072103613621362, i64 4755850699797059513, i64 4617073092885821818, i64 4755889140627460923, i64 4617074090546532367, i64 4755928243352651969, i64 4617075096740824512, i64 4755968025277329275, i64 4617076111617579339, i64 4756008504315774571, i64 4617077135329622318, i64 4756049699018963286, i64 4617078168033864122, i64 4756091628603133754, i64 4617079209891447796, i64 4756134312979909760, i64 4617080261067902623, i64 4756177772788075885, i64 4617081321733305046, i64 4756222029427112485, i64 4617082392062447055, i64 4756267105092605119, i64 4617083472235012441, i64 4756313022813651852, i64 4617084562435761381, i64 4756359806492401270, i64 4617085662854723811, i64 4756407480945864226, i64 4617086773687402112, i64 4756456071950153418, i64 4617087895134983644, i64 4756505606287316949, i64 4617089027404563707, i64 4756556111794945181, i64 4617090170709379555, i64 4756607617418744449, i64 4617091325269056127, i64 4756660153268286863, i64 4617092491309864197, i64 4756713750676162426, i64 4617093669064991722, i64 4756768442260778334, i64 4617094858774829183, i64 4756824261993070649, i64 4617096060687269826, i64 4756881245267415859, i64 4617097275058025709, i64 4756939428977054212, i64 4617098502150960603, i64 4756998851594363480, i64 4617099742238440807, i64 4757059553256351218, i64 4617100995601705067, i64 4757121575855765818, i64 4617102262531254854, i64 4757184963138262189, i64 4617103543327266361, i64 4757249760806096966, i64 4617104838300025691, i64 4757316016628871201, i64 4617106147770388815, i64 4757383780561886037, i64 4617107472070268020, i64 4757453104872729329, i64 4617108811543146695, i64 4757524044276769171, i64 4617110166544624464, i64 4757596656082294564, i64 4617111537442994839, i64 4757671000346114592, i64 4617112924619857744, i64 4757747140040506459, i64 4617114328470769482, i64 4757825141232490462, i64 4617115749405932922, i64 4757905073276507547, i64 4617117187850930920, i64 4757987009021683771, i64 4617118644247506291, i64 4758071025034987134, i64 4617120119054391901, i64 4758157201841717604, i64 4617121612748194823, i64 4758245624184922423, i64 4617123125824338808, i64 4758336381305498188, i64 4617124658798069791, i64 4758429567244931225, i64 4617126212205529524, i64 4758525281172841057, i64 4617127786604902991, i64 4758623627741731785, i64 4617129382577645745, i64 4758724717471626464, i64 4617131000729797979, i64 4758828667167564580, i64 4617132641693392770, i64 4758935600373287397, i64 4617134306127966732, i64 4759045647864826163, i64 4617135994722182156, i64 4759158948188150682, i64 4617137708195570654, i64 4759275648245538455, i64 4617139447300409410, i64 4759395903935896817, i64 4617141212823742337, i64 4759519880854922935, i64 4617142105748334787, i64 4759583319362489287, i64 4617143005589559787, i64 4759647755061732035, i64 4617143912456575069, i64 4759713211732831446, i64 4617144826461151981, i64 4759779713919437688, i64 4617145747717759733, i64 4759847286959589235, i64 4617146676343653080, i64 4759915957018147093, i64 4617147612458963593, i64 4759985751120832300, i64 4617148556186794710, i64 4760056697189959975, i64 4617149507653320738, i64 4760128824081969443, i64 4617150466987890030, i64 4760202161626856711, i64 4617151434323132526, i64 4760276740669622781, i64 4617152409795071900, i64 4760328699622236711, i64 4617153393543242531, i64 4760367279049107241, i64 4617154385710811584, i64 4760406528761097833, i64 4617155386444706424, i64 4760446466440332976, i64 4617156395895747695, i64 4760487110397456982, i64 4617157414218788327, i64 4760528479599839159, i64 4617158441572858817, i64 4760570593701312637, i64 4617159478121319121, i64 4760613473073545084, i64 4617160524032017517, i64 4760657138839146785, i64 4617161579477456826, i64 4760701612906629442, i64 4617162644634968414, i64 4760746918007337598, i64 4617163719686894406, i64 4760793077734483827, i64 4617164804820778590, i64 4760840116584428919, i64 4617165900229566500, i64 4760888060000359213, i64 4617167006111815238, i64 4760936934418525174, i64 4617168122671913577, i64 4760986767317218213, i64 4617169250120312985, i64 4761037587268676952, i64 4617170388673770212, i64 4761089423994129484, i64 4617171538555602147, i64 4761142308422195048, i64 4617172699995953688, i64 4761196272750886887, i64 4617173873232079456, i64 4761251350513478185, i64 4617175058508640185, i64 4761307576648514964, i64 4617176256078014751, i64 4761364987574283929, i64 4617177466200628816, i64 4761423621268069688, i64 4617178689145301176, i64 4761483517350564779, i64 4617179925189608964, i64 4761544717175827809, i64 4617181174620272952, i64 4761607263927220079, i64 4617182437733564304, i64 4761671202719789646, i64 4617183714835734222, i64 4761736580709614326, i64 4617185006243468052, i64 4761803447210662033, i64 4617186312284365542, i64 4761871853819778725, i64 4617187633297449084, i64 4761941854550471471, i64 4617188969633701917, i64 4762013505976217611, i64 4617190321656638438, i64 4762086867384101278, i64 4617191689742908952, i64 4762162000939656506, i64 4617193074282941389, i64 4762238971863882826, i64 4617194475681622725, i64 4762317848623495563, i64 4617195894359023108, i64 4762398703135580418, i64 4617197330751165939, i64 4762481610987941549, i64 4617198785310847449, i64 4762566651676566023, i64 4617200258508509647, i64 4762653908861776911, i64 4617201750833170869, i64 4762743470644814650, i64 4617203262793418553, i64 4762835429866773882, i64 4617204794918469295, i64 4762929884432033708, i64 4617206347759301756, i64 4763026937658556284, i64 4617207921889868492, i64 4763126698657695657, i64 4617209517908393425, i64 4763229282746459945, i64 4617211136438762311, i64 4763334811895510408, i64 4617212778132014333, i64 4763443415216566353, i64 4617214443667943781, i64 4763555229493321849, i64 4617216133756821719, i64 4763670399760476768, i64 4617217849141248601, i64 4763789079936049796, i64 4617219590598149977, i64 4763911433512785488, i64 4617220471356479817, i64 4763974041721003781, i64 4617221358940928768, i64 4764037634315203744, i64 4617222253459252989, i64 4764102234773950203, i64 4617223155021789105, i64 4764167867329683057, i64 4617224063741537403, i64 4764234556999249945, i64 4617224979734248408, i64 4764302329615935941, i64 4617225903118513012, i64 4764371211863076642, i64 4617226834015856326, i64 4764441231309346786, i64 4617227772550835446, i64 4764512416445822687, i64 4617228718851141331, i64 4764584796724923455, i64 4617229673047704996, i64 4764658402601343104, i64 4617230635274808250, i64 4764733265575093373, i64 4617231605670199210, i64 4764808911997385089, i64 4617232584375212839, i64 4764847650036636096, i64 4617233571534896775, i64 4764887067242944940, i64 4617234567298142735, i64 4764927181695613449, i64 4617235571817823785, i64 4764968012122446958, i64 4617236585250937807, i64 4765009577929123548, i64 4617237607758757481, i64 4765051899230175008, i64 4617238639506987167, i64 4765094996881683705, i64 4617239680665927045, i64 4765138892515807337, i64 4617240731410644945, i64 4765183608577251957, i64 4617241791921156282, i64 4765229168361822806, i64 4617242862382612571, i64 4765275596057192462, i64 4617243942985499020, i64 4765322916786036579, i64 4617245033925841724, i64 4765371156651699294, i64 4617246135405425025, i64 4765420342786563154, i64 4617247247632019656, i64 4765470503403312392, i64 4617248370819622299, i64 4765521667849293600, i64 4617249505188707263, i64 4765573866664194448, i64 4617250650966491024, i64 4765627131641279300, i64 4617251808387210417, i64 4765681495892440379, i64 4617252977692415347, i64 4765736993917344901, i64 4617254159131276925, i64 4765793661676982413, i64 4617255352960912027, i64 4765851536671942650, i64 4617256559446725329, i64 4765910658025782915, i64 4617257778862769973, i64 4765971066573875453, i64 4617259011492128078, i64 4766032804958159938, i64 4617260257627312437, i64 4766095917728264290, i64 4617261517570690828, i64 4766160451449499098, i64 4617262791634934478, i64 4766226454818277220, i64 4617264080143492369, i64 4766293978785561387, i64 4617265383431093165, i64 4766363076688999195, i64 4617266701844276746, i64 4766433804394467549, i64 4617268035741957447, i64 4766506220447818056, i64 4617269385496021317, i64 4766580386237691902, i64 4617270751491959881, i64 4766656366170358335, i64 4617272134129543134, i64 4766734227857626081, i64 4617273533823534698, i64 4766814042318983007, i64 4617274951004452382, i64 4766895884199237607, i64 4617276386119377618, i64 4766979832003067881, i64 4617277839632817629, i64 4767065968348030780, i64 4617279312027624477, i64 4767154380237750728, i64 4617280803805975576, i64 4767245159357191032, i64 4617282315490420674, i64 4767338402392120197, i64 4617283847625000773, i64 4767434211375119277, i64 4617285400776445022, i64 4767532694060740126, i64 4617286975535452196, i64 4767633964332722028, i64 4617288572518064033, i64 4767738142646510475, i64 4617290192367138463, i64 4767845356510702653, i64 4617291835753931575, i64 4767955741011475925, i64 4617293503379798106, i64 4768069439384546208, i64 4617295195978021283, i64 4768186603639761416, i64 4617296914315784000, i64 4768307395244071861, i64 4617297783386526534, i64 4768369204529074477, i64 4617298659196294668, i64 4768431985869346941, i64 4617299541851494964, i64 4768495762452891782, i64 4617300431461082522, i64 4768560558212340263, i64 4617301328136643150, i64 4768626397855113227, i64 4617302231992478885, i64 4768693306895060842, i64 4617303143145697012, i64 4768761311685666584, i64 4617304061716302769, i64 4768830439454906461, i64 4617304987827295915, i64 4768900718341860618, i64 4617305921604771357, i64 4768972177435180994, i64 4617306863178024052, i64 4769044846813525801, i64 4617307812679658378, i64 4769118757588079210, i64 4617308770245702244, i64 4769193941947282847, i64 4617309736015726146, i64 4769270433203914561, i64 4617310710132967464, i64 4769330135615007384, i64 4617311692744460258, i64 4769369740483842077, i64 4617312684001170857, i64 4769410052398124128, i64 4617313684058139574, i64 4769451090524431120, i64 4617314693074628862, i64 4769492874729538298, i64 4617315711214278274, i64 4769535425612719001, i64 4617316738645266603, i64 4769578764539850940, i64 4617317775540481613, i64 4769622913679447273, i64 4617318822077697781, i64 4769667896040740470, i64 4617319878439762514, i64 4769713735513956776, i64 4617320944814791332, i64 4769760456912929780, i64 4617322021396372534, i64 4769808086020213198, i64 4617323108383781918, i64 4769856649634865645, i64 4617324205982208141, i64 4769906175623093962, i64 4617325314402989359, i64 4769956692971956692, i64 4617326433863861849, i64 4770008231846345743, i64 4617327564589221325, i64 4770060823649482197, i64 4617328706810397750, i64 4770114501087181851, i64 4617329860765944485, i64 4770169298236167557, i64 4617331026701942684, i64 4770225250616728944, i64 4617332204872321910, i64 4770282395270055914, i64 4617333395539198015, i64 4770340770840600618, i64 4617334598973229428, i64 4770400417663853725, i64 4617335815453993046, i64 4770461377859955039, i64 4617337045270381065, i64 4770523695433596154, i64 4617338288721020140, i64 4770587416380714384, i64 4617339546114714417, i64 4770652588802523005, i64 4617340817770914088, i64 4770719263027473411, i64 4617342104020211241, i64 4770787491741800753, i64 4617343405204864960, i64 4770857330129366513, i64 4617344721679357747, i64 4770928836021580094, i64 4617346053810985554, i64 4771002070058257639, i64 4617347401980483884, i64 4771077095860360860, i64 4617348766582692647, i64 4771153980215652715, i64 4617350148027262680, i64 4771232793278411558, i64 4617351546739407120, i64 4771313608784462188, i64 4617352963160701069, i64 4771396504282912691, i64 4617354397749933355, i64 4771481561386131837, i64 4617355850984014502, i64 4771568866039665146, i64 4617357323358945416, i64 4771658508813970878, i64 4617358815390851751, i64 4771750585220062938, i64 4617360327617089353, i64 4771845196051379047, i64 4617361860597426744, i64 4771942447754453138, i64 4617363414915311176, i64 4772042452831265061, i64 4617364991179225451, i64 4772145330276473021, i64 4617366590024143439, i64 4772251206053110416, i64 4617368212113093032, i64 4772360213610755493, i64 4617369858138836214, i64 4772472494450666976, i64 4617371528825676930, i64 4772588198742930607, i64 4617373224931408616, i64 4772707486001290724, i64 4617374082762839824, i64 4772768525826122133, i64 4617374947249414554, i64 4772830525822059928, i64 4617375818496238639, i64 4772893508896943557, i64 4617376696610935664, i64 4772957498694322924, i64 4617377581703728150, i64 4773022519623260506, i64 4617378473887522049, i64 4773088596889594889, i64 4617379373277994702, i64 4773155756528750047, i64 4617380279993686432, i64 4773224025440180297, i64 4617381194156095958, i64 4773293431423546937, i64 4617382115889779817, i64 4773364003216729002, i64 4617383045322456013, i64 4773435770535777625, i64 4617383982585112083, i64 4773508764116930982, i64 4617384927812117837, i64 4773583015760814944, i64 4617385881141343001, i64 4773658558378963306, i64 4617386842714280022, i64 4773735426042800931, i64 4617387812676172316, i64 4773813654035243350, i64 4617388791176148244, i64 4773854441958901589, i64 4617389778367361132, i64 4773894971768512658, i64 4617390774407135656, i64 4773936238580663397, i64 4617391779457120962, i64 4773978262746964777, i64 4617392793683450870, i64 4774021065376495582, i64 4617393817256911582, i64 4774064668371407043, i64 4617394850353117306, i64 4774109094464556086, i64 4617395893152694257, i64 4774154367259303429, i64 4617396945841473514, i64 4774200511271623257, i64 4617398008610693255, i64 4774247551974682748, i64 4617399081657210917, i64 4774295515846062170, i64 4617400165183725878, i64 4774344430417799955, i64 4617401259399013285, i64 4774394324329461982, i64 4617402364518169717, i64 4774445227384450553, i64 4617403480762871399, i64 4774497170609786270, i64 4617404608361645751, i64 4774550186319615411, i64 4617405747550157100, i64 4774604308182716641, i64 4617406898571507468, i64 4774659571294304127, i64 4617408061676553374, i64 4774716012252449648, i64 4617409237124239719, i64 4774773669239474256, i64 4617410425181951836, i64 4774832582108690826, i64 4617411626125886940, i64 4774892792476912621, i64 4617412840241446244, i64 4774954343823180264, i64 4617414067823649165, i64 4775017281594200513, i64 4617415309177571103, i64 4775081653317035540, i64 4617416564618806455, i64 4775147508719631396, i64 4617417834473958600, i64 4775214899859829621, i64 4617419119081158785, i64 4775283881263567185, i64 4617420418790615972, i64 4775354510073037727, i64 4617421733965199895, i64 4775426846205662347, i64 4617423064981059773, i64 4775500952524801764, i64 4617424412228281308, i64 4775576895023234656, i64 4617425776111584869, i64 4775654743020530538, i64 4617427157051068001, i64 4775734569375561020, i64 4617428555482995661, i64 4775816450715522215, i64 4617429971860641939, i64 4775900467682985280, i64 4617431406655187324, i64 4775986705202653510, i64 4617432860356675993, i64 4776075252769685464, i64 4617434333475037988, i64 4776166204761646945, i64 4617435826541181659, i64 4776259660776383339, i64 4617437340108162241, i64 4776355725998361459, i64 4617438874752433019, i64 4776454511596320748, i64 4617440431075186208, i64 4776556135155402200, i64 4617442009703791373, i64 4776660721147295315, i64 4617443611293340040, i64 4776768401442365196, i64 4617445236528306042, i64 4776879315868201092, i64 4617446886124332195, i64 4776993612819573121, i64 4617448560830154990, i64 4777111449925405869, i64 4617449407842776837, i64 4777171747998561633, i64 4617450261429680343, i64 4777232994779088237, i64 4617451121694716624, i64 4777295212904459959, i64 4617451988744224832, i64 4777358425739252493, i64 4617452862687112401, i64 4777422657404598705, i64 4617453743634938541, i64 4777487932809088909, i64 4617454631702001176, i64 4777554277681199024, i64 4617455527005427462, i64 4777621718603335532, i64 4617456429665268085, i64 4777690283047592094, i64 4617457339804595529, i64 4777759999413319140, i64 4617458257549606503, i64 4777830897066614608, i64 4617459183029728751, i64 4777903006381851508, i64 4617460116377732479, i64 4777976358785365969, i64 4617461057729846618, i64 4778050986801438126, i64 4617462007225880202, i64 4778126924100707515, i64 4617462965009349115, i64 4778204205551174783, i64 4617463931227608509, i64 4778282867271952396, i64 4617464906031991188, i64 4778341075665017566, i64 4617465889577952291, i64 4778381843619850048, i64 4617466882025220624, i64 4778423359933090625, i64 4617467883537957002, i64 4778465645465954733, i64 4617468894284919998, i64 4778508721863497183, i64 4617469914439639531, i64 4778552611591810254, i64 4617470944180598719, i64 4778597337977361725, i64 4617471983691424497, i64 4778642925248617935, i64 4617473033161087497, i64 4778689398580108287, i64 4617474092784111743, i64 4778736784139100016, i64 4617475162760794742, i64 4778785109135065470, i64 4617476243297438602, i64 4778834401872138897, i64 4617477334606592836, i64 4778884691804775733, i64 4617478436907309579, i64 4778936009596844957, i64 4617479550425411986, i64 4778988387184404207, i64 4617480675393776629, i64 4779041857842428386, i64 4617481812052630794, i64 4779096456255785423, i64 4617482960649865615, i64 4779152218594778105, i64 4617484121441366081, i64 4779209182595598551, i64 4617485294691359016, i64 4779267387646072290, i64 4617486480672780217, i64 4779326874877102375, i64 4617487679667662039, i64 4779387687260260742, i64 4617488891967542797, i64 4779449869712014611, i64 4617490117873899490, i64 4779513469205120488, i64 4617491357698605451, i64 4779578534887767751, i64 4617492611764414672, i64 4779645118211108472, i64 4617493880405474692, i64 4779713273065870605, i64 4617495163967870090, i64 4779783055928818777, i64 4617496462810198811, i64 4779854526019901234, i64 4617497777304183735, i64 4779927745471004237, i64 4617499107835322090, i64 4780002779507327032, i64 4617500454803575592, i64 4780079696642492993, i64 4617501818624104383, i64 4780158568888626627, i64 4617503199728048165, i64 4780239471982753679, i64 4617504598563358219, i64 4780322485631024108, i64 4617506015595684344, i64 4780407693772417328, i64 4617507451309321120, i64 4780495184863768164, i64 4617508906208218328, i64 4780585052188152948, i64 4617510380817060830, i64 4780677394188901367, i64 4617511875682423705, i64 4780772314831754362, i64 4617513391374009045, i64 4780869923997975804, i64 4617514928485971429, i64 4780970337911550527, i64 4617516487638339832, i64 4781073679603969028, i64 4617518069478544507, i64 4781180079420516198, i64 4617519674683058294, i64 4781289675572455275, i64 4617521303959162804, i64 4781402614740037480, i64 4617522958046851069, i64 4781519052731882815, i64 4617523794635733149, i64 4781578635149420808, i64 4617524637720879506, i64 4781639155206980149, i64 4617525487404929918, i64 4781700635280913849, i64 4617526343792983505, i64 4781763098466359203, i64 4617527206992678049, i64 4781826568606358849, i64 4617528077114272548, i64 4781891070322410010, i64 4617528954270733147, i64 4781956629046524377, i64 4617529838577822628, i64 4782023271054886512, i64 4617530730154193630, i64 4782091023503204597, i64 4617531629121485794, i64 4782159914463853675, i64 4617532535604427017, i64 4782229972964918382, i64 4617533449730939052, i64 4782301229031249498, i64 4617534371632247651, i64 4782373713727656636, i64 4617535301442997512, i64 4782447459204367893, i64 4617536239301372266, i64 4782522498744896588, i64 4617537185349219781, i64 4782598866816465144, i64 4617538139732183071, i64 4782676599123147015, i64 4617539102599837102, i64 4782755732661899198, i64 4617540074105831826, i64 4782829555024568640, i64 4617541054408041790, i64 4782870581256625692, i64 4617542043668722675, i64 4782912367782639012, i64 4617543042054675160, i64 4782954935999311317, i64 4617544049737416529, i64 4782998308115040673, i64 4617545066893360463, i64 4783042507188813890, i64 4617546093704005481, i64 4783087557171359254, i64 4617547130356132557, i64 4783133482948713271, i64 4617548177042012423, i64 4783180310388368346, i64 4617549233959623166, i64 4783228066388181627, i64 4617550301312878716, i64 4783276778928239771, i64 4617551379311868894, i64 4783326477125890290, i64 4617552468173111733, i64 4783377191294167426, i64 4617553568119818831, i64 4783428953003859492, i64 4617554679382174542, i64 4783481795149485370, i64 4617555802197629900, i64 4783535752019470554, i64 4617556936811212210, i64 4783590859370838108, i64 4617558083475851307, i64 4783647154508757220, i64 4617559242452723599, i64 4783704676371322151, i64 4617560414011615044, i64 4783763465619967391, i64 4617561598431304349, i64 4783823564735961281, i64 4617562795999967738, i64 4783885018123460459, i64 4617564007015606780, i64 4783947872219651746, i64 4617565231786500867, i64 4784012175612556994, i64 4617566470631686056, i64 4784077979167130454, i64 4617567723881462168, i64 4784145336160338053, i64 4617568991877930138, i64 4784214302425974296, i64 4617570274975561837, i64 4784284936510046067, i64 4617571573541804727, i64 4784357299837634334, i64 4617572887957723963, i64 4784431456892235688, i64 4617574218618684733, i64 4784507475408686885, i64 4617575565935077929, i64 4784585426580888463, i64 4617576930333092474, i64 4784665385285669604, i64 4617578312255537973, i64 4784747430324277377, i64 4617579712162721656, i64 4784831644683131391, i64 4617581130533383995, i64 4784918115815661893, i64 4617582567865697757, i64 4785006935947248207, i64 4617584024678335730, i64 4785098202405497987, i64 4617585501511612880, i64 4785192017978359744, i64 4617586998928709248, i64 4785288491302845283, i64 4617588517516980534, i64 4785387737287460021, i64 4617590057889364041, i64 4785489877571802786, i64 4617591620685888425, i64 4785595041027209221, i64 4617593206575296594, i64 4785703364302781463, i64 4617594816256792087, i64 4785814992421680187, i64 4617596450461920404, i64 4785930079433163272, i64 4617597276998794412, i64 4785988970806413002, i64 4617598109956597984, i64 4786048789126550356, i64 4617598949436800511, i64 4786109556517539630, i64 4617599795543302992, i64 4786171295814088164, i64 4617600648382516465, i64 4786234030590443727, i64 4617601508063443636, i64 4786297785190604304, i64 4617602374697763851, i64 4786362584760021819, i64 4617603248399921587, i64 4786428455278886727, i64 4617604129287218628, i64 4786495423597086249, i64 4617605017479910125, i64 4786563517470935311, i64 4617605913101304720, i64 4786632765601785991, i64 4617606816277868968, i64 4786703197676628576, i64 4617607727139336247, i64 4786774844410805163, i64 4617608645818820427, i64 4786847737592965234, i64 4617609572452934512, i64 4786921910132401753, i64 4617610507181914556, i64 4786997396108916223, i64 4617611450149749100, i64 4787074230825371829, i64 4617612401504314464, i64 4787152450863105301, i64 4617613361397516182, i64 4787232094140380684, i64 4617614329985436944, i64 4787313199974081702, i64 4617615307428491393, i64 4787361106519845672, i64 4617616293891588162, i64 4787403183930381238, i64 4617617289544299575, i64 4787446056125341397, i64 4617618294561039434, i64 4787489745905126251, i64 4617619309121249368, i64 4787534276951958595, i64 4617620333409594247, i64 4787579673872969224, i64 4617621367616167185, i64 4787625962245834789, i64 4617622411936704716, i64 4787673168667146481, i64 4617623466572812744, i64 4787721320803702178, i64 4617624531732203923, i64 4787770447446930384, i64 4617625607628947183, i64 4787820578570671443, i64 4617626694483730123, i64 4787871745392560258, i64 4617627792524135122, i64 4787923980439275265, i64 4617628901984929990, i64 4787977317615940910, i64 4617630023108374126, i64 4788031792279995531, i64 4617631156144541169, i64 4788087441319863601, i64 4617632301351659216, i64 4788144303238801047, i64 4617633458996469791, i64 4788202418244315059, i64 4617634629354606788, i64 4788261828343595791, i64 4617635812710996766, i64 4788322577445437089, i64 4617637009360282038, i64 4788384711469167099, i64 4617638219607268142, i64 4788448278461158022, i64 4617639443767397395, i64 4788513328719537715, i64 4617640682167250377, i64 4788579914927785028, i64 4617641935145077348, i64 4788648092297956363, i64 4617643203051361770, i64 4788717918724363719, i64 4617644486249418293, i64 4788789454948605315, i64 4617645785116027761, i64 4788862764736939846, i64 4617647100042112024, i64 4788937915071095529, i64 4617648431433451610, i64 4789014976353716838, i64 4617649779711449531, i64 4789094022629776504, i64 4617651145313944865, i64 4789175131825419835, i64 4617652528696080047, i64 4789258386005864567, i64 4617653930331226171, i64 4789343871654154595, i64 4617655350711971050, i64 4789431679972762585, i64 4617656790351175198, i64 4789521907210257709, i64 4617658249783101415, i64 4789614655015503918, i64 4617659729564624245, i64 4789710030822135382, i64 4617661230276526154, i64 4789808148266373503, i64 4617662752524888036, i64 4789909127641609698, i64 4617664296942582378, i64 4790013096393586149, i64 4617665864190878352, i64 4790120189660470300, i64 4617667454961169036, i64 4790230550862646491, i64 4617669069976832117, i64 4790344332347649786, i64 4617669886811970255, i64 4790402555918257926, i64 4617670709995236631, i64 4790461696096354574, i64 4617671539626968964, i64 4790521774761775056, i64 4617672375809909749, i64 4790582814497317571, i64 4617673218649283838, i64 4790644838617227345, i64 4617674068252879166, i64 4790707871197077907, i64 4617674924731130802, i64 4790771937105130146, i64 4617675788197208467, i64 4790837062035255136, i64 4617676658767107703, i64 4790903272541512509, i64 4617677536559744884, i64 4790970596074482375, i64 4617678421697056247, i64 4791039061019455451, i64 4617679314304101169, i64 4791108696736593275, i64 4617680214509169891, i64 4791179533603178163, i64 4617681122443895944, i64 4791251603058080922, i64 4617682038243373498, i64 4791324937648583385, i64 4617682962046279921, i64 4791399571079702626, i64 4617683893995003810, i64 4791475538266174243, i64 4617684834235778802, i64 4791552875387263542, i64 4617685782918823468, i64 4791631619944585820, i64 4617686740198487645, i64 4791711810823130322, i64 4617687706233405540, i64 4791793488355697005, i64 4617688681186656008, i64 4791853348956589342, i64 4617689665225930400, i64 4791895737943842037, i64 4617690658523708416, i64 4791938935450939206, i64 4617691661257442425, i64 4791982964900333753, i64 4617692673609750749, i64 4792027850629322033, i64 4617693695768620444, i64 4792073617935188247, i64 4617694727927620125, i64 4792120293123050291, i64 4617695770286123466, i64 4792167903556597627, i64 4617696823049544001, i64 4792216477711927290, i64 4617697886429581929, i64 4792266045234701085, i64 4617698960644483669, i64 4792316637000865610, i64 4617700045919314961, i64 4792368285181196999, i64 4617701142486248372, i64 4792421023309954595, i64 4617702250584866123, i64 4792474886357952083, i64 4617703370462479241, i64 4792529910810381450, i64 4617704502374464093, i64 4792586134749754538, i64 4617705646584617454, i64 4792643597944359305, i64 4617706803365531349, i64 4792702341942663553, i64 4617707972998989009, i64 4792762410174138139, i64 4617709155776383376, i64 4792823848057014991, i64 4617710351999159732, i64 4792886703113543110, i64 4617711561979284124, i64 4792951025093358626, i64 4617712786039739422, i64 4793016866105643526, i64 4617714024515050993, i64 4793084280760812592, i64 4617715277751844123, i64 4793153326322540053, i64 4617716546109435545, i64 4793224062871017490, i64 4617717829960461580, i64 4793296553478423452, i64 4617719129691545668, i64 4793370864397684393, i64 4617720445704008281, i64 4793447065265716984, i64 4617721778414622496, i64 4793525229322465301, i64 4617723128256418796, i64 4793605433647184343, i64 4617724495679543004, i64 4793687759413575857, i64 4617725881152171622, i64 4793772292165555715, i64 4617727285161489233, i64 4793859122115626691, i64 4617728708214733115, i64 4793948344468049347, i64 4617730150840310666, i64 4794040059769250323, i64 4617731613588995842, i64 4794134374288185527, i64 4617733097035211395, i64 4794231400429690171, i64 4617734601778404425, i64 4794331257184203588, i64 4617736128444523501, i64 4794434070617660451, i64 4617737677687606504, i64 4794539974405798721, i64 4617739250191489306, i64 4794649110417656691, i64 4617740846671646495, i64 4794761629353626837, i64 4617741654135550373, i64 4794819207097435274, i64 4617742467877176593, i64 4794877691444114437, i64 4617743287995767839, i64 4794937104037192518, i64 4617744114592945603, i64 4794997467215627741, i64 4617744947772786931, i64 4795058804041989187, i64 4617745787641904290, i64 4795121138332019942, i64 4617746634309528715, i64 4795184494685662363, i64 4617747487887596389, i64 4795248898519630554, i64 4617748348490838842, i64 4795314376101620880, i64 4617749216236876938, i64 4795380954586257450, i64 4617750091246318851, i64 4795448662052876157, i64 4617750973642862236, i64 4795517527545257959, i64 4617751863553400803, i64 4795587581113429805, i64 4617752761108135535, i64 4795658853857659865, i64 4617753666440690792, i64 4795731377974782696, i64 4617754579688235553, i64 4795805186806999645, i64 4617755500991610084, i64 4795880314893310235, i64 4617756430495458314, i64 4795956798023741577, i64 4617757368348366247, i64 4796034673296555104, i64 4617758314703006717, i64 4796113979178623178, i64 4617759269716290870, i64 4796194755569182463, i64 4617760233549526729, i64 4796277043867186576, i64 4617761206368585251, i64 4796347245096037830, i64 4617762188344074302, i64 4796389966430375624, i64 4617763179651521021, i64 4796433510682353893, i64 4617764180471563038, i64 4796477901928027770, i64 4617765190990149095, i64 4796523165193215850, i64 4617766211398749607, i64 4796569326500839617, i64 4617767241894577784, i64 4796616412921124448, i64 4617768282680821926, i64 4796664452624866135, i64 4617769333966889613, i64 4796713474939983653, i64 4617770395968664489, i64 4796763510411597260, i64 4617771468908776466, i64 4796814590865891108, i64 4617772553016886170, i64 4796866749478041569, i64 4617773648529984551, i64 4796920020844516600, i64 4617774755692708650, i64 4796974441060077997, i64 4617775874757674548, i64 4797030047799847472, i64 4617777005985828675, i64 4797086880406829547, i64 4617778149646818669, i64 4797144979985319478, i64 4617779306019385133, i64 4797204389500663289, i64 4617780475391775700, i64 4797265153885879874, i64 4617781658062182971, i64 4797327320155702445, i64 4617782854339207974, i64 4797390937528648978, i64 4617784064542350968, i64 4797456057557789221, i64 4617785289002531548, i64 4797522734270940099, i64 4617786528062640168, i64 4797591024321092549, i64 4617787782078123405, i64 4797660987147952022, i64 4617789051417605459, i64 4797732685151562911, i64 4617790336463548619, i64 4797806183879085242, i64 4617791637612955676, i64 4797881552225901312, i64 4617792955278117509, i64 4797958862652352082, i64 4617794289887409385, i64 4798038191417539679, i64 4617795641886139833, i64 4798119618831785278, i64 4617797011737456321, i64 4798203229529503111, i64 4617798399923312345, i64 4798289112764443915, i64 4617799806945501027, i64 4798377362729477764, i64 4617801233326760756, i64 4798468078903330224, i64 4617802679611959018, i64 4798561366426961120, i64 4617804146369361133, i64 4798657336512586404, i64 4617805634191991310, i64 4798756106888695870, i64 4617807143699094233, i64 4798857802284819075, i64 4617808675537706192, i64 4798962554960245680, i64 4617810230384345797, i64 4799070505281423163, i64 4617811808946835352, i64 4799181802353344002, i64 4617812607351758203, i64 4799238755074392850, i64 4617813411966265215, i64 4799296604710907694, i64 4617814222888538753, i64 4799355372677525178, i64 4617815040219114835, i64 4799415081077013731, i64 4617815864060959075, i64 4799475752728160448, i64 4617816694519545711, i64 4799537411195025946, i64 4617817531702939875, i64 4799600080817646174, i64 4617818375721883277, i64 4799663786744265385, i64 4617819226689883446, i64 4799728554965190147, i64 4617820084723306737, i64 4799794412348360352, i64 4617820949941475285, i64 4799861386676739710, i64 4617821822466768095, i64 4799929506687635296, i64 4617822702424726511, i64 4799998802114063316, i64 4617823589944164265, i64 4800069303728286441, i64 4617824485157282361, i64 4800141043387656971, i64 4617825388199789057, i64 4800214054082909593, i64 4617826299211025199, i64 4800288369989057897, i64 4617827218334095223, i64 4800364026519059971, i64 4617828145716004106, i64 4800441060380430522, i64 4617829081507800621, i64 4800519509634990075, i64 4617830025864727229, i64 4800599413761956041, i64 4617830978946376987, i64 4800680813724595855, i64 4617831940916857873, i64 4800763752040679130, i64 4617832911944964944, i64 4800842737816966360, i64 4617833892204360794, i64 4800885812402540590, i64 4617834881873764779, i64 4800929724988500067, i64 4617835881137151543, i64 4800974500337663840, i64 4617836890183959387, i64 4801020164199555154, i64 4617837909209309074, i64 4801066743360082103, i64 4617838938414233720, i64 4801114265694252180, i64 4617839978005920422, i64 4801162760222139193, i64 4617841028197964379, i64 4801212257168339184, i64 4617842089210636274, i64 4801262788025171857, i64 4617843161271163763, i64 4801314385619905841, i64 4617844244614027967, i64 4801367084186309989, i64 4617845339481275946, i64 4801420919440859139, i64 4617846446122850196, i64 4801475928663951602, i64 4617847564796936297, i64 4801532150786527311, i64 4617848695770329917, i64 4801589626482510480, i64 4617849839318824499, i64 4801648398267539068, i64 4617850995727621029, i64 4801708510604485774, i64 4617852165291761417, i64 4801770010016322150, i64 4617853348316587153, i64 4801832945206929238, i64 4617854545118225012, i64 4801897367190515483, i64 4617855756024101764, i64 4801963329430366247, i64 4617856981373489979, i64 4802030887987719789, i64 4617858221518087221, i64 4802100101681642892, i64 4617859476822631110, i64 4802171032260866525, i64 4617860747665552942, i64 4802243744588638945, i64 4617862034439672831, i64 4802318306841761914, i64 4617863337552939552, i64 4802394790725096574, i64 4617864657429218603, i64 4802473271702960692, i64 4617865994509132298, i64 4802553829248990338, i64 4617867349250956075, i64 4802636547116208796, i64 4617868722131575596, i64 4802721513629236139, i64 4617870113647509654, i64 4802808822000787290, i64 4617871524316004405, i64 4802898570674847962, i64 4617872954676204971, i64 4802990863699190381, i64 4617874405290411079, i64 4803085811130198775, i64 4617875876745424086, i64 4803183529473323291, i64 4617877369653993483, i64 4803284142162876539, i64 4617878884656371839, i64 4803387780085336286, i64 4617880422421988091, i64 4803494582150829255, i64 4617881983651250162, i64 4803604695918054235, i64 4617882773292571999, i64 4803661043333829647, i64 4617883569077489107, i64 4803718278278569127, i64 4617884371103156462, i64 4803776421945055917, i64 4617885179469058314, i64 4803835496207129534, i64 4617885994277083347, i64 4803895523647287620, i64 4617886815631602892, i64 4803956527585641867, i64 4617887643639552361, i64 4804018532110306171, i64 4617888478410516038, i64 4804081562109300391, i64 4617889320056815414, i64 4804145643304058675, i64 4617890168693601234, i64 4804210802284637326, i64 4617891024438949455, i64 4804277066546723688, i64 4617891887413961302, i64 4804344464530554481, i64 4617892757742867650, i64 4804413025661859580, i64 4617893635553137949, i64 4804482780394955332, i64 4617894520975593927, i64 4804553760258120287, i64 4617895414144528339, i64 4804625997901395682, i64 4617896315197829026, i64 4804699527146963264, i64 4617897224277108561, i64 4804774383042264126, i64 4617898141527839807, i64 4804850601916034177, i64 4617899067099497701, i64 4804928221437444919, i64 4617900001145707611, i64 4805007280678552210, i64 4617900943824400639, i64 4805087820180271028, i64 4617901895297976261, i64 4805169882022110767, i64 4617902855733472728, i64 4805253509895923671, i64 4617903825302745675, i64 4805338749183938518, i64 4617904804182655412, i64 4805383224722846139, i64 4617905792555263419, i64 4805427527444130491, i64 4617906790608038587, i64 4805472709442460123, i64 4617907798534073790, i64 4805518797228110151, i64 4617908816532313417, i64 4805565818389331844, i64 4617909844807792548, i64 4805613801647751340, i64 4617910883571888467, i64 4805662776917222128, i64 4617911933042585325, i64 4805712775366385206, i64 4617912993444752750, i64 4805763829485212459, i64 4617914065010439321, i64 4805815973155832401, i64 4617915147979181850, i64 4805869241727963418, i64 4617916242598331525, i64 4805923672099308191, i64 4617917349123398010, i64 4805979302801294312, i64 4617918467818412720, i64 4806036174090580702, i64 4617919598956312548, i64 4806094328046787472, i64 4617920742819345469, i64 4806153808676948903, i64 4617921899699499511, i64 4806214662027235584, i64 4617923069898956737, i64 4806276936302543068, i64 4617924253730574021, i64 4806340681994601183, i64 4617925451518392515, i64 4806405952019321056, i64 4617926663598177915, i64 4806472801864166736, i64 4617927890317993763, i64 4806541289746415896, i64 4617929132038810265, i64 4806611476783260332, i64 4617930389135151280, i64 4806683427174793130, i64 4617931661995782398, i64 4806757208401036476, i64 4617932951024443280, i64 4806832891434283816, i64 4617934256640627733, i64 4806910550968163834, i64 4617935579280415278, i64 4806990265664983621, i64 4617936919397358377, i64 4807072118423076401, i64 4617938277463429840, i64 4807156196666067937, i64 4617939653970035371, i64 4807242592656188017, i64 4617941049429096721, i64 4807331403833992545, i64 4617942464374211440, i64 4807422733187131609, i64 4617943899361895814, i64 4807516689651103871, i64 4617945354972918270, i64 4807613388545282880, i64 4617946831813731262, i64 4807712952047892501, i64 4617948330518010502, i64 4807815509714053498, i64 4617949851748311363, i64 4807921199041529703, i64 4617951396197853295, i64 4808030166089379645, i64 4617952177355325977, i64 4808085926908279650, i64 4617952964592444350, i64 4808142566155379333, i64 4617953758005367271, i64 4808200104808295468, i64 4617954557692559228, i64 4808258564518837295, i64 4617955363754864738, i64 4808317967640331823, i64 4617956176295585775, i64 4808378337256289706, i64 4617956995420562383, i64 4808439697210489076, i64 4617957821238256611, i64 4808502072138559870, i64 4617958653859839960, i64 4808565487501156743, i64 4617959493399284505, i64 4808629969618814588, i64 4617960339973457886, i64 4808695545708587140, i64 4617961193702222357, i64 4808762243922576021, i64 4617962054708538119, i64 4808830093388465062, i64 4617962923118571149, i64 4808899124252182779, i64 4617963799061805760, i64 4808969367722824543, i64 4617964682671162159, i64 4809040856119975400, i64 4617965574083119254, i64 4809113622923584586, i64 4617966473437843002, i64 4809187702826553810, i64 4617967380879320607, i64 4809263131790213183, i64 4617968296555500874, i64 4809339947102871592, i64 4617969220618441082, i64 4809418187441642206, i64 4617970153224460729, i64 4809497892937758945, i64 4617971094534302536, i64 4809579105245616172, i64 4617972044713301143, i64 4809661867615781651, i64 4617973003931559925, i64 4809746224972252261, i64 4617973972364136405, i64 4809832223994242997, i64 4617974950191236783, i64 4809882157617256268, i64 4617975937598420107, i64 4809926872542212775, i64 4617976934776812675, i64 4809972484030731780, i64 4617977941923333296, i64 4810019019392892729, i64 4617978959240930062, i64 4810066507060805937, i64 4617979986938829351, i64 4810114976646879453, i64 4617981025232797840, i64 4810164459005756901, i64 4617982074345418326, i64 4810214986300199094, i64 4617983134506380269, i64 4810266592071205642, i64 4617984205952785981, i64 4810319311312698479, i64 4617985288929473511, i64 4810373180551117496, i64 4617986383689357305, i64 4810428237930309510, i64 4617987490493787855, i64 4810484523302126039, i64 4617988609612931597, i64 4810542078323183036, i64 4617989741326172463, i64 4810600946558277307, i64 4617990885922536573, i64 4810661173591000322, i64 4617992043701141692, i64 4810722807142140878, i64 4617993214971673207, i64 4810785897196524323, i64 4617994400054888522, i64 4810850496138998359, i64 4617995599283151936, i64 4810916658900344582, i64 4617996813001002237, i64 4810984443113971727, i64 4617998041565755458, i64 4811053909284332042, i64 4617999285348145421, i64 4811125120968097336, i64 4618000544733004975, i64 4811198144969237403, i64 4618001820119991052, i64 4811273051549261997, i64 4618003111924356973, i64 4811349914654020065, i64 4618004420577775768, i64 4811428812158598298, i64 4618005746529218576, i64 4811509826132027516, i64 4618007090245892644, i64 4811593043123692217, i64 4618008452214243819, i64 4811678554473548904, i64 4618009832941028956, i64 4811766456648495543, i64 4618011232954464159, i64 4811856851607501753, i64 4618012652805455392, i64 4811949847198411312, i64 4618014093068918667, i64 4812045557589670468, i64 4618015554345197740, i64 4812144103740623310, i64 4618017037261588098, i64 4812245613914455972, i64 4618018542473976958, i64 4812350224238372915, i64 4618020070668610024, i64 4812458079316160353, i64 4618020843607486940, i64 4812513271308027004, i64 4618021622563996977, i64 4812569332898945275, i64 4618022407633332603, i64 4812626284857725135, i64 4618023198912968968, i64 4812684148620706629, i64 4618023996502737568, i64 4812742946318816699, i64 4618024800504902912, i64 4812802700805953475, i64 4618025611024242330, i64 4812863435688774660, i64 4618026428168129090, i64 4812925175357971740, i64 4618027252046618975, i64 4812987945021117260, i64 4618028082772540508, i64 4813051770737178268, i64 4618028920461589002, i64 4813116679452795426, i64 4618029765232424639, i64 4813182699040434106, i64 4618030617206774776, i64 4813249858338521180, i64 4618031476509540715, i64 4813318187193689196, i64 4618032343268909156, i64 4813387716505258200, i64 4618033217616468590, i64 4813458478272094780, i64 4618034099687330900, i64 4813530505641997930, i64 4618034989620258444, i64 4813603832963772205, i64 4618035887557796931, i64 4813678495842160386, i64 4618036793646414395, i64 4813754531195820618, i64 4618037708036646619, i64 4813831977318546763, i64 4618038630883249368, i64 4813910873943945729, i64 4618039562345357811, i64 4813991262313801740, i64 4618040502586653559, i64 4814073185250375201, i64 4618041451775539734, i64 4814156687232903017, i64 4618042410085324571, i64 4814241814478588086, i64 4618043377694414026, i64 4814328615028388476, i64 4618044354786513945, i64 4814382570248500890, i64 4618045341550842362, i64 4814427719766522817, i64 4618046338182352542, i64 4814473783937864808, i64 4618047344881967433, i64 4814520790913619079, i64 4618048361856826228, i64 4814568770013593611, i64 4618049389320543799, i64 4814617751787645693, i64 4618050427493483819, i64 4814667768080920956, i64 4618051476603046456, i64 4814718852103291231, i64 4618052536883971557, i64 4814771038503310066, i64 4618053608578658370, i64 4814824363447032684, i64 4618054691937502870, i64 4814878864702077947, i64 4618055787219253881, i64 4814934581727343779, i64 4618056894691389256, i64 4814991555768824806, i64 4618058014630513500, i64 4815049829962022195, i64 4618059147322778303, i64 4815109449441481159, i64 4618060293064327606, i64 4815170461458041885, i64 4618061452161768918, i64 4815232915504445359, i64 4618062624932672783, i64 4815296863449997244, i64 4618063811706102431, i64 4815362359685061473, i64 4618065012823175829, i64 4815429461276231277, i64 4618066228637662542, i64 4815498228133109985, i64 4618067459516618038, i64 4815568723187728195, i64 4618068705841058264, i64 4815641012587728987, i64 4618069968006677635, i64 4815715165904570237, i64 4618071246424613812, i64 4815791256358124323, i64 4618072541522262984, i64 4815869361059202466, i64 4618073853744149720, i64 4815949561271695780, i64 4618075183552855822, i64 4816031942696210186, i64 4618076531430013060, i64 4816116595777280530, i64 4618077897877365135, i64 4816203616036483812, i64 4618079283417904751, i64 4816293104434036049, i64 4618080688597092253, i64 4816385167761756443, i64 4618082113984162981, i64 4816479919070621124, i64 4618083560173531184, i64 4816577478136512814, i64 4618085027786299204, i64 4816677971968209080, i64 4618086517471881541, i64 4816781535362148503, i64 4618088029909754468, i64 4816888311509080465, i64 4618088794881817606, i64 4816942951569539722, i64 4618089565811343024, i64 4816998452658351422, i64 4618090342792585086, i64 4817054835341573022, i64 4618091125922058553, i64 4817112120846321474, i64 4618091915298611539, i64 4817170331087569257, i64 4618092711023501431, i64 4817229488696255141, i64 4618093513200473927, i64 4817289617048785574, i64 4618094321935845342, i64 4817350740298007654, i64 4618095137338588354, i64 4817412883405740078, i64 4618095959520421351, i64 4817476072176954299, i64 4618096788595901572, i64 4817540333295704415, i64 4618097624682522234, i64 4817605694362911120, i64 4618098467900813858, i64 4817672183936112328, i64 4618099318374449991, i64 4817739831571300996, i64 4618100176230357595, i64 4817808667866979178, i64 4618101041598832306, i64 4817878724510566538, i64 4618101914613658863, i64 4817950034327311511, i64 4618102795412236967, i64 4818022631331864041, i64 4618103684135712863, i64 4818096550782680478, i64 4618104580929116982, i64 4818171829239443836, i64 4618105485941507956, i64 4818248504623696265, i64 4618106399326123381, i64 4818326616282895447, i64 4618107321240537702, i64 4818406205058122714, i64 4618108251846827638, i64 4818487313355688169, i64 4618109191311745566, i64 4818569985222897135, i64 4618110139806901345, i64 4818654266428262917, i64 4618111097508953076, i64 4818740204546473428, i64 4618112064599807314, i64 4818827849048443771, i64 4618113041266829327, i64 4818884426341622187, i64 4618114027703063988, i64 4818930033216854248, i64 4618115024107467967, i64 4818976573671299995, i64 4618116030685153920, i64 4819024076740590967, i64 4618117047647647429, i64 4819072572678570113, i64 4618118075213157494, i64 4819122093021906502, i64 4618119113606861456, i64 4819172670658868872, i64 4618120163061205270, i64 4819224339902573809, i64 4618121223816220154, i64 4819277136569052070, i64 4618122296119856665, i64 4819331098060507024, i64 4618123380228337408, i64 4819386263454172758, i64 4618124476406529599, i64 4819442673597216372, i64 4618125584928338867, i64 4819500371208169788, i64 4618126706077125756, i64 4819559400985421469, i64 4618127840146146514, i64 4819619809723348275, i64 4618128987439019892, i64 4819681646436722838, i64 4618130148270221819, i64 4819744962494092977, i64 4618131322965609975, i64 4819809811760897507, i64 4618132511862980455, i64 4819876250753158144, i64 4618133715312658913, i64 4819944338802671048, i64 4618134933678128788, i64 4820014138234714868, i64 4618136167336699425, i64 4820085714559396317, i64 4618137416680217187, i64 4820159136677870492, i64 4618138682115822919, i64 4820234477104803238, i64 4618139964066759432, i64 4820311812208588371, i64 4618141262973233032, i64 4820391222470995871, i64 4618142579293333501, i64 4820472792768110501, i64 4618143913504017346, i64 4820556612674626535, i64 4618145266102159616, i64 4820642776793796644, i64 4618146637605680116, i64 4820731385115595107, i64 4618148028554750422, i64 4820822543405951872, i64 4618149439513088750, i64 4820916363630249407, i64 4618150871069350494, i64 4821012964414654741, i64 4618152323838623014, i64 4821112471549291364, i64 4618153798464034228, i64 4821215018537747595, i64 4618155295618485559, i64 4821320747197979178, i64 4618156052862981117, i64 4821374851407238283, i64 4618156816006520966, i64 4821429808320304890, i64 4618157585142448306, i64 4821485638306252912, i64 4618158360366345084, i64 4821542362388928012, i64 4618159141776104259, i64 4821600002273490176, i64 4618159929472005000, i64 4821658580374258630, i64 4618160723556790970, i64 4821718119843934295, i64 4618161524135751854, i64 4821778644604279982, i64 4618162331316808286, i64 4821840179378343892, i64 4618163145210600350, i64 4821902749724317810, i64 4618163965930579835, i64 4821966382071127580, i64 4618164793593106442, i64 4822031103755860211, i64 4618165628317548141, i64 4822096943063139164, i64 4618166470226385903, i64 4822163929266567221, i64 4618167319445323026, i64 4822232092672364765, i64 4618168176103399310, i64 4822301464665340390, i64 4618169040333110344, i64 4822372077757340665, i64 4618169912270532164, i64 4822443965638336474, i64 4618170792055451597, i64 4822517163230314935, i64 4618171679831502593, i64 4822591706744158367, i64 4618172575746308875, i64 4822667633739705341, i64 4618173479951633277, i64 4822744983189203533, i64 4618174392603534130, i64 4822823795544380045, i64 4618175313862529125, i64 4822904112807372196, i64 4618176243893767050, i64 4822985978605780623, i64 4618177182867207901, i64 4823069438272127041, i64 4618178130957811827, i64 4823154538928021311, i64 4618179088345737459, i64 4823241329573366831, i64 4618180055216550174, i64 4823329861180959772, i64 4618181031761440900, i64 4823387693855333949, i64 4618182018177456113, i64 4823433781280398911, i64 4618183014667739722, i64 4823480822082059872, i64 4618184021441787578, i64 4823528846226507007, i64 4618185038715715414, i64 4823577884950643981, i64 4618186066712541076, i64 4823627970830215723, i64 4618187105662481966, i64 4823679137852368998, i64 4618188155803268697, i64 4823731421492986106, i64 4618189217380476025, i64 4823784858799162196, i64 4618190290647872225, i64 4823839488477229952, i64 4618191375867788147, i64 4823895350986772035, i64 4618192473311507305, i64 4823952488641102103, i64 4618193583259678453, i64 4824010945714739865, i64 4618194706002752226, i64 4824070768558455006, i64 4618195841841443539, i64 4824132005722509465, i64 4618196991087221613, i64 4824194708088788114, i64 4618198154062829602, i64 4824258929012575097, i64 4618199331102836029, i64 4824324724474807734, i64 4618200522554220369, i64 4824392153245722959, i64 4618201728776995363, i64 4824461277060903749, i64 4618202950144868869, i64 4824532160810836118, i64 4618204187045948291, i64 4824604872745202499, i64 4618205439883490924, i64 4824679484693266073, i64 4618206709076703863, i64 4824756072301844886, i64 4618207995061597446, i64 4824834715292536322, i64 4618209298291896604, i64 4824915497740034192, i64 4618210619240014883, i64 4824998508373584982, i64 4618211958398096410, i64 4825083840903860064, i64 4618213316279131547, i64 4825171594377780361, i64 4618214693418152598, i64 4825261873564123570, i64 4618216090373516558, i64 4825354789373076395, i64 4618217507728282627, i64 4825450459313271195, i64 4618218946091693013, i64 4825549007990274706, i64 4618220406100766484, i64 4825650567650983978, i64 4618221888422015105, i64 4825755278778940578, i64 4618222638166507380, i64 4825808862455613839, i64 4618223393753295802, i64 4825863290746209310, i64 4618224155274838084, i64 4825918583828319402, i64 4618224922825809650, i64 4825974762528194965, i64 4618225696503175213, i64 4826031848347041394, i64 4618226476406263276, i64 4826089863488605034, i64 4618227262636843688, i64 4826148830888124402, i64 4618228055299208410, i64 4826208774242725662, i64 4618228854500255645, i64 4826269718043347169, i64 4618229660349577521, i64 4826331687608283591, i64 4618230472959551480, i64 4826394709118446331, i64 4618231292445435593, i64 4826458809654443613, i64 4618232118925467978, i64 4826524017235590771, i64 4618232952520970557, i64 4826590360860969047, i64 4618233793356457365, i64 4826657870552659530, i64 4618234641559747662, i64 4826726577401287936, i64 4618235497262084107, i64 4826796513614025657, i64 4618236360598256257, i64 4826867712565203094, i64 4618237231706729698, i64 4826940208849702698, i64 4618238110729781108, i64 4827014038339311546, i64 4618238997813639582, i64 4827089238242226674, i64 4618239893108634577, i64 4827165847165920974, i64 4618240796769350852, i64 4827243905183593249, i64 4618241708954790796, i64 4827323453904443199, i64 4618242629828544580, i64 4827404536548030775, i64 4618243559558968589, i64 4827487198022999656, i64 4618244498319372615, i64 4827571485010466717, i64 4618245446288216342, i64 4827657446052403484, i64 4618246403649315676, i64 4827745131645361838, i64 4618247370592059523, i64 4827834594339924963, i64 4618248347311637650, i64 4827892344693733803, i64 4618249334009280325, i64 4827938936343821019, i64 4618250330892510468, i64 4827986502077324797, i64 4618251338175409105, i64 4828035072839694456, i64 4618252356078894985, i64 4828084680902813504, i64 4618253384831019266, i64 4828135359936891441, i64 4618254424667276265, i64 4828187145087084891, i64 4618255475830931325, i64 4828240073055215173, i64 4618256538573366957, i64 4828294182186982371, i64 4618257613154448478, i64 4828349512565112274, i64 4618258699842910497, i64 4828406106108912605, i64 4618259798916765667, i64 4828464006680759211, i64 4618260910663737292, i64 4828523260200081796, i64 4618262035381717454, i64 4828583914765472934, i64 4618263173379252506, i64 4828646020785604130, i64 4618264324976057901, i64 4828709631119699265, i64 4618265490503564534, i64 4828774801228389759, i64 4618266670305498918, i64 4828841589335858083, i64 4618267864738499760, i64 4828910056604267883, i64 4618269074172773696, i64 4828980267321581210, i64 4618270298992793229, i64 4829052289103977476, i64 4618271539598040152, i64 4829126193114216405, i64 4618272796403798088, i64 4829202054297430158, i64 4618274069841998065, i64 4829279951635990115, i64 4618275360362121473, i64 4829359968425273807, i64 4618276668432165116, i64 4829442192572359959, i64 4618277994539673591, i64 4829526716919907738, i64 4618279339192844670, i64 4829613639597733689, i64 4618280702921714015, i64 4829703064404890743, i64 4618282086279426129, i64 4829795101225383051, i64 4618283489843599209, i64 4829889866481023947, i64 4618284914217792347, i64 4829987483625368708, i64 4618286360033084442, i64 4830088083683136859, i64 4618287827949775178, i64 4830191805840089665], i64 9223372036854775807, i64 4449556431842050048, i64 4607182418800017408, i64 4602678819172646912, i64 0, i64 9223301668110598144, i64 70368744177664, i64 69632, i64 1, i64 -288230376151711744, i64 4448430531935207424, i64 4606157642047745899, i64 4605249457297304856, i64 4597527193587738084, i64 4606534392842479076, i64 4604657328439469785, i64 4608234912510526942, i64 4593763715839136197, i64 4610228890431062468, i64 4610557154398819666, i64 4604332949310953564, i64 4615085646766988865, i64 4613000746137665107, i64 4590901158855170632, i64 4612522932803014418, i64 4619531049342135236, i64 4616021890253253838, i64 -9223372036854775808, i64 -9218868437227405313, [2 x i64] [i64 4606157673962930176, i64 -4697895236534967921], [2 x i64] [i64 5760103923406864384, i64 3454260914193170432], [2 x i64] [i64 1157425104234217472, i64 -8065946932620558336], [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808], [2 x i64] [i64 103582791429521408, i64 -9119789245425254400] }, align 8 +@_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_127__derfinv_la__vmldErfInvTabE = internal unnamed_addr addrspace(1) constant [16 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -2147483648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1035993088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 269484032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072454656] }, { [2 x i32] } { [2 x i32] [i32 1112891791, i32 -1093813972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1341128704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 804257792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1110966272] }, { [2 x i32] } { [2 x i32] [i32 65536, i32 1110966272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 269484032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1877999616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 24117248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -2123366400] }], align 8 +@_ZN21__imf_impl_acosh_d_la12_GLOBAL__N_136__devicelib_imf_internal_dacosh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_acosh_d_la::(anonymous namespace)::__devicelib_imf_internal_dacosh_data_t" { [1026 x i64] [i64 -4573929700241800448, i64 -4747663588083126016, i64 -4573929683078686680, i64 -4747656230562481302, i64 -4573929665948996704, i64 -4747656847265566209, i64 -4573929648852600608, i64 -4747656941001928102, i64 -4573929631789369224, i64 -4747654680820138293, i64 -4573929614759174120, i64 -4747656080807710050, i64 -4573929597761887632, i64 -4747654219762351237, i64 -4573929580797382808, i64 -4747656870118799185, i64 -4573929563865533456, i64 -4747656982659891106, i64 -4573929546966214096, i64 -4747655977824342796, i64 -4573929530099299968, i64 -4747656280381921897, i64 -4573929513264667040, i64 -4747653883460620778, i64 -4573929496462191968, i64 -4747657329868482330, i64 -4573929479691752152, i64 -4747653945540955294, i64 -4573929462953225648, i64 -4747655266181610153, i64 -4573929446246491240, i64 -4747654531005645813, i64 -4573929429571428384, i64 -4747654572941727251, i64 -4573929412927917224, i64 -4747656153814740243, i64 -4573929396315838592, i64 -4747655122710608561, i64 -4573929379735073976, i64 -4747657193309815858, i64 -4573929363185505552, i64 -4747657563329154137, i64 -4573929346667016152, i64 -4747655744517506095, i64 -4573929330179489256, i64 -4747657224399583728, i64 -4573929313722809016, i64 -4747657561430512918, i64 -4573929297296860224, i64 -4747657291786085674, i64 -4573929280901528320, i64 -4747654870947488346, i64 -4573929264536699368, i64 -4747657232219733659, i64 -4573929248202260096, i64 -4747655185349922831, i64 -4573929231898097832, i64 -4747656013949908197, i64 -4573929215624100552, i64 -4747654524198918544, i64 -4573929199380156832, i64 -4747656893770270596, i64 -4573929183166155888, i64 -4747656165650667476, i64 -4573929166981987528, i64 -4747656143616955772, i64 -4573929150827542176, i64 -4747655728185068105, i64 -4573929134702710856, i64 -4747655265430528485, i64 -4573929118607385192, i64 -4747654122106389553, i64 -4573929102541457392, i64 -4747657078999270814, i64 -4573929086504820280, i64 -4747654357909165205, i64 -4573929070497367232, i64 -4747654446851055976, i64 -4573929054518992224, i64 -4747655374032938361, i64 -4573929038569589808, i64 -4747655585446881537, i64 -4573929022649055104, i64 -4747656047331342440, i64 -4573929006757283808, i64 -4747653573277475986, i64 -4573928990894172160, i64 -4747656162080632866, i64 -4573928975059616992, i64 -4747654375417819349, i64 -4573928959253515664, i64 -4747654308248613508, i64 -4573928943475766096, i64 -4747657802514223976, i64 -4573928927726266776, i64 -4747655874619040209, i64 -4573928912004916704, i64 -4747657346716581032, i64 -4573928896311615448, i64 -4747655924568579200, i64 -4573928880646263096, i64 -4747654469027577100, i64 -4573928865008760272, i64 -4747654101963432117, i64 -4573928849399008128, i64 -4747656524945005630, i64 -4573928833816908352, i64 -4747657560246616332, i64 -4573928818262363152, i64 -4747653904216398848, i64 -4573928802735275232, i64 -4747654296720545577, i64 -4573928787235547832, i64 -4747655524054212550, i64 -4573928771763084704, i64 -4747653623874994835, i64 -4573928756317790088, i64 -4747655107600924661, i64 -4573928740899568744, i64 -4747657413763738251, i64 -4573928725508325936, i64 -4747655766740629167, i64 -4573928710143967408, i64 -4747654450452724439, i64 -4573928694806399400, i64 -4747656108574196021, i64 -4573928679495528656, i64 -4747655459356210262, i64 -4573928664211262392, i64 -4747655017079022831, i64 -4573928648953508312, i64 -4747654441449957371, i64 -4573928633722174592, i64 -4747657495243807721, i64 -4573928618517169904, i64 -4747657027600532315, i64 -4573928603338403376, i64 -4747655157420365256, i64 -4573928588185784600, i64 -4747657084042652655, i64 -4573928573059223656, i64 -4747656117233879239, i64 -4573928557958631072, i64 -4747653906791346622, i64 -4573928542883917832, i64 -4747654298954601347, i64 -4573928527834995384, i64 -4747657207748810114, i64 -4573928512811775640, i64 -4747656899153575655, i64 -4573928497814170952, i64 -4747653484039024103, i64 -4573928482842094104, i64 -4747655629487218412, i64 -4573928467895458352, i64 -4747656896165240439, i64 -4573928452974177384, i64 -4747656070348259217, i64 -4573928438078165320, i64 -4747655519750787761, i64 -4573928423207336720, i64 -4747655165209747499, i64 -4573928408361606576, i64 -4747655262218130895, i64 -4573928393540890312, i64 -4747654798030646259, i64 -4573928378745103776, i64 -4747654300296921877, i64 -4573928363974163240, i64 -4747654260993417817, i64 -4573928349227985400, i64 -4747653573566321073, i64 -4573928334506487360, i64 -4747656779245783453, i64 -4573928319809586664, i64 -4747654938028302158, i64 -4573928305137201240, i64 -4747654890988351556, i64 -4573928290489249440, i64 -4747655758721440975, i64 -4573928275865650024, i64 -4747656238675730135, i64 -4573928261266322152, i64 -4747657516875004682, i64 -4573928246691185392, i64 -4747657395862843136, i64 -4573928232140159704, i64 -4747657628978305142, i64 -4573928217613165456, i64 -4747653674516750649, i64 -4573928203110123384, i64 -4747655248167993944, i64 -4573928188630954648, i64 -4747654110730039294, i64 -4573928174175580776, i64 -4747653440191002636, i64 -4573928159743923680, i64 -4747657632994119668, i64 -4573928145335905680, i64 -4747657718743907546, i64 -4573928130951449456, i64 -4747656368705874780, i64 -4573928116590478064, i64 -4747657731197662313, i64 -4573928102252914952, i64 -4747657278133547797, i64 -4573928087938683936, i64 -4747653652845966546, i64 -4573928073647709184, i64 -4747656130797319093, i64 -4573928059379915264, i64 -4747656906750046592, i64 -4573928045135227096, i64 -4747656169219961743, i64 -4573928030913569960, i64 -4747656399225080903, i64 -4573928016714869504, i64 -4747656679552667335, i64 -4573928002539051736, i64 -4747655810535800545, i64 -4573927988386043016, i64 -4747655436145887769, i64 -4573927974255770064, i64 -4747654384208664467, i64 -4573927960148159944, i64 -4747656210877924747, i64 -4573927946063140088, i64 -4747654764897680282, i64 -4573927932000638256, i64 -4747654946161267371, i64 -4573927917960582568, i64 -4747653891681662722, i64 -4573927903942901472, i64 -4747657355669706369, i64 -4573927889947523784, i64 -4747656516836599448, i64 -4573927875974378632, i64 -4747657571805500040, i64 -4573927862023395504, i64 -4747654163378549899, i64 -4573927848094504192, i64 -4747656992778738702, i64 -4573927834187634856, i64 -4747657470475407555, i64 -4573927820302717968, i64 -4747657346900819731, i64 -4573927806439684336, i64 -4747654371808085681, i64 -4573927792598465080, i64 -4747654350928642203, i64 -4573927778778991656, i64 -4747656823286120328, i64 -4573927764981195856, i64 -4747653941501103318, i64 -4573927751205009760, i64 -4747655749143131558, i64 -4573927737450365800, i64 -4747653894117466190, i64 -4573927723717196696, i64 -4747655719400577604, i64 -4573927710005435504, i64 -4747656789648546559, i64 -4573927696315015584, i64 -4747657406715042105, i64 -4573927682645870608, i64 -4747657143302473380, i64 -4573927668997934560, i64 -4747653782947500660, i64 -4573927655371141712, i64 -4747655462356891244, i64 -4573927641765426664, i64 -4747657637505895473, i64 -4573927628180724320, i64 -4747655242167941839, i64 -4573927614616969864, i64 -4747654854428997278, i64 -4573927601074098792, i64 -4747656084787253473, i64 -4573927587552046904, i64 -4747654962323304714, i64 -4573927574050750280, i64 -4747656124729100316, i64 -4573927560570145312, i64 -4747654229705662318, i64 -4573927547110168664, i64 -4747654956403101747, i64 -4573927533670757304, i64 -4747656431995844697, i64 -4573927520251848488, i64 -4747657054021592283, i64 -4573927506853379760, i64 -4747654524043520355, i64 -4573927493475288936, i64 -4747653684754086369, i64 -4573927480117514120, i64 -4747656772174419230, i64 -4573927466779993720, i64 -4747653675069089618, i64 -4573927453462666384, i64 -4747656181975827032, i64 -4573927440165471072, i64 -4747657468529532559, i64 -4573927426888347008, i64 -4747657562504776696, i64 -4573927413631233696, i64 -4747653631443537813, i64 -4573927400394070888, i64 -4747656665456516504, i64 -4573927387176798648, i64 -4747655390298666507, i64 -4573927373979357280, i64 -4747654954006257604, i64 -4573927360801687368, i64 -4747654047592764676, i64 -4573927347643729752, i64 -4747657216766602921, i64 -4573927334505425560, i64 -4747656393913448041, i64 -4573927321386716160, i64 -4747656417074857729, i64 -4573927308287543192, i64 -4747656574934614673, i64 -4573927295207848560, i64 -4747654148452707383, i64 -4573927282147574408, i64 -4747656754950265507, i64 -4573927269106663168, i64 -4747655116077270564, i64 -4573927256085057496, i64 -4747657404676826663, i64 -4573927243082700328, i64 -4747657627141777483, i64 -4573927230099534840, i64 -4747656788464649973, i64 -4573927217135504456, i64 -4747657675089471082, i64 -4573927204190552864, i64 -4747655245744318139, i64 -4573927191264623976, i64 -4747657814573549163, i64 -4573927178357661984, i64 -4747655463633405396, i64 -4573927165469611296, i64 -4747654431954728633, i64 -4573927152600416576, i64 -4747654335818958302, i64 -4573927139750022728, i64 -4747656181126633181, i64 -4573927126918374904, i64 -4747657187342810254, i64 -4573927114105418496, i64 -4747654413201994477, i64 -4573927101311099112, i64 -4747657184123126397, i64 -4573927088535362632, i64 -4747655544727544119, i64 -4573927075778155144, i64 -4747654687574243904, i64 -4573927063039422976, i64 -4747656610808677503, i64 -4573927050319112704, i64 -4747654975375276186, i64 -4573927037617171112, i64 -4747656355886238101, i64 -4573927024933545232, i64 -4747657516355879006, i64 -4573927012268182328, i64 -4747653477545181716, i64 -4573926999621029864, i64 -4747654385638398898, i64 -4573926986992035560, i64 -4747654007601933129, i64 -4573926974381147344, i64 -4747655406297081984, i64 -4573926961788313376, i64 -4747657038279172847, i64 -4573926949213482040, i64 -4747656448843943399, i64 -4573926936656601936, i64 -4747653972091772576, i64 -4573926924117621872, i64 -4747656435966843755, i64 -4573926911596490904, i64 -4747654483949682971, i64 -4573926899093158272, i64 -4747657076244715355, i64 -4573926886607573464, i64 -4747655627072367997, i64 -4573926874139686160, i64 -4747654117466326903, i64 -4573926861689446256, i64 -4747655232372342492, i64 -4573926849256803872, i64 -4747655298566292858, i64 -4573926836841709328, i64 -4747656819444502382, i64 -4573926824444113168, i64 -4747654626181574917, i64 -4573926812063966120, i64 -4747657217867657710, i64 -4573926799701219152, i64 -4747655329656060729, i64 -4573926787355823408, i64 -4747656476138559682, i64 -4573926775027730264, i64 -4747653528514955519, i64 -4573926762716891272, i64 -4747654868867991534, i64 -4573926750423258208, i64 -4747657374250476450, i64 -4573926738146783056, i64 -4747654589524359708, i64 -4573926725887417976, i64 -4747653700636066286, i64 -4573926713645115336, i64 -4747657327826710751, i64 -4573926701419827728, i64 -4747654119206385198, i64 -4573926689211507896, i64 -4747657727075553586, i64 -4573926677020108832, i64 -4747653429469974766, i64 -4573926664845583672, i64 -4747654707033783891, i64 -4573926652687885784, i64 -4747654270907144477, i64 -4573926640546968712, i64 -4747654259547727623, i64 -4573926628422786192, i64 -4747656857196338783, i64 -4573926616315292168, i64 -4747654916371738663, i64 -4573926604224440744, i64 -4747657768733516590, i64 -4573926592150186248, i64 -4747655467256860847, i64 -4573926580092483160, i64 -4747657799128474818, i64 -4573926568051286184, i64 -4747654137703467242, i64 -4573926556026550168, i64 -4747656861212153309, i64 -4573926544018230184, i64 -4747656814371164974, i64 -4573926532026281472, i64 -4747653540588414993, i64 -4573926520050659440, i64 -4747654731614580779, i64 -4573926508091319704, i64 -4747653690703358538, i64 -4573926496148218040, i64 -4747655177994186102, i64 -4573926484221310416, i64 -4747657279110511291, i64 -4573926472310552984, i64 -4747655267641368559, i64 -4573926460415902056, i64 -4747654267337109866, i64 -4573926448537314128, i64 -4747655529617860219, i64 -4573926436674745880, i64 -4747655908784234045, i64 -4573926424828154160, i64 -4747656136855011572, i64 -4573926412997495992, i64 -4747655907770700976, i64 -4573926401182728568, i64 -4747657761167291288, i64 -4573926389383809264, i64 -4747657775459655223, i64 -4573926377600695624, i64 -4747653856532456821, i64 -4573926365833345344, i64 -4747654029825056200, i64 -4573926354081716312, i64 -4747653949457627298, i64 -4573926342345766576, i64 -4747653993115713923, i64 -4573926330625454352, i64 -4747654370015367750, i64 -4573926318920738024, i64 -4747654630201482631, i64 -4573926307231576136, i64 -4747657575153119099, i64 -4573926295557927416, i64 -4747655579437300814, i64 -4573926283899750728, i64 -4747656497990205503, i64 -4573926272257005120, i64 -4747656800023533681, i64 -4573926260629649800, i64 -4747654288507540662, i64 -4573926249017644120, i64 -4747656424740606407, i64 -4573926237420947624, i64 -4747653471654981965, i64 -4573926225839519976, i64 -4747657610903912766, i64 -4573926214273321048, i64 -4747654102077921030, i64 -4573926202722310824, i64 -4747653600026119322, i64 -4573926191186449464, i64 -4747656514258693589, i64 -4573926179665697296, i64 -4747656953755712544, i64 -4573926168160014792, i64 -4747655470833237147, i64 -4573926156669362576, i64 -4747654215764429500, i64 -4573926145193701424, i64 -4747656492365194775, i64 -4573926133732992280, i64 -4747657520382010935, i64 -4573926122287196232, i64 -4747657190984919870, i64 -4573926110856274520, i64 -4747655232924681460, i64 -4573926099440188528, i64 -4747655177610962218, i64 -4573926088038899800, i64 -4747655132857009315, i64 -4573926076652370024, i64 -4747656151594593408, i64 -4573926065280561040, i64 -4747657409212045405, i64 -4573926053923434840, i64 -4747655781680029702, i64 -4573926042580953552, i64 -4747654222490356239, i64 -4573926031253079448, i64 -4747656948154258350, i64 -4573926019939774968, i64 -4747655830285819171, i64 -4573926008641002672, i64 -4747656372761527755, i64 -4573925997356725280, i64 -4747655313005287114, i64 -4573925986086905640, i64 -4747657808308824083, i64 -4573925974831506768, i64 -4747655042330210487, i64 -4573925963590491792, i64 -4747654610727317906, i64 -4573925952363824000, i64 -4747653734743695412, i64 -4573925941151466808, i64 -4747656457797068736, i64 -4573925929953383792, i64 -4747655660213878338, i64 -4573925918769538648, i64 -4747654658881334996, i64 -4573925907599895216, i64 -4747653625007264762, i64 -4573925896444417472, i64 -4747653596527006162, i64 -4573925885303069528, i64 -4747656094906101069, i64 -4573925874175815648, i64 -4747653948273730712, i64 -4573925863062620200, i64 -4747657301333634363, i64 -4573925851963447728, i64 -4747653656964544122, i64 -4573925840878262864, i64 -4747655881119973875, i64 -4573925829807030416, i64 -4747653453056004570, i64 -4573925818749715288, i64 -4747656076869309178, i64 -4573925807706282552, i64 -4747653732467394990, i64 -4573925796676697376, i64 -4747655893674550145, i64 -4573925785660925088, i64 -4747655981828334580, i64 -4573925774658931128, i64 -4747657394291339661, i64 -4573925763670681080, i64 -4747655554744979737, i64 -4573925752696140640, i64 -4747655150085693442, i64 -4573925741735275640, i64 -4747656583209212880, i64 -4573925730788052048, i64 -4747655622131481682, i64 -4573925719854435944, i64 -4747656245429835747, i64 -4573925708934393544, i64 -4747657101569602893, i64 -4573925698027891192, i64 -4747655562565129667, i64 -4573925687134895344, i64 -4747656177819738754, i64 -4573925676255372592, i64 -4747657139849725340, i64 -4573925665389289656, i64 -4747654344295304206, i64 -4573925654536613360, i64 -4747654248109932643, i64 -4573925643697310664, i64 -4747655943493990741, i64 -4573925632871348656, i64 -4747655224115666605, i64 -4573925622058694528, i64 -4747657449464359032, i64 -4573925611259315616, i64 -4747655226856462683, i64 -4573925600473179352, i64 -4747654473962351781, i64 -4573925589700253296, i64 -4747656502863061869, i64 -4573925578940505136, i64 -4747657698273184296, i64 -4573925568193902680, i64 -4747653595775924494, i64 -4573925557460413824, i64 -4747656156148954650, i64 -4573925546740006624, i64 -4747653867022614289, i64 -4573925536032649216, i64 -4747655409344666823, i64 -4573925525338309880, i64 -4747654160916674399, i64 -4573925514656956992, i64 -4747654274476438744, i64 -4573925503988559048, i64 -4747657175242963089, i64 -4573925493333084672, i64 -4747656856421884701, i64 -4573925482690502584, i64 -4747657166797354538, i64 -4573925472060781632, i64 -4747653915792277546, i64 -4573925461443890752, i64 -4747656562774273805, i64 -4573925450839799024, i64 -4747657131617411284, i64 -4573925440248475624, i64 -4747656301669383099, i64 -4573925429669889840, i64 -4747654316134401748, i64 -4573925419104011064, i64 -4747655086370547361, i64 -4573925408550808808, i64 -4747657103809726462, i64 -4573925398010252696, i64 -4747657547766638147, i64 -4573925387482312456, i64 -4747656394984650827, i64 -4573925376966957920, i64 -4747656132859619984, i64 -4573925366464159032, i64 -4747657076329292667, i64 -4573925355973885848, i64 -4747657084509069761, i64 -4573925345496108528, i64 -4747655677061977040, i64 -4573925335030797336, i64 -4747653754197774965, i64 -4573925324577922632, i64 -4747657716382281831, i64 -4573925314137454912, i64 -4747657197419484212, i64 -4573925303709364752, i64 -4747655575731884555, i64 -4573925293293622832, i64 -4747656506804189031, i64 -4573925282890199952, i64 -4747654855290401639, i64 -4573925272499067000, i64 -4747654017005419522, i64 -4573925262120194968, i64 -4747656854231630307, i64 -4573925251753554968, i64 -4747656632608305960, i64 -4573925241399118200, i64 -4747654347871680506, i64 -4573925231056855960, i64 -4747654063923002214, i64 -4573925220726739656, i64 -4747653854399608559, i64 -4573925210408740792, i64 -4747654337970673652, i64 -4573925200102830976, i64 -4747654021021234048, i64 -4573925189808981912, i64 -4747653437946320670, i64 -4573925179527165400, i64 -4747654894905023560, i64 -4573925169257353344, i64 -4747657817023936422, i64 -4573925158999517760, i64 -4747654097086025176, i64 -4573925148753630728, i64 -4747654232020116708, i64 -4573925138519664448, i64 -4747656286250488764, i64 -4573925128297591224, i64 -4747654438919592030, i64 -4573925118087383432, i64 -4747656328648196444, i64 -4573925107889013568, i64 -4747656419264780470, i64 -4573925097702454208, i64 -4747657745470929943, i64 -4573925087527678040, i64 -4747654077502638553, i64 -4573925077364657816, i64 -4747656067661415010, i64 -4573925067213366416, i64 -4747655825589203730, i64 -4573925057073776792, i64 -4747657465626292819, i64 -4573925046945862008, i64 -4747654878986839131, i64 -4573925036829595200, i64 -4747653487765761265, i64 -4573925026724949600, i64 -4747656815930383598, i64 -4573925016631898552, i64 -4747657459706089851, i64 -4573925006550415480, i64 -4747654447579275247, i64 -4573924996480473880, i64 -4747657407489805113, i64 -4573924986422047376, i64 -4747655550971305766, i64 -4573924976375109648, i64 -4747657027346508460, i64 -4573924966339634496, i64 -4747653512433806473, i64 -4573924956315595776, i64 -4747655167290989875, i64 -4573924946302967464, i64 -4747655229498971664, i64 -4573924936301723608, i64 -4747656178372077722, i64 -4573924926311838352, i64 -4747656319016454169, i64 -4573924916333285928, i64 -4747653959832614420, i64 -4573924906366040640, i64 -4747655989314039044, i64 -4573924896410076904, i64 -4747655667761253697, i64 -4573924886465369208, i64 -4747654400693655225, i64 -4573924876531892120, i64 -4747657125206556108, i64 -4573924866609620320, i64 -4747654503404694360, i64 -4573924856698528544, i64 -4747653495555143508, i64 -4573924846798591624, i64 -4747655157881711165, i64 -4573924836909784488, i64 -4747654431783423096, i64 -4573924827032082128, i64 -4747657526422553371, i64 -4573924817165459648, i64 -4747655322023079921, i64 -4573924807309892208, i64 -4747653948941418102, i64 -4573924797465355056, i64 -4747656989385324929, i64 -4573924787631823544, i64 -4747656476377838817, i64 -4573924777809273088, i64 -4747654680191091674, i64 -4573924767997679184, i64 -4747655109591179462, i64 -4573924758197017424, i64 -4747653514212070271, i64 -4573924748407263464, i64 -4747655276330077043, i64 -4573924738628393056, i64 -4747657619380258669, i64 -4573924728860382040, i64 -4747653807811971152, i64 -4573924719103206304, i64 -4747654940229692712, i64 -4573924709356841848, i64 -4747654569021126144, i64 -4573924699621264736, i64 -4747654893721126974, i64 -4573924689896451112, i64 -4747657771081017948, i64 -4573924680182377216, i64 -4747655726208239145, i64 -4573924670479019344, i64 -4747653751094827037, i64 -4573924660786353872, i64 -4747655919830026163, i64 -4573924651104357272, i64 -4747656402908657762, i64 -4573924641433006080, i64 -4747656870860878957, i64 -4573924631772276912, i64 -4747657510638330566, i64 -4573924622122146464, i64 -4747656839121946407, i64 -4573924612482591504, i64 -4747655915698149345, i64 -4573924602853588880, i64 -4747653759757188927, i64 -4573924593235115504, i64 -4747655963339515676, i64 -4573924583627148384, i64 -4747656916504982581, i64 -4573924574029664592, i64 -4747657218069470181, i64 -4573924564442641280, i64 -4747654699051270789, i64 -4573924554866055656, i64 -4747657437332394602, i64 -4573924545299885032, i64 -4747657190877232009, i64 -4573924535744106776, i64 -4747655608478943806, i64 -4573924526198698328, i64 -4747655257097044084, i64 -4573924516663637208, i64 -4747655048198510475, i64 -4573924507138901008, i64 -4747654461142715102, i64 -4573924497624467384, i64 -4747657767510983337, i64 -4573924488120314088, i64 -4747656266142100850, i64 -4573924478626418920, i64 -4747654499565357752, i64 -4573924469142759752, i64 -4747656888941387003, i64 -4573924459669314552, i64 -4747654369923410608, i64 -4573924450206061328, i64 -4747655009898063343, i64 -4573924440752978176, i64 -4747657451530141988, i64 -4573924431310043272, i64 -4747655143535649848, i64 -4573924421877234840, i64 -4747653766491283778, i64 -4573924412454531184, i64 -4747653475162976731, i64 -4573924403041910672, i64 -4747657529998929671, i64 -4573924393639351768, i64 -4747654541223320756, i64 -4573924384246832968, i64 -4747653490362255301, i64 -4573924374864332848, i64 -4747657179987073525, i64 -4573924365491830072, i64 -4747657674553174484, i64 -4573924356129303360, i64 -4747653732328844998, i64 -4573924346776731480, i64 -4747655044036534572, i64 -4573924337434093296, i64 -4747655686015102378, i64 -4573924328101367728, i64 -4747655952734846998, i64 -4573924318778533760, i64 -4747657801869280963, i64 -4573924309465570456, i64 -4747655902150896049, i64 -4573924300162456928, i64 -4747655070331226826, i64 -4573924290869172360, i64 -4747656922635336835, i64 -4573924281585696016, i64 -4747655323124134711, i64 -4573924272312007208, i64 -4747653823098899272, i64 -4573924263048085312, i64 -4747656713031275133, i64 -4573924253793909792, i64 -4747655677246215740, i64 -4573924244549460152, i64 -4747656031817943623, i64 -4573924235314715976, i64 -4747654584743701566, i64 -4573924226089656896, i64 -4747657079320549315, i64 -4573924216874262632, i64 -4747656055883074911, i64 -4573924207668512944, i64 -4747657092827347813, i64 -4573924198472387672, i64 -4747656669893010430, i64 -4573924189285866712, i64 -4747655216582395479, i64 -4573924180108930016, i64 -4747656967200258666, i64 -4573924170941557616, i64 -4747656622509373302, i64 -4573924161783729592, i64 -4747656798462379122, i64 -4573924152635426096, i64 -4747654689354045424, i64 -4573924143496627328, i64 -4747655119993942568, i64 -4573924134367313560, i64 -4747657210336771995, i64 -4573924125247465136, i64 -4747654234984371682, i64 -4573924116137062432, i64 -4747655473647869388, i64 -4573924107036085912, i64 -4747655285774778073, i64 -4573924097944516088, i64 -4747654962452815784, i64 -4573924088862333536, i64 -4747653792702287252, i64 -4573924079789518880, i64 -4747657722664229711, i64 -4573924070726052832, i64 -4747657229168313021, i64 -4573924061671916144, i64 -4747653572513337847, i64 -4573924052627089616, i64 -4747654263618807200, i64 -4573924043591554128, i64 -4747655337729322093, i64 -4573924034565290616, i64 -4747654415132649481, i64 -4573924025548280064, i64 -4747654966468630310, i64 -4573924016540503520, i64 -4747657384578214621, i64 -4573924007541942104, i64 -4747654455074496325, i64 -4573923998552576960, i64 -4747657613910672261, i64 -4573923989572389328, i64 -4747657234917568883, i64 -4573923980601360480, i64 -4747657684795008859, i64 -4573923971639471760, i64 -4747655204157630574, i64 -4573923962686704552, i64 -4747655371654379784, i64 -4573923953743040312, i64 -4747655384366988292, i64 -4573923944808460544, i64 -4747657125181138233, i64 -4573923935882946824, i64 -4747653842521727848, i64 -4573923926966480752, i64 -4747656413145993481, i64 -4573923918059044024, i64 -4747653634874337219, i64 -4573923909160618352, i64 -4747656082836381112, i64 -4573923900271185536, i64 -4747656403460996730, i64 -4573923891390727416, i64 -4747655579787885351, i64 -4573923882519225888, i64 -4747654013027177977, i64 -4573923873656662896, i64 -4747655798874928568, i64 -4573923864803020456, i64 -4747655412255200401, i64 -4573923855958280624, i64 -4747655178996671545, i64 -4573923847122425512, i64 -4747656359835444925, i64 -4573923838295437296, i64 -4747654633065996336, i64 -4573923829477298184, i64 -4747657568022685990, i64 -4573923820667990472, i64 -4747653720644062516, i64 -4573923811867496464, i64 -4747656496418702028, i64 -4573923803075798560, i64 -4747655654941617018, i64 -4573923794292879184, i64 -4747656775984671789, i64 -4573923785518720832, i64 -4747654755449621808, i64 -4573923776753306032, i64 -4747655680409596099, i64 -4573923767996617384, i64 -4747654724258844049, i64 -4573923759248637528, i64 -4747653624851036179, i64 -4573923750509349152, i64 -4747656172971565779, i64 -4573923741778735016, i64 -4747654905280010682, i64 -4573923733056777904, i64 -4747657380231026711, i64 -4573923724343460680, i64 -4747655279947101121, i64 -4573923715638766232, i64 -4747655085295661515, i64 -4573923706942677512, i64 -4747655974957970070, i64 -4573923698255177528, i64 -4747654113323744156, i64 -4573923689576249320, i64 -4747655735022222672, i64 -4573923680905876000, i64 -4747655045621353108, i64 -4573923672244040712, i64 -4747656103329107427, i64 -4573923663590726664, i64 -4747655118810045982, i64 -4573923654945917104, i64 -4747653541858159127, i64 -4573923646309595328, i64 -4747653556411238023, i64 -4573923637681744688, i64 -4747653576089714148, i64 -4573923629062348576, i64 -4747656934396417230, i64 -4573923620451390456, i64 -4747654187155589198, i64 -4573923611848853808, i64 -4747653793978801405, i64 -4573923603254722176, i64 -4747655625638487936], [513 x i64] [i64 -9223372036854775808, i64 -4656730799357619994, i64 -4652235961580581952, i64 -4649986329498079596, i64 -4647749817633577079, i64 -4646616225673795623, i64 -4645502291506296201, i64 -4644390505718466484, i64 -4643280860039347228, i64 -4642692281032315929, i64 -4642139585990187659, i64 -4641587948738260087, i64 -4641037365235306213, i64 -4640487831463213804, i64 -4639939343426809448, i64 -4639391897153684284, i64 -4638845488694021376, i64 -4638503865156017802, i64 -4638231692859680384, i64 -4637960033612273549, i64 -4637688885483225760, i64 -4637418246552841956, i64 -4637148114912221995, i64 -4636878488663179880, i64 -4636609365918163716, i64 -4636340744800176433, i64 -4636072623442697237, i64 -4635804999989603787, i64 -4635537872595095105, i64 -4635271239423615187, i64 -4635005098649777326, i64 -4634739448458289130, i64 -4634474287043878234, i64 -4634209612611218685, i64 -4634074719969549199, i64 -4633942867061692674, i64 -4633811254981199135, i64 -4633679882849937084, i64 -4633548749794569193, i64 -4633417854946517473, i64 -4633287197441928751, i64 -4633156776421640466, i64 -4633026591031146768, i64 -4632896640420564928, i64 -4632766923744602049, i64 -4632637440162522072, i64 -4632508188838113084, i64 -4632379168939654916, i64 -4632250379639887028, i64 -4632121820115976685, i64 -4631993489549487411, i64 -4631865387126347734, i64 -4631737512036820191, i64 -4631609863475470626, i64 -4631482440641137747, i64 -4631355242736902956, i64 -4631228268970060445, i64 -4631101518552087554, i64 -4630974990698615391, i64 -4630848684629399707, i64 -4630722599568292029, i64 -4630596734743211039, i64 -4630471089386114211, i64 -4630345662732969689, i64 -4630220454023728410, i64 -4630095462502296473, i64 -4629970687416507738, i64 -4629846128018096673, i64 -4629721783562671429, i64 -4629649035123278517, i64 -4629587076729644690, i64 -4629525224702404157, i64 -4629463478676976039, i64 -4629401838290650703, i64 -4629340303182576980, i64 -4629278872993749487, i64 -4629217547366996064, i64 -4629156325946965309, i64 -4629095208380114229, i64 -4629034194314695982, i64 -4628973283400747741, i64 -4628912475290078639, i64 -4628851769636257837, i64 -4628791166094602673, i64 -4628730664322166924, i64 -4628670263977729162, i64 -4628609964721781206, i64 -4628549766216516672, i64 -4628489668125819618, i64 -4628429670115253283, i64 -4628369771852048923, i64 -4628309973005094734, i64 -4628250273244924872, i64 -4628190672243708561, i64 -4628131169675239290, i64 -4628071765214924103, i64 -4628012458539772972, i64 -4627953249328388264, i64 -4627894137260954287, i64 -4627835122019226926, i64 -4627776203286523363, i64 -4627717380747711883, i64 -4627658654089201755, i64 -4627600022998933209, i64 -4627541487166367479, i64 -4627483046282476940, i64 -4627424700039735317, i64 -4627366448132107975, i64 -4627308290255042287, i64 -4627250226105458085, i64 -4627192255381738175, i64 -4627134377783718946, i64 -4627076593012681036, i64 -4627018900771340086, i64 -4626961300763837565, i64 -4626903792695731660, i64 -4626846376273988253, i64 -4626789051206971955, i64 -4626731817204437223, i64 -4626674673977519540, i64 -4626617621238726669, i64 -4626560658701929972, i64 -4626503786082355804, i64 -4626447003096576965, i64 -4626390309462504234, i64 -4626333704899377950, i64 -4626277189127759679, i64 -4626220761869523931, i64 -4626164422847849950, i64 -4626108171787213566, i64 -4626052008413379108, i64 -4625995932453391385, i64 -4625939943635567727, i64 -4625884041689490082, i64 -4625828226345997187, i64 -4625772497337176785, i64 -4625716854396357914, i64 -4625661297258103249, i64 -4625605825658201504, i64 -4625550439333659893, i64 -4625495138022696650, i64 -4625439921464733603, i64 -4625384789400388809, i64 -4625329741571469243, i64 -4625274777720963541, i64 -4625219897593034804, i64 -4625180959121256419, i64 -4625153602398444753, i64 -4625126287156654015, i64 -4625099013270279226, i64 -4625071780614285043, i64 -4625044589064202321, i64 -4625017438496124701, i64 -4624990328786705219, i64 -4624963259813152949, i64 -4624936231453229660, i64 -4624909243585246507, i64 -4624882296088060745, i64 -4624855388841072464, i64 -4624828521724221350, i64 -4624801694617983474, i64 -4624774907403368099, i64 -4624748159961914513, i64 -4624721452175688887, i64 -4624694783927281157, i64 -4624668155099801922, i64 -4624641565576879373, i64 -4624615015242656244, i64 -4624588503981786778, i64 -4624562031679433724, i64 -4624535598221265350, i64 -4624509203493452483, i64 -4624482847382665565, i64 -4624456529776071735, i64 -4624430250561331931, i64 -4624404009626598013, i64 -4624377806860509903, i64 -4624351642152192756, i64 -4624325515391254139, i64 -4624299426467781240, i64 -4624273375272338091, i64 -4624247361695962818, i64 -4624221385630164901, i64 -4624195446966922463, i64 -4624169545598679574, i64 -4624143681418343574, i64 -4624117854319282416, i64 -4624092064195322032, i64 -4624066310940743708, i64 -4624040594450281490, i64 -4624014914619119596, i64 -4623989271342889860, i64 -4623963664517669182, i64 -4623938094039976999, i64 -4623912559806772783, i64 -4623887061715453545, i64 -4623861599663851359, i64 -4623836173550230913, i64 -4623810783273287062, i64 -4623785428732142413, i64 -4623760109826344915, i64 -4623734826455865474, i64 -4623709578521095581, i64 -4623684365922844958, i64 -4623659188562339220, i64 -4623634046341217550, i64 -4623608939161530398, i64 -4623583866925737191, i64 -4623558829536704054, i64 -4623533826897701558, i64 -4623508858912402476, i64 -4623483925484879556, i64 -4623459026519603307, i64 4599891994438806559, i64 4599867164113015276, i64 4599842367965246894, i64 4599817605901541168, i64 4599792877828324786, i64 4599768183652409249, i64 4599743523280988761, i64 4599718896621638139, i64 4599694303582310732, i64 4599669744071336361, i64 4599645217997419262, i64 4599620725269636056, i64 4599596265797433724, i64 4599571839490627600, i64 4599547446259399370, i64 4599523086014295100, i64 4599498758666223258, i64 4599474464126452767, i64 4599450202306611056, i64 4599425973118682139, i64 4599401776475004691, i64 4599377612288270153, i64 4599353480471520834, i64 4599329380938148039, i64 4599305313601890204, i64 4599281278376831038, i64 4599257275177397690, i64 4599233303918358916, i64 4599209364514823263, i64 4599185456882237268, i64 4599161580936383666, i64 4599137736593379607, i64 4599113923769674891, i64 4599090142382050209, i64 4599066392347615400, i64 4599042673583807716, i64 4599018986008390100, i64 4598995329539449478, i64 4598971704095395054, i64 4598948109594956628, i64 4598924545957182911, i64 4598901013101439868, i64 4598877510947409053, i64 4598854039415085970, i64 4598830598424778439, i64 4598807187897104969, i64 4598783807752993147, i64 4598760457913678036, i64 4598737138300700583, i64 4598713848835906036, i64 4598690589441442373, i64 4598667360039758741, i64 4598644160553603903, i64 4598620990906024698, i64 4598597851020364511, i64 4598574740820261747, i64 4598551660229648323, i64 4598528609172748163, i64 4598505587574075707, i64 4598482595358434428, i64 4598459632450915356, i64 4598436698776895617, i64 4598413794262036975, i64 4598390918832284387, i64 4598368072413864569, i64 4598345254933284564, i64 4598322466317330327, i64 4598299706493065314, i64 4598276975387829082, i64 4598254272929235896, i64 4598231599045173346, i64 4598208953663800977, i64 4598186336713548915, i64 4598152276700956621, i64 4598107156097665630, i64 4598062091930415993, i64 4598017084058205680, i64 4597972132340560425, i64 4597927236637531102, i64 4597882396809691110, i64 4597837612718133770, i64 4597792884224469749, i64 4597748211190824490, i64 4597703593479835666, i64 4597659030954650642, i64 4597614523478923957, i64 4597570070916814825, i64 4597525673132984640, i64 4597481329992594512, i64 4597437041361302805, i64 4597392807105262693, i64 4597348627091119739, i64 4597304501186009480, i64 4597260429257555026, i64 4597216411173864684, i64 4597172446803529585, i64 4597128536015621329, i64 4597084678679689652, i64 4597040874665760095, i64 4596997123844331693, i64 4596953426086374681, i64 4596909781263328210, i64 4596866189247098075, i64 4596822649910054461, i64 4596779163125029702, i64 4596735728765316052, i64 4596692346704663469, i64 4596649016817277411, i64 4596605738977816654, i64 4596562513061391109, i64 4596519338943559665, i64 4596476216500328036, i64 4596433145608146627, i64 4596390126143908408, i64 4596347157984946805, i64 4596304241009033599, i64 4596261375094376841, i64 4596218560119618777, i64 4596175795963833791, i64 4596133082506526348, i64 4596090419627628965, i64 4596047807207500180, i64 4596005245126922543, i64 4595962733267100610, i64 4595920271509658959, i64 4595877859736640208, i64 4595835497830503052, i64 4595793185674120307, i64 4595750923150776966, i64 4595708710144168269, i64 4595666546538397780, i64 4595624432217975484, i64 4595582367067815879, i64 4595540350973236099, i64 4595498383819954033, i64 4595456465494086458, i64 4595414595882147190, i64 4595372774871045238, i64 4595331002348082969, i64 4595289278200954290, i64 4595247602317742833, i64 4595205974586920157, i64 4595164394897343954, i64 4595122863138256269, i64 4595081379199281733, i64 4595039942970425800, i64 4594998554342072996, i64 4594957213204985185, i64 4594915919450299831, i64 4594874672969528284, i64 4594833473654554068, i64 4594792321397631180, i64 4594751216091382399, i64 4594710157628797609, i64 4594669145903232121, i64 4594628180808405014, i64 4594587262238397486, i64 4594546390087651205, i64 4594505564250966678, i64 4594464784623501626, i64 4594424051100769369, i64 4594383363578637221, i64 4594342721953324887, i64 4594302126121402882, i64 4594261575979790947, i64 4594221071425756481, i64 4594180612356912978, i64 4594140198671218474, i64 4594099830266974004, i64 4594059507042822065, i64 4594019228897745091, i64 4593978995731063932, i64 4593938807442436347, i64 4593898663931855501, i64 4593858565099648469, i64 4593818510846474759, i64 4593778501073324824, i64 4593738535681518605, i64 4593698614572704064, i64 4593645855379805542, i64 4593566189706640610, i64 4593486612013254107, i64 4593407122105537251, i64 4593327719790022944, i64 4593248404873882942, i64 4593169177164925051, i64 4593090036471590329, i64 4593010982602950306, i64 4592932015368704226, i64 4592853134579176292, i64 4592774340045312936, i64 4592695631578680099, i64 4592617008991460529, i64 4592538472096451089, i64 4592460020707060084, i64 4592381654637304604, i64 4592303373701807872, i64 4592225177715796620, i64 4592147066495098467, i64 4592069039856139320, i64 4591991097615940780, i64 4591913239592117576, i64 4591835465602874996, i64 4591757775467006345, i64 4591680169003890408, i64 4591602646033488937, i64 4591525206376344136, i64 4591447849853576176, i64 4591370576286880713, i64 4591293385498526419, i64 4591216277311352537, i64 4591139251548766433, i64 4591062308034741174, i64 4590985446593813114, i64 4590908667051079491, i64 4590831969232196043, i64 4590755352963374629, i64 4590678818071380868, i64 4590602364383531786, i64 4590525991727693484, i64 4590449699932278808, i64 4590373488826245037, i64 4590297358239091583, i64 4590221308000857700, i64 4590145337942120212, i64 4590069447893991243, i64 4589993637688115969, i64 4589917907156670373, i64 4589842256132359017, i64 4589766684448412830, i64 4589691191938586891, i64 4589615778437158247, i64 4589540443778923721, i64 4589465187799197745, i64 4589390010333810199, i64 4589314911219104263, i64 4589239890291934276, i64 4589161874488791809, i64 4589012144409789731, i64 4588862569733077116, i64 4588713150136409627, i64 4588563885298544206, i64 4588414774899234927, i64 4588265818619228876, i64 4588117016140262046, i64 4587968367145055264, i64 4587819871317310125, i64 4587671528341704956, i64 4587523337903890801, i64 4587375299690487420, i64 4587227413389079316, i64 4587079678688211779, i64 4586932095277386948, i64 4586784662847059898, i64 4586637381088634743, i64 4586490249694460760, i64 4586343268357828536, i64 4586196436772966127, i64 4586049754635035247, i64 4585903221640127466, i64 4585756837485260434, i64 4585610601868374123, i64 4585464514488327086, i64 4585318575044892735, i64 4585172783238755642, i64 4585027138771507853, i64 4584881641345645226, i64 4584736290664563780, i64 4584517752201947222, i64 4584227636046450257, i64 4583937811611621378, i64 4583648278311381746, i64 4583359035561416934, i64 4583070082779169855, i64 4582781419383833717, i64 4582493044796345023, i64 4582204958439376595, i64 4581917159737330646, i64 4581629648116331877, i64 4581342423004220609, i64 4581055483830545954, i64 4580768830026559016, i64 4580482461025206128, i64 4580196376261122119, i64 4579660329305452812, i64 4579089293347610374, i64 4578518822492243042, i64 4577948915621995178, i64 4577379571622821830, i64 4576810789383975664, i64 4576242567797993961, i64 4575674905760685681, i64 4574558382933813243, i64 4573425290454788948, i64 4572293310486968546, i64 4571162440847887157, i64 4568911736941938112, i64 4566654425935218846, i64 4562148622982273161, i64 0], [4 x i64] [i64 4596373792902302986, i64 -4625196811806208287, i64 4599676419421062085, i64 -4620693217682130913], i64 4503599627370495, i64 4562146422526312448, i64 -4616189618054758401, i64 9169328841326325760, i64 -67108864, i64 4607182418800017408, i64 9223372036854775807, i64 4467570830351532032, i64 -1024, i64 4604418534313426944, i64 4430688377387220992, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, i64 9218868437227405312, i64 9169328841326329856, i64 4604418534313441775, i64 4742290407621132288, i64 4602678819172646912, i64 4600427019358961658, i64 4599301119452119034, i64 4598597432343385128, i64 4598034482692231215, i64 9218868437227405311, i64 4566650022153682944, i64 -9223372036854775808, i64 4629418941960159232, i64 -2199023255552, i64 -134217728, i64 -16777216, i64 -4096, i64 4472074429978902528, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN21__imf_impl_asinh_d_la12_GLOBAL__N_136__devicelib_imf_internal_dasinh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_acosh_d_la::(anonymous namespace)::__devicelib_imf_internal_dacosh_data_t" { [1026 x i64] [i64 -4573929700241800448, i64 -4747663588083126016, i64 -4573929683078686680, i64 -4747656230562481302, i64 -4573929665948996704, i64 -4747656847265566209, i64 -4573929648852600608, i64 -4747656941001928102, i64 -4573929631789369224, i64 -4747654680820138293, i64 -4573929614759174120, i64 -4747656080807710050, i64 -4573929597761887632, i64 -4747654219762351237, i64 -4573929580797382808, i64 -4747656870118799185, i64 -4573929563865533456, i64 -4747656982659891106, i64 -4573929546966214096, i64 -4747655977824342796, i64 -4573929530099299968, i64 -4747656280381921897, i64 -4573929513264667040, i64 -4747653883460620778, i64 -4573929496462191968, i64 -4747657329868482330, i64 -4573929479691752152, i64 -4747653945540955294, i64 -4573929462953225648, i64 -4747655266181610153, i64 -4573929446246491240, i64 -4747654531005645813, i64 -4573929429571428384, i64 -4747654572941727251, i64 -4573929412927917224, i64 -4747656153814740243, i64 -4573929396315838592, i64 -4747655122710608561, i64 -4573929379735073976, i64 -4747657193309815858, i64 -4573929363185505552, i64 -4747657563329154137, i64 -4573929346667016152, i64 -4747655744517506095, i64 -4573929330179489256, i64 -4747657224399583728, i64 -4573929313722809016, i64 -4747657561430512918, i64 -4573929297296860224, i64 -4747657291786085674, i64 -4573929280901528320, i64 -4747654870947488346, i64 -4573929264536699368, i64 -4747657232219733659, i64 -4573929248202260096, i64 -4747655185349922831, i64 -4573929231898097832, i64 -4747656013949908197, i64 -4573929215624100552, i64 -4747654524198918544, i64 -4573929199380156832, i64 -4747656893770270596, i64 -4573929183166155888, i64 -4747656165650667476, i64 -4573929166981987528, i64 -4747656143616955772, i64 -4573929150827542176, i64 -4747655728185068105, i64 -4573929134702710856, i64 -4747655265430528485, i64 -4573929118607385192, i64 -4747654122106389553, i64 -4573929102541457392, i64 -4747657078999270814, i64 -4573929086504820280, i64 -4747654357909165205, i64 -4573929070497367232, i64 -4747654446851055976, i64 -4573929054518992224, i64 -4747655374032938361, i64 -4573929038569589808, i64 -4747655585446881537, i64 -4573929022649055104, i64 -4747656047331342440, i64 -4573929006757283808, i64 -4747653573277475986, i64 -4573928990894172160, i64 -4747656162080632866, i64 -4573928975059616992, i64 -4747654375417819349, i64 -4573928959253515664, i64 -4747654308248613508, i64 -4573928943475766096, i64 -4747657802514223976, i64 -4573928927726266776, i64 -4747655874619040209, i64 -4573928912004916704, i64 -4747657346716581032, i64 -4573928896311615448, i64 -4747655924568579200, i64 -4573928880646263096, i64 -4747654469027577100, i64 -4573928865008760272, i64 -4747654101963432117, i64 -4573928849399008128, i64 -4747656524945005630, i64 -4573928833816908352, i64 -4747657560246616332, i64 -4573928818262363152, i64 -4747653904216398848, i64 -4573928802735275232, i64 -4747654296720545577, i64 -4573928787235547832, i64 -4747655524054212550, i64 -4573928771763084704, i64 -4747653623874994835, i64 -4573928756317790088, i64 -4747655107600924661, i64 -4573928740899568744, i64 -4747657413763738251, i64 -4573928725508325936, i64 -4747655766740629167, i64 -4573928710143967408, i64 -4747654450452724439, i64 -4573928694806399400, i64 -4747656108574196021, i64 -4573928679495528656, i64 -4747655459356210262, i64 -4573928664211262392, i64 -4747655017079022831, i64 -4573928648953508312, i64 -4747654441449957371, i64 -4573928633722174592, i64 -4747657495243807721, i64 -4573928618517169904, i64 -4747657027600532315, i64 -4573928603338403376, i64 -4747655157420365256, i64 -4573928588185784600, i64 -4747657084042652655, i64 -4573928573059223656, i64 -4747656117233879239, i64 -4573928557958631072, i64 -4747653906791346622, i64 -4573928542883917832, i64 -4747654298954601347, i64 -4573928527834995384, i64 -4747657207748810114, i64 -4573928512811775640, i64 -4747656899153575655, i64 -4573928497814170952, i64 -4747653484039024103, i64 -4573928482842094104, i64 -4747655629487218412, i64 -4573928467895458352, i64 -4747656896165240439, i64 -4573928452974177384, i64 -4747656070348259217, i64 -4573928438078165320, i64 -4747655519750787761, i64 -4573928423207336720, i64 -4747655165209747499, i64 -4573928408361606576, i64 -4747655262218130895, i64 -4573928393540890312, i64 -4747654798030646259, i64 -4573928378745103776, i64 -4747654300296921877, i64 -4573928363974163240, i64 -4747654260993417817, i64 -4573928349227985400, i64 -4747653573566321073, i64 -4573928334506487360, i64 -4747656779245783453, i64 -4573928319809586664, i64 -4747654938028302158, i64 -4573928305137201240, i64 -4747654890988351556, i64 -4573928290489249440, i64 -4747655758721440975, i64 -4573928275865650024, i64 -4747656238675730135, i64 -4573928261266322152, i64 -4747657516875004682, i64 -4573928246691185392, i64 -4747657395862843136, i64 -4573928232140159704, i64 -4747657628978305142, i64 -4573928217613165456, i64 -4747653674516750649, i64 -4573928203110123384, i64 -4747655248167993944, i64 -4573928188630954648, i64 -4747654110730039294, i64 -4573928174175580776, i64 -4747653440191002636, i64 -4573928159743923680, i64 -4747657632994119668, i64 -4573928145335905680, i64 -4747657718743907546, i64 -4573928130951449456, i64 -4747656368705874780, i64 -4573928116590478064, i64 -4747657731197662313, i64 -4573928102252914952, i64 -4747657278133547797, i64 -4573928087938683936, i64 -4747653652845966546, i64 -4573928073647709184, i64 -4747656130797319093, i64 -4573928059379915264, i64 -4747656906750046592, i64 -4573928045135227096, i64 -4747656169219961743, i64 -4573928030913569960, i64 -4747656399225080903, i64 -4573928016714869504, i64 -4747656679552667335, i64 -4573928002539051736, i64 -4747655810535800545, i64 -4573927988386043016, i64 -4747655436145887769, i64 -4573927974255770064, i64 -4747654384208664467, i64 -4573927960148159944, i64 -4747656210877924747, i64 -4573927946063140088, i64 -4747654764897680282, i64 -4573927932000638256, i64 -4747654946161267371, i64 -4573927917960582568, i64 -4747653891681662722, i64 -4573927903942901472, i64 -4747657355669706369, i64 -4573927889947523784, i64 -4747656516836599448, i64 -4573927875974378632, i64 -4747657571805500040, i64 -4573927862023395504, i64 -4747654163378549899, i64 -4573927848094504192, i64 -4747656992778738702, i64 -4573927834187634856, i64 -4747657470475407555, i64 -4573927820302717968, i64 -4747657346900819731, i64 -4573927806439684336, i64 -4747654371808085681, i64 -4573927792598465080, i64 -4747654350928642203, i64 -4573927778778991656, i64 -4747656823286120328, i64 -4573927764981195856, i64 -4747653941501103318, i64 -4573927751205009760, i64 -4747655749143131558, i64 -4573927737450365800, i64 -4747653894117466190, i64 -4573927723717196696, i64 -4747655719400577604, i64 -4573927710005435504, i64 -4747656789648546559, i64 -4573927696315015584, i64 -4747657406715042105, i64 -4573927682645870608, i64 -4747657143302473380, i64 -4573927668997934560, i64 -4747653782947500660, i64 -4573927655371141712, i64 -4747655462356891244, i64 -4573927641765426664, i64 -4747657637505895473, i64 -4573927628180724320, i64 -4747655242167941839, i64 -4573927614616969864, i64 -4747654854428997278, i64 -4573927601074098792, i64 -4747656084787253473, i64 -4573927587552046904, i64 -4747654962323304714, i64 -4573927574050750280, i64 -4747656124729100316, i64 -4573927560570145312, i64 -4747654229705662318, i64 -4573927547110168664, i64 -4747654956403101747, i64 -4573927533670757304, i64 -4747656431995844697, i64 -4573927520251848488, i64 -4747657054021592283, i64 -4573927506853379760, i64 -4747654524043520355, i64 -4573927493475288936, i64 -4747653684754086369, i64 -4573927480117514120, i64 -4747656772174419230, i64 -4573927466779993720, i64 -4747653675069089618, i64 -4573927453462666384, i64 -4747656181975827032, i64 -4573927440165471072, i64 -4747657468529532559, i64 -4573927426888347008, i64 -4747657562504776696, i64 -4573927413631233696, i64 -4747653631443537813, i64 -4573927400394070888, i64 -4747656665456516504, i64 -4573927387176798648, i64 -4747655390298666507, i64 -4573927373979357280, i64 -4747654954006257604, i64 -4573927360801687368, i64 -4747654047592764676, i64 -4573927347643729752, i64 -4747657216766602921, i64 -4573927334505425560, i64 -4747656393913448041, i64 -4573927321386716160, i64 -4747656417074857729, i64 -4573927308287543192, i64 -4747656574934614673, i64 -4573927295207848560, i64 -4747654148452707383, i64 -4573927282147574408, i64 -4747656754950265507, i64 -4573927269106663168, i64 -4747655116077270564, i64 -4573927256085057496, i64 -4747657404676826663, i64 -4573927243082700328, i64 -4747657627141777483, i64 -4573927230099534840, i64 -4747656788464649973, i64 -4573927217135504456, i64 -4747657675089471082, i64 -4573927204190552864, i64 -4747655245744318139, i64 -4573927191264623976, i64 -4747657814573549163, i64 -4573927178357661984, i64 -4747655463633405396, i64 -4573927165469611296, i64 -4747654431954728633, i64 -4573927152600416576, i64 -4747654335818958302, i64 -4573927139750022728, i64 -4747656181126633181, i64 -4573927126918374904, i64 -4747657187342810254, i64 -4573927114105418496, i64 -4747654413201994477, i64 -4573927101311099112, i64 -4747657184123126397, i64 -4573927088535362632, i64 -4747655544727544119, i64 -4573927075778155144, i64 -4747654687574243904, i64 -4573927063039422976, i64 -4747656610808677503, i64 -4573927050319112704, i64 -4747654975375276186, i64 -4573927037617171112, i64 -4747656355886238101, i64 -4573927024933545232, i64 -4747657516355879006, i64 -4573927012268182328, i64 -4747653477545181716, i64 -4573926999621029864, i64 -4747654385638398898, i64 -4573926986992035560, i64 -4747654007601933129, i64 -4573926974381147344, i64 -4747655406297081984, i64 -4573926961788313376, i64 -4747657038279172847, i64 -4573926949213482040, i64 -4747656448843943399, i64 -4573926936656601936, i64 -4747653972091772576, i64 -4573926924117621872, i64 -4747656435966843755, i64 -4573926911596490904, i64 -4747654483949682971, i64 -4573926899093158272, i64 -4747657076244715355, i64 -4573926886607573464, i64 -4747655627072367997, i64 -4573926874139686160, i64 -4747654117466326903, i64 -4573926861689446256, i64 -4747655232372342492, i64 -4573926849256803872, i64 -4747655298566292858, i64 -4573926836841709328, i64 -4747656819444502382, i64 -4573926824444113168, i64 -4747654626181574917, i64 -4573926812063966120, i64 -4747657217867657710, i64 -4573926799701219152, i64 -4747655329656060729, i64 -4573926787355823408, i64 -4747656476138559682, i64 -4573926775027730264, i64 -4747653528514955519, i64 -4573926762716891272, i64 -4747654868867991534, i64 -4573926750423258208, i64 -4747657374250476450, i64 -4573926738146783056, i64 -4747654589524359708, i64 -4573926725887417976, i64 -4747653700636066286, i64 -4573926713645115336, i64 -4747657327826710751, i64 -4573926701419827728, i64 -4747654119206385198, i64 -4573926689211507896, i64 -4747657727075553586, i64 -4573926677020108832, i64 -4747653429469974766, i64 -4573926664845583672, i64 -4747654707033783891, i64 -4573926652687885784, i64 -4747654270907144477, i64 -4573926640546968712, i64 -4747654259547727623, i64 -4573926628422786192, i64 -4747656857196338783, i64 -4573926616315292168, i64 -4747654916371738663, i64 -4573926604224440744, i64 -4747657768733516590, i64 -4573926592150186248, i64 -4747655467256860847, i64 -4573926580092483160, i64 -4747657799128474818, i64 -4573926568051286184, i64 -4747654137703467242, i64 -4573926556026550168, i64 -4747656861212153309, i64 -4573926544018230184, i64 -4747656814371164974, i64 -4573926532026281472, i64 -4747653540588414993, i64 -4573926520050659440, i64 -4747654731614580779, i64 -4573926508091319704, i64 -4747653690703358538, i64 -4573926496148218040, i64 -4747655177994186102, i64 -4573926484221310416, i64 -4747657279110511291, i64 -4573926472310552984, i64 -4747655267641368559, i64 -4573926460415902056, i64 -4747654267337109866, i64 -4573926448537314128, i64 -4747655529617860219, i64 -4573926436674745880, i64 -4747655908784234045, i64 -4573926424828154160, i64 -4747656136855011572, i64 -4573926412997495992, i64 -4747655907770700976, i64 -4573926401182728568, i64 -4747657761167291288, i64 -4573926389383809264, i64 -4747657775459655223, i64 -4573926377600695624, i64 -4747653856532456821, i64 -4573926365833345344, i64 -4747654029825056200, i64 -4573926354081716312, i64 -4747653949457627298, i64 -4573926342345766576, i64 -4747653993115713923, i64 -4573926330625454352, i64 -4747654370015367750, i64 -4573926318920738024, i64 -4747654630201482631, i64 -4573926307231576136, i64 -4747657575153119099, i64 -4573926295557927416, i64 -4747655579437300814, i64 -4573926283899750728, i64 -4747656497990205503, i64 -4573926272257005120, i64 -4747656800023533681, i64 -4573926260629649800, i64 -4747654288507540662, i64 -4573926249017644120, i64 -4747656424740606407, i64 -4573926237420947624, i64 -4747653471654981965, i64 -4573926225839519976, i64 -4747657610903912766, i64 -4573926214273321048, i64 -4747654102077921030, i64 -4573926202722310824, i64 -4747653600026119322, i64 -4573926191186449464, i64 -4747656514258693589, i64 -4573926179665697296, i64 -4747656953755712544, i64 -4573926168160014792, i64 -4747655470833237147, i64 -4573926156669362576, i64 -4747654215764429500, i64 -4573926145193701424, i64 -4747656492365194775, i64 -4573926133732992280, i64 -4747657520382010935, i64 -4573926122287196232, i64 -4747657190984919870, i64 -4573926110856274520, i64 -4747655232924681460, i64 -4573926099440188528, i64 -4747655177610962218, i64 -4573926088038899800, i64 -4747655132857009315, i64 -4573926076652370024, i64 -4747656151594593408, i64 -4573926065280561040, i64 -4747657409212045405, i64 -4573926053923434840, i64 -4747655781680029702, i64 -4573926042580953552, i64 -4747654222490356239, i64 -4573926031253079448, i64 -4747656948154258350, i64 -4573926019939774968, i64 -4747655830285819171, i64 -4573926008641002672, i64 -4747656372761527755, i64 -4573925997356725280, i64 -4747655313005287114, i64 -4573925986086905640, i64 -4747657808308824083, i64 -4573925974831506768, i64 -4747655042330210487, i64 -4573925963590491792, i64 -4747654610727317906, i64 -4573925952363824000, i64 -4747653734743695412, i64 -4573925941151466808, i64 -4747656457797068736, i64 -4573925929953383792, i64 -4747655660213878338, i64 -4573925918769538648, i64 -4747654658881334996, i64 -4573925907599895216, i64 -4747653625007264762, i64 -4573925896444417472, i64 -4747653596527006162, i64 -4573925885303069528, i64 -4747656094906101069, i64 -4573925874175815648, i64 -4747653948273730712, i64 -4573925863062620200, i64 -4747657301333634363, i64 -4573925851963447728, i64 -4747653656964544122, i64 -4573925840878262864, i64 -4747655881119973875, i64 -4573925829807030416, i64 -4747653453056004570, i64 -4573925818749715288, i64 -4747656076869309178, i64 -4573925807706282552, i64 -4747653732467394990, i64 -4573925796676697376, i64 -4747655893674550145, i64 -4573925785660925088, i64 -4747655981828334580, i64 -4573925774658931128, i64 -4747657394291339661, i64 -4573925763670681080, i64 -4747655554744979737, i64 -4573925752696140640, i64 -4747655150085693442, i64 -4573925741735275640, i64 -4747656583209212880, i64 -4573925730788052048, i64 -4747655622131481682, i64 -4573925719854435944, i64 -4747656245429835747, i64 -4573925708934393544, i64 -4747657101569602893, i64 -4573925698027891192, i64 -4747655562565129667, i64 -4573925687134895344, i64 -4747656177819738754, i64 -4573925676255372592, i64 -4747657139849725340, i64 -4573925665389289656, i64 -4747654344295304206, i64 -4573925654536613360, i64 -4747654248109932643, i64 -4573925643697310664, i64 -4747655943493990741, i64 -4573925632871348656, i64 -4747655224115666605, i64 -4573925622058694528, i64 -4747657449464359032, i64 -4573925611259315616, i64 -4747655226856462683, i64 -4573925600473179352, i64 -4747654473962351781, i64 -4573925589700253296, i64 -4747656502863061869, i64 -4573925578940505136, i64 -4747657698273184296, i64 -4573925568193902680, i64 -4747653595775924494, i64 -4573925557460413824, i64 -4747656156148954650, i64 -4573925546740006624, i64 -4747653867022614289, i64 -4573925536032649216, i64 -4747655409344666823, i64 -4573925525338309880, i64 -4747654160916674399, i64 -4573925514656956992, i64 -4747654274476438744, i64 -4573925503988559048, i64 -4747657175242963089, i64 -4573925493333084672, i64 -4747656856421884701, i64 -4573925482690502584, i64 -4747657166797354538, i64 -4573925472060781632, i64 -4747653915792277546, i64 -4573925461443890752, i64 -4747656562774273805, i64 -4573925450839799024, i64 -4747657131617411284, i64 -4573925440248475624, i64 -4747656301669383099, i64 -4573925429669889840, i64 -4747654316134401748, i64 -4573925419104011064, i64 -4747655086370547361, i64 -4573925408550808808, i64 -4747657103809726462, i64 -4573925398010252696, i64 -4747657547766638147, i64 -4573925387482312456, i64 -4747656394984650827, i64 -4573925376966957920, i64 -4747656132859619984, i64 -4573925366464159032, i64 -4747657076329292667, i64 -4573925355973885848, i64 -4747657084509069761, i64 -4573925345496108528, i64 -4747655677061977040, i64 -4573925335030797336, i64 -4747653754197774965, i64 -4573925324577922632, i64 -4747657716382281831, i64 -4573925314137454912, i64 -4747657197419484212, i64 -4573925303709364752, i64 -4747655575731884555, i64 -4573925293293622832, i64 -4747656506804189031, i64 -4573925282890199952, i64 -4747654855290401639, i64 -4573925272499067000, i64 -4747654017005419522, i64 -4573925262120194968, i64 -4747656854231630307, i64 -4573925251753554968, i64 -4747656632608305960, i64 -4573925241399118200, i64 -4747654347871680506, i64 -4573925231056855960, i64 -4747654063923002214, i64 -4573925220726739656, i64 -4747653854399608559, i64 -4573925210408740792, i64 -4747654337970673652, i64 -4573925200102830976, i64 -4747654021021234048, i64 -4573925189808981912, i64 -4747653437946320670, i64 -4573925179527165400, i64 -4747654894905023560, i64 -4573925169257353344, i64 -4747657817023936422, i64 -4573925158999517760, i64 -4747654097086025176, i64 -4573925148753630728, i64 -4747654232020116708, i64 -4573925138519664448, i64 -4747656286250488764, i64 -4573925128297591224, i64 -4747654438919592030, i64 -4573925118087383432, i64 -4747656328648196444, i64 -4573925107889013568, i64 -4747656419264780470, i64 -4573925097702454208, i64 -4747657745470929943, i64 -4573925087527678040, i64 -4747654077502638553, i64 -4573925077364657816, i64 -4747656067661415010, i64 -4573925067213366416, i64 -4747655825589203730, i64 -4573925057073776792, i64 -4747657465626292819, i64 -4573925046945862008, i64 -4747654878986839131, i64 -4573925036829595200, i64 -4747653487765761265, i64 -4573925026724949600, i64 -4747656815930383598, i64 -4573925016631898552, i64 -4747657459706089851, i64 -4573925006550415480, i64 -4747654447579275247, i64 -4573924996480473880, i64 -4747657407489805113, i64 -4573924986422047376, i64 -4747655550971305766, i64 -4573924976375109648, i64 -4747657027346508460, i64 -4573924966339634496, i64 -4747653512433806473, i64 -4573924956315595776, i64 -4747655167290989875, i64 -4573924946302967464, i64 -4747655229498971664, i64 -4573924936301723608, i64 -4747656178372077722, i64 -4573924926311838352, i64 -4747656319016454169, i64 -4573924916333285928, i64 -4747653959832614420, i64 -4573924906366040640, i64 -4747655989314039044, i64 -4573924896410076904, i64 -4747655667761253697, i64 -4573924886465369208, i64 -4747654400693655225, i64 -4573924876531892120, i64 -4747657125206556108, i64 -4573924866609620320, i64 -4747654503404694360, i64 -4573924856698528544, i64 -4747653495555143508, i64 -4573924846798591624, i64 -4747655157881711165, i64 -4573924836909784488, i64 -4747654431783423096, i64 -4573924827032082128, i64 -4747657526422553371, i64 -4573924817165459648, i64 -4747655322023079921, i64 -4573924807309892208, i64 -4747653948941418102, i64 -4573924797465355056, i64 -4747656989385324929, i64 -4573924787631823544, i64 -4747656476377838817, i64 -4573924777809273088, i64 -4747654680191091674, i64 -4573924767997679184, i64 -4747655109591179462, i64 -4573924758197017424, i64 -4747653514212070271, i64 -4573924748407263464, i64 -4747655276330077043, i64 -4573924738628393056, i64 -4747657619380258669, i64 -4573924728860382040, i64 -4747653807811971152, i64 -4573924719103206304, i64 -4747654940229692712, i64 -4573924709356841848, i64 -4747654569021126144, i64 -4573924699621264736, i64 -4747654893721126974, i64 -4573924689896451112, i64 -4747657771081017948, i64 -4573924680182377216, i64 -4747655726208239145, i64 -4573924670479019344, i64 -4747653751094827037, i64 -4573924660786353872, i64 -4747655919830026163, i64 -4573924651104357272, i64 -4747656402908657762, i64 -4573924641433006080, i64 -4747656870860878957, i64 -4573924631772276912, i64 -4747657510638330566, i64 -4573924622122146464, i64 -4747656839121946407, i64 -4573924612482591504, i64 -4747655915698149345, i64 -4573924602853588880, i64 -4747653759757188927, i64 -4573924593235115504, i64 -4747655963339515676, i64 -4573924583627148384, i64 -4747656916504982581, i64 -4573924574029664592, i64 -4747657218069470181, i64 -4573924564442641280, i64 -4747654699051270789, i64 -4573924554866055656, i64 -4747657437332394602, i64 -4573924545299885032, i64 -4747657190877232009, i64 -4573924535744106776, i64 -4747655608478943806, i64 -4573924526198698328, i64 -4747655257097044084, i64 -4573924516663637208, i64 -4747655048198510475, i64 -4573924507138901008, i64 -4747654461142715102, i64 -4573924497624467384, i64 -4747657767510983337, i64 -4573924488120314088, i64 -4747656266142100850, i64 -4573924478626418920, i64 -4747654499565357752, i64 -4573924469142759752, i64 -4747656888941387003, i64 -4573924459669314552, i64 -4747654369923410608, i64 -4573924450206061328, i64 -4747655009898063343, i64 -4573924440752978176, i64 -4747657451530141988, i64 -4573924431310043272, i64 -4747655143535649848, i64 -4573924421877234840, i64 -4747653766491283778, i64 -4573924412454531184, i64 -4747653475162976731, i64 -4573924403041910672, i64 -4747657529998929671, i64 -4573924393639351768, i64 -4747654541223320756, i64 -4573924384246832968, i64 -4747653490362255301, i64 -4573924374864332848, i64 -4747657179987073525, i64 -4573924365491830072, i64 -4747657674553174484, i64 -4573924356129303360, i64 -4747653732328844998, i64 -4573924346776731480, i64 -4747655044036534572, i64 -4573924337434093296, i64 -4747655686015102378, i64 -4573924328101367728, i64 -4747655952734846998, i64 -4573924318778533760, i64 -4747657801869280963, i64 -4573924309465570456, i64 -4747655902150896049, i64 -4573924300162456928, i64 -4747655070331226826, i64 -4573924290869172360, i64 -4747656922635336835, i64 -4573924281585696016, i64 -4747655323124134711, i64 -4573924272312007208, i64 -4747653823098899272, i64 -4573924263048085312, i64 -4747656713031275133, i64 -4573924253793909792, i64 -4747655677246215740, i64 -4573924244549460152, i64 -4747656031817943623, i64 -4573924235314715976, i64 -4747654584743701566, i64 -4573924226089656896, i64 -4747657079320549315, i64 -4573924216874262632, i64 -4747656055883074911, i64 -4573924207668512944, i64 -4747657092827347813, i64 -4573924198472387672, i64 -4747656669893010430, i64 -4573924189285866712, i64 -4747655216582395479, i64 -4573924180108930016, i64 -4747656967200258666, i64 -4573924170941557616, i64 -4747656622509373302, i64 -4573924161783729592, i64 -4747656798462379122, i64 -4573924152635426096, i64 -4747654689354045424, i64 -4573924143496627328, i64 -4747655119993942568, i64 -4573924134367313560, i64 -4747657210336771995, i64 -4573924125247465136, i64 -4747654234984371682, i64 -4573924116137062432, i64 -4747655473647869388, i64 -4573924107036085912, i64 -4747655285774778073, i64 -4573924097944516088, i64 -4747654962452815784, i64 -4573924088862333536, i64 -4747653792702287252, i64 -4573924079789518880, i64 -4747657722664229711, i64 -4573924070726052832, i64 -4747657229168313021, i64 -4573924061671916144, i64 -4747653572513337847, i64 -4573924052627089616, i64 -4747654263618807200, i64 -4573924043591554128, i64 -4747655337729322093, i64 -4573924034565290616, i64 -4747654415132649481, i64 -4573924025548280064, i64 -4747654966468630310, i64 -4573924016540503520, i64 -4747657384578214621, i64 -4573924007541942104, i64 -4747654455074496325, i64 -4573923998552576960, i64 -4747657613910672261, i64 -4573923989572389328, i64 -4747657234917568883, i64 -4573923980601360480, i64 -4747657684795008859, i64 -4573923971639471760, i64 -4747655204157630574, i64 -4573923962686704552, i64 -4747655371654379784, i64 -4573923953743040312, i64 -4747655384366988292, i64 -4573923944808460544, i64 -4747657125181138233, i64 -4573923935882946824, i64 -4747653842521727848, i64 -4573923926966480752, i64 -4747656413145993481, i64 -4573923918059044024, i64 -4747653634874337219, i64 -4573923909160618352, i64 -4747656082836381112, i64 -4573923900271185536, i64 -4747656403460996730, i64 -4573923891390727416, i64 -4747655579787885351, i64 -4573923882519225888, i64 -4747654013027177977, i64 -4573923873656662896, i64 -4747655798874928568, i64 -4573923864803020456, i64 -4747655412255200401, i64 -4573923855958280624, i64 -4747655178996671545, i64 -4573923847122425512, i64 -4747656359835444925, i64 -4573923838295437296, i64 -4747654633065996336, i64 -4573923829477298184, i64 -4747657568022685990, i64 -4573923820667990472, i64 -4747653720644062516, i64 -4573923811867496464, i64 -4747656496418702028, i64 -4573923803075798560, i64 -4747655654941617018, i64 -4573923794292879184, i64 -4747656775984671789, i64 -4573923785518720832, i64 -4747654755449621808, i64 -4573923776753306032, i64 -4747655680409596099, i64 -4573923767996617384, i64 -4747654724258844049, i64 -4573923759248637528, i64 -4747653624851036179, i64 -4573923750509349152, i64 -4747656172971565779, i64 -4573923741778735016, i64 -4747654905280010682, i64 -4573923733056777904, i64 -4747657380231026711, i64 -4573923724343460680, i64 -4747655279947101121, i64 -4573923715638766232, i64 -4747655085295661515, i64 -4573923706942677512, i64 -4747655974957970070, i64 -4573923698255177528, i64 -4747654113323744156, i64 -4573923689576249320, i64 -4747655735022222672, i64 -4573923680905876000, i64 -4747655045621353108, i64 -4573923672244040712, i64 -4747656103329107427, i64 -4573923663590726664, i64 -4747655118810045982, i64 -4573923654945917104, i64 -4747653541858159127, i64 -4573923646309595328, i64 -4747653556411238023, i64 -4573923637681744688, i64 -4747653576089714148, i64 -4573923629062348576, i64 -4747656934396417230, i64 -4573923620451390456, i64 -4747654187155589198, i64 -4573923611848853808, i64 -4747653793978801405, i64 -4573923603254722176, i64 -4747655625638487936], [513 x i64] [i64 -9223372036854775808, i64 -4656730799357619994, i64 -4652235961580581952, i64 -4649986329498079596, i64 -4647749817633577079, i64 -4646616225673795623, i64 -4645502291506296201, i64 -4644390505718466484, i64 -4643280860039347228, i64 -4642692281032315929, i64 -4642139585990187659, i64 -4641587948738260087, i64 -4641037365235306213, i64 -4640487831463213804, i64 -4639939343426809448, i64 -4639391897153684284, i64 -4638845488694021376, i64 -4638503865156017802, i64 -4638231692859680384, i64 -4637960033612273549, i64 -4637688885483225760, i64 -4637418246552841956, i64 -4637148114912221995, i64 -4636878488663179880, i64 -4636609365918163716, i64 -4636340744800176433, i64 -4636072623442697237, i64 -4635804999989603787, i64 -4635537872595095105, i64 -4635271239423615187, i64 -4635005098649777326, i64 -4634739448458289130, i64 -4634474287043878234, i64 -4634209612611218685, i64 -4634074719969549199, i64 -4633942867061692674, i64 -4633811254981199135, i64 -4633679882849937084, i64 -4633548749794569193, i64 -4633417854946517473, i64 -4633287197441928751, i64 -4633156776421640466, i64 -4633026591031146768, i64 -4632896640420564928, i64 -4632766923744602049, i64 -4632637440162522072, i64 -4632508188838113084, i64 -4632379168939654916, i64 -4632250379639887028, i64 -4632121820115976685, i64 -4631993489549487411, i64 -4631865387126347734, i64 -4631737512036820191, i64 -4631609863475470626, i64 -4631482440641137747, i64 -4631355242736902956, i64 -4631228268970060445, i64 -4631101518552087554, i64 -4630974990698615391, i64 -4630848684629399707, i64 -4630722599568292029, i64 -4630596734743211039, i64 -4630471089386114211, i64 -4630345662732969689, i64 -4630220454023728410, i64 -4630095462502296473, i64 -4629970687416507738, i64 -4629846128018096673, i64 -4629721783562671429, i64 -4629649035123278517, i64 -4629587076729644690, i64 -4629525224702404157, i64 -4629463478676976039, i64 -4629401838290650703, i64 -4629340303182576980, i64 -4629278872993749487, i64 -4629217547366996064, i64 -4629156325946965309, i64 -4629095208380114229, i64 -4629034194314695982, i64 -4628973283400747741, i64 -4628912475290078639, i64 -4628851769636257837, i64 -4628791166094602673, i64 -4628730664322166924, i64 -4628670263977729162, i64 -4628609964721781206, i64 -4628549766216516672, i64 -4628489668125819618, i64 -4628429670115253283, i64 -4628369771852048923, i64 -4628309973005094734, i64 -4628250273244924872, i64 -4628190672243708561, i64 -4628131169675239290, i64 -4628071765214924103, i64 -4628012458539772972, i64 -4627953249328388264, i64 -4627894137260954287, i64 -4627835122019226926, i64 -4627776203286523363, i64 -4627717380747711883, i64 -4627658654089201755, i64 -4627600022998933209, i64 -4627541487166367479, i64 -4627483046282476940, i64 -4627424700039735317, i64 -4627366448132107975, i64 -4627308290255042287, i64 -4627250226105458085, i64 -4627192255381738175, i64 -4627134377783718946, i64 -4627076593012681036, i64 -4627018900771340086, i64 -4626961300763837565, i64 -4626903792695731660, i64 -4626846376273988253, i64 -4626789051206971955, i64 -4626731817204437223, i64 -4626674673977519540, i64 -4626617621238726669, i64 -4626560658701929972, i64 -4626503786082355804, i64 -4626447003096576965, i64 -4626390309462504234, i64 -4626333704899377950, i64 -4626277189127759679, i64 -4626220761869523931, i64 -4626164422847849950, i64 -4626108171787213566, i64 -4626052008413379108, i64 -4625995932453391385, i64 -4625939943635567727, i64 -4625884041689490082, i64 -4625828226345997187, i64 -4625772497337176785, i64 -4625716854396357914, i64 -4625661297258103249, i64 -4625605825658201504, i64 -4625550439333659893, i64 -4625495138022696650, i64 -4625439921464733603, i64 -4625384789400388809, i64 -4625329741571469243, i64 -4625274777720963541, i64 -4625219897593034804, i64 -4625180959121256419, i64 -4625153602398444753, i64 -4625126287156654015, i64 -4625099013270279226, i64 -4625071780614285043, i64 -4625044589064202321, i64 -4625017438496124701, i64 -4624990328786705219, i64 -4624963259813152949, i64 -4624936231453229660, i64 -4624909243585246507, i64 -4624882296088060745, i64 -4624855388841072464, i64 -4624828521724221350, i64 -4624801694617983474, i64 -4624774907403368099, i64 -4624748159961914513, i64 -4624721452175688887, i64 -4624694783927281157, i64 -4624668155099801922, i64 -4624641565576879373, i64 -4624615015242656244, i64 -4624588503981786778, i64 -4624562031679433724, i64 -4624535598221265350, i64 -4624509203493452483, i64 -4624482847382665565, i64 -4624456529776071735, i64 -4624430250561331931, i64 -4624404009626598013, i64 -4624377806860509903, i64 -4624351642152192756, i64 -4624325515391254139, i64 -4624299426467781240, i64 -4624273375272338091, i64 -4624247361695962818, i64 -4624221385630164901, i64 -4624195446966922463, i64 -4624169545598679574, i64 -4624143681418343574, i64 -4624117854319282416, i64 -4624092064195322032, i64 -4624066310940743708, i64 -4624040594450281490, i64 -4624014914619119596, i64 -4623989271342889860, i64 -4623963664517669182, i64 -4623938094039976999, i64 -4623912559806772783, i64 -4623887061715453545, i64 -4623861599663851359, i64 -4623836173550230913, i64 -4623810783273287062, i64 -4623785428732142413, i64 -4623760109826344915, i64 -4623734826455865474, i64 -4623709578521095581, i64 -4623684365922844958, i64 -4623659188562339220, i64 -4623634046341217550, i64 -4623608939161530398, i64 -4623583866925737191, i64 -4623558829536704054, i64 -4623533826897701558, i64 -4623508858912402476, i64 -4623483925484879556, i64 -4623459026519603307, i64 4599891994438806559, i64 4599867164113015276, i64 4599842367965246894, i64 4599817605901541168, i64 4599792877828324786, i64 4599768183652409249, i64 4599743523280988761, i64 4599718896621638139, i64 4599694303582310732, i64 4599669744071336361, i64 4599645217997419262, i64 4599620725269636056, i64 4599596265797433724, i64 4599571839490627600, i64 4599547446259399370, i64 4599523086014295100, i64 4599498758666223258, i64 4599474464126452767, i64 4599450202306611056, i64 4599425973118682139, i64 4599401776475004691, i64 4599377612288270153, i64 4599353480471520834, i64 4599329380938148039, i64 4599305313601890204, i64 4599281278376831038, i64 4599257275177397690, i64 4599233303918358916, i64 4599209364514823263, i64 4599185456882237268, i64 4599161580936383666, i64 4599137736593379607, i64 4599113923769674891, i64 4599090142382050209, i64 4599066392347615400, i64 4599042673583807716, i64 4599018986008390100, i64 4598995329539449478, i64 4598971704095395054, i64 4598948109594956628, i64 4598924545957182911, i64 4598901013101439868, i64 4598877510947409053, i64 4598854039415085970, i64 4598830598424778439, i64 4598807187897104969, i64 4598783807752993147, i64 4598760457913678036, i64 4598737138300700583, i64 4598713848835906036, i64 4598690589441442373, i64 4598667360039758741, i64 4598644160553603903, i64 4598620990906024698, i64 4598597851020364511, i64 4598574740820261747, i64 4598551660229648323, i64 4598528609172748163, i64 4598505587574075707, i64 4598482595358434428, i64 4598459632450915356, i64 4598436698776895617, i64 4598413794262036975, i64 4598390918832284387, i64 4598368072413864569, i64 4598345254933284564, i64 4598322466317330327, i64 4598299706493065314, i64 4598276975387829082, i64 4598254272929235896, i64 4598231599045173346, i64 4598208953663800977, i64 4598186336713548915, i64 4598152276700956621, i64 4598107156097665630, i64 4598062091930415993, i64 4598017084058205680, i64 4597972132340560425, i64 4597927236637531102, i64 4597882396809691110, i64 4597837612718133770, i64 4597792884224469749, i64 4597748211190824490, i64 4597703593479835666, i64 4597659030954650642, i64 4597614523478923957, i64 4597570070916814825, i64 4597525673132984640, i64 4597481329992594512, i64 4597437041361302805, i64 4597392807105262693, i64 4597348627091119739, i64 4597304501186009480, i64 4597260429257555026, i64 4597216411173864684, i64 4597172446803529585, i64 4597128536015621329, i64 4597084678679689652, i64 4597040874665760095, i64 4596997123844331693, i64 4596953426086374681, i64 4596909781263328210, i64 4596866189247098075, i64 4596822649910054461, i64 4596779163125029702, i64 4596735728765316052, i64 4596692346704663469, i64 4596649016817277411, i64 4596605738977816654, i64 4596562513061391109, i64 4596519338943559665, i64 4596476216500328036, i64 4596433145608146627, i64 4596390126143908408, i64 4596347157984946805, i64 4596304241009033599, i64 4596261375094376841, i64 4596218560119618777, i64 4596175795963833791, i64 4596133082506526348, i64 4596090419627628965, i64 4596047807207500180, i64 4596005245126922543, i64 4595962733267100610, i64 4595920271509658959, i64 4595877859736640208, i64 4595835497830503052, i64 4595793185674120307, i64 4595750923150776966, i64 4595708710144168269, i64 4595666546538397780, i64 4595624432217975484, i64 4595582367067815879, i64 4595540350973236099, i64 4595498383819954033, i64 4595456465494086458, i64 4595414595882147190, i64 4595372774871045238, i64 4595331002348082969, i64 4595289278200954290, i64 4595247602317742833, i64 4595205974586920157, i64 4595164394897343954, i64 4595122863138256269, i64 4595081379199281733, i64 4595039942970425800, i64 4594998554342072996, i64 4594957213204985185, i64 4594915919450299831, i64 4594874672969528284, i64 4594833473654554068, i64 4594792321397631180, i64 4594751216091382399, i64 4594710157628797609, i64 4594669145903232121, i64 4594628180808405014, i64 4594587262238397486, i64 4594546390087651205, i64 4594505564250966678, i64 4594464784623501626, i64 4594424051100769369, i64 4594383363578637221, i64 4594342721953324887, i64 4594302126121402882, i64 4594261575979790947, i64 4594221071425756481, i64 4594180612356912978, i64 4594140198671218474, i64 4594099830266974004, i64 4594059507042822065, i64 4594019228897745091, i64 4593978995731063932, i64 4593938807442436347, i64 4593898663931855501, i64 4593858565099648469, i64 4593818510846474759, i64 4593778501073324824, i64 4593738535681518605, i64 4593698614572704064, i64 4593645855379805542, i64 4593566189706640610, i64 4593486612013254107, i64 4593407122105537251, i64 4593327719790022944, i64 4593248404873882942, i64 4593169177164925051, i64 4593090036471590329, i64 4593010982602950306, i64 4592932015368704226, i64 4592853134579176292, i64 4592774340045312936, i64 4592695631578680099, i64 4592617008991460529, i64 4592538472096451089, i64 4592460020707060084, i64 4592381654637304604, i64 4592303373701807872, i64 4592225177715796620, i64 4592147066495098467, i64 4592069039856139320, i64 4591991097615940780, i64 4591913239592117576, i64 4591835465602874996, i64 4591757775467006345, i64 4591680169003890408, i64 4591602646033488937, i64 4591525206376344136, i64 4591447849853576176, i64 4591370576286880713, i64 4591293385498526419, i64 4591216277311352537, i64 4591139251548766433, i64 4591062308034741174, i64 4590985446593813114, i64 4590908667051079491, i64 4590831969232196043, i64 4590755352963374629, i64 4590678818071380868, i64 4590602364383531786, i64 4590525991727693484, i64 4590449699932278808, i64 4590373488826245037, i64 4590297358239091583, i64 4590221308000857700, i64 4590145337942120212, i64 4590069447893991243, i64 4589993637688115969, i64 4589917907156670373, i64 4589842256132359017, i64 4589766684448412830, i64 4589691191938586891, i64 4589615778437158247, i64 4589540443778923721, i64 4589465187799197745, i64 4589390010333810199, i64 4589314911219104263, i64 4589239890291934276, i64 4589161874488791809, i64 4589012144409789731, i64 4588862569733077116, i64 4588713150136409627, i64 4588563885298544206, i64 4588414774899234927, i64 4588265818619228876, i64 4588117016140262046, i64 4587968367145055264, i64 4587819871317310125, i64 4587671528341704956, i64 4587523337903890801, i64 4587375299690487420, i64 4587227413389079316, i64 4587079678688211779, i64 4586932095277386948, i64 4586784662847059898, i64 4586637381088634743, i64 4586490249694460760, i64 4586343268357828536, i64 4586196436772966127, i64 4586049754635035247, i64 4585903221640127466, i64 4585756837485260434, i64 4585610601868374123, i64 4585464514488327086, i64 4585318575044892735, i64 4585172783238755642, i64 4585027138771507853, i64 4584881641345645226, i64 4584736290664563780, i64 4584517752201947222, i64 4584227636046450257, i64 4583937811611621378, i64 4583648278311381746, i64 4583359035561416934, i64 4583070082779169855, i64 4582781419383833717, i64 4582493044796345023, i64 4582204958439376595, i64 4581917159737330646, i64 4581629648116331877, i64 4581342423004220609, i64 4581055483830545954, i64 4580768830026559016, i64 4580482461025206128, i64 4580196376261122119, i64 4579660329305452812, i64 4579089293347610374, i64 4578518822492243042, i64 4577948915621995178, i64 4577379571622821830, i64 4576810789383975664, i64 4576242567797993961, i64 4575674905760685681, i64 4574558382933813243, i64 4573425290454788948, i64 4572293310486968546, i64 4571162440847887157, i64 4568911736941938112, i64 4566654425935218846, i64 4562148622982273161, i64 0], [4 x i64] [i64 4596373792902302986, i64 -4625196811806208287, i64 4599676419421062085, i64 -4620693217682130913], i64 4503599627370495, i64 4562146422526312448, i64 -4616189618054758401, i64 9169328841326325760, i64 -67108864, i64 4607182418800017408, i64 9223372036854775807, i64 4467570830351532032, i64 -1024, i64 4604418534313426944, i64 4430688377387220992, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, i64 9218868437227405312, i64 9169328841326329856, i64 4604418534313441775, i64 4742290407621132288, i64 4600427019358961664, i64 4599301119452119040, i64 4598597432010342400, i64 4598034482056921088, i64 4602678819172646912, i64 9218868437227405311, i64 4566650022153682944, i64 -9223372036854775808, i64 4629418941960159232, i64 -2199023255552, i64 -134217728, i64 -16777216, i64 -4096, i64 4472074429978902528, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datan2_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_atan2_d_ha::(anonymous namespace)::__devicelib_imf_internal_datan2_data_t" { [6 x [4 x i64]] [[4 x i64] [i64 4607182418800017408, i64 4609753056924675352, i64 4364452196894661639, i64 0], [4 x i64] [i64 4609434218613702656, i64 4607027438436873883, i64 4354989122426817469, i64 -1], [4 x i64] [i64 4607182418800017408, i64 4605249457297304856, i64 4359948597267291143, i64 -1], [4 x i64] [i64 4602678819172646912, i64 4602023952714414927, i64 4357843414468748770, i64 -1], [4 x i64] [i64 0, i64 0, i64 0, i64 -1], [4 x i64] zeroinitializer], i64 4602023952714414927, i64 4357843414468748770, i64 4605249457297304856, i64 4359948597267291143, i64 4607027438436873883, i64 4354989122426817469, i64 4609753056924675352, i64 4364452196894661639, i64 4602678819172646912, i64 4609434218613702656, i64 -9223372036854775808, i64 9223372036854775807, i64 4614256656552045848, i64 4368955907334209536, i64 -134217728, i64 4601552919265804288, i64 4608026843730149376, i64 4612671180845875200, i64 4604367669032910848, i32 4, i32 -1048576, i32 2145386496, i32 8388607, i32 1065353216, i32 133169152, i64 4607182418800017408, i64 4579005216706475800, i64 -4638623129360263074, i64 4586543852600302025, i64 -4635718639522071261, i64 4588625900625970067, i64 -4633904342965131027, i64 4590207276600649530, i64 -4632156927350572465, i64 4592670819959283606, i64 -4629057045561861599, i64 4596373779694325571, i64 -4623695617433709230, i32 2147483647, i32 -2144337920, i32 -36700160, i64 9223372036854775807, i64 0, i32 1065353216, i64 -4294967296, i64 4614256656552045848, i64 4609753056924675352, i32 1005584384, i32 0 }, align 8 +@_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_119__datan2_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [251 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 -402653184, i32 1069799150] }, { [2 x i32] } { [2 x i32] [i32 -1962074746, i32 1039715405] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1070305495] }, { [2 x i32] } { [2 x i32] [i32 270726690, i32 1041535749] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1070817911] }, { [2 x i32] } { [2 x i32] [i32 -2040993455, i32 -1106312570] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1071277294] }, { [2 x i32] } { [2 x i32] [i32 -441040259, i32 1043226911] }, { [2 x i32] } { [2 x i32] [i32 -1476395008, i32 1071767563] }, { [2 x i32] } { [2 x i32] [i32 -1617208189, i32 1044314101] }, { [2 x i32] } { [2 x i32] [i32 -939524096, i32 1072103591] }, { [2 x i32] } { [2 x i32] [i32 1636578514, i32 -1103872562] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1072475260] }, { [2 x i32] } { [2 x i32] [i32 1864703685, i32 -1106320360] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072747407] }, { [2 x i32] } { [2 x i32] [i32 192551812, i32 -1102241029] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1072892781] }, { [2 x i32] } { [2 x i32] [i32 -2054597844, i32 1043768538] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072999953] }, { [2 x i32] } { [2 x i32] [i32 -629798959, i32 -1102261326] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1073084787] }, { [2 x i32] } { [2 x i32] [i32 1227953434, i32 -1102654019] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1073142981] }, { [2 x i32] } { [2 x i32] [i32 -441684169, i32 1045277487] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073187261] }, { [2 x i32] } { [2 x i32] [i32 1676192264, i32 -1102098435] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073217000] }, { [2 x i32] } { [2 x i32] [i32 -4203358, i32 1042034855] }, { [2 x i32] } { [2 x i32] [i32 671088640, i32 1073239386] }, { [2 x i32] } { [2 x i32] [i32 994303084, i32 -1105323528] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1073254338] }, { [2 x i32] } { [2 x i32] [i32 1878067156, i32 1042652475] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1073265562] }, { [2 x i32] } { [2 x i32] [i32 670314820, i32 1045138554] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073273048] }, { [2 x i32] } { [2 x i32] [i32 691126919, i32 -1104979502] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073278664] }, { [2 x i32] } { [2 x i32] [i32 1618990832, i32 -1106772787] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073282409] }, { [2 x i32] } { [2 x i32] [i32 -2096094357, i32 1044806069] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073285217] }, { [2 x i32] } { [2 x i32] [i32 -1660984913, i32 1042307894] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073287090] }, { [2 x i32] } { [2 x i32] [i32 1059367786, i32 -1105853066] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073288494] }, { [2 x i32] } { [2 x i32] [i32 -1136441763, i32 1044484961] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073289430] }, { [2 x i32] } { [2 x i32] [i32 286581777, i32 1044893263] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073290132] }, { [2 x i32] } { [2 x i32] [i32 2000245215, i32 -1103319685] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073290601] }, { [2 x i32] } { [2 x i32] [i32 -89895706, i32 1045035927] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073290952] }, { [2 x i32] } { [2 x i32] [i32 -1960575067, i32 1043447393] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291186] }, { [2 x i32] } { [2 x i32] [i32 -2013509119, i32 -1106081727] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291361] }, { [2 x i32] } { [2 x i32] [i32 691611507, i32 1044733832] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291478] }, { [2 x i32] } { [2 x i32] [i32 1816229550, i32 1044363390] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291566] }, { [2 x i32] } { [2 x i32] [i32 1993843750, i32 -1105129856] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291625] }, { [2 x i32] } { [2 x i32] [i32 -640212800, i32 1044970837] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291668] }, { [2 x i32] } { [2 x i32] [i32 -1070667067, i32 -1103031906] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291698] }, { [2 x i32] } { [2 x i32] [i32 -1306189320, i32 -1106016637] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291720] }, { [2 x i32] } { [2 x i32] [i32 1030371341, i32 1043402665] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291734] }, { [2 x i32] } { [2 x i32] [i32 1524463765, i32 1044361356] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291745] }, { [2 x i32] } { [2 x i32] [i32 -1540671976, i32 1044731036] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291753] }, { [2 x i32] } { [2 x i32] [i32 -1195338239, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291758] }, { [2 x i32] } { [2 x i32] [i32 962914160, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291762] }, { [2 x i32] } { [2 x i32] [i32 -751059090, i32 -1106016510] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291764] }, { [2 x i32] } { [2 x i32] [i32 1849909620, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291766] }, { [2 x i32] } { [2 x i32] [i32 1641333636, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291768] }, { [2 x i32] } { [2 x i32] [i32 1373968792, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291769] }, { [2 x i32] } { [2 x i32] [i32 2033191599, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291769] }, { [2 x i32] } { [2 x i32] [i32 -177019859, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 315378368, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 -1866395546, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 1608007466, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 1895711420, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031108713, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1362518342, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 317461253, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -177735512, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1607942376, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1866037719, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031104645, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722602, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 317465322, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1362515546, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1607942248, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -177735686, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031104637, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1540251232, i32 1045150466] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1650295902, i32 1045270303] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1895722605, i32 1045360181] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 803971124, i32 1045420100] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102088144] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102118103] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102140572] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102155552] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102166787] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102174277] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102179894] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102183639] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102186448] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102188320] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102189724] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102190661] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102191363] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102191831] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192182] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192416] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102192592] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192709] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102192796] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192855] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102192899] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192928] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192950] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192965] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102192976] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192983] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102192988] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192992] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102192995] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192997] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192998] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192999] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1466225875, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1343512524, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1251477510, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1190120835, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1144103328, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1113424990, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1090416237, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1075077068, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1431655765, i32 -1076538027] }, { [2 x i32] } { [2 x i32] [i32 -1717988933, i32 1070176665] }, { [2 x i32] } { [2 x i32] [i32 -1841812953, i32 -1077786332] }, { [2 x i32] } { [2 x i32] [i32 -105818157, i32 1069314502] }, { [2 x i32] } { [2 x i32] [i32 1775019125, i32 -1078508098] }, { [2 x i32] } { [2 x i32] [i32 273199057, i32 1068739452] }, { [2 x i32] } { [2 x i32] [i32 874748308, i32 -1078974019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069547520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 1413754136, i32 1072243195] }, { [2 x i32] } { [2 x i32] [i32 856972295, i32 1015129638] }, { [2 x i32] } { [2 x i32] [i32 1413754136, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 856972295, i32 1016178214] }, { [2 x i32] } { [2 x i32] [i32 1413754136, i32 1074340347] }, { [2 x i32] } { [2 x i32] [i32 856972295, i32 1017226790] }, { [2 x i32] } { [2 x i32] [i32 2134057426, i32 1073928572] }, { [2 x i32] } { [2 x i32] [i32 1285458442, i32 1016756537] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 2144337920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1048576] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }], align 8 +@_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_135__devicelib_imf_internal_datan_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_atan_d_ha::(anonymous namespace)::__devicelib_imf_internal_datan_data_t" { [6 x [4 x i64]] [[4 x i64] [i64 4607182418800017408, i64 0, i64 4609753056924675352, i64 4364452196894661639], [4 x i64] [i64 4609434218613702656, i64 -1, i64 4607027438436873883, i64 4354989122426817469], [4 x i64] [i64 4607182418800017408, i64 -1, i64 4605249457297304856, i64 4359948597267291143], [4 x i64] [i64 4602678819172646912, i64 -1, i64 4602023952714414927, i64 4357843414468748770], [4 x i64] [i64 0, i64 -1, i64 0, i64 0], [4 x i64] zeroinitializer], i64 4601552919265804288, i64 4608026843730149376, i64 4612671180845875200, i64 4604367669032910848, i64 4602023952714414927, i64 4357843414468748770, i64 4605249457297304856, i64 4359948597267291143, i64 4607027438436873883, i64 4354989122426817469, i64 4609753056924675352, i64 4364452196894661639, i64 4602678819172646912, i64 4609434218613702656, i64 -9223372036854775808, i64 9223372036854775807, i64 4614256656552045848, i64 4368955907334209536, i64 -134217728, i32 1071382528, i32 1072889856, i32 1073971200, i32 1072037888, i32 4, i64 4607182418800017408, i64 4579005216706475800, i64 -4638623129360263074, i64 4586543852600302025, i64 -4635718639522071261, i64 4588625900625970067, i64 -4633904342965131027, i64 4590207276600649530, i64 -4632156927350572465, i64 4592670819959283606, i64 -4629057045561861599, i64 4596373779694325571, i64 -4623695617433709230, i32 -2144337920, i32 -36700160 }, align 8 +@_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_118__datan_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [242 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 -402653184, i32 1069799150] }, { [2 x i32] } { [2 x i32] [i32 -1962074746, i32 1039715405] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1070305495] }, { [2 x i32] } { [2 x i32] [i32 270726690, i32 1041535749] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1070817911] }, { [2 x i32] } { [2 x i32] [i32 -2040993455, i32 -1106312570] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1071277294] }, { [2 x i32] } { [2 x i32] [i32 -441040259, i32 1043226911] }, { [2 x i32] } { [2 x i32] [i32 -1476395008, i32 1071767563] }, { [2 x i32] } { [2 x i32] [i32 -1617208189, i32 1044314101] }, { [2 x i32] } { [2 x i32] [i32 -939524096, i32 1072103591] }, { [2 x i32] } { [2 x i32] [i32 1636578514, i32 -1103872562] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1072475260] }, { [2 x i32] } { [2 x i32] [i32 1864703685, i32 -1106320360] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072747407] }, { [2 x i32] } { [2 x i32] [i32 192551812, i32 -1102241029] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1072892781] }, { [2 x i32] } { [2 x i32] [i32 -2054597844, i32 1043768538] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072999953] }, { [2 x i32] } { [2 x i32] [i32 -629798959, i32 -1102261326] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1073084787] }, { [2 x i32] } { [2 x i32] [i32 1227953434, i32 -1102654019] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1073142981] }, { [2 x i32] } { [2 x i32] [i32 -441684169, i32 1045277487] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073187261] }, { [2 x i32] } { [2 x i32] [i32 1676192264, i32 -1102098435] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073217000] }, { [2 x i32] } { [2 x i32] [i32 -4203358, i32 1042034855] }, { [2 x i32] } { [2 x i32] [i32 671088640, i32 1073239386] }, { [2 x i32] } { [2 x i32] [i32 994303084, i32 -1105323528] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1073254338] }, { [2 x i32] } { [2 x i32] [i32 1878067156, i32 1042652475] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1073265562] }, { [2 x i32] } { [2 x i32] [i32 670314820, i32 1045138554] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073273048] }, { [2 x i32] } { [2 x i32] [i32 691126919, i32 -1104979502] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073278664] }, { [2 x i32] } { [2 x i32] [i32 1618990832, i32 -1106772787] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073282409] }, { [2 x i32] } { [2 x i32] [i32 -2096094357, i32 1044806069] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073285217] }, { [2 x i32] } { [2 x i32] [i32 -1660984913, i32 1042307894] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073287090] }, { [2 x i32] } { [2 x i32] [i32 1059367786, i32 -1105853066] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073288494] }, { [2 x i32] } { [2 x i32] [i32 -1136441763, i32 1044484961] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073289430] }, { [2 x i32] } { [2 x i32] [i32 286581777, i32 1044893263] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073290132] }, { [2 x i32] } { [2 x i32] [i32 2000245215, i32 -1103319685] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073290601] }, { [2 x i32] } { [2 x i32] [i32 -89895706, i32 1045035927] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073290952] }, { [2 x i32] } { [2 x i32] [i32 -1960575067, i32 1043447393] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291186] }, { [2 x i32] } { [2 x i32] [i32 -2013509119, i32 -1106081727] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291361] }, { [2 x i32] } { [2 x i32] [i32 691611507, i32 1044733832] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291478] }, { [2 x i32] } { [2 x i32] [i32 1816229550, i32 1044363390] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291566] }, { [2 x i32] } { [2 x i32] [i32 1993843750, i32 -1105129856] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291625] }, { [2 x i32] } { [2 x i32] [i32 -640212800, i32 1044970837] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291668] }, { [2 x i32] } { [2 x i32] [i32 -1070667067, i32 -1103031906] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291698] }, { [2 x i32] } { [2 x i32] [i32 -1306189320, i32 -1106016637] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291720] }, { [2 x i32] } { [2 x i32] [i32 1030371341, i32 1043402665] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291734] }, { [2 x i32] } { [2 x i32] [i32 1524463765, i32 1044361356] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291745] }, { [2 x i32] } { [2 x i32] [i32 -1540671976, i32 1044731036] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291753] }, { [2 x i32] } { [2 x i32] [i32 -1195338239, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291758] }, { [2 x i32] } { [2 x i32] [i32 962914160, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291762] }, { [2 x i32] } { [2 x i32] [i32 -751059090, i32 -1106016510] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291764] }, { [2 x i32] } { [2 x i32] [i32 1849909620, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291766] }, { [2 x i32] } { [2 x i32] [i32 1641333636, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291768] }, { [2 x i32] } { [2 x i32] [i32 1373968792, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291769] }, { [2 x i32] } { [2 x i32] [i32 2033191599, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073291769] }, { [2 x i32] } { [2 x i32] [i32 -177019859, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 315378368, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 -1866395546, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 1608007466, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073291770] }, { [2 x i32] } { [2 x i32] [i32 1895711420, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031108713, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1362518342, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 317461253, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -177735512, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1607942376, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1866037719, i32 -1105128458] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031104645, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722602, i32 -1103031862] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 317465322, i32 -1106016509] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1362515546, i32 1043402654] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1607942248, i32 1044361352] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -177735686, i32 1044731035] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 2031104637, i32 1044970710] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1540251232, i32 1045150466] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1650295902, i32 1045270303] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1895722605, i32 1045360181] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 803971124, i32 1045420100] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102088144] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102118103] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102140572] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102155552] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102166787] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102174277] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102179894] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102183639] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102186448] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102188320] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102189724] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102190661] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102191363] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102191831] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192182] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192416] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102192592] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192709] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102192796] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192855] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102192899] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192928] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192950] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192965] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102192976] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192983] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102192988] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102192992] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102192995] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102192997] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102192998] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102192999] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -681257773, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 177735686, i32 -1102193000] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -803971124, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -1540251232, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 -2031104637, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1895722605, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1650295902, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1466225875, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1343512524, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1251477510, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1190120835, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1144103328, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1113424990, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1090416237, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 1075077068, i32 -1102193001] }, { [2 x i32] } { [2 x i32] [i32 1431655765, i32 -1076538027] }, { [2 x i32] } { [2 x i32] [i32 -1717988933, i32 1070176665] }, { [2 x i32] } { [2 x i32] [i32 -1841812953, i32 -1077786332] }, { [2 x i32] } { [2 x i32] [i32 -105818157, i32 1069314502] }, { [2 x i32] } { [2 x i32] [i32 1775019125, i32 -1078508098] }, { [2 x i32] } { [2 x i32] [i32 273199057, i32 1068739452] }, { [2 x i32] } { [2 x i32] [i32 874748308, i32 -1078974019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1017118720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069547520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1129316352] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 1413754136, i32 1073291771] }, { [2 x i32] } { [2 x i32] [i32 856972295, i32 1016178214] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }], align 8 +@_ZN21__imf_impl_atanh_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datanh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_atanh_d_ha::(anonymous namespace)::__devicelib_imf_internal_datanh_data_t" { [1026 x i64] [i64 -4573929700241800448, i64 -4747663588083126016, i64 -4573929683078686680, i64 -4747656230562481302, i64 -4573929665948996704, i64 -4747656847265566209, i64 -4573929648852600608, i64 -4747656941001928102, i64 -4573929631789369224, i64 -4747654680820138293, i64 -4573929614759174120, i64 -4747656080807710050, i64 -4573929597761887632, i64 -4747654219762351237, i64 -4573929580797382808, i64 -4747656870118799185, i64 -4573929563865533456, i64 -4747656982659891106, i64 -4573929546966214096, i64 -4747655977824342796, i64 -4573929530099299968, i64 -4747656280381921897, i64 -4573929513264667040, i64 -4747653883460620778, i64 -4573929496462191968, i64 -4747657329868482330, i64 -4573929479691752152, i64 -4747653945540955294, i64 -4573929462953225648, i64 -4747655266181610153, i64 -4573929446246491240, i64 -4747654531005645813, i64 -4573929429571428384, i64 -4747654572941727251, i64 -4573929412927917224, i64 -4747656153814740243, i64 -4573929396315838592, i64 -4747655122710608561, i64 -4573929379735073976, i64 -4747657193309815858, i64 -4573929363185505552, i64 -4747657563329154137, i64 -4573929346667016152, i64 -4747655744517506095, i64 -4573929330179489256, i64 -4747657224399583728, i64 -4573929313722809016, i64 -4747657561430512918, i64 -4573929297296860224, i64 -4747657291786085674, i64 -4573929280901528320, i64 -4747654870947488346, i64 -4573929264536699368, i64 -4747657232219733659, i64 -4573929248202260096, i64 -4747655185349922831, i64 -4573929231898097832, i64 -4747656013949908197, i64 -4573929215624100552, i64 -4747654524198918544, i64 -4573929199380156832, i64 -4747656893770270596, i64 -4573929183166155888, i64 -4747656165650667476, i64 -4573929166981987528, i64 -4747656143616955772, i64 -4573929150827542176, i64 -4747655728185068105, i64 -4573929134702710856, i64 -4747655265430528485, i64 -4573929118607385192, i64 -4747654122106389553, i64 -4573929102541457392, i64 -4747657078999270814, i64 -4573929086504820280, i64 -4747654357909165205, i64 -4573929070497367232, i64 -4747654446851055976, i64 -4573929054518992224, i64 -4747655374032938361, i64 -4573929038569589808, i64 -4747655585446881537, i64 -4573929022649055104, i64 -4747656047331342440, i64 -4573929006757283808, i64 -4747653573277475986, i64 -4573928990894172160, i64 -4747656162080632866, i64 -4573928975059616992, i64 -4747654375417819349, i64 -4573928959253515664, i64 -4747654308248613508, i64 -4573928943475766096, i64 -4747657802514223976, i64 -4573928927726266776, i64 -4747655874619040209, i64 -4573928912004916704, i64 -4747657346716581032, i64 -4573928896311615448, i64 -4747655924568579200, i64 -4573928880646263096, i64 -4747654469027577100, i64 -4573928865008760272, i64 -4747654101963432117, i64 -4573928849399008128, i64 -4747656524945005630, i64 -4573928833816908352, i64 -4747657560246616332, i64 -4573928818262363152, i64 -4747653904216398848, i64 -4573928802735275232, i64 -4747654296720545577, i64 -4573928787235547832, i64 -4747655524054212550, i64 -4573928771763084704, i64 -4747653623874994835, i64 -4573928756317790088, i64 -4747655107600924661, i64 -4573928740899568744, i64 -4747657413763738251, i64 -4573928725508325936, i64 -4747655766740629167, i64 -4573928710143967408, i64 -4747654450452724439, i64 -4573928694806399400, i64 -4747656108574196021, i64 -4573928679495528656, i64 -4747655459356210262, i64 -4573928664211262392, i64 -4747655017079022831, i64 -4573928648953508312, i64 -4747654441449957371, i64 -4573928633722174592, i64 -4747657495243807721, i64 -4573928618517169904, i64 -4747657027600532315, i64 -4573928603338403376, i64 -4747655157420365256, i64 -4573928588185784600, i64 -4747657084042652655, i64 -4573928573059223656, i64 -4747656117233879239, i64 -4573928557958631072, i64 -4747653906791346622, i64 -4573928542883917832, i64 -4747654298954601347, i64 -4573928527834995384, i64 -4747657207748810114, i64 -4573928512811775640, i64 -4747656899153575655, i64 -4573928497814170952, i64 -4747653484039024103, i64 -4573928482842094104, i64 -4747655629487218412, i64 -4573928467895458352, i64 -4747656896165240439, i64 -4573928452974177384, i64 -4747656070348259217, i64 -4573928438078165320, i64 -4747655519750787761, i64 -4573928423207336720, i64 -4747655165209747499, i64 -4573928408361606576, i64 -4747655262218130895, i64 -4573928393540890312, i64 -4747654798030646259, i64 -4573928378745103776, i64 -4747654300296921877, i64 -4573928363974163240, i64 -4747654260993417817, i64 -4573928349227985400, i64 -4747653573566321073, i64 -4573928334506487360, i64 -4747656779245783453, i64 -4573928319809586664, i64 -4747654938028302158, i64 -4573928305137201240, i64 -4747654890988351556, i64 -4573928290489249440, i64 -4747655758721440975, i64 -4573928275865650024, i64 -4747656238675730135, i64 -4573928261266322152, i64 -4747657516875004682, i64 -4573928246691185392, i64 -4747657395862843136, i64 -4573928232140159704, i64 -4747657628978305142, i64 -4573928217613165456, i64 -4747653674516750649, i64 -4573928203110123384, i64 -4747655248167993944, i64 -4573928188630954648, i64 -4747654110730039294, i64 -4573928174175580776, i64 -4747653440191002636, i64 -4573928159743923680, i64 -4747657632994119668, i64 -4573928145335905680, i64 -4747657718743907546, i64 -4573928130951449456, i64 -4747656368705874780, i64 -4573928116590478064, i64 -4747657731197662313, i64 -4573928102252914952, i64 -4747657278133547797, i64 -4573928087938683936, i64 -4747653652845966546, i64 -4573928073647709184, i64 -4747656130797319093, i64 -4573928059379915264, i64 -4747656906750046592, i64 -4573928045135227096, i64 -4747656169219961743, i64 -4573928030913569960, i64 -4747656399225080903, i64 -4573928016714869504, i64 -4747656679552667335, i64 -4573928002539051736, i64 -4747655810535800545, i64 -4573927988386043016, i64 -4747655436145887769, i64 -4573927974255770064, i64 -4747654384208664467, i64 -4573927960148159944, i64 -4747656210877924747, i64 -4573927946063140088, i64 -4747654764897680282, i64 -4573927932000638256, i64 -4747654946161267371, i64 -4573927917960582568, i64 -4747653891681662722, i64 -4573927903942901472, i64 -4747657355669706369, i64 -4573927889947523784, i64 -4747656516836599448, i64 -4573927875974378632, i64 -4747657571805500040, i64 -4573927862023395504, i64 -4747654163378549899, i64 -4573927848094504192, i64 -4747656992778738702, i64 -4573927834187634856, i64 -4747657470475407555, i64 -4573927820302717968, i64 -4747657346900819731, i64 -4573927806439684336, i64 -4747654371808085681, i64 -4573927792598465080, i64 -4747654350928642203, i64 -4573927778778991656, i64 -4747656823286120328, i64 -4573927764981195856, i64 -4747653941501103318, i64 -4573927751205009760, i64 -4747655749143131558, i64 -4573927737450365800, i64 -4747653894117466190, i64 -4573927723717196696, i64 -4747655719400577604, i64 -4573927710005435504, i64 -4747656789648546559, i64 -4573927696315015584, i64 -4747657406715042105, i64 -4573927682645870608, i64 -4747657143302473380, i64 -4573927668997934560, i64 -4747653782947500660, i64 -4573927655371141712, i64 -4747655462356891244, i64 -4573927641765426664, i64 -4747657637505895473, i64 -4573927628180724320, i64 -4747655242167941839, i64 -4573927614616969864, i64 -4747654854428997278, i64 -4573927601074098792, i64 -4747656084787253473, i64 -4573927587552046904, i64 -4747654962323304714, i64 -4573927574050750280, i64 -4747656124729100316, i64 -4573927560570145312, i64 -4747654229705662318, i64 -4573927547110168664, i64 -4747654956403101747, i64 -4573927533670757304, i64 -4747656431995844697, i64 -4573927520251848488, i64 -4747657054021592283, i64 -4573927506853379760, i64 -4747654524043520355, i64 -4573927493475288936, i64 -4747653684754086369, i64 -4573927480117514120, i64 -4747656772174419230, i64 -4573927466779993720, i64 -4747653675069089618, i64 -4573927453462666384, i64 -4747656181975827032, i64 -4573927440165471072, i64 -4747657468529532559, i64 -4573927426888347008, i64 -4747657562504776696, i64 -4573927413631233696, i64 -4747653631443537813, i64 -4573927400394070888, i64 -4747656665456516504, i64 -4573927387176798648, i64 -4747655390298666507, i64 -4573927373979357280, i64 -4747654954006257604, i64 -4573927360801687368, i64 -4747654047592764676, i64 -4573927347643729752, i64 -4747657216766602921, i64 -4573927334505425560, i64 -4747656393913448041, i64 -4573927321386716160, i64 -4747656417074857729, i64 -4573927308287543192, i64 -4747656574934614673, i64 -4573927295207848560, i64 -4747654148452707383, i64 -4573927282147574408, i64 -4747656754950265507, i64 -4573927269106663168, i64 -4747655116077270564, i64 -4573927256085057496, i64 -4747657404676826663, i64 -4573927243082700328, i64 -4747657627141777483, i64 -4573927230099534840, i64 -4747656788464649973, i64 -4573927217135504456, i64 -4747657675089471082, i64 -4573927204190552864, i64 -4747655245744318139, i64 -4573927191264623976, i64 -4747657814573549163, i64 -4573927178357661984, i64 -4747655463633405396, i64 -4573927165469611296, i64 -4747654431954728633, i64 -4573927152600416576, i64 -4747654335818958302, i64 -4573927139750022728, i64 -4747656181126633181, i64 -4573927126918374904, i64 -4747657187342810254, i64 -4573927114105418496, i64 -4747654413201994477, i64 -4573927101311099112, i64 -4747657184123126397, i64 -4573927088535362632, i64 -4747655544727544119, i64 -4573927075778155144, i64 -4747654687574243904, i64 -4573927063039422976, i64 -4747656610808677503, i64 -4573927050319112704, i64 -4747654975375276186, i64 -4573927037617171112, i64 -4747656355886238101, i64 -4573927024933545232, i64 -4747657516355879006, i64 -4573927012268182328, i64 -4747653477545181716, i64 -4573926999621029864, i64 -4747654385638398898, i64 -4573926986992035560, i64 -4747654007601933129, i64 -4573926974381147344, i64 -4747655406297081984, i64 -4573926961788313376, i64 -4747657038279172847, i64 -4573926949213482040, i64 -4747656448843943399, i64 -4573926936656601936, i64 -4747653972091772576, i64 -4573926924117621872, i64 -4747656435966843755, i64 -4573926911596490904, i64 -4747654483949682971, i64 -4573926899093158272, i64 -4747657076244715355, i64 -4573926886607573464, i64 -4747655627072367997, i64 -4573926874139686160, i64 -4747654117466326903, i64 -4573926861689446256, i64 -4747655232372342492, i64 -4573926849256803872, i64 -4747655298566292858, i64 -4573926836841709328, i64 -4747656819444502382, i64 -4573926824444113168, i64 -4747654626181574917, i64 -4573926812063966120, i64 -4747657217867657710, i64 -4573926799701219152, i64 -4747655329656060729, i64 -4573926787355823408, i64 -4747656476138559682, i64 -4573926775027730264, i64 -4747653528514955519, i64 -4573926762716891272, i64 -4747654868867991534, i64 -4573926750423258208, i64 -4747657374250476450, i64 -4573926738146783056, i64 -4747654589524359708, i64 -4573926725887417976, i64 -4747653700636066286, i64 -4573926713645115336, i64 -4747657327826710751, i64 -4573926701419827728, i64 -4747654119206385198, i64 -4573926689211507896, i64 -4747657727075553586, i64 -4573926677020108832, i64 -4747653429469974766, i64 -4573926664845583672, i64 -4747654707033783891, i64 -4573926652687885784, i64 -4747654270907144477, i64 -4573926640546968712, i64 -4747654259547727623, i64 -4573926628422786192, i64 -4747656857196338783, i64 -4573926616315292168, i64 -4747654916371738663, i64 -4573926604224440744, i64 -4747657768733516590, i64 -4573926592150186248, i64 -4747655467256860847, i64 -4573926580092483160, i64 -4747657799128474818, i64 -4573926568051286184, i64 -4747654137703467242, i64 -4573926556026550168, i64 -4747656861212153309, i64 -4573926544018230184, i64 -4747656814371164974, i64 -4573926532026281472, i64 -4747653540588414993, i64 -4573926520050659440, i64 -4747654731614580779, i64 -4573926508091319704, i64 -4747653690703358538, i64 -4573926496148218040, i64 -4747655177994186102, i64 -4573926484221310416, i64 -4747657279110511291, i64 -4573926472310552984, i64 -4747655267641368559, i64 -4573926460415902056, i64 -4747654267337109866, i64 -4573926448537314128, i64 -4747655529617860219, i64 -4573926436674745880, i64 -4747655908784234045, i64 -4573926424828154160, i64 -4747656136855011572, i64 -4573926412997495992, i64 -4747655907770700976, i64 -4573926401182728568, i64 -4747657761167291288, i64 -4573926389383809264, i64 -4747657775459655223, i64 -4573926377600695624, i64 -4747653856532456821, i64 -4573926365833345344, i64 -4747654029825056200, i64 -4573926354081716312, i64 -4747653949457627298, i64 -4573926342345766576, i64 -4747653993115713923, i64 -4573926330625454352, i64 -4747654370015367750, i64 -4573926318920738024, i64 -4747654630201482631, i64 -4573926307231576136, i64 -4747657575153119099, i64 -4573926295557927416, i64 -4747655579437300814, i64 -4573926283899750728, i64 -4747656497990205503, i64 -4573926272257005120, i64 -4747656800023533681, i64 -4573926260629649800, i64 -4747654288507540662, i64 -4573926249017644120, i64 -4747656424740606407, i64 -4573926237420947624, i64 -4747653471654981965, i64 -4573926225839519976, i64 -4747657610903912766, i64 -4573926214273321048, i64 -4747654102077921030, i64 -4573926202722310824, i64 -4747653600026119322, i64 -4573926191186449464, i64 -4747656514258693589, i64 -4573926179665697296, i64 -4747656953755712544, i64 -4573926168160014792, i64 -4747655470833237147, i64 -4573926156669362576, i64 -4747654215764429500, i64 -4573926145193701424, i64 -4747656492365194775, i64 -4573926133732992280, i64 -4747657520382010935, i64 -4573926122287196232, i64 -4747657190984919870, i64 -4573926110856274520, i64 -4747655232924681460, i64 -4573926099440188528, i64 -4747655177610962218, i64 -4573926088038899800, i64 -4747655132857009315, i64 -4573926076652370024, i64 -4747656151594593408, i64 -4573926065280561040, i64 -4747657409212045405, i64 -4573926053923434840, i64 -4747655781680029702, i64 -4573926042580953552, i64 -4747654222490356239, i64 -4573926031253079448, i64 -4747656948154258350, i64 -4573926019939774968, i64 -4747655830285819171, i64 -4573926008641002672, i64 -4747656372761527755, i64 -4573925997356725280, i64 -4747655313005287114, i64 -4573925986086905640, i64 -4747657808308824083, i64 -4573925974831506768, i64 -4747655042330210487, i64 -4573925963590491792, i64 -4747654610727317906, i64 -4573925952363824000, i64 -4747653734743695412, i64 -4573925941151466808, i64 -4747656457797068736, i64 -4573925929953383792, i64 -4747655660213878338, i64 -4573925918769538648, i64 -4747654658881334996, i64 -4573925907599895216, i64 -4747653625007264762, i64 -4573925896444417472, i64 -4747653596527006162, i64 -4573925885303069528, i64 -4747656094906101069, i64 -4573925874175815648, i64 -4747653948273730712, i64 -4573925863062620200, i64 -4747657301333634363, i64 -4573925851963447728, i64 -4747653656964544122, i64 -4573925840878262864, i64 -4747655881119973875, i64 -4573925829807030416, i64 -4747653453056004570, i64 -4573925818749715288, i64 -4747656076869309178, i64 -4573925807706282552, i64 -4747653732467394990, i64 -4573925796676697376, i64 -4747655893674550145, i64 -4573925785660925088, i64 -4747655981828334580, i64 -4573925774658931128, i64 -4747657394291339661, i64 -4573925763670681080, i64 -4747655554744979737, i64 -4573925752696140640, i64 -4747655150085693442, i64 -4573925741735275640, i64 -4747656583209212880, i64 -4573925730788052048, i64 -4747655622131481682, i64 -4573925719854435944, i64 -4747656245429835747, i64 -4573925708934393544, i64 -4747657101569602893, i64 -4573925698027891192, i64 -4747655562565129667, i64 -4573925687134895344, i64 -4747656177819738754, i64 -4573925676255372592, i64 -4747657139849725340, i64 -4573925665389289656, i64 -4747654344295304206, i64 -4573925654536613360, i64 -4747654248109932643, i64 -4573925643697310664, i64 -4747655943493990741, i64 -4573925632871348656, i64 -4747655224115666605, i64 -4573925622058694528, i64 -4747657449464359032, i64 -4573925611259315616, i64 -4747655226856462683, i64 -4573925600473179352, i64 -4747654473962351781, i64 -4573925589700253296, i64 -4747656502863061869, i64 -4573925578940505136, i64 -4747657698273184296, i64 -4573925568193902680, i64 -4747653595775924494, i64 -4573925557460413824, i64 -4747656156148954650, i64 -4573925546740006624, i64 -4747653867022614289, i64 -4573925536032649216, i64 -4747655409344666823, i64 -4573925525338309880, i64 -4747654160916674399, i64 -4573925514656956992, i64 -4747654274476438744, i64 -4573925503988559048, i64 -4747657175242963089, i64 -4573925493333084672, i64 -4747656856421884701, i64 -4573925482690502584, i64 -4747657166797354538, i64 -4573925472060781632, i64 -4747653915792277546, i64 -4573925461443890752, i64 -4747656562774273805, i64 -4573925450839799024, i64 -4747657131617411284, i64 -4573925440248475624, i64 -4747656301669383099, i64 -4573925429669889840, i64 -4747654316134401748, i64 -4573925419104011064, i64 -4747655086370547361, i64 -4573925408550808808, i64 -4747657103809726462, i64 -4573925398010252696, i64 -4747657547766638147, i64 -4573925387482312456, i64 -4747656394984650827, i64 -4573925376966957920, i64 -4747656132859619984, i64 -4573925366464159032, i64 -4747657076329292667, i64 -4573925355973885848, i64 -4747657084509069761, i64 -4573925345496108528, i64 -4747655677061977040, i64 -4573925335030797336, i64 -4747653754197774965, i64 -4573925324577922632, i64 -4747657716382281831, i64 -4573925314137454912, i64 -4747657197419484212, i64 -4573925303709364752, i64 -4747655575731884555, i64 -4573925293293622832, i64 -4747656506804189031, i64 -4573925282890199952, i64 -4747654855290401639, i64 -4573925272499067000, i64 -4747654017005419522, i64 -4573925262120194968, i64 -4747656854231630307, i64 -4573925251753554968, i64 -4747656632608305960, i64 -4573925241399118200, i64 -4747654347871680506, i64 -4573925231056855960, i64 -4747654063923002214, i64 -4573925220726739656, i64 -4747653854399608559, i64 -4573925210408740792, i64 -4747654337970673652, i64 -4573925200102830976, i64 -4747654021021234048, i64 -4573925189808981912, i64 -4747653437946320670, i64 -4573925179527165400, i64 -4747654894905023560, i64 -4573925169257353344, i64 -4747657817023936422, i64 -4573925158999517760, i64 -4747654097086025176, i64 -4573925148753630728, i64 -4747654232020116708, i64 -4573925138519664448, i64 -4747656286250488764, i64 -4573925128297591224, i64 -4747654438919592030, i64 -4573925118087383432, i64 -4747656328648196444, i64 -4573925107889013568, i64 -4747656419264780470, i64 -4573925097702454208, i64 -4747657745470929943, i64 -4573925087527678040, i64 -4747654077502638553, i64 -4573925077364657816, i64 -4747656067661415010, i64 -4573925067213366416, i64 -4747655825589203730, i64 -4573925057073776792, i64 -4747657465626292819, i64 -4573925046945862008, i64 -4747654878986839131, i64 -4573925036829595200, i64 -4747653487765761265, i64 -4573925026724949600, i64 -4747656815930383598, i64 -4573925016631898552, i64 -4747657459706089851, i64 -4573925006550415480, i64 -4747654447579275247, i64 -4573924996480473880, i64 -4747657407489805113, i64 -4573924986422047376, i64 -4747655550971305766, i64 -4573924976375109648, i64 -4747657027346508460, i64 -4573924966339634496, i64 -4747653512433806473, i64 -4573924956315595776, i64 -4747655167290989875, i64 -4573924946302967464, i64 -4747655229498971664, i64 -4573924936301723608, i64 -4747656178372077722, i64 -4573924926311838352, i64 -4747656319016454169, i64 -4573924916333285928, i64 -4747653959832614420, i64 -4573924906366040640, i64 -4747655989314039044, i64 -4573924896410076904, i64 -4747655667761253697, i64 -4573924886465369208, i64 -4747654400693655225, i64 -4573924876531892120, i64 -4747657125206556108, i64 -4573924866609620320, i64 -4747654503404694360, i64 -4573924856698528544, i64 -4747653495555143508, i64 -4573924846798591624, i64 -4747655157881711165, i64 -4573924836909784488, i64 -4747654431783423096, i64 -4573924827032082128, i64 -4747657526422553371, i64 -4573924817165459648, i64 -4747655322023079921, i64 -4573924807309892208, i64 -4747653948941418102, i64 -4573924797465355056, i64 -4747656989385324929, i64 -4573924787631823544, i64 -4747656476377838817, i64 -4573924777809273088, i64 -4747654680191091674, i64 -4573924767997679184, i64 -4747655109591179462, i64 -4573924758197017424, i64 -4747653514212070271, i64 -4573924748407263464, i64 -4747655276330077043, i64 -4573924738628393056, i64 -4747657619380258669, i64 -4573924728860382040, i64 -4747653807811971152, i64 -4573924719103206304, i64 -4747654940229692712, i64 -4573924709356841848, i64 -4747654569021126144, i64 -4573924699621264736, i64 -4747654893721126974, i64 -4573924689896451112, i64 -4747657771081017948, i64 -4573924680182377216, i64 -4747655726208239145, i64 -4573924670479019344, i64 -4747653751094827037, i64 -4573924660786353872, i64 -4747655919830026163, i64 -4573924651104357272, i64 -4747656402908657762, i64 -4573924641433006080, i64 -4747656870860878957, i64 -4573924631772276912, i64 -4747657510638330566, i64 -4573924622122146464, i64 -4747656839121946407, i64 -4573924612482591504, i64 -4747655915698149345, i64 -4573924602853588880, i64 -4747653759757188927, i64 -4573924593235115504, i64 -4747655963339515676, i64 -4573924583627148384, i64 -4747656916504982581, i64 -4573924574029664592, i64 -4747657218069470181, i64 -4573924564442641280, i64 -4747654699051270789, i64 -4573924554866055656, i64 -4747657437332394602, i64 -4573924545299885032, i64 -4747657190877232009, i64 -4573924535744106776, i64 -4747655608478943806, i64 -4573924526198698328, i64 -4747655257097044084, i64 -4573924516663637208, i64 -4747655048198510475, i64 -4573924507138901008, i64 -4747654461142715102, i64 -4573924497624467384, i64 -4747657767510983337, i64 -4573924488120314088, i64 -4747656266142100850, i64 -4573924478626418920, i64 -4747654499565357752, i64 -4573924469142759752, i64 -4747656888941387003, i64 -4573924459669314552, i64 -4747654369923410608, i64 -4573924450206061328, i64 -4747655009898063343, i64 -4573924440752978176, i64 -4747657451530141988, i64 -4573924431310043272, i64 -4747655143535649848, i64 -4573924421877234840, i64 -4747653766491283778, i64 -4573924412454531184, i64 -4747653475162976731, i64 -4573924403041910672, i64 -4747657529998929671, i64 -4573924393639351768, i64 -4747654541223320756, i64 -4573924384246832968, i64 -4747653490362255301, i64 -4573924374864332848, i64 -4747657179987073525, i64 -4573924365491830072, i64 -4747657674553174484, i64 -4573924356129303360, i64 -4747653732328844998, i64 -4573924346776731480, i64 -4747655044036534572, i64 -4573924337434093296, i64 -4747655686015102378, i64 -4573924328101367728, i64 -4747655952734846998, i64 -4573924318778533760, i64 -4747657801869280963, i64 -4573924309465570456, i64 -4747655902150896049, i64 -4573924300162456928, i64 -4747655070331226826, i64 -4573924290869172360, i64 -4747656922635336835, i64 -4573924281585696016, i64 -4747655323124134711, i64 -4573924272312007208, i64 -4747653823098899272, i64 -4573924263048085312, i64 -4747656713031275133, i64 -4573924253793909792, i64 -4747655677246215740, i64 -4573924244549460152, i64 -4747656031817943623, i64 -4573924235314715976, i64 -4747654584743701566, i64 -4573924226089656896, i64 -4747657079320549315, i64 -4573924216874262632, i64 -4747656055883074911, i64 -4573924207668512944, i64 -4747657092827347813, i64 -4573924198472387672, i64 -4747656669893010430, i64 -4573924189285866712, i64 -4747655216582395479, i64 -4573924180108930016, i64 -4747656967200258666, i64 -4573924170941557616, i64 -4747656622509373302, i64 -4573924161783729592, i64 -4747656798462379122, i64 -4573924152635426096, i64 -4747654689354045424, i64 -4573924143496627328, i64 -4747655119993942568, i64 -4573924134367313560, i64 -4747657210336771995, i64 -4573924125247465136, i64 -4747654234984371682, i64 -4573924116137062432, i64 -4747655473647869388, i64 -4573924107036085912, i64 -4747655285774778073, i64 -4573924097944516088, i64 -4747654962452815784, i64 -4573924088862333536, i64 -4747653792702287252, i64 -4573924079789518880, i64 -4747657722664229711, i64 -4573924070726052832, i64 -4747657229168313021, i64 -4573924061671916144, i64 -4747653572513337847, i64 -4573924052627089616, i64 -4747654263618807200, i64 -4573924043591554128, i64 -4747655337729322093, i64 -4573924034565290616, i64 -4747654415132649481, i64 -4573924025548280064, i64 -4747654966468630310, i64 -4573924016540503520, i64 -4747657384578214621, i64 -4573924007541942104, i64 -4747654455074496325, i64 -4573923998552576960, i64 -4747657613910672261, i64 -4573923989572389328, i64 -4747657234917568883, i64 -4573923980601360480, i64 -4747657684795008859, i64 -4573923971639471760, i64 -4747655204157630574, i64 -4573923962686704552, i64 -4747655371654379784, i64 -4573923953743040312, i64 -4747655384366988292, i64 -4573923944808460544, i64 -4747657125181138233, i64 -4573923935882946824, i64 -4747653842521727848, i64 -4573923926966480752, i64 -4747656413145993481, i64 -4573923918059044024, i64 -4747653634874337219, i64 -4573923909160618352, i64 -4747656082836381112, i64 -4573923900271185536, i64 -4747656403460996730, i64 -4573923891390727416, i64 -4747655579787885351, i64 -4573923882519225888, i64 -4747654013027177977, i64 -4573923873656662896, i64 -4747655798874928568, i64 -4573923864803020456, i64 -4747655412255200401, i64 -4573923855958280624, i64 -4747655178996671545, i64 -4573923847122425512, i64 -4747656359835444925, i64 -4573923838295437296, i64 -4747654633065996336, i64 -4573923829477298184, i64 -4747657568022685990, i64 -4573923820667990472, i64 -4747653720644062516, i64 -4573923811867496464, i64 -4747656496418702028, i64 -4573923803075798560, i64 -4747655654941617018, i64 -4573923794292879184, i64 -4747656775984671789, i64 -4573923785518720832, i64 -4747654755449621808, i64 -4573923776753306032, i64 -4747655680409596099, i64 -4573923767996617384, i64 -4747654724258844049, i64 -4573923759248637528, i64 -4747653624851036179, i64 -4573923750509349152, i64 -4747656172971565779, i64 -4573923741778735016, i64 -4747654905280010682, i64 -4573923733056777904, i64 -4747657380231026711, i64 -4573923724343460680, i64 -4747655279947101121, i64 -4573923715638766232, i64 -4747655085295661515, i64 -4573923706942677512, i64 -4747655974957970070, i64 -4573923698255177528, i64 -4747654113323744156, i64 -4573923689576249320, i64 -4747655735022222672, i64 -4573923680905876000, i64 -4747655045621353108, i64 -4573923672244040712, i64 -4747656103329107427, i64 -4573923663590726664, i64 -4747655118810045982, i64 -4573923654945917104, i64 -4747653541858159127, i64 -4573923646309595328, i64 -4747653556411238023, i64 -4573923637681744688, i64 -4747653576089714148, i64 -4573923629062348576, i64 -4747656934396417230, i64 -4573923620451390456, i64 -4747654187155589198, i64 -4573923611848853808, i64 -4747653793978801405, i64 -4573923603254722176, i64 -4747655625638487936], [513 x i64] [i64 -9223372036854775808, i64 -4656730799357619994, i64 -4652235961580581952, i64 -4649986329498079596, i64 -4647749817633577079, i64 -4646616225673795623, i64 -4645502291506296201, i64 -4644390505718466484, i64 -4643280860039347228, i64 -4642692281032315929, i64 -4642139585990187659, i64 -4641587948738260087, i64 -4641037365235306213, i64 -4640487831463213804, i64 -4639939343426809448, i64 -4639391897153684284, i64 -4638845488694021376, i64 -4638503865156017802, i64 -4638231692859680384, i64 -4637960033612273549, i64 -4637688885483225760, i64 -4637418246552841956, i64 -4637148114912221995, i64 -4636878488663179880, i64 -4636609365918163716, i64 -4636340744800176433, i64 -4636072623442697237, i64 -4635804999989603787, i64 -4635537872595095105, i64 -4635271239423615187, i64 -4635005098649777326, i64 -4634739448458289130, i64 -4634474287043878234, i64 -4634209612611218685, i64 -4634074719969549199, i64 -4633942867061692674, i64 -4633811254981199135, i64 -4633679882849937084, i64 -4633548749794569193, i64 -4633417854946517473, i64 -4633287197441928751, i64 -4633156776421640466, i64 -4633026591031146768, i64 -4632896640420564928, i64 -4632766923744602049, i64 -4632637440162522072, i64 -4632508188838113084, i64 -4632379168939654916, i64 -4632250379639887028, i64 -4632121820115976685, i64 -4631993489549487411, i64 -4631865387126347734, i64 -4631737512036820191, i64 -4631609863475470626, i64 -4631482440641137747, i64 -4631355242736902956, i64 -4631228268970060445, i64 -4631101518552087554, i64 -4630974990698615391, i64 -4630848684629399707, i64 -4630722599568292029, i64 -4630596734743211039, i64 -4630471089386114211, i64 -4630345662732969689, i64 -4630220454023728410, i64 -4630095462502296473, i64 -4629970687416507738, i64 -4629846128018096673, i64 -4629721783562671429, i64 -4629649035123278517, i64 -4629587076729644690, i64 -4629525224702404157, i64 -4629463478676976039, i64 -4629401838290650703, i64 -4629340303182576980, i64 -4629278872993749487, i64 -4629217547366996064, i64 -4629156325946965309, i64 -4629095208380114229, i64 -4629034194314695982, i64 -4628973283400747741, i64 -4628912475290078639, i64 -4628851769636257837, i64 -4628791166094602673, i64 -4628730664322166924, i64 -4628670263977729162, i64 -4628609964721781206, i64 -4628549766216516672, i64 -4628489668125819618, i64 -4628429670115253283, i64 -4628369771852048923, i64 -4628309973005094734, i64 -4628250273244924872, i64 -4628190672243708561, i64 -4628131169675239290, i64 -4628071765214924103, i64 -4628012458539772972, i64 -4627953249328388264, i64 -4627894137260954287, i64 -4627835122019226926, i64 -4627776203286523363, i64 -4627717380747711883, i64 -4627658654089201755, i64 -4627600022998933209, i64 -4627541487166367479, i64 -4627483046282476940, i64 -4627424700039735317, i64 -4627366448132107975, i64 -4627308290255042287, i64 -4627250226105458085, i64 -4627192255381738175, i64 -4627134377783718946, i64 -4627076593012681036, i64 -4627018900771340086, i64 -4626961300763837565, i64 -4626903792695731660, i64 -4626846376273988253, i64 -4626789051206971955, i64 -4626731817204437223, i64 -4626674673977519540, i64 -4626617621238726669, i64 -4626560658701929972, i64 -4626503786082355804, i64 -4626447003096576965, i64 -4626390309462504234, i64 -4626333704899377950, i64 -4626277189127759679, i64 -4626220761869523931, i64 -4626164422847849950, i64 -4626108171787213566, i64 -4626052008413379108, i64 -4625995932453391385, i64 -4625939943635567727, i64 -4625884041689490082, i64 -4625828226345997187, i64 -4625772497337176785, i64 -4625716854396357914, i64 -4625661297258103249, i64 -4625605825658201504, i64 -4625550439333659893, i64 -4625495138022696650, i64 -4625439921464733603, i64 -4625384789400388809, i64 -4625329741571469243, i64 -4625274777720963541, i64 -4625219897593034804, i64 -4625180959121256419, i64 -4625153602398444753, i64 -4625126287156654015, i64 -4625099013270279226, i64 -4625071780614285043, i64 -4625044589064202321, i64 -4625017438496124701, i64 -4624990328786705219, i64 -4624963259813152949, i64 -4624936231453229660, i64 -4624909243585246507, i64 -4624882296088060745, i64 -4624855388841072464, i64 -4624828521724221350, i64 -4624801694617983474, i64 -4624774907403368099, i64 -4624748159961914513, i64 -4624721452175688887, i64 -4624694783927281157, i64 -4624668155099801922, i64 -4624641565576879373, i64 -4624615015242656244, i64 -4624588503981786778, i64 -4624562031679433724, i64 -4624535598221265350, i64 -4624509203493452483, i64 -4624482847382665565, i64 -4624456529776071735, i64 -4624430250561331931, i64 -4624404009626598013, i64 -4624377806860509903, i64 -4624351642152192756, i64 -4624325515391254139, i64 -4624299426467781240, i64 -4624273375272338091, i64 -4624247361695962818, i64 -4624221385630164901, i64 -4624195446966922463, i64 -4624169545598679574, i64 -4624143681418343574, i64 -4624117854319282416, i64 -4624092064195322032, i64 -4624066310940743708, i64 -4624040594450281490, i64 -4624014914619119596, i64 -4623989271342889860, i64 -4623963664517669182, i64 -4623938094039976999, i64 -4623912559806772783, i64 -4623887061715453545, i64 -4623861599663851359, i64 -4623836173550230913, i64 -4623810783273287062, i64 -4623785428732142413, i64 -4623760109826344915, i64 -4623734826455865474, i64 -4623709578521095581, i64 -4623684365922844958, i64 -4623659188562339220, i64 -4623634046341217550, i64 -4623608939161530398, i64 -4623583866925737191, i64 -4623558829536704054, i64 -4623533826897701558, i64 -4623508858912402476, i64 -4623483925484879556, i64 -4623459026519603307, i64 4599891994438806559, i64 4599867164113015276, i64 4599842367965246894, i64 4599817605901541168, i64 4599792877828324786, i64 4599768183652409249, i64 4599743523280988761, i64 4599718896621638139, i64 4599694303582310732, i64 4599669744071336361, i64 4599645217997419262, i64 4599620725269636056, i64 4599596265797433724, i64 4599571839490627600, i64 4599547446259399370, i64 4599523086014295100, i64 4599498758666223258, i64 4599474464126452767, i64 4599450202306611056, i64 4599425973118682139, i64 4599401776475004691, i64 4599377612288270153, i64 4599353480471520834, i64 4599329380938148039, i64 4599305313601890204, i64 4599281278376831038, i64 4599257275177397690, i64 4599233303918358916, i64 4599209364514823263, i64 4599185456882237268, i64 4599161580936383666, i64 4599137736593379607, i64 4599113923769674891, i64 4599090142382050209, i64 4599066392347615400, i64 4599042673583807716, i64 4599018986008390100, i64 4598995329539449478, i64 4598971704095395054, i64 4598948109594956628, i64 4598924545957182911, i64 4598901013101439868, i64 4598877510947409053, i64 4598854039415085970, i64 4598830598424778439, i64 4598807187897104969, i64 4598783807752993147, i64 4598760457913678036, i64 4598737138300700583, i64 4598713848835906036, i64 4598690589441442373, i64 4598667360039758741, i64 4598644160553603903, i64 4598620990906024698, i64 4598597851020364511, i64 4598574740820261747, i64 4598551660229648323, i64 4598528609172748163, i64 4598505587574075707, i64 4598482595358434428, i64 4598459632450915356, i64 4598436698776895617, i64 4598413794262036975, i64 4598390918832284387, i64 4598368072413864569, i64 4598345254933284564, i64 4598322466317330327, i64 4598299706493065314, i64 4598276975387829082, i64 4598254272929235896, i64 4598231599045173346, i64 4598208953663800977, i64 4598186336713548915, i64 4598152276700956621, i64 4598107156097665630, i64 4598062091930415993, i64 4598017084058205680, i64 4597972132340560425, i64 4597927236637531102, i64 4597882396809691110, i64 4597837612718133770, i64 4597792884224469749, i64 4597748211190824490, i64 4597703593479835666, i64 4597659030954650642, i64 4597614523478923957, i64 4597570070916814825, i64 4597525673132984640, i64 4597481329992594512, i64 4597437041361302805, i64 4597392807105262693, i64 4597348627091119739, i64 4597304501186009480, i64 4597260429257555026, i64 4597216411173864684, i64 4597172446803529585, i64 4597128536015621329, i64 4597084678679689652, i64 4597040874665760095, i64 4596997123844331693, i64 4596953426086374681, i64 4596909781263328210, i64 4596866189247098075, i64 4596822649910054461, i64 4596779163125029702, i64 4596735728765316052, i64 4596692346704663469, i64 4596649016817277411, i64 4596605738977816654, i64 4596562513061391109, i64 4596519338943559665, i64 4596476216500328036, i64 4596433145608146627, i64 4596390126143908408, i64 4596347157984946805, i64 4596304241009033599, i64 4596261375094376841, i64 4596218560119618777, i64 4596175795963833791, i64 4596133082506526348, i64 4596090419627628965, i64 4596047807207500180, i64 4596005245126922543, i64 4595962733267100610, i64 4595920271509658959, i64 4595877859736640208, i64 4595835497830503052, i64 4595793185674120307, i64 4595750923150776966, i64 4595708710144168269, i64 4595666546538397780, i64 4595624432217975484, i64 4595582367067815879, i64 4595540350973236099, i64 4595498383819954033, i64 4595456465494086458, i64 4595414595882147190, i64 4595372774871045238, i64 4595331002348082969, i64 4595289278200954290, i64 4595247602317742833, i64 4595205974586920157, i64 4595164394897343954, i64 4595122863138256269, i64 4595081379199281733, i64 4595039942970425800, i64 4594998554342072996, i64 4594957213204985185, i64 4594915919450299831, i64 4594874672969528284, i64 4594833473654554068, i64 4594792321397631180, i64 4594751216091382399, i64 4594710157628797609, i64 4594669145903232121, i64 4594628180808405014, i64 4594587262238397486, i64 4594546390087651205, i64 4594505564250966678, i64 4594464784623501626, i64 4594424051100769369, i64 4594383363578637221, i64 4594342721953324887, i64 4594302126121402882, i64 4594261575979790947, i64 4594221071425756481, i64 4594180612356912978, i64 4594140198671218474, i64 4594099830266974004, i64 4594059507042822065, i64 4594019228897745091, i64 4593978995731063932, i64 4593938807442436347, i64 4593898663931855501, i64 4593858565099648469, i64 4593818510846474759, i64 4593778501073324824, i64 4593738535681518605, i64 4593698614572704064, i64 4593645855379805542, i64 4593566189706640610, i64 4593486612013254107, i64 4593407122105537251, i64 4593327719790022944, i64 4593248404873882942, i64 4593169177164925051, i64 4593090036471590329, i64 4593010982602950306, i64 4592932015368704226, i64 4592853134579176292, i64 4592774340045312936, i64 4592695631578680099, i64 4592617008991460529, i64 4592538472096451089, i64 4592460020707060084, i64 4592381654637304604, i64 4592303373701807872, i64 4592225177715796620, i64 4592147066495098467, i64 4592069039856139320, i64 4591991097615940780, i64 4591913239592117576, i64 4591835465602874996, i64 4591757775467006345, i64 4591680169003890408, i64 4591602646033488937, i64 4591525206376344136, i64 4591447849853576176, i64 4591370576286880713, i64 4591293385498526419, i64 4591216277311352537, i64 4591139251548766433, i64 4591062308034741174, i64 4590985446593813114, i64 4590908667051079491, i64 4590831969232196043, i64 4590755352963374629, i64 4590678818071380868, i64 4590602364383531786, i64 4590525991727693484, i64 4590449699932278808, i64 4590373488826245037, i64 4590297358239091583, i64 4590221308000857700, i64 4590145337942120212, i64 4590069447893991243, i64 4589993637688115969, i64 4589917907156670373, i64 4589842256132359017, i64 4589766684448412830, i64 4589691191938586891, i64 4589615778437158247, i64 4589540443778923721, i64 4589465187799197745, i64 4589390010333810199, i64 4589314911219104263, i64 4589239890291934276, i64 4589161874488791809, i64 4589012144409789731, i64 4588862569733077116, i64 4588713150136409627, i64 4588563885298544206, i64 4588414774899234927, i64 4588265818619228876, i64 4588117016140262046, i64 4587968367145055264, i64 4587819871317310125, i64 4587671528341704956, i64 4587523337903890801, i64 4587375299690487420, i64 4587227413389079316, i64 4587079678688211779, i64 4586932095277386948, i64 4586784662847059898, i64 4586637381088634743, i64 4586490249694460760, i64 4586343268357828536, i64 4586196436772966127, i64 4586049754635035247, i64 4585903221640127466, i64 4585756837485260434, i64 4585610601868374123, i64 4585464514488327086, i64 4585318575044892735, i64 4585172783238755642, i64 4585027138771507853, i64 4584881641345645226, i64 4584736290664563780, i64 4584517752201947222, i64 4584227636046450257, i64 4583937811611621378, i64 4583648278311381746, i64 4583359035561416934, i64 4583070082779169855, i64 4582781419383833717, i64 4582493044796345023, i64 4582204958439376595, i64 4581917159737330646, i64 4581629648116331877, i64 4581342423004220609, i64 4581055483830545954, i64 4580768830026559016, i64 4580482461025206128, i64 4580196376261122119, i64 4579660329305452812, i64 4579089293347610374, i64 4578518822492243042, i64 4577948915621995178, i64 4577379571622821830, i64 4576810789383975664, i64 4576242567797993961, i64 4575674905760685681, i64 4574558382933813243, i64 4573425290454788948, i64 4572293310486968546, i64 4571162440847887157, i64 4568911736941938112, i64 4566654425935218846, i64 4562148622982273161, i64 0], [4 x i64] [i64 4596373792902302986, i64 -4625196811806208287, i64 4599676419421062085, i64 -4620693217682130913], i64 4503599627370495, i64 4562146422526312448, i64 -4616189618054758401, i64 9169328841326325760, i64 -67108864, i64 4607182418800017408, i64 9223372036854775807, i64 4467570830351532032, i64 -1024, i64 4604418534313426944, i64 4430688377387220992, i64 4649579587167059968, i64 4652209618980700160, i64 4652200822887677952, i64 9218868437227405312, i64 9169328841326329856, i64 4604418534313441775, i64 4742290407621132288, i64 4600427019358961664, i64 4599301119452119040, i64 4598597432010342400, i64 4598034482056921088, i64 4602678819172646912, i64 9218868437227405311, i64 4566650022153682944, i64 -9223372036854775808, i64 4629418941960159232, i64 -2199023255552, i64 -134217728, i64 -16777216, i64 -4096, i64 4472074429978902528, i64 238690780250636288, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_138__devicelib_imf_internal_dcdfnorm_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cdfnorm_d_la::(anonymous namespace)::__devicelib_imf_internal_dcdfnorm_data_t" { [9856 x i64] [i64 5179139571476070400, i64 5177319077442762321, i64 5179083425912670742, i64 5177318858125270800, i64 5179027283776002313, i64 5177318200212953043, i64 5178971148492168924, i64 5177317103826267200, i64 5178915023486019741, i64 5177315569165936018, i64 5178858912180522440, i64 5177313596512885591, i64 5178802817996136942, i64 5177311186228159657, i64 5178746744350189902, i64 5177308338752809461, i64 5178690694656250163, i64 5177305054607759256, i64 5178634672323505354, i64 5177301334393647466, i64 5178578680756139820, i64 5177297178790643610, i64 5178522723352714078, i64 5177292588558241042, i64 5178466803505545994, i64 5177287564535025616, i64 5178410924600093847, i64 5177282107638420351, i64 5178355090014341494, i64 5177276218864406227, i64 5178299303118185800, i64 5177269899287219219, i64 5178243567272826534, i64 5177263150059023699, i64 5178187885830158908, i64 5177255972409562349, i64 5178132262132168933, i64 5177248367645782729, i64 5178076699510331796, i64 5177240337151440660, i64 5178021201285013418, i64 5177231882386680601, i64 5177965770764875380, i64 5177223004887593175, i64 5177910411246283399, i64 5177213706265750058, i64 5177855126012719519, i64 5177203988207716406, i64 5177799918334198204, i64 5177193852474541043, i64 5177744791466686493, i64 5177183300901224619, i64 5177689748651528408, i64 5177172335396165955, i64 5177634793114873756, i64 5177160957940586827, i64 5177579928067111519, i64 5177149170587935415, i64 5177525156702307988, i64 5177136975463268677, i64 5177470482197649791, i64 5177124374762613903, i64 5177415907712892007, i64 5177111370752309727, i64 5177361436389811496, i64 5177097965768326860, i64 5177307071351665612, i64 5177084162215568842, i64 5177252815702656471, i64 5177069962567153093, i64 5177198672527400890, i64 5177055369363672579, i64 5177144644890406191, i64 5177040385212438392, i64 5177090735835551980, i64 5177025012786703553, i64 5177036948385578066, i64 5177009254824868384, i64 5176983285541578668, i64 5176993114129667754, i64 5176929750282503028, i64 5176976593567340554, i64 5176876345564662586, i64 5176959696066781738, i64 5176823074321244856, i64 5176942424618677282, i64 5176769939461834106, i64 5176924782274622423, i64 5176716943871939012, i64 5176906772146223531, i64 5176664090412527374, i64 5176888397404183998, i64 5176611381919568048, i64 5176869661277374510, i64 5176558821203580191, i64 5176850567051888083, i64 5176506411049189955, i64 5176831118070080256, i64 5176454154214694729, i64 5176811317729594832, i64 5176402053431635054, i64 5176791169482375555, i64 5176350111404374307, i64 5176770676833664142, i64 5176298330809686272, i64 5176749843340985057, i64 5176246714296350684, i64 5176728672613117457, i64 5176195264484756860, i64 5176707168309054712, i64 5176143983966515505, i64 5176685334136951921, i64 5176092875304078786, i64 5176663173853061854, i64 5176041941030368757, i64 5176640691260659742, i64 5175991183648414236, i64 5176617890208957336, i64 5175940605630996201, i64 5176594774592006691, i64 5175890209420301786, i64 5176571348347594087, i64 5175839997427586962, i64 5176547615456124540, i64 5175789972032847964, i64 5176523579939497341, i64 5175740135584501537, i64 5176499245859973063, i64 5175690490399074066, i64 5176474617319032492, i64 5175641038760899651, i64 5176449698456227910, i64 5175591782921827183, i64 5176424493448027204, i64 5175542725100936478, i64 5176399006506651227, i64 5175493867484263519, i64 5176373241878904883, i64 5175445212224534857, i64 5176347203845002371, i64 5175396761440911201, i64 5176320896717387052, i64 5175348517218740260, i64 5176294324839546394, i64 5175300481609318849, i64 5176267492584822431, i64 5175252656629664316, i64 5176240404355218217, i64 5175205044262295297, i64 5176213064580200702, i64 5175157646455021843, i64 5176185477715500504, i64 5175110465120744932, i64 5176157648241909012, i64 5175063502137265389, i64 5176129580664073283, i64 5175016759347102223, i64 5176101279509289181, i64 5174970238557320408, i64 5176072749326293205, i64 5174923941539368096, i64 5176043994684053448, i64 5174877870028923281, i64 5176015020170560151, i64 5174832025725749918, i64 5175985830391616271, i64 5174786410293563479, i64 5175956429969628528, i64 5174741025359905958, i64 5175926823542399350, i64 5174695872516030310, i64 5175897015761920173, i64 5174650953316794299, i64 5175867011293166510, i64 5174576566712427630, i64 5175836814812895235, i64 5174487671929550658, i64 5175806431008444501, i64 5174399253326516378, i64 5175775864576536727, i64 5174311313720131561, i64 5175745120222085058, i64 5174223855853632469, i64 5175714202657003733, i64 5174136882396584729, i64 5175683116599022765, i64 5174050395944801686, i64 5175651866770507343, i64 5173964399020281178, i64 5175620457897282365, i64 5173878894071160617, i64 5175588894707462493, i64 5173793883471690318, i64 5175557181930288149, i64 5173709369522224961, i64 5175525324294967803, i64 5173625354449233091, i64 5175493326529526992, i64 5173541840405324548, i64 5175461193359664398, i64 5173458829469295713, i64 5175428929507615403, i64 5173376323646192447, i64 5175396539691023467, i64 5173294324867390608, i64 5175364028621819705, i64 5173212834990694004, i64 5175331401005111017, i64 5173131855800449644, i64 5175298661538077130, i64 5173051389007680166, i64 5175265814908876894, i64 5172971436250233263, i64 5175232865795564176, i64 5172891999092947984, i64 5175199818865013693, i64 5172813079027837727, i64 5175166678771857096, i64 5172734677474289789, i64 5175133450157429651, i64 5172656795779281272, i64 5175100137648727814, i64 5172579435217611202, i64 5175066745857378017, i64 5172502596992148666, i64 5175033279378616966, i64 5172426282234096794, i64 5174999742790283747, i64 5172350492003272387, i64 5174966140651824032, i64 5172275227288401021, i64 5174932477503306654, i64 5172200489007427402, i64 5174898757864452843, i64 5172126278007840804, i64 5174864986233678374, i64 5172052595067015362, i64 5174831167087148899, i64 5171979440892565025, i64 5174797304877848701, i64 5171906816122712946, i64 5174763404034663135, i64 5171834721326675114, i64 5174729468961474969, i64 5171763157005057979, i64 5174695504036274874, i64 5171692123590269878, i64 5174661513610286275, i64 5171621621446946013, i64 5174619032165509657, i64 5171551650872386762, i64 5174550975195004886, i64 5171482212097009093, i64 5174482892991993522, i64 5171413305284810831, i64 5174414794027870664, i64 5171344930533847563, i64 5174346686712190775, i64 5171277087876721915, i64 5174278579391098181, i64 5171209777281084974, i64 5174210480345788972, i64 5171142998650149599, i64 5174142397791004611, i64 5171076751823215380, i64 5174074339873557564, i64 5171011036576204989, i64 5174006314670889215, i64 5170945852622211665, i64 5173938330189660366, i64 5170881199612057588, i64 5173870394364374545, i64 5170817077134862880, i64 5173802515056034385, i64 5170753484718624968, i64 5173734700050831281, i64 5170690421830808056, i64 5173666957058868530, i64 5170627887878942446, i64 5173599293712918159, i64 5170565882211233430, i64 5173531717567211595, i64 5170504404117179501, i64 5173464236096264350, i64 5170443452828199621, i64 5173396856693734856, i64 5170383027518269252, i64 5173329586671317577, i64 5170323127304564921, i64 5173262433257670517, i64 5170263751248117014, i64 5173195403597377203, i64 5170204898354470552, i64 5173128504749943240, i64 5170146567574353671, i64 5173061743688827490, i64 5170045143387377649, i64 5172995127300507938, i64 5169930563553869359, i64 5172928662383582255, i64 5169817021007575708, i64 5172862355647903108, i64 5169704513225076640, i64 5172796213713748194, i64 5169593037580215264, i64 5172730243111025005, i64 5169482591345515875, i64 5172664450278510284, i64 5169373171693613588, i64 5172598841563124149, i64 5169264775698695046, i64 5172533423219238814, i64 5169157400337949653, i64 5172468201408021847, i64 5169051042493030806, i64 5172403182196813884, i64 5168945698951526578, i64 5172338371558540695, i64 5168841366408439318, i64 5172273775371159498, i64 5168738041467673641, i64 5172209399417139400, i64 5168635720643532267, i64 5172145249382975810, i64 5168534400362219182, i64 5172081330858738705, i64 5168434076963349597, i64 5172017649337654551, i64 5168334746701466172, i64 5171954210215721733, i64 5168236405747560999, i64 5171891018791359281, i64 5168139050190602802, i64 5171828080265088716, i64 5168042676039068860, i64 5171765399739248775, i64 5167947279222481126, i64 5171702982217742820, i64 5167852855592946047, i64 5171640832605818669, i64 5167759400926697560, i64 5171578955709880616, i64 5167666910925642790, i64 5171517356237333383, i64 5167575381218909926, i64 5171456038796457717, i64 5167484807364397802, i64 5171395007896317374, i64 5167395184850326689, i64 5171334267946697185, i64 5167306509096789808, i64 5171273823258071900, i64 5167218775457305094, i64 5171213678041605517, i64 5167131979220366741, i64 5171153836409180752, i64 5167046115610996042, i64 5171094302373458336, i64 5166961179792291079, i64 5171035079847965798, i64 5166877166866974797, i64 5170976172647215377, i64 5166794071878941004, i64 5170917584486850713, i64 5166711889814797870, i64 5170859318983821955, i64 5166630615605408455, i64 5170801379656588902, i64 5166550244127427856, i64 5170743769925351804, i64 5166470770204836531, i64 5170686493112309438, i64 5166392188610469382, i64 5170629552441944045, i64 5166314494067540174, i64 5170572951041332752, i64 5166237681251160891, i64 5170516691940485040, i64 5166161744789855612, i64 5170460778072705867, i64 5166086679267068517, i64 5170405212274984008, i64 5166012479222665633, i64 5170349997288405187, i64 5165939139154429935, i64 5170295135758589572, i64 5165866653519549415, i64 5170240630236153188, i64 5165795016736097771, i64 5170186483177192802, i64 5165724223184507327, i64 5170132696943793841, i64 5165654267209033848, i64 5170026175387792346, i64 5165541513644466860, i64 5169920059649011046, i64 5165404917788655750, i64 5169814678616559008, i64 5165269962745532711, i64 5169710036273563735, i64 5165136636943144368, i64 5169606136420867917, i64 5165004928751565017, i64 5169502982678302228, i64 5164874826485714737, i64 5169400578485997664, i64 5164746318408156696, i64 5169298927105736459, i64 5164619392731873045, i64 5169198031622340629, i64 5164494037623018840, i64 5169097894945097164, i64 5164370241203653407, i64 5168998519809218911, i64 5164247991554448610, i64 5168899908777340171, i64 5164127276717373486, i64 5168802064241046030, i64 5164008084698354730, i64 5168704988422434466, i64 5163890403469912517, i64 5168608683375710222, i64 5163774220973771180, i64 5168513150988809498, i64 5163659525123444271, i64 5168418392985054459, i64 5163546303806793537, i64 5168324410924836582, i64 5163434544888561384, i64 5168231206207327877, i64 5163324236212876381, i64 5168138780072218973, i64 5163215365605731414, i64 5168047133601483121, i64 5163107920877434072, i64 5167956267721165115, i64 5163001889825028897, i64 5167866183203194167, i64 5162897260234691128, i64 5167776880667219758, i64 5162794019884091586, i64 5167688360582469502, i64 5162692156544732360, i64 5167600623269628046, i64 5162591657984252984, i64 5167513668902736057, i64 5162492511968706788, i64 5167427497511108329, i64 5162394706264807133, i64 5167342108981270060, i64 5162298228642143260, i64 5167257503058910347, i64 5162203066875365488, i64 5167173679350851965, i64 5162109208746339509, i64 5167090637327036482, i64 5162016642046269550, i64 5167008376322523786, i64 5161925354577790198, i64 5166926895539505104, i64 5161835334157026655, i64 5166846194049328578, i64 5161746568615623267, i64 5166766270794536513, i64 5161659045802740123, i64 5166687124590913374, i64 5161572753587017585, i64 5166608754129543649, i64 5161487679858508587, i64 5166531157978878688, i64 5161403812530578581, i64 5166454334586811639, i64 5161321139541772994, i64 5166378282282759620, i64 5161239648857652113, i64 5166302999279752253, i64 5161159328472593287, i64 5166228483676525730, i64 5161035159856532311, i64 5166154733459621550, i64 5160879128497092219, i64 5166081746505489117, i64 5160725366082905559, i64 5166009520582591358, i64 5160573848867995390, i64 5165938053353512577, i64 5160424553181055898, i64 5165867342377067715, i64 5160277455428662228, i64 5165797385110412263, i64 5160132532098414373, i64 5165728178911152024, i64 5159989759762015149, i64 5165659721039451975, i64 5159849115078282285, i64 5165555244726328019, i64 5159710574796094712, i64 5165421305095699134, i64 5159574115757273111, i64 5165288844554009137, i64 5159439714899394847, i64 5165157856884150138, i64 5159307349258543419, i64 5165028335695142155, i64 5159176995971992566, i64 5164900274426309179, i64 5159048632280825221, i64 5164773666351443399, i64 5158922235532487498, i64 5164648504582956239, i64 5158797783183277930, i64 5164524782076014923, i64 5158675252800772192, i64 5164402491632663252, i64 5158554622066183572, i64 5164281625905925380, i64 5158435868776659462, i64 5164162177403891317, i64 5158318970847514161, i64 5164044138493782992, i64 5158203906314398306, i64 5163927501405999679, i64 5158090653335405260, i64 5163812258238141654, i64 5157979190193114814, i64 5163698400959010939, i64 5157869495296574558, i64 5163585921412588071, i64 5157761547183219307, i64 5163474811321983798, i64 5157655324520728993, i64 5163365062293364690, i64 5157550806108825422, i64 5163256665819851630, i64 5157447970881008342, i64 5163149613285390223, i64 5157346797906231250, i64 5163043895968592148, i64 5157247266390517426, i64 5162939505046546540, i64 5157149355678516645, i64 5162836431598600494, i64 5157053045255003062, i64 5162734666610107814, i64 5156958314746314792, i64 5162634200976145168, i64 5156865143921735664, i64 5162535025505194833, i64 5156773512694819716, i64 5162437130922793229, i64 5156683401124658946, i64 5162340507875144495, i64 5156568005494971836, i64 5162245146932698349, i64 5156393742512531097, i64 5162151038593691552, i64 5156222400968284503, i64 5162058173287652268, i64 5156053942167844429, i64 5161966541378866684, i64 5155888327718914024, i64 5161876133169807255, i64 5155725519533165827, i64 5161786938904521977, i64 5155565479828015096, i64 5161698948771984108, i64 5155408171128289066, i64 5161612152909401801, i64 5155253556267793432, i64 5161526541405487114, i64 5155101598390777303, i64 5161442104303683917, i64 5154952260953297940, i64 5161358831605354213, i64 5154805507724486574, i64 5161276713272922436, i64 5154661302787716626, i64 5161195739232977314, i64 5154519610541675668, i64 5161106625792073357, i64 5154380395701342455, i64 5160949194185480250, i64 5154243623298870396, i64 5160793990354112074, i64 5154109258684378831, i64 5160640993924773662, i64 5153977267526653475, i64 5160490184482318002, i64 5153847615813757428, i64 5160341541575325883, i64 5153720269853554141, i64 5160195044721696188, i64 5153595196274143725, i64 5160050673414146383, i64 5153472362024214030, i64 5159908407125622801, i64 5153351734373307889, i64 5159768225314620367, i64 5153233280912007952, i64 5159630107430411452, i64 5153116969552040530, i64 5159494032918183583, i64 5153002768526299882, i64 5159359981224085793, i64 5152890646388794354, i64 5159227931800183417, i64 5152780572014515833, i64 5159097864109321208, i64 5152672514599233918, i64 5158969757629894668, i64 5152566443659216264, i64 5158843591860529533, i64 5152462329030876521, i64 5158719346324669402, i64 5152360140870351317, i64 5158597000575071524, i64 5152259849653007700, i64 5158476534198210809, i64 5152161426172882495, i64 5158357926818592159, i64 5152011709372262561, i64 5158241158102971245, i64 5151822160668061363, i64 5158126207764483920, i64 5151636176013359495, i64 5158013055566684455, i64 5151453699531752103, i64 5157901681327492849, i64 5151274675976624535, i64 5157792064923051488, i64 5151099050729273806, i64 5157684186291491457, i64 5150926769796913776, i64 5157578025436608850, i64 5150757779810566843, i64 5157473562431451448, i64 5150592028022844950, i64 5157370777421816167, i64 5150429462305622680, i64 5157269650629657717, i64 5150270031147605220, i64 5157170162356408918, i64 5150113683651793932, i64 5157072292986213188, i64 5149960369532852276, i64 5156976022989069694, i64 5149810039114374808, i64 5156881332923891741, i64 5149662643326061946, i64 5156788203441478943, i64 5149518133700803204, i64 5156696615287403796, i64 5149376462371671535, i64 5156591525270408595, i64 5149237582068831463, i64 5156414399535074070, i64 5149101446116363593, i64 5156240242122313988, i64 5148968008429008132, i64 5156069015335807983, i64 5148837223508829987, i64 5155900681695124079, i64 5148709046441808001, i64 5155735203940492267, i64 5148583432894350873, i64 5155572545037416525, i64 5148460339109742260, i64 5155412668181126808, i64 5148339721904517562, i64 5155255536800872614, i64 5148221538664774845, i64 5155101114564059719, i64 5148105747342422342, i64 5154949365380231752, i64 5147992306451364942, i64 5154800253404898276, i64 5147881175063632057, i64 5154653743043211105, i64 5147772312805449215, i64 5154509798953490585, i64 5147665679853255725, i64 5154368386050603626, i64 5147508099774864460, i64 5154229469509195267, i64 5147303516514342461, i64 5154093014766775619, i64 5147103159445831690, i64 5153958987526664009, i64 5146906953242276636, i64 5153827353760792210, i64 5146714823635766976, i64 5153698079712368648, i64 5146526697409020347, i64 5153571131898405492, i64 5146342502386788254, i64 5153446477112110551, i64 5146162167427189318, i64 5153324082425145935, i64 5145985622412974001, i64 5153203915189755439, i64 5145812798242724875, i64 5153085943040762618, i64 5145643626821996443, i64 5152970133897441555, i64 5145478041054398467, i64 5152856455965262308, i64 5145315974832626674, i64 5152744877737513069, i64 5145157363029444680, i64 5152635367996801036, i64 5145002141488620871, i64 5152527895816434044, i64 5144850247015823954, i64 5152422430561684981, i64 5144701617369480788, i64 5152318941890941043, i64 5144556191251600087, i64 5152217399756739870, i64 5144413908298565475, i64 5152117575101541803, i64 5144274709071901341, i64 5151922099056772577, i64 5144138535049014878, i64 5151730339347535463, i64 5144005328613917596, i64 5151542238248451084, i64 5143875033047929570, i64 5151357738629552616, i64 5143747592520369600, i64 5151176783957086992, i64 5143622952079234401, i64 5150999318294118637, i64 5143501057641869875, i64 5150825286300939870, i64 5143381855985637450, i64 5150654633235292033, i64 5143265294738578423, i64 5150487304952401462, i64 5143151322370079157, i64 5150323247904834347, i64 5142969001905973434, i64 5150162409142174554, i64 5142751110136993966, i64 5150004736310528447, i64 5142538096851039314, i64 5149850177651860738, i64 5142329865531174214, i64 5149698682003165374, i64 5142126321250022695, i64 5149550198795475450, i64 5141927370651221876, i64 5149404678052716109, i64 5141732921930914011, i64 5149262070390404389, i64 5141542884819281500, i64 5149122327014199915, i64 5141357170562129481, i64 5148985399718310356, i64 5141175691902520461, i64 5148851240883755492, i64 5140998363062465357, i64 5148719803476493747, i64 5140825099724675184, i64 5148591041045414996, i64 5140655819014377506, i64 5148464907720203416, i64 5140490439481201654, i64 5148341358209074147, i64 5140328881081136599, i64 5148220347796387465, i64 5140171065158565246, i64 5148101832340144153, i64 5140016914428378809, i64 5147985768269365728, i64 5139866352958174800, i64 5147872112581363116, i64 5139719306150542076, i64 5147760822838897374, i64 5139575700725436249, i64 5147651857167235973, i64 5139435464702648675, i64 5147475974417739413, i64 5139298527384372119, i64 5147267092578648870, i64 5139164819337866090, i64 5147062614320988322, i64 5139034272378224728, i64 5146862460332536136, i64 5138906819551250033, i64 5146666552393755846, i64 5138782395116433102, i64 5146474813370799817, i64 5138660934530045955, i64 5146287167208351366, i64 5138477574026956911, i64 5146103538922311766, i64 5138246130392061019, i64 5145923854592338452, i64 5138020241218284587, i64 5145748041354240696, i64 5137799786658848109, i64 5145576027392238902, i64 5137584649094936091, i64 5145407741931093586, i64 5137374713103304781, i64 5145243115228110029, i64 5137169865424141626, i64 5145082078565024485, i64 5136969994929180052, i64 5144924564239777739, i64 5136774992590073015, i64 5144770505558181714, i64 5136584751447028561, i64 5144619836825484755, i64 5136399166577710484, i64 5144472493337841074, i64 5136218135066406995, i64 5144328411373689810, i64 5136041555973470133, i64 5144187528185049018, i64 5135869330305028501, i64 5144049781988729808, i64 5135701360982975743, i64 5143915111957475805, i64 5135537552815237010, i64 5143783458211032936, i64 5135377812466315523, i64 5143654761807154525, i64 5135222048428121173, i64 5143528964732546531, i64 5135070170991082956, i64 5143406009893757689, i64 5134922092215546886, i64 5143285841108019232, i64 5134777725903460907, i64 5143168403094038745, i64 5134636987570348140, i64 5142996508468398840, i64 5134499794417569717, i64 5142772230958976780, i64 5134366065304878272, i64 5142553093937720354, i64 5134235720723263056, i64 5142338993868207558, i64 5134108682768087500, i64 5142129828923838488, i64 5133866175022674402, i64 5141925498969054073, i64 5133624870760150487, i64 5141725905540521795, i64 5133389731046728982, i64 5141530951828296013, i64 5133160612382623214, i64 5141340542656960372, i64 5132937374216984419, i64 5141154584466759557, i64 5132719878897707212, i64 5140972985294727491, i64 5132507991621824761, i64 5140795654755818883, i64 5132301580386493455, i64 5140622504024050875, i64 5132100515940566660, i64 5140453445813661321, i64 5131904671736756928, i64 5140288394360290103, i64 5131713923884385858, i64 5140127265402189676, i64 5131528151102720583, i64 5139969976161470872, i64 5131347234674895706, i64 5139816445325389836, i64 5131171058402419291, i64 5139666593027681781, i64 5130999508560261386, i64 5139520340829947073, i64 5130832473852523330, i64 5139377611703095027, i64 5130669845368685979, i64 5139238330008850581, i64 5130511516540434796, i64 5139102421481328896, i64 5130357383099059613, i64 5138969813208682742, i64 5130207343033426713, i64 5138840433614827372, i64 5130061296548520738, i64 5138714212441247462, i64 5129919146024553790, i64 5138574986628045014, i64 5129780795976638964, i64 5138334766770565521, i64 5129646153015025395, i64 5138100457652160540, i64 5129430276036788713, i64 5137871928936076632, i64 5129175274490396117, i64 5137649052741527071, i64 5128927151141151670, i64 5137431703608464359, i64 5128685735197587545, i64 5137219758462572113, i64 5128450859677484443, i64 5137013096580483047, i64 5128222361334944883, i64 5136811599555229503, i64 5128000080588542453, i64 5136615151261932735, i64 5127783861450539449, i64 5136423637823736844, i64 5127573551457165200, i64 5136236947577993029, i64 5127369001599947140, i64 5136054971042699558, i64 5127170066258086574, i64 5135877600883202569, i64 5126976603131870902, i64 5135704731879162631, i64 5126788473177113927, i64 5135536260891791673, i64 5126605540540615725, i64 5135372086831364704, i64 5126427672496633425, i64 5135212110625010487, i64 5126254739384354124, i64 5135056235184785095, i64 5126086614546361031, i64 5134904365376032053, i64 5125923174268083832, i64 5134756407986032558, i64 5125764297718224168, i64 5134612271692949029, i64 5125609866890146993, i64 5134471867035065047, i64 5125459766544228523, i64 5134335106380324514, i64 5125313884151151377, i64 5134201903896172668, i64 5125172109836137431, i64 5134040775837037346, i64 5124972296700593260, i64 5133788102653836663, i64 5124704541823910961, i64 5133542051816476343, i64 5124444374621544392, i64 5133302465464914322, i64 5124191595501746489, i64 5133069189045733851, i64 5123946009651636329, i64 5132842071255536565, i64 5123707426936512342, i64 5132620963984965394, i64 5123475661800904933, i64 5132405722263359604, i64 5123250533171348732, i64 5132196204204043959, i64 5123031864360854629, i64 5131992270950253627, i64 5122819482975061703, i64 5131793786621696180, i64 5122613220820049120, i64 5131600618261751697, i64 5122412913811788048, i64 5131412635785311717, i64 5122218401887213617, i64 5131229711927257463, i64 5122029528916896943, i64 5131051722191577495, i64 5121846142619297235, i64 5130878544801124682, i64 5121668094476574015, i64 5130710060648012103, i64 5121495239651939486, i64 5130546153244647236, i64 5121327436908531120, i64 5130386708675403541, i64 5121164548529784573, i64 5130231615548928309, i64 5121006440241287041, i64 5130080764951085404, i64 5120852981134091270, i64 5129934050398531302, i64 5120704043589470432, i64 5129791367792922607, i64 5120526230089934411, i64 5129652615375753028, i64 5120245701124958543, i64 5129435411792640199, i64 5119973487592914053, i64 5129173035435608090, i64 5119709359129467087, i64 5128917936097988186, i64 5119453091240125499, i64 5128669928103217721, i64 5119204465166216714, i64 5128428830021491515, i64 5118963267753474738, i64 5128194464586882146, i64 5118729291323198081, i64 5127966658615679921, i64 5118502333545940596, i64 5127745242925945688, i64 5118282197317697421, i64 5127530052258269221, i64 5118068690638548497, i64 5127320925197725653, i64 5117861626493722322, i64 5127117704097022101, i64 5117660822737042880, i64 5126920235000826426, i64 5117466101976722939, i64 5126728367571269753, i64 5117277291463467165, i64 5126541955014614191, i64 5117094222980848772, i64 5126360854009076912, i64 5116916732737923731, i64 5126184924633801577, i64 5116744661264046800, i64 5126014030298967836, i64 5116577853305853987, i64 5125848037677029490, i64 5116416157726376299, i64 5125686816635071660, i64 5116259427406249976, i64 5125530240168277172, i64 5116107519146988703, i64 5125378184334492178, i64 5115831410459683740, i64 5125230528189880882, i64 5115546053417710752, i64 5125077931503693772, i64 5115269526482951026, i64 5124799515664168108, i64 5115001572770994519, i64 5124529208265126060, i64 5114741942331396340, i64 5124266790161374388, i64 5114490391977551360, i64 5124012047592847893, i64 5114246685120227733, i64 5123764772068547559, i64 5114010591604695600, i64 5123524760252507891, i64 5113781887551387886, i64 5123291813851771342, i64 5113560355200030828, i64 5123065739506347571, i64 5113345782757182554, i64 5122846348681135119, i64 5113137964247118742, i64 5122633457559783001, i64 5112936699366005089, i64 5122426886940469553, i64 5112741793339297020, i64 5122226462133575828, i64 5112553056782307811, i64 5122032012861230717, i64 5112370305563886971, i64 5121843373158704919, i64 5112193360673151477, i64 5121660381277630840, i64 5112022048089213148, i64 5121482879591025422, i64 5111856198653846199, i64 5121310714500092926, i64 5111695647947039678, i64 5121143736342784627, i64 5111494895265247597, i64 5120981799304092407, i64 5111194038940910380, i64 5120824761328053219, i64 5110902848007521570, i64 5120672484031441414, i64 5110621029153435087, i64 5120456888917997974, i64 5110348297381738304, i64 5120170575281885294, i64 5110084375793735235, i64 5119892995101640356, i64 5109828995377466090, i64 5119623899332465558, i64 5109581894801164138, i64 5119363045460991932, i64 5109342820211552244, i64 5119110197351956383, i64 5109111525036882882, i64 5118865125097935195, i64 5108887769794626794, i64 5118627604872088739, i64 5108671321903716923, i64 5118397418783872544, i64 5108461955501255601, i64 5118174354737670089, i64 5108259451263594391, i64 5117958206294302902, i64 5108063596231697356, i64 5117748772535373803, i64 5107874183640699904, i64 5117545857930399371, i64 5107691012753576734, i64 5117349272206687988, i64 5107513888698833755, i64 5117158830221920098, i64 5107342622312140212, i64 5116974351839387597, i64 5107177029981818591, i64 5116795661805849578, i64 5106951889558079944, i64 5116622589631961981, i64 5106642342374144895, i64 5116454969475238996, i64 5106343105286871322, i64 5116292640025504422, i64 5106053852552617896, i64 5116135444392791510, i64 5105774268098097452, i64 5115877283302416910, i64 5105504045254335853, i64 5115582520234758277, i64 5105242886497265852, i64 5115297134333585638, i64 5104990503194811781, i64 5115020845033714623, i64 5104746615360323455, i64 5114753379559980184, i64 5104510951412220075, i64 5114494472730716894, i64 5104283247939707421, i64 5114243866765576163, i64 5104063249474433985, i64 5114001311097603432, i64 5103850708267954127, i64 5113766562189499232, i64 5103645384074868681, i64 5113539383353988809, i64 5103447043941515782, i64 5113319544578225804, i64 5103255462000087008, i64 5113106822352156365, i64 5103070419268046214, i64 5112900999500770856, i64 5102891703452730689, i64 5112701865020171193, i64 5102719108761016518, i64 5112509213917382695, i64 5102526493617092506, i64 5112322847053840172, i64 5102204604121442103, i64 5112142570992478849, i64 5101893796449111914, i64 5111968197848361589, i64 5101593707398017082, i64 5111799545142774725, i64 5101303985005767624, i64 5111636435660725704, i64 5101024288225052010, i64 5111371817558040264, i64 5100754286607616110, i64 5111066748922784053, i64 5100493659996635073, i64 5110771763858551803, i64 5100242098227279720, i64 5110486547326573932, i64 5099999300835282942, i64 5110210793487999603, i64 5099764976773315476, i64 5109944205457005675, i64 5099538844134984262, i64 5109686495059822908, i64 5099320629886270324, i64 5109437382599559799, i64 5099110069604226868, i64 5109196596626706144, i64 5098906907222761902, i64 5108963873715200192, i64 5098710894785333324, i64 5108738958243944956, i64 5098521792204387948, i64 5108521602183660990, i64 5098339367027379450, i64 5108311564888964661, i64 5098163394209203641, i64 5108108612895562654, i64 5097912533598384281, i64 5107912519722455141, i64 5097585104185427997, i64 5107723065679041777, i64 5097269313743445292, i64 5107540037677026318, i64 5096964767136229098, i64 5107363229047017390, i64 5096671081948486688, i64 5107192439359724564, i64 5096387888101303640, i64 5106972971065158665, i64 5096114827478364093, i64 5106654313072221717, i64 5095851553562655359, i64 5106346561827824212, i64 5095597731083390947, i64 5106049362995053452, i64 5095353035672891864, i64 5105762373060191090, i64 5095117153533171819, i64 5105485259026197955, i64 5094889781111977589, i64 5105217698114069260, i64 5094670624788041355, i64 5104959377471884357, i64 5094459400565307256, i64 5104709993891378287, i64 5094255833775899768, i64 5104469253531865452, i64 5094059658791606770, i64 5104236871651348792, i64 5093870618743655301, i64 5104012572344650860, i64 5093688465250563104, i64 5103796088288406175, i64 5093454737751677038, i64 5103587160492757187, i64 5093116551966829186, i64 5103385538059599112, i64 5092790745640765622, i64 5103190977947221783, i64 5092476884774277283, i64 5103003244741199534, i64 5092174549849027229, i64 5102822110431382921, i64 5091883335371596851, i64 5102647354194848940, i64 5091602849430915155, i64 5102379146558566204, i64 5091332713268711835, i64 5102053876837942793, i64 5091072560862643366, i64 5101740120404954346, i64 5090822038521749749, i64 5101437488999180136, i64 5090580804493907683, i64 5101145606733254581, i64 5090348528584954050, i64 5100864109724551673, i64 5090124891789161417, i64 5100592645736929700, i64 5089909585930755015, i64 5100330873832291737, i64 5089702313316168216, i64 5100078464031722324, i64 5089502786396740907, i64 5099835096985965648, i64 5089310727441572473, i64 5099600463655015387, i64 5089125868220248160, i64 5099374264996591103, i64 5088828320461668659, i64 5099156211663280791, i64 5088485864517713250, i64 5098946023708133771, i64 5088156306604093343, i64 5098743430298492694, i64 5087839180294415783, i64 5098548169437857880, i64 5087534035267997991, i64 5098359987695581639, i64 5087240436782750009, i64 5098178639944194542, i64 5086957965164240213, i64 5097933000024938331, i64 5086686215310485743, i64 5097596233608472357, i64 5086424796212020442, i64 5097271759014512619, i64 5086173330486804513, i64 5096959147451963165, i64 5085931453929551367, i64 5096657984325034844, i64 5085698815075058035, i64 5096367868791633266, i64 5085475074775136305, i64 5096088413334469951, i64 5085259905788752140, i64 5095819243344565152, i64 5085052992384991256, i64 5095559996716818337, i64 5084854029958478695, i64 5095310323457329626, i64 5084662724656890032, i64 5095069885302162706, i64 5084393606739112839, i64 5094838355347246819, i64 5084039943961379944, i64 5094615417689122364, i64 5083699954254440512, i64 5094400767076241504, i64 5083373128947632637, i64 5094194108570541849, i64 5083058977490205313, i64 5093995157219017867, i64 5082757026837261720, i64 5093803637735021156, i64 5082466820855324087, i64 5093619284189027008, i64 5082187919746936499, i64 5093312500861190919, i64 5081919899493737901, i64 5092970933818739011, i64 5081662351317452966, i64 5092642209449267830, i64 5081414881158263595, i64 5092325864927012011, i64 5081177109170038529, i64 5092021453314586844, i64 5080948669231912920, i64 5091728543047769671, i64 5080729208475723720, i64 5091446717435873199, i64 5080518386828820420, i64 5091175574177278587, i64 5080315876571784014, i64 5090914724889706789, i64 5080121361910600061, i64 5090663794654817037, i64 5079808697451769347, i64 5090422421576731504, i64 5079449847040985679, i64 5090190256354095203, i64 5079105228021391836, i64 5089966961865289907, i64 5078774296199435923, i64 5089752212766430469, i64 5078456527357681866, i64 5089545695101781268, i64 5078151416554909412, i64 5089347105926239678, i64 5077858477449440784, i64 5089156152939542432, i64 5077577241644971869, i64 5088877529335058576, i64 5077307258058206448, i64 5088524495952237365, i64 5077048092307612175, i64 5088185101905446799, i64 5076799326122636629, i64 5087858840882801893, i64 5076560556772740913, i64 5087545224532965830, i64 5076331396515626886, i64 5087243781860741122, i64 5076111472064052277, i64 5086954058641759613, i64 5075900424070645612, i64 5086675616855713296, i64 5075697906630150059, i64 5086408034137582595, i64 5075450393550535205, i64 5086150903246333109, i64 5075077508210425375, i64 5085903831550565899, i64 5074719760394671987, i64 5085666440530620064, i64 5074376556533603502, i64 5085438365296639802, i64 5074047325449419490, i64 5085219254122131213, i64 5073731517547664326, i64 5085008767992546904, i64 5073428604036456473, i64 5084806580168448941, i64 5073138076172575917, i64 5084612375762812908, i64 5072859444533539306, i64 5084287723362805431, i64 5072592238314818529, i64 5083929449659344827, i64 5072336004651384006, i64 5083585387652235485, i64 5072090307962778732, i64 5083254994469171982, i64 5071854729320953255, i64 5082937747110977577, i64 5071628865840115203, i64 5082633141758835720, i64 5071412330087869790, i64 5082340693104318238, i64 5071204749516949861, i64 5082059933701510992, i64 5070958351414532747, i64 5081790413340557415, i64 5070576889350311693, i64 5081531698441959435, i64 5070211270210694957, i64 5081283371470993913, i64 5069860857393632136, i64 5081045030371620903, i64 5069525038956164831, i64 5080816288019277762, i64 5069203226697831504, i64 5080596771691970372, i64 5068894855276572292, i64 5080386122559089611, i64 5068599381356043377, i64 5080183995187397582, i64 5068316282783284758, i64 5079919734453368733, i64 5068045057795718477, i64 5079547596592659678, i64 5067785224256486631, i64 5079190581035731317, i64 5067536318917169837, i64 5078848094864476684, i64 5067297896706957215, i64 5078519567493795427, i64 5067069530047368533, i64 5078204449868007316, i64 5066850808191657760, i64 5077902213684679120, i64 5066641336588055159, i64 5077612350644987717, i64 5066331891740256052, i64 5077334371729768179, i64 5065947705697788743, i64 5077067806500420788, i64 5065579835134730647, i64 5076812202423875492, i64 5065227608669713265, i64 5076567124220836189, i64 5064890381603587318, i64 5076332153236550448, i64 5064567534899482798, i64 5076106886833372939, i64 5064258474200171296, i64 5075890937804412811, i64 5063962628881434466, i64 5075683933807576683, i64 5063679451140184889, i64 5075414253592130480, i64 5063408415116126641, i64 5075033905168646321, i64 5063149016045782726, i64 5074669380399394745, i64 5062900769447755169, i64 5074320042969370315, i64 5062663210338120978, i64 5073985281200129801, i64 5062435892474903479, i64 5073664507135969565, i64 5062218387630593740, i64 5073357155662361746, i64 5061974588619024160, i64 5073062683655575335, i64 5061576398804728041, i64 5072780569162441498, i64 5061195468087566410, i64 5072510310609254854, i64 5060831070632682392, i64 5072251426038833783, i64 5060482510133755493, i64 5072003452374793393, i64 5060149118655256148, i64 5071765944712114397, i64 5059830255518241157, i64 5071538475633119964, i64 5059525306228129047, i64 5071320634548000576, i64 5059233681442947249, i64 5071112027059054084, i64 5058954815980594245, i64 5070771368276490608, i64 5058688167863709418, i64 5070388844749679644, i64 5058433217400791339, i64 5070022604297034741, i64 5058189466302251751, i64 5069671975838035864, i64 5057956436830137481, i64 5069336314975547007, i64 5057733670980296077, i64 5069015002976750798, i64 5057499077854539249, i64 5068707445791248622, i64 5057092002683953043, i64 5068413073105042051, i64 5056702928106153758, i64 5068131337429152921, i64 5056331080843256129, i64 5067861713221679754, i64 5055975719800002424, i64 5067603696042127339, i64 5055636134770537740, i64 5067356801736884229, i64 5055311645195148024, i64 5067120565654759744, i64 5055001598965115174, i64 5066894541891527753, i64 5054705371273908293, i64 5066678302562459129, i64 5054422363512992745, i64 5066393293411908692, i64 5054152002210599172, i64 5065997522385496447, i64 5053893738011853124, i64 5065618955402412742, i64 5053647044698722561, i64 5065256867351806941, i64 5053411418248295125, i64 5064910562660126348, i64 5053186375927949970, i64 5064579374132904236, i64 5052904128942383540, i64 5064262661840040779, i64 5052493646123803388, i64 5063959812043023499, i64 5052101673605988993, i64 5063670236162586132, i64 5051727399530411842, i64 5063393369785355387, i64 5051370046584180480, i64 5063128671708084191, i64 5051028870578328334, i64 5062875623018117437, i64 5050703159082474331, i64 5062633726208782331, i64 5050392230113713241, i64 5062402504328439924, i64 5050095430877670281, i64 5062181500161977593, i64 5049812136559729449, i64 5061894569722690453, i64 5049541749164517464, i64 5061490839034619155, i64 5049283696401795081, i64 5061105021876093202, i64 5049037430616975026, i64 5060736346555771556, i64 5048802427764550984, i64 5060384073563801596, i64 5048578186422784961, i64 5060047494277340474, i64 5048193271413796121, i64 5059725929716069862, i64 5047784997852418797, i64 5059418729345861474, i64 5047395491732602547, i64 5059125269928814999, i64 5047023913036097164, i64 5058844954417952279, i64 5046669458269395787, i64 5058577210894911709, i64 5046331358925311158, i64 5058321491549045021, i64 5046008880007104800, i64 5058077271696374862, i64 5045701318612724560, i64 5057844048836926006, i64 5045408002576797273, i64 5057621341748995626, i64 5045128289168111348, i64 5057274997700890825, i64 5044861563840409023, i64 5056868920873764086, i64 5044607239034389965, i64 5056481226534872866, i64 5044364753028906842, i64 5056111105735141582, i64 5044133568839409718, i64 5055757784039428522, i64 5043794763668583526, i64 5055420520103548861, i64 5043374568064407838, i64 5055098604307757841, i64 5042974030332882895, i64 5054791357444549657, i64 5042592254128585390, i64 5054498129458705041, i64 5042228382855164442, i64 5054218298237595287, i64 5041881597955469038, i64 5053951268449822708, i64 5041551117272798298, i64 5053696470430347281, i64 5041236193480425228, i64 5053453359110316637, i64 5040936112576654021, i64 5053221412989881578, i64 5040650192442776348, i64 5052961484394987887, i64 5040377781461393609, i64 5052539302726364063, i64 5040118257192669912, i64 5052136585963088075, i64 5039871025106174769, i64 5051752460719890848, i64 5039635517366065215, i64 5051386091655543539, i64 5039294400307303859, i64 5051036679868909374, i64 5038867077216051367, i64 5050703461360202877, i64 5038460093351717414, i64 5050385705554912379, i64 5038072504288622977, i64 5050082713887936340, i64 5037703408296625487, i64 5049793818445575358, i64 5037351944466390628, i64 5049518380663109859, i64 5037017290914385602, i64 5049255790075778438, i64 5036698663064322449, i64 5049005463121053833, i64 5036395312001908973, i64 5048766841990192567, i64 5036106522899888938, i64 5048539393527110567, i64 5035831613510472587, i64 5048110034063095158, i64 5035569932722373468, i64 5047696815623390396, i64 5035320859179778098, i64 5047303018734216935, i64 5035083799960681355, i64 5046927754046984524, i64 5034691995224031059, i64 5046570171800623711, i64 5034262591479700481, i64 5046229460113323055, i64 5033853975301565067, i64 5045904843345486011, i64 5033465164088963496, i64 5045595580531050872, i64 5033095220507374098, i64 5045300963874426777, i64 5032743250460584508, i64 5045020317310404427, i64 5032408401150965317, i64 5044752995124501931, i64 5032089859224147363, i64 5044498380631304222, i64 5031786848994551847, i64 5044255884908448973, i64 5031498630748366386, i64 5044018308513050254, i64 5031224499120698268, i64 5043578468695164195, i64 5030963781543769150, i64 5043159642295998310, i64 5030715836763143047, i64 5042760850326534643, i64 5030439323065360488, i64 5042381158181185591, i64 5029990913607963471, i64 5042019673684678371, i64 5029564550222679567, i64 5041675545222108110, i64 5029159173756179201, i64 5041347959948745725, i64 5028773774691182311, i64 5041036142076321157, i64 5028407390882065800, i64 5040739351232631881, i64 5028059105390783150, i64 5040456880891451162, i64 5027728044418793873, i64 5040188056869830265, i64 5027413375330878478, i64 5039932235890004196, i64 5027114304766885530, i64 5039688804203221413, i64 5026830076837621497, i64 5039386369518264361, i64 5026559971401251662, i64 5038945604002040974, i64 5026303302416731637, i64 5038526263155240869, i64 5026059416370934264, i64 5038127330490181843, i64 5025638197407078606, i64 5037747836500151730, i64 5025197881326089006, i64 5037386856549015614, i64 5024779570999825859, i64 5037043508852699307, i64 5024382190897563110, i64 5036716952548686023, i64 5024004716811974992, i64 5036406385849819378, i64 5023646173472507782, i64 5036111044278856002, i64 5023305632266657824, i64 5035830198980355356, i64 5022982209064425255, i64 5035563155106633077, i64 5022675062141413277, i64 5035309250274637535, i64 5022383390196235067, i64 5035067853090737377, i64 5022106430458074792, i64 5034652340080847488, i64 5021843456880426054, i64 5034216021881599964, i64 5021593778417200675, i64 5033801274903185633, i64 5021199890237023707, i64 5033407057288564793, i64 5020749831193904602, i64 5033032376250598590, i64 5020322603950511117, i64 5032676285823179727, i64 5019917074986350474, i64 5032337884712394567, i64 5019532165769502287, i64 5032016314243411733, i64 5019166850154689773, i64 5031710756398970877, i64 5018820151901186332, i64 5031420431945516691, i64 5018491142305198970, i64 5031144598643187862, i64 5018178937941601926, i64 5030882549536028691, i64 5017882698510116149, i64 5030633611318942808, i64 5017601624781243188, i64 5030273501783264116, i64 5017334956637466116, i64 5029824282829714978, i64 5017081971205425568, i64 5029397619139262446, i64 5016673977259199975, i64 5028992403489694618, i64 5016218680311524822, i64 5028607581708425253, i64 5015786823679932557, i64 5028242150196639622, i64 5015377225573593560, i64 5027895153565727626, i64 5014988762465924698, i64 5027565682381069641, i64 5014620366290287048, i64 5027252871008449976, i64 5014271021767194000, i64 5026955895558573598, i64 5013939763857034625, i64 5026673971925354461, i64 5013625675332582124, i64 5026406353913828466, i64 5013327884465810780, i64 5026152331453721280, i64 5013045562823787586, i64 5025805273644268676, i64 5012777923168637118, i64 5025347622616265238, i64 5012524217456800590, i64 5024913302449403694, i64 5012061084602683729, i64 5024501149438958702, i64 5011605215366048084, i64 5024110056580038953, i64 5011173158861547229, i64 5023738970873928242, i64 5010763696202343050, i64 5023386890758926926, i64 5010375669555906031, i64 5023052863660110151, i64 5010007979155940668, i64 5022735983652661429, i64 5009659580456936955, i64 5022435389233672229, i64 5009329481424722656, i64 5022150261197520578, i64 5009016739956689829, i64 5021879820610154745, i64 5008720461425654762, i64 5021623326877812133, i64 5008439796341583672, i64 5021246567293694987, i64 5008173938125677817, i64 5020785212169784960, i64 5007841456347131298, i64 5020347731307331956, i64 5007364450221117834, i64 5019932915101459212, i64 5006912691928493336, i64 5019539613861688112, i64 5006484871219542987, i64 5019166734915642742, i64 5006079744426977696, i64 5018813239849116780, i64 5005696131157641973, i64 5018478141876264989, i64 5005332911144674372, i64 5018160503333957963, i64 5004989021252539689, i64 5017859433294603393, i64 5004663452627700150, i64 5017574085291990346, i64 5004355247988025421, i64 5017303655154955440, i64 5004063499044359044, i64 5017047378943901780, i64 5003787344047962472, i64 5016599077080114351, i64 5003525965457847912, i64 5016138859110269053, i64 5003057989435955306, i64 5015702809753137387, i64 5002589764329491785, i64 5015289685503036342, i64 5002146673989781332, i64 5014898305450372626, i64 5001727394750186676, i64 5014527548203772977, i64 5001330671247770168, i64 5014176348959763630, i64 5000955312974441946, i64 5013843696713118245, i64 5000600190998237323, i64 5013528631601304910, i64 5000264234846539718, i64 5013230242376760481, i64 4999946429543448484, i64 5012947664001005156, i64 4999645812793856565, i64 5012680075354882301, i64 4999361472307151981, i64 5012347008855575396, i64 4999092543253790155, i64 5011867193541536523, i64 4998680825315353575, i64 5011412915466612990, i64 4998199779723962504, i64 5010982842225340092, i64 4997744890406318244, i64 5010575709472174091, i64 4997314761400246882, i64 5010190317523033937, i64 4996908069787766166, i64 5009825528122435834, i64 4996523561952697657, i64 5009480261368363516, i64 4996160050025741360, i64 5009153492787379225, i64 4995816408507847935, i64 5008844250552826346, i64 4995491571063160037, i64 5008551612839305151, i64 4995184527473210528, i64 5008274705306918820, i64 4994894320744462247, i64 5008012698709088415, i64 4994620044361652539, i64 5007526827600055470, i64 4994229692605653230, i64 5007057780888428838, i64 4993739800141736390, i64 5006614057305090053, i64 4993276884161846505, i64 5006194315799929484, i64 4992839485872653206, i64 5005797284899499302, i64 4992426223866076125, i64 5005421759175518839, i64 4992035790097239572, i64 5005066595888451978, i64 4991666946066953996, i64 5004730711797696025, i64 4991318519198565014, i64 5004413080130319104, i64 4990989399399502756, i64 5004112727700662709, i64 4990678535798333090, i64 5003828732173488194, i64 4990384933648558972, i64 5003560219463691666, i64 4990107651390845744, i64 5003113536523261985, i64 4989703208604989801, i64 5002633559407194055, i64 4989208672212321040, i64 5002179834233480539, i64 4988741710163640084, i64 5001750951837838144, i64 4988300811880557834, i64 5001345577206680446, i64 4987884548005809923, i64 5000962445657288800, i64 4987491566121913119, i64 5000600359210327674, i64 4987120586690776050, i64 5000258183145254218, i64 4986770399203116859, i64 4999934842729623917, i64 4986439858527089188, i64 4999629320113725270, i64 4986127881446040398, i64 4999340651382387417, i64 4985833443375823352, i64 4999067923756196514, i64 4985555575252556540, i64 4998624959488209869, i64 4985101933665217113, i64 4998138174768300871, i64 4984607077787997180, i64 4997678357412421959, i64 4984140156175705265, i64 4997244040445858460, i64 4983699618847754718, i64 4996833835166728490, i64 4983284000278499160, i64 4996446427054705230, i64 4982891914883262382, i64 4996080571888928593, i64 4982522052740734958, i64 4995735092064660908, i64 4982173175539629185, i64 4995408873098749594, i64 4981844112738089783, i64 4995100860314444056, i64 4981533757924934026, i64 4994810055696575392, i64 4981241065372343129, i64 4994535514908546923, i64 4980948905668527428, i64 4994060702172124134, i64 4980428348392927963, i64 4993571411322989917, i64 4979937505862181300, i64 4993109571114896214, i64 4979474710129942175, i64 4992673668562608095, i64 4979038385230762537, i64 4992262272520041996, i64 4978627042201950968, i64 4991874029340981853, i64 4978239274369538049, i64 4991507658765020442, i64 4977873752884631122, i64 4991161950017300401, i64 4977529222497138258, i64 4990835758111194827, i64 4977204497554502972, i64 4990528000343605624, i64 4976898458213720239, i64 4990237652973069950, i64 4976610046855502104, i64 4989939109016195730, i64 4976198941135660265, i64 4989422353952823352, i64 4975686748844129980, i64 4988934923435696808, i64 4975204147398232761, i64 4988475181916048556, i64 4974749455001260436, i64 4988041583412684555, i64 4974321083807292638, i64 4987632666701308749, i64 4973917534767598880, i64 4987247050756936463, i64 4973537392754321640, i64 4986883430436373723, i64 4973179321946826180, i64 4986540572388393811, i64 4972842061466856255, i64 4986217311179864601, i64 4972524421249350382, i64 4985912545626672009, i64 4972225278136452770, i64 4985625235318847554, i64 4971913155748768707, i64 4985224007160547094, i64 4971382617706096904, i64 4984713418701669748, i64 4970883065900074934, i64 4984232163476819323, i64 4970412719278483627, i64 4983778584446969278, i64 4969969897453607149, i64 4983351116529368438, i64 4969553015112888868, i64 4982948281589755910, i64 4969160576734145929, i64 4982568683701878043, i64 4968791171589076419, i64 4982211004660342148, i64 4968443469019643296, i64 4981873999733554681, i64 4968116213972726227, i64 4981556493644169087, i64 4967808222779198080, i64 4981257376765112218, i64 4967518379164309262, i64 4980970015167971034, i64 4967020871964247371, i64 4980439170080816333, i64 4966507579262407465, i64 4979939163375702428, i64 4966024619435924600, i64 4979468232775972024, i64 4965570227707374533, i64 4979024714980236193, i64 4965142740305605097, i64 4978607040204641061, i64 4964740588783716853, i64 4978213727020279523, i64 4964362294650891477, i64 4977843377470115463, i64 4964006464301065665, i64 4977494672450597663, i64 4963671784222350546, i64 4977166367343909380, i64 4963357016471951952, i64 4976857287887529418, i64 4963060994402157822, i64 4976566326268473385, i64 4962598447885168898, i64 4976107286616084865, i64 4962074917025210043, i64 4975591682917848589, i64 4961582654669130724, i64 4975106393541808122, i64 4961119821518123419, i64 4974649664517941498, i64 4960684684748320790, i64 4974219841662345776, i64 4960275611950072642, i64 4973815365000524861, i64 4959891065406122295, i64 4973434763496506757, i64 4959529596690086306, i64 4973076650071352551, i64 4959189841567641624, i64 4972739716895484115, i64 4958870515183771670, i64 4972422730940077710, i64 4958570407520320406, i64 4972124529773548732, i64 4958113568482991030, i64 4971714046562753856, i64 4957583524235946893, i64 4971186334295635622, i64 4957085472008805338, i64 4970689986919840089, i64 4956617509413710841, i64 4970223169185761233, i64 4956177845432860999, i64 4969784151476767256, i64 4955764794004952526, i64 4969371303833847860, i64 4955376767974619695, i64 4968983090312113346, i64 4955012273384694439, i64 4968618063651072185, i64 4954669904092216506, i64 4968274860241577733, i64 4954348336690162596, i64 4967952195373248413, i64 4954046325717848334, i64 4967648858747031723, i64 4953565808180232678, i64 4967257031487149136, i64 4953033118105431164, i64 4966720962805279872, i64 4952532915685766659, i64 4966217099356295028, i64 4952063248233958305, i64 4965743535706226187, i64 4951622278651440169, i64 4965298477360848339, i64 4951208278695004420, i64 4964880234414830578, i64 4950819622629107284, i64 4964487215558001195, i64 4950454781242139538, i64 4964117922419023930, i64 4950112316206161171, i64 4963770944227847437, i64 4949790874760732932, i64 4963444952779299002, i64 4949489184702549112, i64 4963138697681149021, i64 4948956108847003902, i64 4962735214379468609, i64 4948424698842758886, i64 4962194725410176177, i64 4947926033332932219, i64 4961687053388653206, i64 4947458123222475497, i64 4961210235305650884, i64 4947019098456174326, i64 4960762423746861277, i64 4946607201005245311, i64 4960341880197293649, i64 4946220778260384948, i64 4959946968726786460, i64 4945858276808121290, i64 4959576150035356284, i64 4945518236568613592, i64 4959227975838252009, i64 4945199285274268556, i64 4958901083571687113, i64 4944847875686591458, i64 4958594191401267931, i64 4944286746376466839, i64 4958148997297333402, i64 4943760514092121362, i64 4957608121650460266, i64 4943267038683134485, i64 4957100432490960825, i64 4942804309344988927, i64 4956623923110669266, i64 4942370436920559513, i64 4956176706299258119, i64 4941963646652487130, i64 4955757007341805768, i64 4941582271360475116, i64 4955363157419796800, i64 4941224745019013742, i64 4954993587392725522, i64 4940889596712425327, i64 4954646821938740458, i64 4940575444945432358, i64 4954321474033966192, i64 4940113193351941805, i64 4954016239751272199, i64 4939561249454318235, i64 4953500196613113952, i64 4939043978738750882, i64 4952962975316076627, i64 4938559232619078870, i64 4952459059671538702, i64 4938104993761149026, i64 4951986414123106403, i64 4937679368184036359, i64 4951543125676472952, i64 4937280577829204439, i64 4951127396634798905, i64 4936906953570338897, i64 4950737537757630379, i64 4936556928638148504, i64 4950371961819089679, i64 4936229032435901887, i64 4950029177542437534, i64 4935898577847653422, i64 4949707783889395642, i64 4935323188690066218, i64 4949356938887497907, i64 4934784274574386866, i64 4948791976621021816, i64 4934279554082983985, i64 4948262367822367001, i64 4933806886510694912, i64 4947765930919470701, i64 4933364263312236929, i64 4947300617003653317, i64 4932949800061522556, i64 4946864501885129278, i64 4932561728892730867, i64 4946455778616650725, i64 4932198391394732248, i64 4946072750458164962, i64 4931858231932110301, i64 4945713824256909588, i64 4931539791367577144, i64 4945377504218826000, i64 4931041810353391680, i64 4945062386048547408, i64 4930483763689260335, i64 4944581912020227195, i64 4929961443487331627, i64 4944028734893213138, i64 4929472592357207862, i64 4943510526687219511, i64 4929015093602310709, i64 4943025106893132371, i64 4928586962575664352, i64 4942570429038121894, i64 4928186338558871080, i64 4942144572568948639, i64 4927811477133108155, i64 4941745735219107250, i64 4927460743012801354, i64 4941372225831440398, i64 4927132603314351969, i64 4941022457609490013, i64 4926713250124509767, i64 4940694941772394679, i64 4926138907876206207, i64 4940327771953759132, i64 4925601663349053549, i64 4939753542320553526, i64 4925099151011235213, i64 4939215945185499835, i64 4924629154157044131, i64 4938712674746429552, i64 4924189595673957028, i64 4938241568319003010, i64 4923778529374157353, i64 4937800597582897144, i64 4923394131856527207, i64 4937387860355244743, i64 4923034694867141264, i64 4937001572860078411, i64 4922698618128191182, i64 4936640062464352874, i64 4922334412498155803, i64 4936301760852835486, i64 4921746895681845030, i64 4935985197615772771, i64 4921197662879663370, i64 4935432796851468339, i64 4920684250749811748, i64 4934878525149388841, i64 4920204352378438532, i64 4934359965728206037, i64 4919755807481636368, i64 4933874847616158919, i64 4919336593212390968, i64 4933421042289926293, i64 4918944815535689089, i64 4932996554866497632, i64 4918578701137195526, i64 4932599515831568463, i64 4918236589832981779, i64 4932228173272290936, i64 4917903061810898007, i64 4931880885584107248, i64 4917305725204918281, i64 4931556114623180654, i64 4916747653216616419, i64 4931063246584551459, i64 4916226296693958722, i64 4930495306893902122, i64 4915739269858927200, i64 4929964288636286693, i64 4915284339976963015, i64 4929467822271515954, i64 4914859417670513018, i64 4929003688304152399, i64 4914462547837107322, i64 4928569807914628074, i64 4914091901134789759, i64 4928164234166833386, i64 4913745765999974428, i64 4927785143757249087, i64 4913417888868626557, i64 4927430829272775775, i64 4912814263826779226, i64 4927099691926375438, i64 4912250660858415143, i64 4926642477139646725, i64 4911724458502805467, i64 4926064119972469503, i64 4911233204845117944, i64 4925523695723554930, i64 4910774606694578723, i64 4925018747691333411, i64 4910346519443924835, i64 4924546976201678622, i64 4909946937567870338, i64 4924106228707910557, i64 4909573985720893240, i64 4923694490506053711, i64 4909225910397078949, i64 4923309876027685970, i64 4908878550400236137, i64 4922950620674983255, i64 4908272282384286743, i64 4922615073164699953, i64 4907706557073558871, i64 4922168983983714873, i64 4907178695491766376, i64 4921583648263269015, i64 4906686193498042989, i64 4921037041164466035, i64 4906226710523459998, i64 4920526631764650322, i64 4905798059023450480, i64 4920050052418196315, i64 4905398194601274401, i64 4919605088363774179, i64 4905025206760429367, i64 4919189667983887397, i64 4904677310246513821, i64 4918801853676342827, i64 4904285679676516180, i64 4918439833299770221, i64 4903680462344757907, i64 4918101912157617541, i64 4903116062042263441, i64 4917642217885856660, i64 4902589758113369143, i64 4917053469756567260, i64 4902099009050224028, i64 4916504015714203135, i64 4901641440845048362, i64 4915991264888937489, i64 4901214836089754718, i64 4915512795094385699, i64 4900817123775635451, i64 4915066341988929493, i64 4900446369748770644, i64 4914649788923956441, i64 4900100767779579516, i64 4914261157436103225, i64 4899640867835974025, i64 4913898598343231616, i64 4899040375669929406, i64 4913560383406346619, i64 4898480723545894292, i64 4913062601582781766, i64 4897959165728031716, i64 4912474069362554275, i64 4897473138885027535, i64 4911925156095718601, i64 4897020250122378701, i64 4911413226333336944, i64 4896598265789787899, i64 4910935817775716702, i64 4896205101014137646, i64 4910490630042448334, i64 4895838809911637168, i64 4910075514161038089, i64 4895497576435661838, i64 4909688462728796729, i64 4894946616687370213, i64 4909327600705464089, i64 4894354438200657538, i64 4908991176796695387, i64 4893802871085630157, i64 4908431516948197793, i64 4893289161585255116, i64 4907846824196576819, i64 4892810740488098574, i64 4907301828716551329, i64 4892365210910786069, i64 4906793866669586009, i64 4891950336879101421, i64 4906320450809705747, i64 4891564032656205219, i64 4905879258923972541, i64 4891204352769731570, i64 4905468123019714564, i64 4890829770060829475, i64 4905085019210927295, i64 4890206264946063872, i64 4904728058259254726, i64 4889625838494762304, i64 4904370959249053917, i64 4889085547331636109, i64 4903751263210211405, i64 4888582646879938234, i64 4903173961965638854, i64 4888114578094448278, i64 4902636188405622148, i64 4887678955068872369, i64 4902135267015127360, i64 4887273553460770093, i64 4901668701228681559, i64 4886896299680771821, i64 4901234161609082594, i64 4886545260796269915, i64 4900829474796986300, i64 4886031674508953365, i64 4900452613181775220, i64 4885423890944401751, i64 4900101685247259040, i64 4884858445048257636, i64 4899633458518313256, i64 4884332419722640921, i64 4899024987981846473, i64 4883843096593603918, i64 4898458494213063846, i64 4883387942631638619, i64 4897931113910982698, i64 4882964597662038421, i64 4897440176806830165, i64 4882570862706679740, i64 4896983192808275232, i64 4882204689102575575, i64 4896557839989046255, i64 4881826340622577730, i64 4896161953369073050, i64 4881193049160546498, i64 4895793514433803921, i64 4880604195778657485, i64 4895450641344637721, i64 4880056695673150778, i64 4894850364639257021, i64 4879547675805517417, i64 4894256593995119221, i64 4879074460532462950, i64 4893704127216064536, i64 4878634558199352281, i64 4893190122856015090, i64 4878225648633338799, i64 4892711932704704972, i64 4877845571476550436, i64 4892267088802639482, i64 4877492315303606105, i64 4891853291317837313, i64 4876929618500522853, i64 4891468397227897914, i64 4876319412862522214, i64 4891110409754585218, i64 4875752371570145271, i64 4890645741678712201, i64 4875225473450974828, i64 4890026485173431441, i64 4874735906487084965, i64 4889450625399020635, i64 4874281053498845372, i64 4888915154218694923, i64 4873858478797159870, i64 4888417269663361667, i64 4873465915739426064, i64 4887954361966636219, i64 4873101255128772492, i64 4887524000534306694, i64 4872630271985365677, i64 4887123921786510629, i64 4872001058265833005, i64 4886752017814911420, i64 4871416674571835558, i64 4886406325800928730, i64 4870873959993015861, i64 4885764440592213652, i64 4870369974100719735, i64 4885167190816920374, i64 4869901981739616188, i64 4884612138246688589, i64 4869467438856279210, i64 4884096333375154802, i64 4869063979294873425, i64 4883617030581890010, i64 4868689402494733232, i64 4883171674200237110, i64 4868292126870428652, i64 4882757885525844167, i64 4867646512667050361, i64 4882373450703164519, i64 4867047226272442540, i64 4882016309431323727, i64 4866490977259886808, i64 4881467092799610838, i64 4865974706437861170, i64 4880850747223359695, i64 4865495569777483118, i64 4880278266048977123, i64 4865050923444465112, i64 4879746560320725947, i64 4864638309860571992, i64 4879252756243190084, i64 4864255444724601834, i64 4878794180363241729, i64 4863900204927610369, i64 4878368345760586299, i64 4863253637042836868, i64 4877972939179071809, i64 4862642098728025738, i64 4877605809035451120, i64 4862074789375701284, i64 4877131512050737659, i64 4861548542286040413, i64 4876498631196281413, i64 4861060415136343903, i64 4875911117863942641, i64 4860607674253329165, i64 4875365753568025389, i64 4860187779975604744, i64 4874859545707094809, i64 4859798373031630623, i64 4874389711886339635, i64 4859437261863525078, i64 4873953665315543495, i64 4858820823730829569, i64 4873549001209751093, i64 4858199860548211769, i64 4873173484124596608, i64 4857624124319854499, i64 4872755275510764124, i64 4857090353585640893, i64 4872108655170637992, i64 4856595519677871189, i64 4871508720432234243, i64 4856136810280723974, i64 4870952134956314606, i64 4855711614138110503, i64 4870435798321220380, i64 4855317506830614240, i64 4869956829522604969, i64 4854952237547620308, i64 4869512551614170124, i64 4854347035266179769, i64 4869100477411430284, i64 4853719611514046150, i64 4868718296185793211, i64 4853138204724797505, i64 4868336525374810053, i64 4852599472771758807, i64 4867679159992129185, i64 4852100313819955083, i64 4867069594469952775, i64 4851637849229163349, i64 4866504387934924390, i64 4851209407660348933, i64 4865980344638239461, i64 4850812510301728283, i64 4865494496680415263, i64 4850444857136462730, i64 4865044087940016033, i64 4849831829680692385, i64 4864626559123393441, i64 4849201004551879602, i64 4864239533858147878, i64 4848616766870033629, i64 4863874013956427954, i64 4848075709101902243, i64 4863209055227720343, i64 4847574670482618484, i64 4862592790646096488, i64 4847110719327866522, i64 4862021689614490412, i64 4846681136600466049, i64 4861492474912778480, i64 4846283400643386260, i64 4861002104705701662, i64 4845915172997302234, i64 4860547755814437996, i64 4845275371402326490, i64 4860126808164079393, i64 4844644254313648486, i64 4859736830325288214, i64 4844060067223716490, i64 4859367134215279184, i64 4843519353411397210, i64 4858697845864131838, i64 4843018908284192384, i64 4858077912841325028, i64 4842555761173443495, i64 4857503730940099390, i64 4842127158430325682, i64 4856971956510664057, i64 4841730547730686304, i64 4856479487819355492, i64 4841357527583136927, i64 4856023447727083796, i64 4840678427379466886, i64 4855601167594734253, i64 4840050132067182500, i64 4855210172329579284, i64 4839468876305175647, i64 4854815934680018812, i64 4838931171130931638, i64 4854145644480633872, i64 4838433783875558692, i64 4853525127891572082, i64 4837973719523460224, i64 4852950724295119994, i64 4837548203413844237, i64 4852419039633659353, i64 4837154665188499729, i64 4851926927197408267, i64 4836715447998091546, i64 4851471469782257149, i64 4836042348557633536, i64 4851049963121061866, i64 4835419947066581385, i64 4850659900498495339, i64 4834844460073719549, i64 4850221118253642442, i64 4834312383800624944, i64 4849553168477759332, i64 4833820473670336947, i64 4848935161481519131, i64 4833365725319350766, i64 4848363398274235248, i64 4832945356986576364, i64 4847834451162787516, i64 4832556793180448816, i64 4847345144053625175, i64 4832032898896239094, i64 4846892534170116931, i64 4831369037334155732, i64 4846473895084645693, i64 4830755515031846140, i64 4846086700971916636, i64 4830188549472267292, i64 4845584024942400476, i64 4829664639704864603, i64 4844921722457284277, i64 4829180545587820878, i64 4844309280329208103, i64 4828733268545412313, i64 4843742979805478038, i64 4828320033731019316, i64 4843219376831988993, i64 4827938273494162830, i64 4842735281962372861, i64 4827312423573241767, i64 4842287741721530156, i64 4826660902087073417, i64 4841874021319375006, i64 4826059114798807994, i64 4841491588618002825, i64 4825503299150304456, i64 4840906599101422029, i64 4824989974614937323, i64 4840253166358351607, i64 4824515921757661144, i64 4839649261273097244, i64 4824078162834593149, i64 4839091164234417038, i64 4823673943820070963, i64 4838575432343161107, i64 4823246234600621492, i64 4838098879027344449, i64 4822557057757179333, i64 4837658555143843244, i64 4821920800297847481, i64 4837251731459425991, i64 4821333434586393269, i64 4836875882411490466, i64 4820791236742350755, i64 4836191342316079987, i64 4820290763946668586, i64 4835549870437485677, i64 4819828833426556293, i64 4834957348315966253, i64 4819402502996519073, i64 4834410074389993648, i64 4819009053041489476, i64 4833904624406044218, i64 4818440338386055454, i64 4833437830842817109, i64 4817770258919508540, i64 4833006763847033658, i64 4817151972145575535, i64 4832608713570906487, i64 4816581509652237396, i64 4832119947450006496, i64 4816055204370908002, i64 4831441253514944900, i64 4815569667904582345, i64 4830814658615454568, i64 4815121769545524214, i64 4830236199077014912, i64 4814708616857820226, i64 4829702210013267717, i64 4814307073759407103, i64 4829209303015854918, i64 4813604125631419846, i64 4828754345493878020, i64 4812955827352866836, i64 4828334441542234703, i64 4812357966728946522, i64 4827946914226833999, i64 4811806653356704048, i64 4827319777824449376, i64 4811298294265143911, i64 4826659758317618990, i64 4810829571382130975, i64 4826050742083021281, i64 4810397420692409531, i64 4825488822437501304, i64 4809999012961045464, i64 4824970389232267847, i64 4809419069780002236, i64 4824492106554220700, i64 4808741953390084629, i64 4824050892087982855, i64 4808117821530771095, i64 4823643898016182020, i64 4807542563260868668, i64 4823181785775124397, i64 4807012383820432041, i64 4822489294178204035, i64 4806523780530411551, i64 4821850629942192315, i64 4806073520512361131, i64 4821261645345627122, i64 4805658620092062479, i64 4820718509422888510, i64 4805211849117691781, i64 4820217683996198455, i64 4804507390753700071, i64 4819755901504036302, i64 4803858373415539773, i64 4819330144492643284, i64 4803260470376503012, i64 4818937626647084828, i64 4802709689673878284, i64 4818299949208414455, i64 4802202348436836984, i64 4817632828601510077, i64 4801735049165124421, i64 4817017904220403862, i64 4801304657811705570, i64 4816451127083250255, i64 4800908283533463217, i64 4815928759536255112, i64 4800249317191422329, i64 4815447351532112152, i64 4799577053289992471, i64 4815003718699047211, i64 4798958036830794759, i64 4814594922066607164, i64 4798388085076371914, i64 4814088496989416638, i64 4797863341071130018, i64 4813394393336704076, i64 4797380248488142133, i64 4812754912217583977, i64 4796935528400586937, i64 4812165791386751853, i64 4796526157831916006, i64 4811623098300073123, i64 4795965096750020211, i64 4811123204838613934, i64 4795271468408499808, i64 4810662763952591754, i64 4794633091486483283, i64 4810238688080794592, i64 4794045600754490172, i64 4809848129211779549, i64 4793504972979543986, i64 4809132518894569525, i64 4793007500361670378, i64 4808470116096870564, i64 4792549766015378913, i64 4807860179242263405, i64 4792128621340130123, i64 4807298587318997851, i64 4791652326748947966, i64 4806781540238069065, i64 4790939445134358399, i64 4806305534061255567, i64 4790283668851161520, i64 4805867338123984739, i64 4789680460298683553, i64 4805463973909441581, i64 4789125639455646181, i64 4804844588677904888, i64 4788615355940840461, i64 4804161141137535520, i64 4788146063237770107, i64 4803532136294498143, i64 4787714494917165613, i64 4802953272941196530, i64 4787308881512966202, i64 4802420586815179708, i64 4786579068598223840, i64 4801930424432877911, i64 4785908045022046298, i64 4801479418937188105, i64 4785291112724455315, i64 4801064467805342443, i64 4784723946019982461, i64 4800528221773235479, i64 4784202562330157345, i64 4799825833938992526, i64 4783723295196512745, i64 4799179715859709422, i64 4783282769397984847, i64 4798585396235091384, i64 4782877878010064292, i64 4798038756101258126, i64 4782188718243552302, i64 4797536001304661352, i64 4781504769748423095, i64 4797073637107507507, i64 4780876261373139288, i64 4796648444761129064, i64 4780298734452331227, i64 4796181316642782458, i64 4779768086014546663, i64 4795462302030483210, i64 4779280540640925130, i64 4794801214815138976, i64 4778832624531415858, i64 4794193425489979330, i64 4778421141606881053, i64 4793634671489267438, i64 4777767098337212644, i64 4793121028350008619, i64 4777072693778590262, i64 4792648883120380106, i64 4776434888399796144, i64 4792214909841412454, i64 4775849104697467862, i64 4791802090361238452, i64 4775311132434598465, i64 4791068949272526503, i64 4774817099414121395, i64 4790395205518201999, i64 4774363444558788074, i64 4789776084975112881, i64 4773946893116914171, i64 4789207194126638095, i64 4773313262642394496, i64 4788684489972969918, i64 4772610990770526881, i64 4788204252299791860, i64 4771966274201804302, i64 4787763058122136409, i64 4771374432065305862, i64 4787357758134310811, i64 4770831161187729799, i64 4786644506124777686, i64 4770332505862687386, i64 4785960562919462047, i64 4769874830019623858, i64 4785332379202638969, i64 4769454791603510776, i64 4784755444605221786, i64 4768826632597019853, i64 4784225610676877875, i64 4768119173182292919, i64 4783739062084086331, i64 4767470011269682404, i64 4783292290080907991, i64 4766874379265880849, i64 4782882068074691729, i64 4766327896448677685, i64 4782188053977978122, i64 4765826537823737339, i64 4781496486149611340, i64 4765366605467933358, i64 4780861612049325189, i64 4764944702162371875, i64 4780278819870898886, i64 4764307008509394557, i64 4779743869990781282, i64 4763597101714938867, i64 4779252865176164851, i64 4762946012087404440, i64 4778802223157896515, i64 4762348902955006542, i64 4778388651382119146, i64 4761801332328386498, i64 4777699042898012189, i64 4761299220946846435, i64 4777002514001365379, i64 4760838822890715547, i64 4776363400223553025, i64 4760416698555475290, i64 4775777004898249052, i64 4759754573468203769, i64 4775239012551998286, i64 4759044988052218681, i64 4774745458213857824, i64 4758394510868072222, i64 4774292699175605221, i64 4757798254613006409, i64 4773877389008497268, i64 4757251733025731253, i64 4773177302302854166, i64 4756750828233316846, i64 4772478533887819918, i64 4756291760735550423, i64 4771837680713314672, i64 4755871061815466704, i64 4771249978814279651, i64 4755169889859845241, i64 4770711053071698393, i64 4754463390821807134, i64 4770216885725481066, i64 4753816059076865746, i64 4769763787416307680, i64 4753222975731686005, i64 4769348370555008398, i64 4752679627766972018, i64 4768623044282572302, i64 4752181874804301760, i64 4767924784033980054, i64 4751725918572705643, i64 4767284712012858533, i64 4751308274857442121, i64 4766698015304774791, i64 4750553888585743049, i64 4766160276048509159, i64 4749853204885786039, i64 4765667439263002725, i64 4749211514860956369, i64 4765215783273435053, i64 4748623887438371289, i64 4764795379298396287, i64 4748085800668499752, i64 4764036859472044312, i64 4747593108038010286, i64 4763341848841816941, i64 4747142007534865993, i64 4762705069094596281, i64 4746664019236697087, i64 4762121677292204415, i64 4745907851268768245, i64 4761587230237943039, i64 4745215644247534139, i64 4761097651736414616, i64 4744582026669722753, i64 4760649202513618451, i64 4744002074835069799, i64 4760172099035231263, i64 4743471275794435028, i64 4759419705588682377, i64 4742985493340087781, i64 4758730647554937729, i64 4742540936790351532, i64 4758099632263019126, i64 4741977857060507741, i64 4757521806029896069, i64 4741233385924419700, i64 4756992718027966988, i64 4740552219031638378, i64 4756508287103245478, i64 4739929011502509780, i64 4756064771305226027, i64 4739358866470473055, i64 4755516273313968579, i64 4738837297807299005, i64 4754772888946186252, i64 4738360195926055284, i64 4754092416530280235, i64 4737923796409652669, i64 4753469570192730120, i64 4737262494472876309, i64 4752899504907883387, i64 4736532396742614674, i64 4752377780008318189, i64 4735864707147260884, i64 4751900325692126708, i64 4735254128360080527, i64 4751463412282935131, i64 4734695809487870261, i64 4750829637160546111, i64 4734185308723003769, i64 4750098039443227198, i64 4733718559096524329, i64 4749428685594864747, i64 4733291837076779598, i64 4748816317607544348, i64 4732520259191568451, i64 4748256118406281585, i64 4731807048774115580, i64 4747743675148453212, i64 4731155121378423907, i64 4747274945554606367, i64 4730559247595222899, i64 4746846227022225060, i64 4730014641098944513, i64 4746114249339951724, i64 4729516921377089499, i64 4745397079696561174, i64 4729062079571446033, i64 4744741249119705554, i64 4728513285607607153, i64 4744141548196647407, i64 4727753725933152719, i64 4743593206757414721, i64 4727059728437004600, i64 4743091857111978840, i64 4726425672752655743, i64 4742633500341098049, i64 4725846416953891518, i64 4742138543157150402, i64 4725317257118497420, i64 4741372453834440064, i64 4724833890284470114, i64 4740672189135656204, i64 4724392380516246742, i64 4740032132575357820, i64 4723702246531965920, i64 4739447143482410105, i64 4722965670254227181, i64 4738912516984080264, i64 4722293000849542406, i64 4738423947330327885, i64 4721678731119146331, i64 4737977494281613333, i64 4721117825167958084, i64 4737352296618809025, i64 4720605678355915400, i64 4736606836715225482, i64 4720138080627770898, i64 4735925763995740322, i64 4719649956392642353, i64 4735303555440014183, i64 4718870523545051864, i64 4734735158448863720, i64 4718159019945210581, i64 4734215951064935051, i64 4717509565053779151, i64 4733741705532342841, i64 4716916783916909040, i64 4733308554917130910, i64 4716375764002336470, i64 4732542716700410091, i64 4715882015694150163, i64 4731820179515726736, i64 4715431436138390917, i64 4731160374234628766, i64 4714771742457787090, i64 4730557891408405911, i64 4714021410091082375, i64 4730007784807275783, i64 4713336805162352289, i64 4729505532036604659, i64 4712712208218303920, i64 4729046998477209570, i64 4712142394131559362, i64 4728477199803532867, i64 4711622589672278513, i64 4727712979458141372, i64 4711148434695656895, i64 4727015410278836268, i64 4710666683049214480, i64 4726378718453448669, i64 4709877765872019596, i64 4725797626896027773, i64 4709158263544616263, i64 4725267312814057650, i64 4708502108477483720, i64 4724783368874350814, i64 4707903759898725138, i64 4724341767664673405, i64 4707358158426536794, i64 4723601649235282288, i64 4706860684531446759, i64 4722866372954825580, i64 4706407120557647506, i64 4722195553477331118, i64 4705725621399134827, i64 4721583577921472376, i64 4704971700925965827, i64 4721025318847656685, i64 4704284451681261037, i64 4720516092565849479, i64 4703658015983367429, i64 4720051620998621102, i64 4703087047392346389, i64 4719483584112646596, i64 4702566666392408346, i64 4718710893403134588, i64 4702092419889459685, i64 4718006242636829401, i64 4701562477420527393, i64 4717363679995665366, i64 4700774851458362051, i64 4716777770791076132, i64 4700057184076837115, i64 4716243552842272269, i64 4699403301319765070, i64 4715756495677663526, i64 4698807570518034920, i64 4715312463234226976, i64 4698264853151687796, i64 4714546549657249209, i64 4697770461788854322, i64 4713808587396425755, i64 4697320120751427242, i64 4713135937871172009, i64 4696565449026965174, i64 4712522858314641344, i64 4695818255163570095, i64 4711964107542034568, i64 4695137760969477075, i64 4711454902439991187, i64 4694518050198026917, i64 4710990878204090858, i64 4693953727968109367, i64 4710370893778253013, i64 4693439875123667513, i64 4709600369334827781, i64 4692972006561514666, i64 4708898341610337414, i64 4692341254649585705, i64 4708258760813467527, i64 4691565642617952839, i64 4707676107960811343, i64 4690859568787205832, i64 4707145348617799434, i64 4690216837876988767, i64 4706661890643241169, i64 4689631803009457270, i64 4706181480584670663, i64 4689099317483579315, i64 4705379376339900408, i64 4688614690761888787, i64 4704648890460148046, i64 4688100084515839886, i64 4703983669159746620, i64 4687297377736862820, i64 4703377918662713239, i64 4686566950500216164, i64 4702826356174008690, i64 4685902334977525693, i64 4702324165113965574, i64 4685297638422235250, i64 4701866954247779818, i64 4684747492368911087, i64 4701143429772237167, i64 4684247006290305027, i64 4700385617547122921, i64 4683791725323663612, i64 4699695808145255016, i64 4683011570957475877, i64 4699067937868529148, i64 4682258206798580264, i64 4698496480217633603, i64 4681573013784337916, i64 4697976398614157463, i64 4680949861213459176, i64 4697503103255482005, i64 4680383166255619671, i64 4696890412139934842, i64 4679867845305468066, i64 4696106614973737111, i64 4679399269627607780, i64 4695393459231411790, i64 4678706436995240760, i64 4694744618071307985, i64 4677931736019442548, i64 4694154327678346285, i64 4677227437906199581, i64 4693617337487423124, i64 4676587183700685197, i64 4693128864778138731, i64 4676005185224474000, i64 4692618294799111834, i64 4675476174168916720, i64 4691810058873834490, i64 4674995355699290202, i64 4691074983203666563, i64 4674380319134790075, i64 4690406486512067770, i64 4673586056003991240, i64 4689798575805978665, i64 4672864281934316855, i64 4689245794130683932, i64 4672208421185094877, i64 4688743172933881669, i64 4671612490842205878, i64 4688286188635068995, i64 4671071047709388145, i64 4687494233970316297, i64 4670579139926702834, i64 4686738842315498901, i64 4670031712213124850, i64 4686052165139229334, i64 4669219824711306801, i64 4685427990153501575, i64 4668482349921896866, i64 4684860663189657817, i64 4667812508509329451, i64 4684345038376848746, i64 4667204134989725524, i64 4683876432738857730, i64 4666651622494998911, i64 4683157557174818857, i64 4666149872475561091, i64 4682383621505483857, i64 4665659283850049564, i64 4681680389674999572, i64 4664831859188865961, i64 4681041441702847784, i64 4664080592325200553, i64 4680460936934416436, i64 4663398515176928772, i64 4679933562094749077, i64 4662779293347289394, i64 4679454483970027900, i64 4662217168852941092, i64 4678798599776541991, i64 4661706907995556016, i64 4678008048279064984, i64 4661243753917990441, i64 4677290027420649949, i64 4660421152525048814, i64 4676637922802027708, i64 4659658121070771203, i64 4676045719516510777, i64 4658965658733480321, i64 4675507948155896181, i64 4658337277268583535, i64 4675019635648289327, i64 4657767081397299840, i64 4674416107785963661, i64 4657249714946277163, i64 4673611010864928845, i64 4656780311848948674, i64 4672880093450458217, i64 4655986888444058184, i64 4672216561599292349, i64 4655214222446464773, i64 4671614239825881084, i64 4654513316140466571, i64 4671067515153191509, i64 4653877543804598650, i64 4670571286192919388, i64 4653300887852626587, i64 4670009020028647847, i64 4652777883354380298, i64 4669191574283943491, i64 4652303567586594683, i64 4668449764870739103, i64 4651528453247454687, i64 4667776634685351752, i64 4650748367554632483, i64 4667165862689634883, i64 4650041032910625158, i64 4666611706115049782, i64 4649399703673268587, i64 4666108947885394970, i64 4648818255993429926, i64 4665576483624159991, i64 4648291130843691786, i64 4664748994005956418, i64 4647813282235056130, i64 4663998392855345689, i64 4647045444858003173, i64 4663317577687337724, i64 4646260220113350137, i64 4662700098185286201, i64 4645548529817496799, i64 4662140096681701628, i64 4644903527011272555, i64 4661632254037245219, i64 4644318998556981213, i64 4661117866534364066, i64 4643789306814208307, i64 4660282726915504828, i64 4643309336650097487, i64 4659525512211480096, i64 4642537678779437460, i64 4658838993597552509, i64 4641749641444764808, i64 4658216608877488075, i64 4641035707040629741, i64 4657652401379016939, i64 4640388946789143220, i64 4657140964415801537, i64 4639803076027830708, i64 4656632766922905106, i64 4639272394683494561, i64 4655792439360565293, i64 4638791733214192632, i64 4655030848278574823, i64 4638005190848595504, i64 4654340658665104309, i64 4637216692547069564, i64 4653715214828758462, i64 4636502645660377105, i64 4653148477860126260, i64 4635856059818719360, i64 4652634968815562855, i64 4635270597236127702, i64 4652121019132034242, i64 4634740512143825061, i64 4651278012117519875, i64 4634260595811397450, i64 4650514321017152267, i64 4633448236722512026, i64 4649822525728146620, i64 4632661633206814620, i64 4649195896280134501, i64 4631949606470986018, i64 4648628329026696361, i64 4631305125331772108, i64 4648114288700920117, i64 4630721817757082487, i64 4647582696152442936, i64 4630193909429506872, i64 4646739542169006739, i64 4629716168002335149, i64 4645976046202528259, i64 4628867288110728731, i64 4645284724917314333, i64 4628084918169622656, i64 4644658793945900912, i64 4627377026136281826, i64 4644092102985647802, i64 4626736561158995386, i64 4643579076885993031, i64 4626157136144496332, i64 4643018108534604927, i64 4625632965630065106, i64 4642177341257576599, i64 4625120801564304650, i64 4641416333698460431, i64 4624263025830491906, i64 4640727561715682389, i64 4623487190448263044, i64 4640104206916243926, i64 4622785510767215707, i64 4639540090842217439, i64 4622150937588142662, i64 4639029615258258202, i64 4621577088076003858, i64 4638427799764335591, i64 4621058183125273995, i64 4637591931245322872, i64 4620484763475072765, i64 4636835682846744420, i64 4619636329827860045, i64 4636151512415698856, i64 4618869271905835486, i64 4635532588211552558, i64 4618175827053409407, i64 4634972722375359842, i64 4617548969027596999, i64 4634466310593394930, i64 4616982338530334192, i64 4633812538198881103, i64 4616470180256305731, i64 4632984036376091743, i64 4615824953642746410, i64 4632234775068698598, i64 4614988266369313183, i64 4631557217067586934, i64 4614232151306966691, i64 4630944538080788721, i64 4613548891130204008, i64 4630390559685341363, i64 4612931503645830464, i64 4629889688548252941, i64 4612373672156383610, i64 4629173305730876119, i64 4611869682382544285, i64 4628354572600733420, i64 4611142712233264271, i64 4627614463831851407, i64 4610320072664636230, i64 4626945470065228573, i64 4609576970080000595, i64 4626340795182579546, i64 4608905755407320749, i64 4625794288944842475, i64 4608299511196900883, i64 4625300385956006491, i64 4607751982029185791, i64 4624511283414074683, i64 4607257511504966546, i64 4623704634185436883, i64 4606439551597904548, i64 4622975762188438086, i64 4605633139231209454, i64 4622317208563177279, i64 4604905006076892746, i64 4621722225830232590, i64 4604247593623944498, i64 4621184710422859323, i64 4603654069276350787, i64 4620699141581428435, i64 4603118257018083520, i64 4619827834345126332, i64 4602590330154649642, i64 4619035477876945889, i64 4601717134971820900, i64 4618319828140142068, i64 4600928990351166671, i64 4617673498960966566, i64 4600217655653834584, i64 4617089811519640231, i64 4599575684426905584, i64 4616562726984208559, i64 4598996348279791476, i64 4615983952993100158, i64 4598473568016826109, i64 4615124484148299561, i64 4597828483131276565, i64 4614348504945020259, i64 4596977253428355820, i64 4613647948124673274, i64 4596209263005216274, i64 4613015521727215825, i64 4595516414423699644, i64 4612444634991080334, i64 4594891393792940427, i64 4611929331295658621, i64 4594327595357448982, i64 4611242436534266235, i64 4593819053303400472, i64 4610402899453658464, i64 4593049140274252347, i64 4609645241460750790, i64 4592221801534996313, i64 4608961518953267373, i64 4591475684689583196, i64 4608344554865317013, i64 4590802857050644059, i64 4607787865101475948, i64 4590196156632267418, i64 4607285591991972199, i64 4589649117671607650, i64 4606482469405315988, i64 4589143786327079335, i64 4605664864792772269, i64 4588254469191529480, i64 4604927317198389299, i64 4587452752172358080, i64 4604262028553265741, i64 4586730050535139870, i64 4603661956344066381, i64 4586078616467301983, i64 4603120740802191288, i64 4585491457918680036, i64 4602586458969299057, i64 4584962265270024161, i64 4601706112199125446, i64 4584306269493990594, i64 4600912258358893026, i64 4583446699779786215, i64 4600196443567635699, i64 4582672130981911556, i64 4599551035886106803, i64 4581974200150272739, i64 4598969145830078000, i64 4581345362895960535, i64 4598444554528577463, i64 4580778813691040364, i64 4597768078046460337, i64 4580268413887037517, i64 4596915505365740561, i64 4579456432381504803, i64 4596147027090315358, i64 4578628096065072031, i64 4595454390992550153, i64 4577881990901492321, i64 4594830150418110172, i64 4577209994601597266, i64 4594267586064020294, i64 4576604783047114914, i64 4593760635311126736, i64 4576059752262700794, i64 4592936036852885546, i64 4575480674542623111, i64 4592112841465656109, i64 4574596782648680138, i64 4591371161536309879, i64 4573800928560134375, i64 4590702966152451463, i64 4573084387230480344, i64 4590101011519423149, i64 4572439293929790427, i64 4589558764219740467, i64 4571858559852381830, i64 4588972643538182536, i64 4571335795959464256, i64 4588092781245547478, i64 4570576866733932932, i64 4587300337609328928, i64 4569729809799163047, i64 4586586670954900714, i64 4568967447601514890, i64 4585943989489637442, i64 4568281353639687349, i64 4585365268155746750, i64 4567663935572314931, i64 4584844173574509076, i64 4567108353064607329, i64 4584085571934379101, i64 4566566865214101951, i64 4583240758668693086, i64 4565667289965621775, i64 4582480208560393954, i64 4564857957045666975, i64 4581795559071447102, i64 4564129858091612742, i64 4581179273369109149, i64 4563474879505512787, i64 4580624559218533277, i64 4562885714031647919, i64 4580089770565150728, i64 4562355781027060971, i64 4579191114331922404, i64 4561611886623570525, i64 4578382389479163181, i64 4560754574820525278, i64 4577654640948753344, i64 4559983595087722897, i64 4576999800897376606, i64 4559290296024674355, i64 4576410601247535308, i64 4558666888905081206, i64 4575880494813037207, i64 4558106362087967902, i64 4575149946916945618, i64 4557561984854941859, i64 4574291893525612273, i64 4556655843097140178, i64 4573520039884090207, i64 4555841248996359534, i64 4572825768999192815, i64 4555108998171308411, i64 4572201320970630055, i64 4554450807122636062, i64 4571639708173504725, i64 4553859221560283985, i64 4571115655800706453, i64 4553327533810406696, i64 4570207273976351575, i64 4552560193542897410, i64 4569390448668977779, i64 4551701406854301775, i64 4568655996893602097, i64 4550929713303793451, i64 4567995652132877044, i64 4550236322735454701, i64 4567401973334737759, i64 4549613327848602206, i64 4566868262899901672, i64 4549053615965453580, i64 4566126963397875579, i64 4548465955500480117, i64 4565264453565735988, i64 4547562565888838366, i64 4564489209831102958, i64 4546751090007897106, i64 4563792445631861857, i64 4546022220750308451, i64 4563166254744586938, i64 4545367588883437511, i64 4562603523523418702, i64 4544779669004239888, i64 4562049281160376804, i64 4544251694877391682, i64 4561140541251736397, i64 4543423142433614891, i64 4560324045502882935, i64 4542571706243145685, i64 4559590475425645940, i64 4541807224567094793, i64 4558931449285255583, i64 4541120858906442342, i64 4558339428399594449, i64 4540504664846630657, i64 4557807632763736749, i64 4539951502054278287, i64 4557017107253999460, i64 4539281482189041050, i64 4556159061773936276, i64 4538390078677722051, i64 4555388445616184308, i64 4537590004466354963, i64 4554696392755864448, i64 4536871946182749045, i64 4554074931898743569, i64 4536227535674006368, i64 4553516896632383754, i64 4535649254539448902, i64 4552892465837938294, i64 4535130348258335878, i64 4551992745704172238, i64 4534204673143664726, i64 4551184998672977881, i64 4533369187082933296, i64 4550459867363916716, i64 4532619621580778285, i64 4549808941843204283, i64 4531947181695614414, i64 4549224664162246778, i64 4531343968500442498, i64 4548700242466770281, i64 4530802888235842173, i64 4547823523799557445, i64 4530013916123453418, i64 4546978724742036188, i64 4529143365783537823, i64 4546220610173799958, i64 4528362627943565010, i64 4545540327170611844, i64 4527662479607429317, i64 4544929922631047162, i64 4527034640467760256, i64 4544382252260328492, i64 4526471677011511424, i64 4543649773413222851, i64 4525816207159021522, i64 4542768171965556585, i64 4524911111848236608, i64 4541977322442975495, i64 4524099690159990160, i64 4541267926376222168, i64 4523372291659654543, i64 4540631633511671015, i64 4522720255495377490, i64 4540060945581510799, i64 4522135809402781316, i64 4539469835194748192, i64 4521609932055264945, i64 4538551857718475988, i64 4520670986339219441, i64 4537728679759453049, i64 4519829525829608286, i64 4536990556654838346, i64 4519075475236076938, i64 4536328740712788504, i64 4518399795761845347, i64 4535735379699710516, i64 4517794378974632515, i64 4535203425613529879, i64 4517251951492625811, i64 4534328280649627183, i64 4516421552524846744, i64 4533473342877892802, i64 4515550856401362934, i64 4532707023648560261, i64 4514770892836769280, i64 4532020179344097805, i64 4514072249513698562, i64 4531404605386320059, i64 4513446486048998487, i64 4530852940254411171, i64 4512886034096574363, i64 4530095933398040907, i64 4512161388713458483, i64 4529209969136579392, i64 4511262418654701713, i64 4528416131693329839, i64 4510457422345408282, i64 4527704884908989544, i64 4509736620244017106, i64 4527067675158844330, i64 4509091245907092025, i64 4526496830595252886, i64 4508513441523295578, i64 4525853315839372999, i64 4507889101339961550, i64 4524937224323923380, i64 4506962976381736477, i64 4524116694445391258, i64 4506133967453993125, i64 4523381802817100390, i64 4505391935991712644, i64 4522723651793235216, i64 4504727797081773921, i64 4522134263936498464, i64 4504133410463879345, i64 4521598948703878715, i64 4503601482754826258, i64 4520653794851395993, i64 4502651332121404143, i64 4519807545758617690, i64 4501799468111242212, i64 4519049898100439915, i64 4501037258641624171, i64 4518371616999665581, i64 4500355309632482415, i64 4517764425742562466, i64 4499745206916700282, i64 4517220906824378077, i64 4499199414488244169, i64 4516358400080194449, i64 4498326338791293949, i64 4515487550675437812, i64 4497452910856606267, i64 4514708165209763330, i64 4496671693101977128, i64 4514010680150995939, i64 4495972993292399587, i64 4513386527415955899, i64 4495348133417105690, i64 4512828031231752238, i64 4494789344037059469, i64 4512049804641732573, i64 4493986911060095129, i64 4511155616388055997, i64 4493093338899814869, i64 4510355637762823307, i64 4492294396234314153, i64 4509639986949005170, i64 4491580105376560449, i64 4508999813998657108, i64 4490941536037639155, i64 4508427193575139834, i64 4490370695869777924, i64 4507726830587474700, i64 4489632036303610703, i64 4506810703022988485, i64 4488719861806274977, i64 4505991398113228056, i64 4487904585411728950, i64 4505258727911195788, i64 4487175958340581499, i64 4504603571696161721, i64 4486524811060827660, i64 4504017764683438450, i64 4485942940143351522, i64 4503388369201848161, i64 4485260784990047775, i64 4502451834100775574, i64 4484331664651517158, i64 4501614586607979047, i64 4483501546584166803, i64 4500866146560743661, i64 4482759926882626183, i64 4500197135119736692, i64 4482097411229472081, i64 4499599159554675512, i64 4481505598200855524, i64 4499033392313091946, i64 4480872320345842396, i64 4498078106524166826, i64 4479928016513237878, i64 4497224410403432273, i64 4479084641734688153, i64 4496461547203998623, i64 4478331454486120513, i64 4495779894144350258, i64 4477658851484029038, i64 4495170843399997236, i64 4477058247599299824, i64 4494626695528365376, i64 4476465907161556446, i64 4493688699952147098, i64 4475508278177259703, i64 4492820151713444131, i64 4474653315617868304, i64 4492044302183868466, i64 4473890059307525310, i64 4491351300283555837, i64 4473208714102998075, i64 4490732337243098401, i64 4472600526593741628, i64 4490179536807862098, i64 4472040919608282943, i64 4489282885423852957, i64 4471071908943816538, i64 4488401175369797758, i64 4470207101680821802, i64 4487613858503400826, i64 4469435339322061283, i64 4486910872488236676, i64 4468746653170136247, i64 4486283222993145699, i64 4468132138011136055, i64 4485722870833147206, i64 4467583839149937344, i64 4484860033105640438, i64 4466618472432806397, i64 4483966935583577150, i64 4465745627078542573, i64 4483169743721835641, i64 4464966976650527821, i64 4482458202283491727, i64 4464272398301680078, i64 4481823147916066332, i64 4463652852455899870, i64 4481256393404521133, i64 4463100267381891133, i64 4480419619046167809, i64 4462147641300828163, i64 4479516981806832679, i64 4461268616708145109, i64 4478711571035210478, i64 4460484741002075499, i64 4477992958166943911, i64 4459785757577396547, i64 4477351828437321302, i64 4459162510798818549, i64 4476779862439447100, i64 4458606828323594022, i64 4475961230838157148, i64 4457659200798674728, i64 4475050963606482523, i64 4456775896200942984, i64 4474239043465094321, i64 4455988492180771308, i64 4473514889202224329, i64 4455286619631014291, i64 4472869053218815478, i64 4454661025911519550, i64 4472293100601673653, i64 4454103455145031404, i64 4471484572101251498, i64 4453153051115196460, i64 4470568634476694506, i64 4452267393826839361, i64 4469751957091995539, i64 4451478181617789902, i64 4469023827753140095, i64 4450774954868181630, i64 4468374685463240211, i64 4450148383620063928, i64 4467795997236124733, i64 4449590146084085425, i64 4466989465717799209, i64 4448629208471746931, i64 4466069854531726820, i64 4447743141281932498, i64 4465250203284194789, i64 4446953852905805053, i64 4464519691316849249, i64 4446250815793317131, i64 4463868664410698709, i64 4445624642863055897, i64 4463288509580023267, i64 4445066964468771606, i64 4462475855772143737, i64 4444087804950422878, i64 4461554592038074460, i64 4443203273347238724, i64 4460733769887922361, i64 4442415641327356586, i64 4460002483427998097, i64 4441714336440303719, i64 4459351006004707675, i64 4441089935051804540, i64 4458770663231703742, i64 4440518843471242702, i64 4457943808163713607, i64 4439529087058641232, i64 4457022923762444653, i64 4438648026423673594, i64 4456202741360637770, i64 4437863772384331737, i64 4455472293619959492, i64 4437165730915662883, i64 4454821802717362419, i64 4436544462642255872, i64 4454242551869923541, i64 4435937482060558210, i64 4453393509884508239, i64 4434953413051878612, i64 4452475034130223152, i64 4434077735965570608, i64 4451657297845366914, i64 4433298559350924716, i64 4450929296443766697, i64 4432605291076362691, i64 4450281222536347594, i64 4431988496940407828, i64 4449704336227978772, i64 4431337515876326884, i64 4448825266972061752, i64 4430361249055254794, i64 4447911213207337047, i64 4429492832851720306, i64 4447097713200289913, i64 4428720399887226100, i64 4446373749559781954, i64 4428033383377497656, i64 4445729507129317772, i64 4427422375174490904, i64 4445156242338341466, i64 4426719564772907410, i64 4444239501169234782, i64 4425753164042703576, i64 4443331853536409306, i64 4424893838748855092, i64 4442524352013730993, i64 4424129771764656774, i64 4441805990931287117, i64 4423450444937475739, i64 4441166969213708453, i64 4422846496878118822, i64 4440598559074636773, i64 4422084358433331199, i64 4439636745341835511, i64 4421129823749393119, i64 4438737445875482082, i64 4420281360537379636, i64 4437937665650067189, i64 4419527227767529082, i64 4437226435162758427, i64 4418856978879820198, i64 4436593989172023412, i64 4418261319638677704, i64 4436017637096769685, i64 4417432728615849676, i64 4435017637723721733, i64 4416491983608511578, i64 4434128573904021284, i64 4415656083882671050, i64 4433338187386546434, i64 4414913389846843708, i64 4432635569038325095, i64 4414253549021025600, i64 4432011010963846253, i64 4413667354274240215, i64 4431369716202493563, i64 4412765600402437403, i64 4430382915076326267, i64 4411840480817235448, i64 4429505907976087779, i64 4411018766047197311, i64 4428726526714310014, i64 4410288942612797144, i64 4428033946327568301, i64 4409640773982909194, i64 4427418537396029098, i64 4409065159510098973, i64 4426705035361948668, i64 4408083982578017867, i64 4425733404865151114, i64 4407176225648401652, i64 4424870198014184890, i64 4406370228048813933, i64 4424103362888799765, i64 4405654626261198017, i64 4423422181936175524, i64 4405019320815413018, i64 4422817124821529823, i64 4404390236896605777, i64 4422024600802619992, i64 4403388957280273332, i64 4421070016569404263, i64 4402500192133910450, i64 4420222265649118212, i64 4401711346278727432, i64 4419469437824980460, i64 4401011229035925783, i64 4418800945487837751, i64 4400389898221715199, i64 4418207377345039092, i64 4399660206862969147, i64 4417329502040150610, i64 4398681669068384603, i64 4416393732252366056, i64 4397813408253045907, i64 4415562995721024990, i64 4397043043698634633, i64 4414825548441244759, i64 4396359579334608208, i64 4414170954431011489, i64 4395753249481714192, i64 4413589940619729459, i64 4394917527112042696, i64 4412620900719210847, i64 4393963313564803698, i64 4411705596529080437, i64 4393116945763618379, i64 4410893327264385838, i64 4392366280740382436, i64 4410172538562356026, i64 4391700537567783014, i64 4409532966769649212, i64 4391110145172409029, i64 4408906955452433964, i64 4390163577485640142, i64 4407900018911328121, i64 4389235125827135950, i64 4407006706074436210, i64 4388411909816068207, i64 4406214244105210575, i64 4387682046033114772, i64 4405511290496231984, i64 4387034987882926165, i64 4404887773520656328, i64 4386416714509941134, i64 4404149065252992273, i64 4385399771109279312, i64 4403168127034073887, i64 4384498368607402888, i64 4402298198818558245, i64 4383699428490435018, i64 4401526765201632961, i64 4382991347082302111, i64 4400842716401734483, i64 4382363829863899231, i64 4400236191002626637, i64 4381613051233962112, i64 4399380036499610526, i64 4380627541241206900, i64 4398426531557866647, i64 4379754320653438175, i64 4397581242977650252, i64 4378980642393459022, i64 4396831934859848546, i64 4378295201022350762, i64 4396167749564908339, i64 4377687970313657265, i64 4395579053060349057, i64 4376801280310917865, i64 4394601358794713072, i64 4375848328309204056, i64 4393676562665589239, i64 4375004265202057256, i64 4392857026067058526, i64 4374256694448155649, i64 4392130812955729106, i64 4373594625559774924, i64 4391487335699351361, i64 4373008315223571511, i64 4390824769969193713, i64 4371983014434837607, i64 4389814536904427720, i64 4371063567296273646, i64 4388919562026330402, i64 4370249478806111019, i64 4388126744039454178, i64 4369528720001155045, i64 4387424465288637932, i64 4368890630217334906, i64 4386802424382687053, i64 4368159885503814726, i64 4385996938197256801, i64 4367159848810446418, i64 4385021077274909392, i64 4366274675625782082, i64 4384156870837999094, i64 4365491220627805227, i64 4383391590684805643, i64 4364797837364126051, i64 4382713954188089877, i64 4364184207981286347, i64 4382113960735579544, i64 4363294345525856698, i64 4381163055780157414, i64 4362333348140724139, i64 4380222474987581674, i64 4361483041683874250, i64 4379389818284532919, i64 4360730722319001213, i64 4378652747420425809, i64 4360065138894947869, i64 4378000329486125960, i64 4359468215593687312, i64 4377346917080959673, i64 4358426489637251765, i64 4376324779549305719, i64 4357505034446203801, i64 4375420201306509285, i64 4356690014102322820, i64 4374619710542183259, i64 4355969178595902680, i64 4373911373589061737, i64 4355331682712217036, i64 4373284619958817466, i64 4354555011381884293, i64 4372464936233505007, i64 4353557976649225471, i64 4371483728574663932, i64 4352676375839196607, i64 4370615691956680769, i64 4351896891908765863, i64 4369847820456202821, i64 4351207738600896041, i64 4369168597371016129, i64 4350598485123468495, i64 4368567825329420513, i64 4349642561627280385, i64 4367581312867083313, i64 4348690395266224899, i64 4366641471797104951, i64 4347848776356807070, i64 4365810336255695154, i64 4347104915633901581, i64 4365075377994510456, i64 4346447498128681516, i64 4364425507402941083, i64 4345759387254364911, i64 4363713778905255467, i64 4344732575076751027, i64 4362697751416495613, i64 4343825253736889184, i64 4361799516718098586, i64 4343023566936314099, i64 4361005467203594377, i64 4342315259447028828, i64 4360303561568909690, i64 4341689492777550812, i64 4359683145181537406, i64 4340803323183224064, i64 4358785142654242370, i64 4339826661636695918, i64 4357815877761973296, i64 4338963970847616214, i64 4356959299246756751, i64 4338201997595672682, i64 4356202352616766538, i64 4337529024372730316, i64 4355533490297550829, i64 4336902942982363370, i64 4354904156963226671, i64 4335853244970012015, i64 4353859846013667828, i64 4334926323564218914, i64 4352937228983607020, i64 4334107868309575442, i64 4352122174782501851, i64 4333385230860959663, i64 4351402187372371549, i64 4332747232622867282, i64 4350766217264915309, i64 4331905147611384180, i64 4349931749303054544, i64 4330910731883200482, i64 4348939523615795565, i64 4330032948250001868, i64 4348063244556953806, i64 4329258164566768903, i64 4347289410589497163, i64 4328574336461952233, i64 4346606086810014840, i64 4327970823059748442, i64 4346002723818024000, i64 4326917206123167137, i64 4344966354489885989, i64 4325977228880822007, i64 4344025693570862696, i64 4325147802602681844, i64 4343195259032191994, i64 4324415970030185416, i64 4342462179496936803, i64 4323770287297069472, i64 4341815081317807745, i64 4322945653301697243, i64 4341017789055190713, i64 4321940610582333763, i64 4340009561629759772, i64 4321054041793826430, i64 4339119750654020132, i64 4320272029020209443, i64 4338334496214893329, i64 4319582283721622754, i64 4337641554937755497, i64 4318973956649972632, i64 4337030112110874981, i64 4317922897074629882, i64 4336014789975454161, i64 4316976693884744492, i64 4335062816460341446, i64 4316142334257562365, i64 4334222961174587429, i64 4315406642910887722, i64 4333482064843112630, i64 4314757991290721816, i64 4332828507317673258, i64 4313923790224096127, i64 4332041214853864008, i64 4312915481092650391, i64 4331024294970632437, i64 4312026627896646528, i64 4330127417143722148, i64 4311243126329826063, i64 4329336459500938994, i64 4310552531705916176, i64 4328638955733458219, i64 4309942885307372332, i64 4328023901687086421, i64 4308870032071887260, i64 4327003927033251137, i64 4307924569985932385, i64 4326047621001924483, i64 4307091423410876183, i64 4325204511872660977, i64 4306357294712520384, i64 4324461246191151088, i64 4305710455286582323, i64 4323806040348450999, i64 4304839878354050007, i64 4323001351065241162, i64 4303835735458387180, i64 4321983239678364853, i64 4302951149013780599, i64 4321085915950814408, i64 4302171931809269058, i64 4320295098214449119, i64 4301485574475245742, i64 4319598187658520053, i64 4300824451327138991, i64 4318984070719101761, i64 4299759611602008293, i64 4317933846535310146, i64 4298821841312750318, i64 4316980283694940645, i64 4297996027416578370, i64 4316140159425550581, i64 4297268848302093385, i64 4315400024095249529, i64 4296628562163296780, i64 4314748017282488148, i64 4295695596063474663, i64 4313898918260007788, i64 4294702960156711329, i64 4312887142420723091, i64 4293829097536028644, i64 4311996003356718288, i64 4293059843404027521, i64 4311211165302221064, i64 4292382716600327636, i64 4310519990309386134, i64 4291642995435286373, i64 4309877832325620369, i64 4290593885945940661, i64 4308805932694841582, i64 4289670588866623307, i64 4307862127711007015, i64 4288858065983084608, i64 4307031160657298354, i64 4288143070606745885, i64 4306299585856223871, i64 4287513934865022536, i64 4305655554422790361, i64 4286493919065276740, i64 4304736006785654689, i64 4285519878412191916, i64 4303737953115285628, i64 4284662961553509448, i64 4302859492277079794, i64 4283909130916716056, i64 4302086341299975649, i64 4283246025808479051, i64 4301405917325790388, i64 4282402279910284935, i64 4300676627716682213, i64 4281376273610876199, i64 4299622822405818631, i64 4280473915148313129, i64 4298695574491630617, i64 4279680351698192914, i64 4297879734966136475, i64 4278982508722922247, i64 4297161962137697193, i64 4278318109538289088, i64 4296530506738702037, i64 4277239013013632977, i64 4295516000483135037, i64 4276290252008006263, i64 4294538753820782884, i64 4275456135238516649, i64 4293679186198406734, i64 4274722854341355348, i64 4292923173141094649, i64 4274078258672835092, i64 4292258279866839481, i64 4273107267534131176, i64 4291416674768716603, i64 4272111238770139493, i64 4290388309479526246, i64 4271235833068771540, i64 4289484055893333255, i64 4270466489453436094, i64 4288688983880572212, i64 4269790398958772342, i64 4287989953439709169, i64 4268980142287346315, i64 4287323956291204830, i64 4267936085173780599, i64 4286243454435697717, i64 4267018747538381077, i64 4285293647519304396, i64 4266212798355503382, i64 4284458778135846556, i64 4265504755410252822, i64 4283724982476811711, i64 4264856679028609430, i64 4283080063526866104, i64 4263763946288152151, i64 4282103337038346045, i64 4262804133847076947, i64 4281107208635003495, i64 4261961124699537077, i64 4280231891331836462, i64 4261220749790383093, i64 4279462780194201269, i64 4260570553345695745, i64 4278787030147613479, i64 4259593925269394177, i64 4277967043229836720, i64 4258591202536744621, i64 4276923932917724775, i64 4257710773742395420, i64 4276007612393890710, i64 4256937770870647224, i64 4275202719697579734, i64 4256259127720494396, i64 4274495748116221482, i64 4255425076643859329, i64 4273833599349027561, i64 4254379122440765374, i64 4272742962706893979, i64 4253461014992386053, i64 4271785186051904615, i64 4252655176803414312, i64 4270944136066334658, i64 4251947922380583482, i64 4270205632212508884, i64 4251256410110557273, i64 4269557211136986128, i64 4250167024083399847, i64 4268563392062766262, i64 4249211085245781977, i64 4267563815592338742, i64 4248372297832153362, i64 4266686328826817113, i64 4247636349718166217, i64 4265916066736469712, i64 4246990671729894314, i64 4265239968394112940, i64 4245954003516554305, i64 4264384270334656907, i64 4244960192001347721, i64 4263342666052227308, i64 4244088439328168155, i64 4262428564808837924, i64 4243323801034702869, i64 4261626408060752461, i64 4242653156649476352, i64 4260922529752130001, i64 4241739126576004358, i64 4260204606227263862, i64 4240707517236352872, i64 4259120867844193847, i64 4239802885138669583, i64 4258170081374928578, i64 4239009649507893094, i64 4257335987505361406, i64 4238314135426310101, i64 4256604309053558445, i64 4237521433533893080, i64 4255962510106428399, i64 4236452221522981961, i64 4254897520796342291, i64 4235514901227036323, i64 4253910090007423643, i64 4234693253409280190, i64 4253044114520788159, i64 4233973047162106470, i64 4252284701687542709, i64 4233299944119144582, i64 4251618779223987285, i64 4232193448459565965, i64 4250671698585731748, i64 4231223739582232910, i64 4249647780233935087, i64 4230373959551765043, i64 4248750080161882967, i64 4229629321605727543, i64 4247963087662508807, i64 4228976856486655616, i64 4247273192139555617, i64 4227930329386726991, i64 4246442453539044260, i64 4226928642370614576, i64 4245382323867368285, i64 4226051106943092688, i64 4244453160830945078, i64 4225282382366856352, i64 4243638834909052982, i64 4224609017635473021, i64 4242925196863208906, i64 4223661988354409648, i64 4242208821769090568, i64 4222628846299807591, i64 4241112879532339028, i64 4221724030618332648, i64 4240152622264805790, i64 4220931650280491769, i64 4239311302790472039, i64 4220237776056073400, i64 4238574234577747411, i64 4219387547301934974, i64 4237928538983340065, i64 4218323587161068418, i64 4236838597445755036, i64 4217392065621564253, i64 4235847723737152835, i64 4216576546895874420, i64 4234979845795315251, i64 4215862628674455635, i64 4234219742882045142, i64 4215106131409718071, i64 4233554072023040539, i64 4214012104513548681, i64 4232558624415488348, i64 4213054551104446331, i64 4231537722444055913, i64 4212216498061298554, i64 4230643817383521449, i64 4211483076791026935, i64 4229861159162876585, i64 4210816874578198147, i64 4229175945035385857, i64 4209693646471276725, i64 4228272109017548610, i64 4208710834507140842, i64 4227221878037654166, i64 4207850937574401398, i64 4226302573955149932, i64 4207098629266464581, i64 4225497924067827481, i64 4206440488475468832, i64 4224793672012323348, i64 4205367474551457338, i64 4223978206909030876, i64 4204360275785212227, i64 4222899457270308024, i64 4203479310865979809, i64 4221955478908464022, i64 4202708805731067509, i64 4221129485049994814, i64 4202034951510522681, i64 4220406773492664495, i64 4201032868540931113, i64 4219676086231410324, i64 4200002251644674105, i64 4218569738709247485, i64 4199101078684194205, i64 4217601906752221699, i64 4198313139788579307, i64 4216755299953587400, i64 4197624248933815313, i64 4216014779687324301, i64 4196689131336360108, i64 4215364933056540302, i64 4195636159746333013, i64 4214232017479909011, i64 4194715720745207419, i64 4213241247235505078, i64 4193911182184825031, i64 4212374840608282768, i64 4193207992957965869, i64 4211617233606483164, i64 4192335593712946908, i64 4210954804208718573, i64 4191261422840009872, i64 4209885609994781075, i64 4190322739315891690, i64 4208872909457310811, i64 4189502503911214448, i64 4207987596399304721, i64 4188785813951652281, i64 4207213694159796742, i64 4187971618976272200, i64 4206537223848773968, i64 4186877492789122024, i64 4205529858623704839, i64 4185921662694235326, i64 4204496325917452559, i64 4185086699213235819, i64 4203593077779680543, i64 4184357363039022090, i64 4202803739200408209, i64 4183596607452166663, i64 4202113987167792175, i64 4182483854446493696, i64 4201164136261225554, i64 4181512048553500421, i64 4200110956470114094, i64 4180663388474503661, i64 4199190819691033098, i64 4179922314585715720, i64 4198386968483498250, i64 4179210000770422826, i64 4197684749846528966, i64 4178080029343134830, i64 4196787850746778421, i64 4177093487117026928, i64 4195716292141650455, i64 4176232220947732202, i64 4194780384859571292, i64 4175480368546758825, i64 4193963006510448768, i64 4174811285899599924, i64 4193249189589631408, i64 4173665579153084461, i64 4192400449094228617, i64 4172665604131842478, i64 4191311858774970822, i64 4171792877305178968, i64 4190361366934666568, i64 4171031252652663825, i64 4189531505230399058, i64 4170366626918624313, i64 4188807008449777442, i64 4169240108899244737, i64 4188001421488569046, i64 4168228063610911144, i64 4186897220464049292, i64 4167345071982629793, i64 4185933393438540841, i64 4166574724411470086, i64 4185092146572034984, i64 4165902691809739919, i64 4184357934999433932, i64 4164803269867417290, i64 4183590305009403247, i64 4163780570315921060, i64 4182471982743790021, i64 4162888555292861930, i64 4181496128497134084, i64 4162110572906133022, i64 4180644644779863873, i64 4161432086963856954, i64 4179901726328100305, i64 4160354762198470053, i64 4179166687043188177, i64 4159322871954947338, i64 4178035795502605364, i64 4158423115286704542, i64 4177049275324152388, i64 4157638620368625038, i64 4176188748530976116, i64 4156954663542801858, i64 4175438169844483568, i64 4155894337131677514, i64 4174730208349057452, i64 4154854761072103999, i64 4173588355587626769, i64 4153948579342289488, i64 4172592578432598666, i64 4153158723514312277, i64 4171724242810359424, i64 4152470302934111666, i64 4170967084864900755, i64 4151421798875752579, i64 4170280565746357421, i64 4150376076609382150, i64 4169129409075428361, i64 4149464815465819013, i64 4168125825550730985, i64 4148670774622592601, i64 4167250950525188574, i64 4147978917646338908, i64 4166488323971304594, i64 4146937006087879147, i64 4165817514395765790, i64 4145886705124221818, i64 4164658753184465987, i64 4144971733290135351, i64 4163648849222345156, i64 4144174702352390862, i64 4162768733841132993, i64 4143480451971835959, i64 4162001774124650875, i64 4142439872945111743, i64 4161333462670158221, i64 4141386581649937685, i64 4160176237809077876, i64 4140469284760521533, i64 4159161528074500862, i64 4139670472283872814, i64 4158277495226572890, i64 4138974882409993261, i64 4157507357521841720, i64 4137930369796778173, i64 4156836482258678006, i64 4136875690189866980, i64 4155681766658809287, i64 4135957464500450736, i64 4154663787739262087, i64 4135158087180621857, i64 4153777178193654501, i64 4134462217846431970, i64 4153005032187154405, i64 4133408523390945617, i64 4152332613359245851, i64 4132354063839980221, i64 4151175297990960631, i64 4131436309853388947, i64 4150155601419656936, i64 4130637586969484288, i64 4149267767728305585, i64 4129942499486239166, i64 4148494792291864837, i64 4128874416672529956, i64 4147821857203550533, i64 4127821784538639971, i64 4146656844928560846, i64 4126905900600196465, i64 4145636990093829938, i64 4126109048438288462, i64 4144749290404630621, i64 4125415800541947589, i64 4143976668198660101, i64 4124328188155180702, i64 4143296835836414307, i64 4123278982446155288, i64 4142126475360376723, i64 4122366358355120842, i64 4141108022355210485, i64 4121572584654640295, i64 4140221814182466051, i64 4120882225679566177, i64 4139450726230366586, i64 4119770030873597522, i64 4138751632901995308, i64 4118725834960706103, i64 4137584311424024292, i64 4117817845646780247, i64 4136568813890401396, i64 4117028344111950992, i64 4135685447890253651, i64 4116341910228526994, i64 4134917068165458645, i64 4115200190927367378, i64 4134193038201943131, i64 4114162565381048787, i64 4133030528577689086, i64 4113260564693855468, i64 4132019526600348574, i64 4112476509611722559, i64 4131140340398738167, i64 4111795019163893615, i64 4130375830465717513, i64 4110618965631693431, i64 4129621301205992886, i64 4109589441230109621, i64 4128465354270327545, i64 4108694755888395939, i64 4127460367374133624, i64 4107917296893863685, i64 4126586679494268163, i64 4107200631581192150, i64 4125827183244241501, i64 4106026701294460538, i64 4125036729562209633, i64 4105006772257077131, i64 4123889066224452209, i64 4104120696002657562, i64 4122891586528384563, i64 4103350953029396332, i64 4122024690463631902, i64 4102585360883974647, i64 4121271328984727872, i64 4101423790642893046, i64 4120439686783197151, i64 4100414908138870733, i64 4119301990349641657, i64 4099538696138187750, i64 4118313475928776050, i64 4098777754592307598, i64 4117454634405350644, i64 4097958257850164437, i64 4116708501025517697, i64 4096810669926558871, i64 4115830589527943350, i64 4095814235904849293, i64 4114704498308708114, i64 4094949099438419804, i64 4113726366813343464, i64 4094198005629471248, i64 4112876806285140063, i64 4093319860970163809, i64 4112138961824283264, i64 4092187815726614694, i64 4111209904507738915, i64 4091205177111291003, i64 4110097004761951402, i64 4090352278588302220, i64 4109130627340321925, i64 4089612035449481431, i64 4108291532755800175, i64 4088670751913177499, i64 4107563001021412158, i64 4087555741503931671, i64 4106578145048311415, i64 4086588184794492690, i64 4105479964318082280, i64 4085748633126441134, i64 4104526659885903676, i64 4085020196252884372, i64 4103699169764072584, i64 4084011551350892083, i64 4102980933322075340, i64 4082914993921056760, i64 4101935867343593891, i64 4081963740233275039, i64 4100853868223171736, i64 4081138586596853407, i64 4099914898119651769, i64 4080422860627643453, i64 4099100099968983036, i64 4079342914555048205, i64 4098393096218634824, i64 4078266148974826011, i64 4097283666439354916, i64 4077332349553219311, i64 4096219240821342140, i64 4076522583568696377, i64 4095295803887286810, i64 4075820418934715023, i64 4094494729997843775, i64 4074665526812516589, i64 4093799847576430429, i64 4073609807977834556, i64 4092622171987224322, i64 4072694540206086051, i64 4091576635822834708, i64 4071901086553246538, i64 4090669863932154750, i64 4071172490075746132, i64 4089883487567406127, i64 4069980098702639483, i64 4089134664561729403, i64 4068946593427872482, i64 4087952043811430911, i64 4068050857358568883, i64 4086926632416545873, i64 4067274572847937079, i64 4086037586487871429, i64 4066453239292518409, i64 4085266818498616284, i64 4065287361282190173, i64 4084432405483204329, i64 4064277144804852853, i64 4083273967331809754, i64 4063401860224814849, i64 4082269831265110599, i64 4062643531337433026, i64 4081399497775414394, i64 4061726277310716193, i64 4080645183654029418, i64 4060588061223337072, i64 4079721663635479640, i64 4059602114334691556, i64 4078588648887329686, i64 4058748118377001589, i64 4077606850421118326, i64 4058008459281527773, i64 4076756138438291371, i64 4056992472156783177, i64 4076019055827177341, i64 4055882955949486834, i64 4075003265700824524, i64 4054922162759059587, i64 4073896811004537249, i64 4054090208067711760, i64 4072938321203079517, i64 4053369859119096437, i64 4072108059949360827, i64 4052252699769271919, i64 4071388916613066987, i64 4051172808812841829, i64 4070278052596488192, i64 4050237955148934610, i64 4069199187654920908, i64 4049428708596903163, i64 4068264884069326999, i64 4048720405626835064, i64 4067455821022422840, i64 4047507838532730340, i64 4066755253288520104, i64 4046458384355967747, i64 4065546874052368373, i64 4045550156798454497, i64 4064496519544285898, i64 4044764198754961352, i64 4063587184527152746, i64 4043935717195843415, i64 4062799984060853187, i64 4042758763945323143, i64 4061990247572338966, i64 4041740443697660310, i64 4060810583263908777, i64 4040859429233751196, i64 4059789549475820168, i64 4040097253371667150, i64 4058905869113170030, i64 4039146987068042444, i64 4058141111674340968, i64 4038006343464267773, i64 4057215362534302235, i64 4037019740080965640, i64 4056070031666421609, i64 4036166426369254012, i64 4055079017826656992, i64 4035428439998946182, i64 4054221581479181452, i64 4034355200205038751, i64 4053479763293235932, i64 4033251431570011870, i64 4052436360176086411, i64 4032297014618391425, i64 4051326063874480951, i64 4031471790841437111, i64 4050365658175437470, i64 4030758315753026556, i64 4049534958615759064, i64 4029561322336141858, i64 4048816491908146204, i64 4028494865086531432, i64 4047654200408972515, i64 4027572992266194992, i64 4046579512827030757, i64 4026776150547190195, i64 4045650193115689485, i64 4025956781809081952, i64 4044846627243341765, i64 4024766294846091609, i64 4044071216541863330, i64 4023737458791246140, i64 4042869825470048844, i64 4022848378056202364, i64 4041831195175450813, i64 4022080115410960394, i64 4040933330286816098, i64 4021118119316804605, i64 4040157200397969643, i64 4019971030022826290, i64 4039243817060019195, i64 4018980001343893332, i64 4038084154875684790, i64 4018123853609954685, i64 4037081906948083484, i64 4017384274401595769, i64 4036215758651177124, i64 4016279995106991334, i64 4035467274235849881, i64 4015176406695002779, i64 4034415751823575456, i64 4014223251559340008, i64 4033298080720051028, i64 4013400073956151700, i64 4032332419520704630, i64 4012671117645820258, i64 4031498145042206544, i64 4011443384651959588, i64 4030777425077831520, i64 4010383266283833323, i64 4029588016779841902, i64 4009467935044808721, i64 4028512463348678146, i64 4008677664668423760, i64 4027583475918187180, i64 4007787151334247975, i64 4026781131004790943, i64 4006609217183737886, i64 4025958346553987262, i64 4005592409288554743, i64 4024761567760359186, i64 4004714741217413923, i64 4023728127432036590, i64 4003957219336470809, i64 4022835787468220103, i64 4002906804140139825, i64 4022065329945296613, i64 4001778372067321486, i64 4021085828690325661, i64 4000804592219569187, i64 4019937316354939543, i64 3999964320713314453, i64 4018945858458997581, i64 3999239297379614816, i64 4018090030823473327, i64 3998031037766637316, i64 4017351324604731342, i64 3996951675696736076, i64 4016216633523633366, i64 3996020524988062777, i64 4015116126282002736, i64 3995217283195247309, i64 4014166399664870560, i64 3994355974938118644, i64 4013346845364103917, i64 3993160750653610836, i64 4012572061742120089, i64 3992129898919305708, i64 4011351706604235141, i64 3991240868755787802, i64 4010298810267363510, i64 3990474195560776384, i64 4009390449403578716, i64 3989436889613413733, i64 4008606830988041831, i64 3988296775504351975, i64 4007658063422806430, i64 3987313754987795141, i64 4006491932464706042, i64 3986466234243749295, i64 4005486127437813211, i64 3985735580549321971, i64 4004618658968497876, i64 3984525764214955055, i64 4003870546292133038, i64 3983439877413790646, i64 4002750744508573861, i64 3982503898034626801, i64 4001638132099838988, i64 3981697180493826232, i64 4000678781230195671, i64 3980821760888446516, i64 3999851630861609017, i64 3979623414384774239, i64 3999080545181015753, i64 3978590752586807926, i64 3997850988056435102, i64 3977700922057220507, i64 3996791061034918605, i64 3976934214072933606, i64 3995877417811274168, i64 3975868794920578873, i64 3995089917505959078, i64 3974730575928317133, i64 3994129501787440709, i64 3973750027629634434, i64 3992959600622480365, i64 3972905360398723697, i64 3991951407972179191, i64 3972177788705239850, i64 3991082624998583942, i64 3970927364537479406, i64 3990334020392041230, i64 3969847904509082898, i64 3989188748967648291, i64 3968918259392213074, i64 3988077311225728788, i64 3968117685704037459, i64 3987119793999785581, i64 3967185338915059534, i64 3986294931667717779, i64 3965998149470226235, i64 3985483109066391563, i64 3964975975951995786, i64 3984259052519716092, i64 3964095935334809349, i64 3983204770939522733, i64 3963338310327136537, i64 3982296772342588461, i64 3962204552820188019, i64 3981514807627147197, i64 3961081738495269518, i64 3980500777390442393, i64 3960115287121050567, i64 3979341088827676635, i64 3959283474388107279, i64 3978342553082365781, i64 3958471101865851618, i64 3977482828629316145, i64 3957238941739496971, i64 3976742663937777103, i64 3956178630938609630, i64 3975532471279239927, i64 3955266257332653447, i64 3974435445604639578, i64 3954481228272559820, i64 3973491153975321274, i64 3953451148905948013, i64 3972678381646809480, i64 3952288998738074067, i64 3971782835961217396, i64 3951289238756991231, i64 3970578785445668282, i64 3950429230262637847, i64 3969542623253038467, i64 3949689483239884861, i64 3968650994228943216, i64 3948449565707919371, i64 3967883784548411807, i64 3947355118870687241, i64 3966776074158698202, i64 3946413889145247743, i64 3965640216034178175, i64 3945604476302177619, i64 3964663036796204114, i64 3944663650818080482, i64 3963822420519226697, i64 3943466718815433280, i64 3963030980875381052, i64 3942437602616289745, i64 3961787053044186629, i64 3941552827616393365, i64 3960717163324085903, i64 3940792195315747587, i64 3959797018332080148, i64 3939626980397901889, i64 3959005707809251407, i64 3938502869700081454, i64 3957986396722295056, i64 3937536659804995676, i64 3956816146986320442, i64 3936706221499298363, i64 3955809934985253034, i64 3935838965183948449, i64 3954944819957281795, i64 3934612289846448126, i64 3954201061971049562, i64 3933558179671660403, i64 3952962879912664713, i64 3932652413973165488, i64 3951863627374863681, i64 3931874163797776049, i64 3950918749824874660, i64 3930768561435006273, i64 3950106617107847293, i64 3929619676813056739, i64 3949160372317572250, i64 3928632715220626980, i64 3947960651423026676, i64 3927784907081751123, i64 3946929667324123637, i64 3926974479642177281, i64 3946043741962662463, i64 3925723521685460802, i64 3945282512261922912, i64 3924649135237802925, i64 3944103660621847155, i64 3923726453718444089, i64 3942979824026195781, i64 3922934104533353872, i64 3942014346810280694, i64 3921872163089430395, i64 3941184965371094482, i64 3920703749291438768, i64 3940295403949271299, i64 3919700562167692152, i64 3939071551270992479, i64 3918839289402565720, i64 3938020408531128486, i64 3918068125036651373, i64 3937117658169973713, i64 3916798695149765862, i64 3936342398717574347, i64 3915709042792371425, i64 3935207257703034535, i64 3914773764833974284, i64 3934063968413884503, i64 3913971039574638887, i64 3933082320371670649, i64 3912936169757625137, i64 3932239511888359610, i64 3911753754942043120, i64 3931389426198052394, i64 3910739104214501399, i64 3930147129438419035, i64 3909868467910815494, i64 3929080732922890372, i64 3909118425328503937, i64 3928165386463196759, i64 3907836603540760836, i64 3927379742606531688, i64 3906736918469915478, i64 3926272053010535086, i64 3905793547512288519, i64 3925114725139331613, i64 3904984320879083764, i64 3924121570451234449, i64 3903959535157991448, i64 3923269352248727037, i64 3902768852649637381, i64 3922440955121425656, i64 3901747668375591007, i64 3921186171351860255, i64 3900871907063913897, i64 3920109648943291893, i64 3900120905423177520, i64 3919186119638675334, i64 3898836582057056471, i64 3918393888859439140, i64 3897732245063101880, i64 3917296987042604376, i64 3896785403683088860, i64 3916131240752923640, i64 3895973646142394525, i64 3915131412634952095, i64 3894941807911630799, i64 3914273940382854232, i64 3893748712955299615, i64 3913449124451994941, i64 3892726021587141261, i64 3912187994608892413, i64 3891849449446170668, i64 3911106623390969524, i64 3891086252531245731, i64 3910179445143298738, i64 3889798524097495841, i64 3909384522098777392, i64 3888694984712866410, i64 3908281584885434543, i64 3887749346785182158, i64 3907113164665825115, i64 3886939066223257517, i64 3906111594932616520, i64 3885883142633990549, i64 3905253101958619380, i64 3884693526156487143, i64 3904413706858875475, i64 3883674376440603411, i64 3903152465734766219, i64 3882801319644456915, i64 3902071594517963766, i64 3882004039824953095, i64 3901145355213287860, i64 3880722883895279583, i64 3900351674392222041, i64 3879625579852301259, i64 3899225967892250430, i64 3878685801448682025, i64 3898060657774005987, i64 3877880983904958024, i64 3897062303977890086, i64 3876784296156457980, i64 3896207038671263555, i64 3875603997650467684, i64 3895335119542916389, i64 3874593385977386891, i64 3894080003467934041, i64 3873728118747611166, i64 3893004973549769569, i64 3872878996434518658, i64 3892084247065321442, i64 3871610665392228174, i64 3891295724463222155, i64 3870524942371397165, i64 3890130850696074660, i64 3869595593097969532, i64 3888974388497994905, i64 3868800144036037102, i64 3887984160435177525, i64 3867646609006963271, i64 3887136323280463472, i64 3866481330680380650, i64 3886214413973245923, i64 3865484127722753017, i64 3884971568461414062, i64 3864630809657892063, i64 3883907634574486296, i64 3863712839956415962, i64 3882996913133426295, i64 3862463397734078060, i64 3882217388385961167, i64 3861394431373542616, i64 3880997523658940006, i64 3860479927831238359, i64 3879855516374601211, i64 3859697615387315473, i64 3878878203771309622, i64 3858471972782999427, i64 3878041885565019556, i64 3857327197073819609, i64 3877053250118043295, i64 3856348077504530226, i64 3875828639754014230, i64 3855510693716182125, i64 3874780893148531517, i64 3854507862918472509, i64 3873884521687032019, i64 3853283098222835316, i64 3873117702084242969, i64 3852235820282168048, i64 3871827821360004709, i64 3851340363262152145, i64 3870705663763583199, i64 3850571848284186670, i64 3869745866914267375, i64 3849262784527005876, i64 3868924989676557794, i64 3848143696968561989, i64 3867853856052251692, i64 3847187073945800438, i64 3866653178816878720, i64 3846369379434048740, i64 3865626474350820597, i64 3845266877771486547, i64 3864748588492777558, i64 3844072223980724554, i64 3863907512180397139, i64 3843051254410217269, i64 3862624078198158508, i64 3842178771308862111, i64 3861526876634180648, i64 3841295967446573644, i64 3860588941662423748, i64 3840021889642131637, i64 3859787203663178401, i64 3838933308881409715, i64 3858618974315944824, i64 3838003274825479666, i64 3857447582396866138, i64 3837208744382628148, i64 3856446471369612420, i64 3835993150372284567, i64 3855590940480768819, i64 3834833613944254936, i64 3854638447783520203, i64 3833843200411110302, i64 3853389072610715138, i64 3832997294172621896, i64 3852321575756130471, i64 3831986426788095594, i64 3851409536011262048, i64 3830752515247915949, i64 3850630362189832412, i64 3829698831778846033, i64 3849351796828091068, i64 3828799106753963343, i64 3848214625741047364, i64 3828002099734890696, i64 3847243296011290436, i64 3826690324156030031, i64 3846413672632295675, i64 3825570423101354353, i64 3845336169335939209, i64 3824614389274970042, i64 3844125961770611311, i64 3823798294952005631, i64 3843092499922056197, i64 3822647314358346570, i64 3842210024817484455, i64 3821458196155834638, i64 3841342565240282633, i64 3820443321040250086, i64 3840055890513564085, i64 3819577209802676349, i64 3838957398081081696, i64 3818623718461810570, i64 3838019622765608012, i64 3817362337455641201, i64 3837219099510014373, i64 3816286051098018858, i64 3836004681518361213, i64 3815367754708744757, i64 3834838208905565400, i64 3814584304481577682, i64 3833842643060813669, i64 3813282995385017829, i64 3832992995412758683, i64 3812142695833619763, i64 3831972563850090070, i64 3811170020357309067, i64 3830735116062572052, i64 3810340378849603382, i64 3829679232470945785, i64 3809220277354362534, i64 3828778328237939091, i64 3808013336584090764, i64 3827959722726122573, i64 3806984067466284794, i64 3826648265642316929, i64 3806106368837711710, i64 3825529505573453818, i64 3805174246994333988, i64 3824575187255965092, i64 3803898017289350553, i64 3823761189904128848, i64 3802809924819105901, i64 3822577763351767641, i64 3801882291682633005, i64 3821393542402125027, i64 3801091503454304233, i64 3820383632199132188, i64 3799796742196228330, i64 3819522427859978236, i64 3798647587347349138, i64 3818523671746670068, i64 3797668135759803897, i64 3817271386130041431, i64 3796833377186763614, i64 3816203691322932251, i64 3795709473632118971, i64 3815293433755518365, i64 3794497014275497422, i64 3814486007520894934, i64 3793463859038273616, i64 3813163040804803562, i64 3792583545326170604, i64 3812035359514763007, i64 3791636129865500501, i64 3811074196034097533, i64 3790358127342417898, i64 3810255011814062584, i64 3789269387603221443, i64 3809068469152614901, i64 3788341938828596232, i64 3807878596464093261, i64 3787551934844740204, i64 3806864673166065822, i64 3786230809114393441, i64 3806000734048011183, i64 3785084614258605028, i64 3804987590468270408, i64 3784108460382066668, i64 3803733324908495734, i64 3783277172203638818, i64 3802664792191740614, i64 3782114901404705208, i64 3801754544510950826, i64 3780909397222569965, i64 3800920278608430472, i64 3779882983330701330, i64 3799599428970218871, i64 3779009107326595088, i64 3798474447343614296, i64 3778010203814811269, i64 3797516347194147669, i64 3776743558928266644, i64 3796700422989553417, i64 3775665350690138356, i64 3795476752598124986, i64 3774747601710721536, i64 3794293498760290967, i64 3773916472412096101, i64 3793286017162362993, i64 3772586884942635850, i64 3792428249333853734, i64 3771455374264778963, i64 3791365098129867739, i64 3770492490436539268, i64 3790121771304653220, i64 3769673153334038758, i64 3789063399583601612, i64 3768439123015535438, i64 3788162524487025941, i64 3767252833877200647, i64 3787264224989110907, i64 3766243581544909594, i64 3785959053498675123, i64 3765384998194764987, i64 3784848308859536477, i64 3764299982271283124, i64 3783903085808766808, i64 3763057476719816106, i64 3783098767761806956, i64 3762000655518834934, i64 3781805096587108804, i64 3761101824214981100, i64 3780640527866837854, i64 3760169132554282260, i64 3779649744005579503, i64 3758869016838487951, i64 3778806863211901494, i64 3757763464878204643, i64 3777659613741976232, i64 3756823417369531812, i64 3776439807319363710, i64 3756024146583435206, i64 3775402282621123732, i64 3754687134757347610, i64 3774519854370384853, i64 3753531733895153126, i64 3773522279419392016, i64 3752549539836552060, i64 3772245865260803463, i64 3751714638010285215, i64 3771160457638222995, i64 3750511477253509948, i64 3770237530209458415, i64 3749305158437209366, i64 3769392728879725848, i64 3748279929893325623, i64 3768058386696908677, i64 3747408659876133408, i64 3766923997200100571, i64 3746341657289723571, i64 3765959656248874364, i64 3745083405944849388, i64 3765139923181609191, i64 3744014301926470302, i64 3763877023375891503, i64 3743105967000318231, i64 3762692601457931206, i64 3742177254112252178, i64 3761685974455174138, i64 3740866115549417756, i64 3760830505706455067, i64 3739752346561320857, i64 3759701393724925023, i64 3738806294264692188, i64 3758465942551232217, i64 3738002752118979432, i64 3757416203253920880, i64 3736652898336663365, i64 3756524314358271163, i64 3735493730914759244, i64 3755531082949940961, i64 3734509356852669737, i64 3754243664726977476, i64 3733673469701845453, i64 3753150037659728779, i64 3732443337760341670, i64 3752221087783429748, i64 3731238098975060129, i64 3751365643305091883, i64 3730214850595736749, i64 3750025384602602777, i64 3729346165191013184, i64 3748887149528275644, i64 3728236990209474189, i64 3747920545223402124, i64 3726985072111581635, i64 3747099742254791644, i64 3725922452429639120, i64 3745810691577284684, i64 3725020563021448141, i64 3744627187933809280, i64 3724033385731931614, i64 3743622386858974349, i64 3722734249716341308, i64 3742769357427722971, i64 3721631820961793494, i64 3741599148395021093, i64 3720696372349881740, i64 3740369779674926670, i64 3719832028916024724, i64 3739326294262810034, i64 3718485209978680152, i64 3738440640365138072, i64 3717342597150749960, i64 3737390291862125402, i64 3716373287649761092, i64 3736114529910621952, i64 3715551046255706729, i64 3735031930961867768, i64 3714237510793339108, i64 3734113304419214757, i64 3713054405097789980, i64 3733183633720772965, i64 3712050989400409416, i64 3731861022927769747, i64 3711200024338791386, i64 3730738943110474163, i64 3709990690801358700, i64 3729787048489602173, i64 3708766852949967986, i64 3728978661679215004, i64 3707729144869649580, i64 3727608823040340049, i64 3706849312352543808, i64 3726446960274113884, i64 3705744270562270674, i64 3725461557705715306, i64 3704479533913108108, i64 3724625866216804380, i64 3703407408988469143, i64 3723357475619735972, i64 3702498617660000128, i64 3722155596323230692, i64 3701497753855087664, i64 3721136504201285835, i64 3700192027372454480, i64 3720272453020069548, i64 3699085425315619227, i64 3719106508254712941, i64 3698147638275658853, i64 3717864450435544314, i64 3697250629104621139, i64 3716811547979743896, i64 3695903900117851366, i64 3715919048651302768, i64 3694762827089347066, i64 3714855432038384784, i64 3693796063767760351, i64 3713573108204583181, i64 3692977032686241989, i64 3712486337868326123, i64 3691614707669504912, i64 3711565355594969435, i64 3690439238362769295, i64 3710603742978856372, i64 3689443576230074662, i64 3709281142851319364, i64 3688600268308569878, i64 3708160512558120158, i64 3687323995699558870, i64 3707211068041687369, i64 3686114275218706041, i64 3706350923529052249, i64 3685089851319539683, i64 3704988116534976329, i64 3684222394505280350, i64 3703833701726570379, i64 3683031301543909733, i64 3702855872848949446, i64 3681787547059120891, i64 3702027668964446112, i64 3680734559355527578, i64 3700693581758269709, i64 3679843133077160512, i64 3699505527238290216, i64 3678736155797899764, i64 3698499450566732375, i64 3677458657963655333, i64 3697647529767403528, i64 3676377366475969907, i64 3696397082861543444, i64 3675462202558842743, i64 3695175604419359135, i64 3674438083988767091, i64 3694141476523798804, i64 3673127208111114518, i64 3693266016872190305, i64 3672017935845046813, i64 3692098157599485930, i64 3671079319244440926, i64 3690843543399633616, i64 3670136608317007844, i64 3689781621969959179, i64 3668792795257160612, i64 3688882853131638222, i64 3667655928906647918, i64 3687796338793360742, i64 3666694198250395986, i64 3686508950516977496, i64 3665831249458123631, i64 3685419555269041109, i64 3664455016260906633, i64 3684497759228662533, i64 3663291006677347469, i64 3683491156050971461, i64 3662306554610175857, i64 3682171429776724147, i64 3661474012733904438, i64 3681054943136822737, i64 3660113468652583593, i64 3680110454725887726, i64 3658922831072208805, i64 3679182137545907540, i64 3657916104395124094, i64 3677830584359127196, i64 3657064932920096925, i64 3676687451917727913, i64 3655767752233982597, i64 3675720659146507409, i64 3654551066256347999, i64 3674868811846994997, i64 3653522565855436880, i64 3673486018167043824, i64 3652653197314473963, i64 3672316748893659651, i64 3651417470702956666, i64 3671328093080725438, i64 3650175380014848064, i64 3670492203047631564, i64 3649125660574973948, i64 3669137337405630690, i64 3648238572651291532, i64 3667942503617969107, i64 3647062233292909404, i64 3666932479311815961, i64 3645795445133327416, i64 3666078731524592016, i64 3644725114633378186, i64 3664784152185422522, i64 3643820829689901038, i64 3663564389267224593, i64 3642701656417903682, i64 3662533543955570519, i64 3641410940781233024, i64 3661662409864384095, i64 3640320659768794409, i64 3660426078139812299, i64 3639399744191705512, i64 3659182084003162806, i64 3638335365313797186, i64 3658131017606674069, i64 3637021553889753065, i64 3657243012617390954, i64 3635912034534342619, i64 3656062738047664047, i64 3634975097890412291, i64 3654795272336976239, i64 3633962995665656358, i64 3653724636485371663, i64 3632626980516128585, i64 3652820319304938948, i64 3631498985441417058, i64 3651693763451568606, i64 3630546679449745151, i64 3650403646487919708, i64 3629584195211618684, i64 3649314143577656092, i64 3628226927186090848, i64 3648394115375816926, i64 3627081268082851335, i64 3647318796262102439, i64 3626114285402764021, i64 3646006907728107764, i64 3625198625313367424, i64 3644899289762126227, i64 3623821112206162295, i64 3643964193150141392, i64 3622658648229012950, i64 3642937490338372423, i64 3621677721066971293, i64 3641604767705325561, i64 3620805962483454191, i64 3640479834916637612, i64 3619409266937635281, i64 3639530352744784643, i64 3618230902889968413, i64 3638549513035127554, i64 3617236801429460784, i64 3637196949735690017, i64 3616398200319181052, i64 3636055548997892420, i64 3614991137024184438, i64 3635092402974615735, i64 3613797821336993007, i64 3634154546706792902, i64 3612791351996488640, i64 3632783190058076877, i64 3611942524884750143, i64 3631626213087195670, i64 3610566483565275250, i64 3630650162223882786, i64 3609359206076886681, i64 3629752290158932515, i64 3608341209602014496, i64 3628363239042372719, i64 3607482870418760429, i64 3627191620395738845, i64 3606135084227802409, i64 3626203459282189335, i64 3604914873772798753, i64 3625342460037876187, i64 3603886223169975077, i64 3623936862343818906, i64 3603019112518690120, i64 3622751577222960368, i64 3601696734288725064, i64 3621752134139687132, i64 3600464656105557458, i64 3620909446277713903, i64 3599426254425309927, i64 3619503841995985893, i64 3598551137688608792, i64 3618305903861773742, i64 3597251247601860125, i64 3617296038736321672, i64 3596008400569844077, i64 3616444771738714622, i64 3594961178549058163, i64 3615063977435249642, i64 3594078843877705925, i64 3613854435444747265, i64 3592798457482446370, i64 3612835037660223834, i64 3591545971199942846, i64 3611975945296540561, i64 3590490884773184030, i64 3610617086450034905, i64 3589602140967272976, i64 3609397022725661874, i64 3588338217503597974, i64 3608369008790639284, i64 3587077249220234064, i64 3607502867133062685, i64 3586015276911164833, i64 3606163006048540076, i64 3585120951202887222, i64 3604933532791263549, i64 3583870402199322153, i64 3603897843881124664, i64 3582602133616075468, i64 3603025449211372516, i64 3581534273820784644, i64 3601701593239161669, i64 3580635209568896927, i64 3600463849698460754, i64 3579394907669377473, i64 3599421449079113415, i64 3578120541621231977, i64 3598543615698834033, i64 3577047809796017629, i64 3597232725718389376, i64 3576144864102683728, i64 3595987875032692110, i64 3574911652081891986, i64 3594939745378361354, i64 3573632409118562183, i64 3594057303333017308, i64 3572555834885352252, i64 3592756302461540572, i64 3571649876146576357, i64 3591505528383701136, i64 3570420576070338415, i64 3590452669001219563, i64 3569137690951246828, i64 3589566461728042619, i64 3568058315134398048, i64 3588272244212341108, i64 3567150220535706477, i64 3587016747735499090, i64 3565921643022171190, i64 3585960171708145991, i64 3564636361142444931, i64 3585071053619258923, i64 3563555232751125880, i64 3583780493868031906, i64 3562645885720529036, i64 3582521489767869125, i64 3561414839257161320, i64 3581462221032353620, i64 3560128413021882219, i64 3580571055044593807, i64 3559046586192616247, i64 3579281016757382507, i64 3558136873823172280, i64 3578019730067360306, i64 3556900174094213384, i64 3576958800437997768, i64 3555613859258508495, i64 3576066455461339736, i64 3554532390172723696, i64 3574773800809717208, i64 3553623200627232659, i64 3573511463246333192, i64 3552377679806207933, i64 3572449909400823858, i64 3551092731799000192, i64 3571557257797580000, i64 3550012675590604080, i64 3570258856613800534, i64 3549104895501083297, i64 3568996702969244601, i64 3547847411463175537, i64 3567935563410725171, i64 3546565081712525912, i64 3567043478437903278, i64 3545487489380590566, i64 3565736217366180010, i64 3544582001255217564, i64 3564475481885992043, i64 3543309446664869069, i64 3563415793896193123, i64 3542030978942830653, i64 3562525147143504367, i64 3540956894284439204, i64 3561205938709338920, i64 3540054573934597583, i64 3559947851472772916, i64 3538763885164551793, i64 3558890648071175760, i64 3537490511969323125, i64 3558002306907216376, i64 3536420968547490874, i64 3556668098460763408, i64 3535522682547417330, i64 3555413881781544034, i64 3534210848386553955, i64 3554360188705388839, i64 3532943787379464521, i64 3553475013744462659, i64 3531879805540808906, i64 3552122796234770219, i64 3530986408732117500, i64 3550873661099788117, i64 3529650478840863399, i64 3549824493819643347, i64 3528390929355351045, i64 3548943336421551086, i64 3527333513311846222, i64 3547570152959667178, i64 3526445846364900868, i64 3546327295522899927, i64 3525082939438700224, i64 3545283656308259114, i64 3523832079077951306, i64 3544407356123155127, i64 3522782214066668231, i64 3543010310293521800, i64 3521901101110388845, i64 3541774908442090616, i64 3520508412713675639, i64 3540737783491121915, i64 3519267394052998492, i64 3539867166061231989, i64 3518226043587203840, i64 3538443429942488177, i64 3517352289918429149, i64 3537216639951269474, i64 3515927099953745655, i64 3536186996598406953, i64 3514697047363041510, i64 3535320034570189192, i64 3513665150587413238, i64 3533869692886282714, i64 3512791371591828596, i64 3532652646176892835, i64 3511339220249735893, i64 3531631430191430842, i64 3510121226850624931, i64 3530727065933681125, i64 3509099696012643956, i64 3529289298515999950, i64 3508181871435849087, i64 3528083098535266027, i64 3506745009466730043, i64 3527071231523503594, i64 3505540134237990721, i64 3526126371906508090, i64 3504529852286793227, i64 3524702463690015720, i64 3503565064992636859, i64 3523508182922241722, i64 3502144719145077286, i64 3522506559845028213, i64 3500953984189072201, i64 3521518225166145459, i64 3499955802512202007, i64 3520109421714231607, i64 3498941264473386514, i64 3518928098840673300, i64 3497538615338179814, i64 3517937585657435339, i64 3496363003319879500, i64 3516902916985792519, i64 3495377739627472039, i64 3515510421253368194, i64 3494310798267754098, i64 3514343058471351531, i64 3492926977394567405, i64 3513364489920841293, i64 3491767429163653699, i64 3512280755883697874, i64 3490795865528620048, i64 3510905725180411443, i64 3489674009451865180, i64 3509753285693474265, i64 3488310096692049672, i64 3508787463220577693, i64 3487167509097392014, i64 3507652066205539751, i64 3486210390159161234, i64 3506295609371653869, i64 3485031254246457485, i64 3505159015060969658, i64 3483688275331956254, i64 3504206704897957635, i64 3482563499236517500, i64 3503017186648963593, i64 3481621530574846645, i64 3501680361455047657, i64 3480382900434829198, i64 3500560490741211896, i64 3479061824801629909, i64 3499622422150815957, i64 3477955663304583081, i64 3498376468739650625, i64 3477029509988865274, i64 3497060279519799057, i64 3475729325750389698, i64 3495957965422833307, i64 3474431064613426750, i64 3495034829109488393, i64 3473344271484961064, i64 3493730275268485903, i64 3472434556803361770, i64 3492435670795281029, i64 3471070916243657434, i64 3491351699199447309, i64 3469796320928501968, i64 3490444145893975981, i64 3468729599261475926, i64 3489078978699512320, i64 3467836903633114840, i64 3487806850307424130, i64 3466408064638520831, i64 3486741958436152847, i64 3465157925173619177, i64 3485850597658076888, i64 3464111926254891037, i64 3484422959558398066, i64 3463205459206429796, i64 3483174139520764096, i64 3461741168687474025, i64 3482129014625693054, i64 3460516212659118405, i64 3481226315295123254, i64 3459491535062060286, i64 3479762604811110221, i64 3458504372167720314, i64 3478537864974279477, i64 3457070629535362098, i64 3477513143241089726, i64 3455871521206013902, i64 3476532739927951586, i64 3454868710104405333, i64 3475098306242377948, i64 3453799311880144341, i64 3473898356919045524, i64 3452396850100923355, i64 3472894622591472352, i64 3451224189789970764, i64 3471834826581629989, i64 3450243736492180543, i64 3470430458843347496, i64 3449090757835367218, i64 3469255947965563332, i64 3447720233485102429, i64 3468273732687667499, i64 3446574557209632099, i64 3467133046596682470, i64 3445616898910743361, i64 3465759459217580922, i64 3444379188349163135, i64 3464610971748398673, i64 3443041181414731868, i64 3463650754123913875, i64 3441922960786439653, i64 3462427871830084232, i64 3440988480534761060, i64 3461085704014234540, i64 3439665078748577239, i64 3459963761615486071, i64 3438360092729745877, i64 3459025966981822917, i64 3437269735102714348, i64 3457719772822856561, i64 3436358761975958782, i64 3456409588396875840, i64 3434948899617761082, i64 3455314649349124114, i64 3433677361921603174, i64 3454399649762417464, i64 3432615210784343554, i64 3453009217017252319, i64 3431713124482986938, i64 3451731504555963512, i64 3430231115111139505, i64 3450663963925311651, i64 3428993377730061924, i64 3449772078351755370, i64 3427959713333963669, i64 3448296667032647138, i64 3426953739380887110, i64 3447051840272529425, i64 3425512181341894386, i64 3446012030317655877, i64 3424308521804874224, i64 3445033335112139608, i64 3423303562020034747, i64 3443582579008631732, i64 3422193387004068632, i64 3442370977540069252, i64 3420792544853033975, i64 3441359168351626832, i64 3419623167438356661, i64 3440278399680310354, i64 3418647068826683483, i64 3438867401023131168, i64 3417432588719237440, i64 3437689291251075853, i64 3416072641177563220, i64 3436705691614443593, i64 3414937678374153279, i64 3435522560333378703, i64 3413990537468647262, i64 3434151571592664489, i64 3412671851589406391, i64 3433007147954042323, i64 3411352893493488035, i64 3432051906425360448, i64 3410252407696844196, i64 3430766328923073621, i64 3409334262475090384, i64 3429435518261110020, i64 3407911666862899301, i64 3428324904686126131, i64 3406633711378582451, i64 3427398110870581766, i64 3405567696806373514, i64 3426010203066799163, i64 3404635738398883928, i64 3424719656282565609, i64 3403152508584752076, i64 3423642907886008169, i64 3401915489669029633, i64 3422744593906477547, i64 3400883874480580347, i64 3421254664668998871, i64 3399829498895682701, i64 3420004387403096254, i64 3398394832334664625, i64 3418961492390807261, i64 3397198607425223230, i64 3417951151894199436, i64 3396201256028423117, i64 3416500178563760709, i64 3395025412938169520, i64 3415290098745351772, i64 3393639074094676647, i64 3414280980520227838, i64 3392483427007191863, i64 3413150484549663603, i64 3391520142535795714, i64 3411747191282671463, i64 3390223980730654851, i64 3410577161799221552, i64 3388885649248767141, i64 3409601681250432478, i64 3387770293261293750, i64 3408351982802296826, i64 3386840820205150689, i64 3406996129950960200, i64 3385425677193712416, i64 3405865931520879392, i64 3384134951715619629, i64 3404923889479447696, i64 3383059532819027311, i64 3403556136515559351, i64 3382123799423707264, i64 3402247401314009105, i64 3380630951051928030, i64 3401156745541765871, i64 3379387353214860469, i64 3400247885385236630, i64 3378351453508023479, i64 3398763410551385419, i64 3377277511713152254, i64 3397501390895364834, i64 3375840224079941724, i64 3396449923488265224, i64 3374643202666173360, i64 3395433748716469325, i64 3373646343874532390, i64 3393974243886394152, i64 3372436334560500215, i64 3392758462286461988, i64 3371053890505295412, i64 3391745766412064817, i64 3369902825719826024, i64 3390594048867853749, i64 3368944472815996552, i64 3389189048884224777, i64 3367600711859060974, i64 3388018956567379655, i64 3366272316565605044, i64 3387044556330443627, i64 3365166524416321163, i64 3385759418752201568, i64 3364246089321619613, i64 3384408210722423001, i64 3362771053939396880, i64 3383283191857098641, i64 3361495840216639247, i64 3382346555875027311, i64 3360434576972108510, i64 3380930291839585401, i64 3359417522618007694, i64 3379632086971328650, i64 3357947737353465978, i64 3378551462990917103, i64 3356724770987011757, i64 3377604295565880410, i64 3355707237687573089, i64 3376107068509980876, i64 3354539638844769271, i64 3374861007321494445, i64 3353131104828655982, i64 3373824041321921073, i64 3351959389974387537, i64 3372726151249785243, i64 3350984736972850570, i64 3371290115858261807, i64 3349669983164475277, i64 3370095273455307650, i64 3348321465384979480, i64 3369101174642698574, i64 3347199949977366694, i64 3367855765478781826, i64 3346267281486417398, i64 3366479767666200261, i64 3344808893205288575, i64 3365335159057695407, i64 3343519094607892308, i64 3364383087222835540, i64 3342446675756549395, i64 3362993505569524062, i64 3341439185252819470, i64 3361676324534733599, i64 3339956667193661756, i64 3360580909960074831, i64 3338724235068479956, i64 3359654637895894024, i64 3337699764417701620, i64 3358139699617473056, i64 3336529107418029181, i64 3356880054168970842, i64 3335113564578571577, i64 3355832744411063669, i64 3333937096882133609, i64 3354742338847041551, i64 3332959385909437332, i64 3353294636965678840, i64 3331630080884446887, i64 3352091191807711734, i64 3330279806812109032, i64 3351090853466899062, i64 3329157858396309069, i64 3349840665662364927, i64 3328225683627408451, i64 3348458568837601266, i64 3326742335828136207, i64 3347309940788645923, i64 3325455578274841694, i64 3346355401494022033, i64 3324386666997528839, i64 3344949883703399717, i64 3323341025233873725, i64 3343631709122999197, i64 3321866059269180831, i64 3342536473239887795, i64 3320641027333934640, i64 3341582130042841566, i64 3319623640027449326, i64 3340070214746370622, i64 3318404580354868706, i64 3338814235305392584, i64 3317001396438808747, i64 3337770930888084913, i64 3315836267521697272, i64 3336641360549715587, i64 3314868865797569996, i64 3335201838202133975, i64 3313482044591369192, i64 3334006289519189016, i64 3312148452278557313, i64 3333013425973014034, i64 3311041378822013268, i64 3331714147998414040, i64 3310099083266699697, i64 3330344892479453483, i64 3308573508060369807, i64 3329207979724263358, i64 3307307293056458386, i64 3328264042258346711, i64 3306256409052006206, i64 3326800621572241425, i64 3305126454205432790, i64 3325499476476901152, i64 3303679016410093739, i64 3324419380985583517, i64 3302477948085189038, i64 3323389147256822330, i64 3301481375326290002, i64 3321900864889097366, i64 3300170534940111440, i64 3320665651188535857, i64 3298798572942478578, i64 3319640536845383704, i64 3297660411527215665, i64 3318426750144795452, i64 3296716265591245997, i64 3317014918000833419, i64 3295231293350306365, i64 3315843441408492429, i64 3293932140825904364, i64 3314871460775394535, i64 3292854644272151046, i64 3313480778962794349, i64 3291790752826071063, i64 3312142779497041420, i64 3290308651620033825, i64 3311032837519708488, i64 3289079645380838029, i64 3310078549276169037, i64 3288060575871837702, i64 3308551196758002431, i64 3286803539288847382, i64 3307284408695874036, i64 3285402489007679395, i64 3306233797352218187, i64 3284240976421502856, i64 3305082924620690305, i64 3283278106519059129, i64 3303637921885424732, i64 3281835783662962953, i64 3302439727904828508, i64 3280512644667896077, i64 3301446248096744044, i64 3279415990637220833, i64 3300106587018822972, i64 3278393689386788068, i64 3298740830745819459, i64 3276887261127996305, i64 3297608624734867053, i64 3275638920506586093, i64 3296670088259712518, i64 3274604513997709584, i64 3295149354238887180, i64 3273377932903978439, i64 3293859760572647699, i64 3271957705126278452, i64 3292790954451792387, i64 3270781084050905502, i64 3291679051684762324, i64 3269806344167333235, i64 3290210999981806994, i64 3268384463682927196, i64 3288994512249475790, i64 3267046810775881243, i64 3287986542349434129, i64 3265938871317150730, i64 3286675070736836768, i64 3264932775984585425, i64 3285291257244848526, i64 3263412887626465185, i64 3284144853140096837, i64 3262154238266572676, i64 3283195186129920855, i64 3261111989660383414, i64 3281692955241087440, i64 3259891846783825863, i64 3280389821685379743, i64 3258462772102894523, i64 3279310519914557531, i64 3257279616220481645, i64 3278212787828484382, i64 3256300120590711624, i64 3276732312579726574, i64 3254876025492153377, i64 3275506354965536378, i64 3253533649897725435, i64 3274491221355271042, i64 3252422545000524586, i64 3273184487721729508, i64 3251406914123019508, i64 3271792712662972755, i64 3249884728680494266, i64 3270640488059917991, i64 3248625023089234473, i64 3269686641128453439, i64 3247582599951006674, i64 3268180801737765733, i64 3246344735829880811, i64 3266873691816591544, i64 3244917339787246736, i64 3265791824509740393, i64 3243736366830549368, i64 3264683151170845050, i64 3242759334556205962, i64 3263201151497043328, i64 3241310416386958471, i64 3261974756592030480, i64 3239973213520298128, i64 3260959943608220625, i64 3238867133022646436, i64 3259634391851520293, i64 3237816434928945949, i64 3258244926537907782, i64 3236303166117668145, i64 3257095387482275255, i64 3235051680116710416, i64 3256144403503354147, i64 3234016753864340803, i64 3254612923630990562, i64 3232737398836684584, i64 3253311488639456365, i64 3231322169921853072, i64 3252235042528218109, i64 3230152049445031454, i64 3251090557449795670, i64 3229184645267042552, i64 3249617966046188212, i64 3227688840833805772, i64 3248400176001933757, i64 3226366592003611822, i64 3247393160802005157, i64 3225273614937190055, i64 3246025649645421312, i64 3224163087050182646, i64 3244648714200710660, i64 3222669752065247451, i64 3243510307270065742, i64 3221435580386373736, i64 3242546599804246397, i64 3220415657338902830, i64 3240990577654331626, i64 3219071949276556375, i64 3239704343399332192, i64 3217679108286476779, i64 3238641185386704755, i64 3216528271203777496, i64 3237436804767953178, i64 3215577448269445209, i64 3235984346550460236, i64 3214013716462540274, i64 3234784013570978594, i64 3212715874758943784, i64 3233792101266103338, i64 3211643792757145934, i64 3232360408496536272, i64 3210449972851846145, i64 3231005946894485081, i64 3208987152347602327, i64 3229886873469156016, i64 3207779010861447221, i64 3228843741731408925, i64 3206781269332507328, i64 3227316201369217483, i64 3205351738371469307, i64 3226054359523506356, i64 3203991017561934825, i64 3225012064641027937, i64 3202867474410880868, i64 3223725007874236993, i64 3201820314483931713, i64 3222302966254711282, i64 3200288586342593779, i64 3221128560059405905, i64 3199024074502109658, i64 3220158725158454928, i64 3197980225688190694, i64 3218642018395661204, i64 3196681436162695534, i64 3217319483616750124, i64 3195259050126754531, i64 3216227523129756898, i64 3194085091854198425, i64 3215081852270143582, i64 3193116231167602815, i64 3213593324606885667, i64 3191581234362691885, i64 3212364536274121659, i64 3190261674323660703, i64 3211350226297470772, i64 3189172848763928186, i64 3209959485335907198, i64 3188000397720227540, i64 3208577484593689644, i64 3186517991987569886, i64 3207436913812647919, i64 3185295019416917479, i64 3206428372707314408, i64 3184286138655792876, i64 3204874911131021335, i64 3182862907243892739, i64 3203593068152521223, i64 3181490014650247915, i64 3202535416649009774, i64 3180357666005698379, i64 3201266263702355208, i64 3179306208486842149, i64 3199826442849132403, i64 3177765864052155002, i64 3198638661314281568, i64 3176495635340993771, i64 3197658859748617658, i64 3175448218629011700, i64 3196145605308654710, i64 3174131428643318178, i64 3194812416706157364, i64 3172707313444582347, i64 3193712870460324642, i64 3171533218618657490, i64 3192560016198008370, i64 3170565309191385931, i64 3191064443046961491, i64 3169000712706032112, i64 3189831196476576703, i64 3167685341637042424, i64 3188814326037546642, i64 3166601164337318394, i64 3187403302351427702, i64 3165384661960044480, i64 3186020858890058796, i64 3163911824460937057, i64 3184881177560765923, i64 3162698079790188057, i64 3183838435212187139, i64 3161697910922726640, i64 3182289597595270058, i64 3160220634447955306, i64 3181012975690948274, i64 3158862584327683552, i64 3179960790595785347, i64 3157743707516842094, i64 3178645939394182753, i64 3156620537642821410, i64 3177216709149952469, i64 3155101859660029091, i64 3176038961080810699, i64 3153850873081929947, i64 3175068504624104588, i64 3152820455889026525, i64 3173500070584975776, i64 3151423800628211357, i64 3172182500562629192, i64 3150025873723674337, i64 3171097030855585991, i64 3148874635002441063, i64 3169871522004229504, i64 3147837080402097973, i64 3168398341174574556, i64 3146275811487679041, i64 3167184895294509578, i64 3144990290662538154, i64 3166185451871912388, i64 3143931880470859696, i64 3164694101772800015, i64 3142608481844045068, i64 3163338337561049964, i64 3141173804365869249, i64 3162221879744463988, i64 3139992805022758430, i64 3161078150535430063, i64 3139020688053395622, i64 3159564209464401319, i64 3137432174608802496, i64 3158317723265019358, i64 3136115111045523757, i64 3157291505736670851, i64 3135031193910018549, i64 3155870030174059805, i64 3133773071539553772, i64 3154479137298647849, i64 3132305074261574281, i64 3153334241432550562, i64 3131097162873036181, i64 3152264045843361462, i64 3130103318474088921, i64 3150712870319265485, i64 3128569566687489345, i64 3149436273966688925, i64 3127224215997023800, i64 3148385716761935906, i64 3126117492060161918, i64 3147026316825297226, i64 3124916108361151819, i64 3145603653077238353, i64 3123418503048218502, i64 3144433106437004414, i64 3122186755665672617, i64 3143427573876739443, i64 3121173732406496576, i64 3141843001847799454, i64 3119686747812979314, i64 3140539478558673927, i64 3118316606286933285, i64 3139467221152127318, i64 3117189970151325014, i64 3138161566281823551, i64 3116036296834387853, i64 3136710758346471144, i64 3114513048730589258, i64 3135517565793087895, i64 3113260745870484740, i64 3134536304660381479, i64 3112231257152410247, i64 3132953422611728327, i64 3110782638190266430, i64 3131626385494456184, i64 3109391415973501007, i64 3130535253010590158, i64 3108247934316555219, i64 3129274546430944529, i64 3107132525953389214, i64 3127799462733004972, i64 3105587822660032264, i64 3126586824014106364, i64 3104318423375824613, i64 3125589997343282143, i64 3103275325842026470, i64 3124043108537705898, i64 3101856333742586242, i64 3122696174168888559, i64 3100447924935979805, i64 3121589155344490233, i64 3099290811649914305, i64 3120364206227802785, i64 3098203885310064697, i64 3118868926321706434, i64 3096642102454601964, i64 3117640210581985867, i64 3095359215827736287, i64 3116630600225138775, i64 3094305485698950523, i64 3115111207758338413, i64 3092907119310587804, i64 3113748166829189507, i64 3091485569401730040, i64 3112628389615510005, i64 3090318158591994143, i64 3111429690996948055, i64 3089249678435654537, i64 3109918471900978549, i64 3087675342597497309, i64 3108677189736443573, i64 3086382697036653175, i64 3107657690161634634, i64 3085321404697702983, i64 3106157053081681420, i64 3083934479178716276, i64 3104781838508154663, i64 3082503950252572387, i64 3103652543642213042, i64 3081329667471304610, i64 3102470354988140179, i64 3080269433081208452, i64 3100947594922577202, i64 3078687182496324943, i64 3099697368362901066, i64 3077388593278952557, i64 3098670961814656200, i64 3076322876476827349, i64 3097180171833959251, i64 3074938104712121139, i64 3095796824775995505, i64 3073502838939233233, i64 3094661337691913707, i64 3072325171066616174, i64 3093485770928426896, i64 3071262908224761047, i64 3091955970971061262, i64 3069677451836669122, i64 3090700501816725917, i64 3068376787363056457, i64 3089670232179363716, i64 3067309823405919903, i64 3088180292872431213, i64 3065917898945923033, i64 3086792927150716847, i64 3064482180881302955, i64 3085654628636131218, i64 3063304645095637407, i64 3084475736372882188, i64 3062230097659789681, i64 3082943460588221511, i64 3060646173118804155, i64 3081686497563117374, i64 3059347320375601776, i64 3080655443308174313, i64 3058282297742828472, i64 3079157350622884490, i64 3056873978031397705, i64 3077770116054692982, i64 3055442096281967382, i64 3076632412083292804, i64 3054268208578226024, i64 3075440276721985655, i64 3053171230090231685, i64 3073910111352145673, i64 3051593561324706470, i64 3072655416556894393, i64 3050300391071290520, i64 3071626663174950007, i64 3049240480856894463, i64 3070111486057668175, i64 3047806669508910481, i64 3068728531255846365, i64 3046382878340503282, i64 3067594822444240152, i64 3045216122066535264, i64 3066379644842743173, i64 3044086765730028217, i64 3064856157167569658, i64 3042520020722258567, i64 3063607472333410975, i64 3041236352919092948, i64 3062584084661365481, i64 3040184680534386253, i64 3061043044593866520, i64 3038716507443517830, i64 3059668479784225188, i64 3037304988899715303, i64 3058542130929172522, i64 3036148783778904809, i64 3057294317301452992, i64 3034977389477908165, i64 3055782014782318907, i64 3033426138873089128, i64 3054543027829561372, i64 3032155708866200356, i64 3053528022686596154, i64 3031115326422114565, i64 3051952570955439840, i64 3029604224524276349, i64 3050590431367415160, i64 3028209051618685232, i64 3049474741517775760, i64 3027066723717729513, i64 3048184987286613545, i64 3025844000808982925, i64 3046688277602400828, i64 3024312677968271037, i64 3045462590001067189, i64 3023059103928208926, i64 3044458909540066207, i64 3022032963703568608, i64 3042840801106217910, i64 3020470741290727504, i64 3041495011479696729, i64 3019095842811987801, i64 3040393184986284560, i64 3017970595892824595, i64 3039052554368960549, i64 3016687700591808415, i64 3037575706934125136, i64 3015180563670568924, i64 3036366802347697690, i64 3013947315758213915, i64 3035328428180282712, i64 3012938245137751048, i64 3033708651420831127, i64 3011317152708110235, i64 3032382992148800071, i64 3009966280143562129, i64 3031298111114988026, i64 3008861168809866768, i64 3029898111310191079, i64 3007509775101124217, i64 3028445220834022148, i64 3006030871691664168, i64 3027256435500559237, i64 3004821243387650663, i64 3026148662340896586, i64 3003762891790453870, i64 3024557205316420117, i64 3002144712365085431, i64 3023255280709227407, i64 3000821409405497444, i64 3022190279236170980, i64 2999739314417345860, i64 3020722928190888588, i64 2998311677550919842, i64 3019297880794929939, i64 2996864812376515462, i64 3018132376063992086, i64 2995681894366812010, i64 3016946653622471553, i64 2994535910755657479, i64 3015387697617830326, i64 2992954814612817554, i64 3014112906731240660, i64 2991662389648039019, i64 3013070547314746915, i64 2990605995734264697, i64 3011528434179994539, i64 2989095007518452421, i64 3010134876538215097, i64 2987683713603657181, i64 3008995613937957234, i64 2986530370562140012, i64 3007724048510906244, i64 2985289224356304962, i64 3006201496971719919, i64 2983748975001059726, i64 3004957007388748017, i64 2982490476956280679, i64 3003939859781080441, i64 2981462253403891608, i64 3002316197311597752, i64 2979861488666265351, i64 3000957509216656693, i64 2978489002338941243, i64 2999847228374269093, i64 2977367852889960202, i64 2998482636677229886, i64 2976024786490717390, i64 2997000086659560925, i64 2974528809394600995, i64 2995788811556652796, i64 2973307007190636545, i64 2994704716512769755, i64 2972242628806863626, i64 2993087902668817663, i64 2970612945195350850, i64 2991767173359260757, i64 2969282185200385481, i64 2990688373041004417, i64 2968195585281832834, i64 2989224326278981821, i64 2966744650612278028, i64 2987785044185127302, i64 2965296012171513338, i64 2986609622948154193, i64 2964113378021863952, i64 2985412943317459808, i64 2962927370005948947, i64 2983845329398424434, i64 2961351277477897882, i64 2982565337907629943, i64 2960064828403061023, i64 2981520260383470331, i64 2959014858184888806, i64 2979951118176268983, i64 2957450942590786878, i64 2978558020028249998, i64 2956052333912831189, i64 2977420802614643963, i64 2954911030596971582, i64 2976105692616059218, i64 2953598149257847342, i64 2974590326993162698, i64 2952078437322435349, i64 2973353526703195778, i64 2950838537455260421, i64 2972312537089539895, i64 2949796227875065274, i64 2970665079547657368, i64 2948145833380729525, i64 2969320715963177304, i64 2946799558991654265, i64 2968223751135095079, i64 2945701431169863958, i64 2966785269171300741, i64 2944257375647888786, i64 2965324791281441828, i64 2942796403317807383, i64 2964133298785596596, i64 2941604936970729056, i64 2962954065924021038, i64 2940416083457652507, i64 2961368317389059170, i64 2938831511982845154, i64 2960074863336895665, i64 2937539483458518230, i64 2959019890818292338, i64 2936486053020351362, i64 2957454009257832097, i64 2934907465619108890, i64 2956050640556353127, i64 2933507156685800750, i64 2954906228854976838, i64 2932365650946957713, i64 2953584738610625814, i64 2931026989663989907, i64 2952062952365512560, i64 2929510159162431951, i64 2950822201690605981, i64 2928273893599828030, i64 2949763540532807126, i64 2927192960144608429, i64 2948114252111911518, i64 2925550814460961978, i64 2946769792258400616, i64 2924212658046164742, i64 2945673888235458895, i64 2923122283837095793, i64 2944207129905868865, i64 2921631571856231315, i64 2942751093461930994, i64 2920183922354889804, i64 2941564458086834806, i64 2919004545518036127, i64 2940344318009358309, i64 2917755010986079169, i64 2938768312463600965, i64 2916189769298973559, i64 2937484140599685904, i64 2914914825463251271, i64 2936437826654181847, i64 2913876402713823777, i64 2934823774999248567, i64 2912232390059256176, i64 2933434813845522635, i64 2910854892147311314, i64 2932303327476239224, i64 2909733146047116912, i64 2930919929706215466, i64 2908314087917211968, i64 2929418454588424049, i64 2906826603992319693, i64 2928195535482604728, i64 2905615514101793872, i64 2927059352451151937, i64 2904437281923141532, i64 2925437141717374733, i64 2902831912270340167, i64 2924116128310889718, i64 2901525080675939862, i64 2923040454403082290, i64 2900461335275947429, i64 2921493059662483059, i64 2898872863970805132, i64 2920066868265965705, i64 2897463496289305950, i64 2918905763024623444, i64 2896316497771834471, i64 2917588501782095888, i64 2894951604620346981, i64 2916049604998203365, i64 2893432490406499314, i64 2914796972630247312, i64 2892196402224616674, i64 2913725873706907282, i64 2891070381041698454, i64 2912066278143736326, i64 2889433873608138827, i64 2910715646976534698, i64 2888102507528197741, i64 2909616527953786119, i64 2887019452590999350, i64 2908118919914733300, i64 2885469539698533556, i64 2906663423972463742, i64 2884036339175952215, i64 2905479185077325413, i64 2882870656250630551, i64 2904209657626921543, i64 2881541467737812469, i64 2902642017666553736, i64 2879999490851425401, i64 2901366768605573292, i64 2878745565104720441, i64 2900329438088731955, i64 2877651723985811084, i64 2898653220169791658, i64 2875993625945527753, i64 2897280721919750780, i64 2874645518086064490, i64 2896164490335994743, i64 2873549513003392476, i64 2894698903502851303, i64 2872020478989502676, i64 2893222552299157118, i64 2870571910954313186, i64 2892022078860830593, i64 2869394447859708094, i64 2890781021355540536, i64 2868081856992476499, i64 2889193832292216966, i64 2866526197330305122, i64 2887903469294455870, i64 2865261916725063991, i64 2886854485945168504, i64 2864179640671944935, i64 2885196201004402338, i64 2862509889642265035, i64 2883809980419085979, i64 2861153135726715995, i64 2882683277541269344, i64 2860050774472690019, i64 2881231365292430017, i64 2858524559974166901, i64 2879742985089047390, i64 2857069368546544656, i64 2878533469943748082, i64 2855887243380752023, i64 2877301100853721132, i64 2854571840806241518, i64 2875703911065774966, i64 2853011926978452626, i64 2874406211028626329, i64 2851744962549588954, i64 2873351907731045679, i64 2850653425637309622, i64 2871694241757539599, i64 2848982171389187594, i64 2870302693016463463, i64 2847625024620832986, i64 2869172350568131473, i64 2846523016988250932, i64 2867715516854462849, i64 2844981511074116427, i64 2866224152946961839, i64 2843528561145200649, i64 2865012953650786495, i64 2842348977038618789, i64 2863769332849109014, i64 2841011404499290160, i64 2862171873060142289, i64 2839456742742986177, i64 2860874746705602137, i64 2838194814505783669, i64 2859821553406484345, i64 2837073359420979525, i64 2858147181076132866, i64 2835410779164945305, i64 2856758795611784867, i64 2834061499918438798, i64 2855631711754854683, i64 2832966549244885791, i64 2854151450365452440, i64 2831391919246435484, i64 2852666202505887798, i64 2829950034794799046, i64 2851460707337836744, i64 2828780148503276979, i64 2850186100001534840, i64 2827401450747608217, i64 2848598105790872543, i64 2825861451484337490, i64 2847309453289062696, i64 2824612187599376159, i64 2846252594687131413, i64 2823440700072406726, i64 2844555680042841038, i64 2821796812911409009, i64 2843178891409160658, i64 2820463518206565588, i64 2842061904708467702, i64 2819382199296520061, i64 2840540135808724107, i64 2817757212215001449, i64 2839069991975142480, i64 2816335015865179170, i64 2837877485007937924, i64 2815181807770870404, i64 2836552719288187433, i64 2813743772278879226, i64 2834983753456111138, i64 2812227579579573586, i64 2833711320371592595, i64 2810998378304214453, i64 2832594711893018372, i64 2809757645146436199, i64 2830921202129946986, i64 2808142131322202663, i64 2829564232632206131, i64 2806832648642436206, i64 2828463997832980997, i64 2805771289583237411, i64 2826883391595667147, i64 2804079615440275513, i64 2825437065159217844, i64 2802685374115518483, i64 2824264594496484974, i64 2801555523563068438, i64 2822871402176213812, i64 2800040997960676112, i64 2821330682354822441, i64 2798557327058194497, i64 2820081920284625328, i64 2797355225639888639, i64 2818886340206516483, i64 2796027265788945056, i64 2817245969057658302, i64 2794449296145430907, i64 2815916682782793307, i64 2793171025979263599, i64 2814839552154175887, i64 2792039425798274241, i64 2813183829850132836, i64 2790362085639573031, i64 2811769605046235739, i64 2789003566903290167, i64 2810623858190191452, i64 2787903336573490054, i64 2809145188265550815, i64 2786296514546131612, i64 2807641424943587580, i64 2784853502195863808, i64 2806423361016962418, i64 2783685056569699059, i64 2805130985891363688, i64 2782253415675362321, i64 2803532894417011928, i64 2780721496332453439, i64 2802238661032518617, i64 2779481287449338894, i64 2801142181365036355, i64 2778233634606984587, i64 2799444778656218716, i64 2776608223632333639, i64 2798070368915402415, i64 2775292566863935364, i64 2796957558928155727, i64 2774227699507915681, i64 2795377855183803761, i64 2772514367331404833, i64 2793919104874814828, i64 2771119439282603460, i64 2792738223911483986, i64 2769990617983758093, i64 2791332912849542510, i64 2768440618573932160, i64 2789785497827910124, i64 2766962455170073830, i64 2788533071065146977, i64 2765766496111215883, i64 2787310750731488040, i64 2764387675321753604, i64 2785670184502593077, i64 2762822170098872562, i64 2784342607658247719, i64 2761555776034118360, i64 2783268373328463783, i64 2760356241179747497, i64 2781573808464368168, i64 2758699143794760852, i64 2780167346115861822, i64 2757358902928304545, i64 2779029488712188321, i64 2756274998043676160, i64 2777497019066003390, i64 2754593939114752087, i64 2776007803164777539, i64 2753176324172547351, i64 2774803217293297337, i64 2752030053771817587, i64 2773440470319003122, i64 2750507120957250293, i64 2771864498916952997, i64 2749008488465523827, i64 2770589972610263362, i64 2747796929881770460, i64 2769404819686134520, i64 2746439255104095509, i64 2767737955890160232, i64 2744855844888727815, i64 2766390169840822630, i64 2743575982738344595, i64 2765300449000002257, i64 2742390906994558109, i64 2763628697965503250, i64 2740718841915428808, i64 2762204224957831820, i64 2739367567951928008, i64 2761052711823604001, i64 2738275606936428283, i64 2759537249281728716, i64 2736597926365999480, i64 2758032553834978282, i64 2735172039535228891, i64 2756816413618634705, i64 2734019995017428184, i64 2755464133066493062, i64 2732493542310163928, i64 2753875571302540887, i64 2730989749018076468, i64 2752591883186701582, i64 2729774982465310807, i64 2751409870405007983, i64 2728406129916958419, i64 2749733690153607023, i64 2726821044520974371, i64 2748379447440911843, i64 2725540844512544402, i64 2747285375821379853, i64 2724336124253445885, i64 2745607320101369370, i64 2722666269788300532, i64 2744179430565476922, i64 2721317852655509476, i64 2743026072309945837, i64 2720229064482631632, i64 2741496866688353537, i64 2718525763182254816, i64 2739992153137430683, i64 2717106273845833011, i64 2738776964157705459, i64 2715960307811259767, i64 2737402730148663622, i64 2714399856638868965, i64 2735817931211388241, i64 2712906369651997724, i64 2734538300854517675, i64 2711700885423215007, i64 2733325304224576659, i64 2710288874587612199, i64 2731657075368467609, i64 2708718395392502077, i64 2730310327288156062, i64 2707450998154754594, i64 2729223174562794203, i64 2706193132836349161, i64 2727509889730697217, i64 2704542599242025100, i64 2726093282953173717, i64 2703210840931062161, i64 2724949946942627779, i64 2702112937423633921, i64 2723376670942437917, i64 2700379221312231101, i64 2721887401134028745, i64 2698980602030285943, i64 2720685639526298383, i64 2697852380117740302, i64 2719257707120557422, i64 2696228492709032205, i64 2717692908063905715, i64 2694760462329404961, i64 2716430429858151869, i64 2693576465496061242, i64 2715153276775307522, i64 2692090634568310679, i64 2713510022060837632, i64 2690550594533560865, i64 2712184488967956566, i64 2689308747834097783, i64 2711063647704068791, i64 2687965857072287135, i64 2709338952642903536, i64 2686351162390639183, i64 2707947980663435815, i64 2685049354588504121, i64 2706826225955005561, i64 2683854358448904175, i64 2705179899624447971, i64 2682162319893028970, i64 2703721060808282646, i64 2680798405259823471, i64 2702544790311443381, i64 2679699051121110957, i64 2701033052195439471, i64 2677984210468633475, i64 2699503876587382001, i64 2676556010747933997, i64 2698271119153320008, i64 2675405051758257261, i64 2696898587986254935, i64 2673816966163345709, i64 2695296565761100208, i64 2672322272701330620, i64 2694005319194894640, i64 2671117948207751402, i64 2692776672120344535, i64 2669660706817340755, i64 2691099255910633832, i64 2668097282862145212, i64 2689747488870269641, i64 2666837810548595878, i64 2688658216898791297, i64 2665515539237670619, i64 2686912063676539772, i64 2663881122408912724, i64 2685497717727599157, i64 2662564700301467904, i64 2684358227771298690, i64 2661381556369776374, i64 2682735093992694908, i64 2659673861299191705, i64 2681256085820286703, i64 2658298669907303639, i64 2680064718180329950, i64 2657191308309624063, i64 2678568439318055722, i64 2655475557614243736, i64 2677022663097084601, i64 2654039762208115994, i64 2675777740863395111, i64 2652883811403880401, i64 2674412178868705475, i64 2651286256908066729, i64 2672797508793099685, i64 2649788009931890408, i64 2671497339893903244, i64 2648582000565945499, i64 2670266377852787864, i64 2647105991563161307, i64 2668580670823796302, i64 2645543435183468026, i64 2667223550201355393, i64 2644285890441160314, i64 2666131033057182146, i64 2642934780155486668, i64 2664372185184168811, i64 2641306048943385067, i64 2662956397096228717, i64 2639995486714588190, i64 2661816860070811585, i64 2638772626831131972, i64 2660172075355330748, i64 2637075850576690241, i64 2658695895801354062, i64 2635710785724165973, i64 2657507968814593856, i64 2634612651354515310, i64 2655980351720835987, i64 2632852827353808334, i64 2654442050991641408, i64 2631431774083970492, i64 2653204360128556914, i64 2630288808807272734, i64 2651797010995107937, i64 2628636953985557073, i64 2650194856344053701, i64 2627158428319281792, i64 2648906026006663303, i64 2625969455229780952, i64 2647622035666405446, i64 2624428192174455483, i64 2645954294099769131, i64 2622890714515146999, i64 2644612949252869588, i64 2621654560881647508, i64 2643455393456798040, i64 2620226490184484833, i64 2641720334640504394, i64 2618628587980164604, i64 2640325103148951948, i64 2617344087383177040, i64 2639203209220384227, i64 2616031782431477317, i64 2637492936080996449, i64 2614371992927217701, i64 2636042451135688578, i64 2613037987466758477, i64 2634876342181470094, i64 2611843989096312582, i64 2633272043879657328, i64 2610120862172886177, i64 2631764946509000906, i64 2608736204743534605, i64 2630553546440494544, i64 2607623600005307366, i64 2629057590469425251, i64 2605875116857261534, i64 2627492532132660263, i64 2604438673486719066, i64 2626234773840185640, i64 2603284668852318571, i64 2624849494910835290, i64 2601634666185873860, i64 2623225140169164265, i64 2600145318432912443, i64 2621919967661887506, i64 2598949030734540761, i64 2620647662569323757, i64 2597399407195418049, i64 2618962691830377522, i64 2595856054602749062, i64 2617609062433151784, i64 2594616615604451773, i64 2616451984818762047, i64 2593169224544935624, i64 2614705097149514114, i64 2591570787142179570, i64 2613301983752681333, i64 2590287345538811440, i64 2612175061324037656, i64 2588943990334069260, i64 2610452254776014458, i64 2587289411185660825, i64 2608998648133850524, i64 2585961134636090192, i64 2607831385648089590, i64 2584723563949959151, i64 2606204051794836451, i64 2583011811742484353, i64 2604698962867998407, i64 2581637888932580428, i64 2603490581088642048, i64 2580507791944293794, i64 2601960363571640087, i64 2578737863607427358, i64 2600402825908656618, i64 2577317506338116676, i64 2599152564163466286, i64 2576177747398943051, i64 2597721053625295998, i64 2574467431296856129, i64 2596110125777833017, i64 2572999876592285748, i64 2594817243883772561, i64 2571822459905617628, i64 2593485973529091479, i64 2570200369011350593, i64 2591820741495424808, i64 2568684881241957800, i64 2590484521704486740, i64 2567469230549036468, i64 2589254962841942608, i64 2565936520625850925, i64 2587534542532781148, i64 2564372393640913567, i64 2586154291493953882, i64 2563117956645457048, i64 2585027849070848019, i64 2561675719708252533, i64 2583251388791375195, i64 2560062278972282107, i64 2581826439523813704, i64 2558768529036136377, i64 2580683517074516565, i64 2557417789567294595, i64 2578971130607479162, i64 2555754394294437279, i64 2577500844479738513, i64 2554420832130070157, i64 2576321774451857410, i64 2553162543330499875, i64 2574693608783663437, i64 2551448588610930127, i64 2573177377493664999, i64 2550074743965948746, i64 2571961685450360760, i64 2548909784052829927, i64 2570418654647862281, i64 2547144702964958463, i64 2568855902198087444, i64 2545730136293706944, i64 2567603139863622524, i64 2544596547160475298, i64 2566146090140664319, i64 2542842570558794556, i64 2564536274802911464, i64 2541386874675979603, i64 2563246021618298429, i64 2540220539470107821, i64 2561875727931396160, i64 2538542016898507115, i64 2560218344195294651, i64 2537044818609706799, i64 2558890208859493914, i64 2535845450403262081, i64 2557607371563472340, i64 2534242859964225100, i64 2555901952062823631, i64 2532703821668060886, i64 2554535574054754530, i64 2531471162201488426, i64 2553340815629384684, i64 2529944910406098504, i64 2551586933040296376, i64 2528363731662793563, i64 2550181984116848232, i64 2527097552580052607, i64 2549056617533650119, i64 2525647971766015638, i64 2547273114880294314, i64 2524024390827024344, i64 2545829300545463175, i64 2522724494878416209, i64 2544673014700926174, i64 2521351840725037857, i64 2542960318647641370, i64 2519685636018412917, i64 2541477379587874436, i64 2518351858226866343, i64 2540289978220767613, i64 2517056307376411592, i64 2538648358937756651, i64 2515347298942577007, i64 2537126072418560613, i64 2513979507729163161, i64 2535907388662456557, i64 2512761155523914403, i64 2534337044118814644, i64 2511009206396535096, i64 2532775225337677010, i64 2509607304661008013, i64 2531525122782336013, i64 2508466163005187020, i64 2530026176597531814, i64 2506671180531869803, i64 2528424679988216178, i64 2505235106684068609, i64 2527143053701073967, i64 2504086247428796619, i64 2525715553108301795, i64 2502333039137223523, i64 2524074273591609518, i64 2500862768075230519, i64 2522761051095485263, i64 2499686766395351043, i64 2521404965025303417, i64 2497994595939653308, i64 2519723839201445638, i64 2496490139970677180, i64 2518378981404633132, i64 2495287015685757181, i64 2517094198697107108, i64 2493655660924287395, i64 2515373205974902669, i64 2492117070624333583, i64 2513996708049869856, i64 2490886874144019923, i64 2512783035803206124, i64 2489316040671641752, i64 2511022199461413139, i64 2487743405680142222, i64 2509614091668413716, i64 2486486218616994159, i64 2508471253731800162, i64 2484975538711871808, i64 2506670641908001595, i64 2483368988457574271, i64 2505230990359997272, i64 2482084924184382545, i64 2504080009398028230, i64 2480633955895152717, i64 2502318352580657506, i64 2478993660249714362, i64 2500847259946060619, i64 2477682864398526748, i64 2499671357876317752, i64 2476291090777301466, i64 2497965148101029306, i64 2474617260633194416, i64 2496462754240902784, i64 2473279911533400722, i64 2495262052014153643, i64 2471946740019676307, i64 2493610842797650259, i64 2470239627789190841, i64 2492077325334145196, i64 2468875936842166643, i64 2490851974009990682, i64 2467600698802313824, i64 2489255249070833547, i64 2465860598834640527, i64 2487690823883803587, i64 2464470810822608019, i64 2486441005005322720, i64 2463252761249191830, i64 2484898177770302945, i64 2461480010162774743, i64 2483303099419208957, i64 2460064403489710535, i64 2482029025327575622, i64 2458902720864437759, i64 2480539438584557118, i64 2457097697792016617, i64 2478914000652964794, i64 2455656584654619598, i64 2477615914739948169, i64 2454506083947578900, i64 2476178840440900321, i64 2452713497722237625, i64 2474523375801076838, i64 2451247224209164578, i64 2473201552697502390, i64 2450076851245344482, i64 2471816191915010499, i64 2448327246297321844, i64 2470131072910343595, i64 2446836192415103676, i64 2468785818608767492, i64 2445646257773785146, i64 2467451301648857809, i64 2443938780572943821, i64 2465736940192050910, i64 2442423360197210365, i64 2464368592102086741, i64 2441214201313355057, i64 2463083978775732877, i64 2439547938688427129, i64 2461340826360972415, i64 2438008599439292683, i64 2459949753295904733, i64 2436780580484401103, i64 2458714033351094840, i64 2435154560241516262, i64 2456942580978639871, i64 2433591783282210564, i64 2455529183072163444, i64 2432345294984059971, i64 2454341276787904947, i64 2430758486664864700, i64 2452542054799813564, i64 2429172786422933956, i64 2451106763351949739, i64 2427908245823724621, i64 2449961859792311044, i64 2426359561603016972, i64 2448139100121053261, i64 2424751485413665965, i64 2446682377372514557, i64 2423469335566301509, i64 2445520591489891839, i64 2421957631288642614, i64 2443733571130264942, i64 2420327758960040781, i64 2442255909964765168, i64 2419028468562469477, i64 2441077641005918286, i64 2417552544916765090, i64 2439325324256077856, i64 2415901488217395807, i64 2437827247830316701, i64 2414585551185144192, i64 2436632918959029664, i64 2413144155015719380, i64 2434914218515890503, i64 2411472557084111377, i64 2433396279817177801, i64 2410140492061348339, i64 2432186337744027465, i64 2408732317813567941, i64 2430500115861413156, i64 2407040852491009779, i64 2428962897193137853, i64 2405693202300687634, i64 2427737811748089849, i64 2404316893598706353, i64 2426082881520528538, i64 2402606264685808019, i64 2424526993915919813, i64 2401243595719636056, i64 2423287257564171286, i64 2399897747073397198, i64 2421662384334291422, i64 2398168687511626032, i64 2420088466899163376, i64 2396791589060840636, i64 2418834594200846002, i64 2395474747698983538, i64 2417238497087892287, i64 2393728018678563689, i64 2415647216273308066, i64 2392337102206666617, i64 2414379743287858732, i64 2391047770031551938, i64 2412811096834419730, i64 2389284160027376196, i64 2411203145640454804, i64 2387880058386217817, i64 2409922629276654590, i64 2386616694046839056, i64 2408380065210271195, i64 2384837017784298079, i64 2406756162322297724, i64 2383420384375084577, i64 2405463179635171380, i64 2382181405453205548, i64 2403945288741081676, i64 2380386502806090980, i64 2402306177600235286, i64 2378958010687092692, i64 2401001325036192519, i64 2377741795991536207, i64 2399506659137065303, i64 2375932530814419838, i64 2397853106946791203, i64 2374492871757351121, i64 2396536999538576863, i64 2373297763720965714, i64 2395064073576695171, i64 2371475022618695532, i64 2393396870247501150, i64 2370024906115923967, i64 2392070140760702939, i64 2368849213289375126, i64 2390617434977682154, i64 2367013904326559701, i64 2388937392012450647, i64 2365554056551483140, i64 2387600690045489523, i64 2364392930278582632, i64 2386166652254253788, i64 2362549107541228958, i64 2384474601576682787, i64 2361080270264332058, i64 2383128592616381864, i64 2359912207864462700, i64 2381711640559779347, i64 2358080569544960986, i64 2380008433288731430, i64 2356603499008227624, i64 2378653797723723165, i64 2355429104335808503, i64 2377252321513836826, i64 2353608233467953799, i64 2375538826686576034, i64 2352123699220467374, i64 2374176258780964013, i64 2350943586377267623, i64 2372788623412871451, i64 2349132048442041608, i64 2371065726660358178, i64 2347640832139750870, i64 2369695933490198135, i64 2346455624513326541, i64 2368320481423653377, i64 2344651969738605893, i64 2366589083601246909, i64 2343154863911369024, i64 2365212783956551061, i64 2341965193188374498, i64 2363847837758804043, i64 2340167958890178376, i64 2362108853535890125, i64 2338665765679321814, i64 2360726776790988702, i64 2337472270836295225, i64 2359370641833726083, i64 2335679983795273146, i64 2357624998245941944, i64 2334173513665013535, i64 2356237883201155467, i64 2332976839939321279, i64 2354888850404340274, i64 2331188018806048036, i64 2353137485372211325, i64 2329678089232225207, i64 2351746079069895997, i64 2328478887075926165, i64 2350402427685104586, i64 2326692044798460211, i64 2348646288503034667, i64 2325179478938115622, i64 2347251345021160786, i64 2323978402957570974, i64 2345911345446864491, i64 2322192049224647332, i64 2344151387246534577, i64 2320677674570055677, i64 2342753666473043574, i64 2319475382454164720, i64 2341415583094160010, i64 2317688026147333477, i64 2339652767286488089, i64 2316172673168154725, i64 2338253033677747328, i64 2314969824608140673, i64 2336915127721693189, i64 2313179976256127783, i64 2335150420421590086, i64 2311664477033392437, i64 2333749441748325465, i64 2310461732637094644, i64 2332409974149739257, i64 2308667906865653153, i64 2330644344587961191, i64 2307153093721324926, i64 2329242890672095639, i64 2305951113924975035, i64 2327900124938365490, i64 2304151831895512165, i64 2326134543864813672, i64 2302638536021389217, i64 2324733385310674563, i64 2301437980001858422, i64 2323385590380403141, i64 2299631771832166965, i64 2321621028463253584, i64 2298120821921885411, i64 2320220935386633714, i64 2296922346512388214, i64 2318866388473199424, i64 2295107753672879291, i64 2317103814698262167, i64 2293599974560770766, i64 2315705555456827214, i64 2292404233172997305, i64 2314342544869258089, i64 2290579810851925339, i64 2312582924943964132, i64 2289076022162454075, i64 2311187264872494285, i64 2287883663718078461, i64 2309814092805958066, i64 2286047983149367760, i64 2308058387572354491, i64 2284548997960832044, i64 2306666087726289358, i64 2283360665835308135, i64 2305281073014619701, i64 2281512316582733204, i64 2303530236875718806, i64 2280018940108861418, i64 2302142052786442777, i64 2278835271090370418, i64 2300743533609266818, i64 2276972863282008285, i64 2298998512973043803, i64 2275485891575011257, i64 2297615193418303953, i64 2274297217860634690, i64 2296201529955509842, i64 2272429681348429265, i64 2294463261700775853, i64 2270949900026988722, i64 2293085547493566452, i64 2269740660091754137, i64 2291655124520050101, i64 2267882834697600851, i64 2289924534488343683, i64 2266411017703178763, i64 2288553157287520707, i64 2265179542717783363, i64 2287104386701377910, i64 2263332392887536981, i64 2285382388218918463, i64 2261869301272282995, i64 2284018069364724505, i64 2260613957986277207, i64 2282549392642306658, i64 2258778430932271099, i64 2280836885075938906, i64 2257324811681685584, i64 2279480334453524021, i64 2256044004852718389, i64 2277990225025051667, i64 2254221029101734886, i64 2276288092375980917, i64 2252777613995113930, i64 2274940007309898615, i64 2251469788717366096, i64 2273426972849625653, i64 2249660272708652513, i64 2271736082388600447, i64 2248227777220199237, i64 2270397146571140819, i64 2246891421146404115, i64 2268859731196381961, i64 2245096251883242033, i64 2267180932143824247, i64 2243675374126576349, i64 2265851814599918650, i64 2242309019578420632, i64 2264288600973592093, i64 2240529061336556238, i64 2262622723228006055, i64 2239120481055193598, i64 2261304077319300473, i64 2237722707017299869, i64 2259713688650995100, i64 2235958800113332131, i64 2258061541568805104, i64 2234563177719531501, i64 2256754004039352945, i64 2233132611712648628, i64 2255135105980303049, i64 2231385571335250839, i64 2253497477210079620, i64 2230003546999454007, i64 2252201667275950003, i64 2228538866828918510, i64 2250552969703688686, i64 2226809481935538272, i64 2248930624077520006, i64 2225441674728437447, i64 2247647142562455232, i64 2223941610104416797, i64 2245967401251318529, i64 2222230642385860971, i64 2244361079735874535, i64 2220877649474940336, i64 2243090508254961245, i64 2219340983501425733, i64 2241378526429026726, i64 2217649166416491328, i64 2239788945138644518, i64 2216311562318691686, i64 2238531845331787822, i64 2214737132848671036, i64 2236786475097252066, i64 2213065170730731639, i64 2235214324371146043, i64 2211743506622686406, i64 2233971237187955386, i64 2210130207477396010, i64 2232191380842382357, i64 2208478774714597251, i64 2230637324387851289, i64 2207173577801683771, i64 2229408769425361996, i64 2205520359852307420, i64 2227593380641667026, i64 2203890100142765380, i64 2226058054744934278, i64 2202601873088008752, i64 2224844529639400278, i64 2200907745198663506, i64 2222992614522870166, i64 2199299270881798014, i64 2221476627328953523, i64 2198028491295456306, i64 2220278607202755694, i64 2196292521126773131, i64 2218389225219842356, i64 2194706412591644752, i64 2216893156082607525, i64 2193453532582095507, i64 2215651169427974360, i64 2191674847255168124, i64 2213783357825190516, i64 2190111652426424509, i64 2212307756728498415, i64 2188877098212763792, i64 2211016741848337876, i64 2187054884833698604, i64 2209175159441220784, i64 2185515118735473837, i64 2207720546491834302, i64 2184299290322031598, i64 2206379502153547108, i64 2182432796367783467, i64 2204564778830320073, i64 2180916940765634282, i64 2203131643822992187, i64 2179698203709488830, i64 2201739638922435791, i64 2177808745245025531, i64 2199952366065927717, i64 2176317248365731897, i64 2198541168120850654, i64 2175041310881076754, i64 2197097342093613459, i64 2173182895365373237, i64 2195338072185229502, i64 2171716171694178821, i64 2193949239457785185, i64 2170382289559467903, i64 2192452802530112072, i64 2168555410775978472, i64 2190722048844682640, i64 2167113840930599974, i64 2189355978307198883, i64 2165721346302739765, i64 2187806211588511149, i64 2163926455311863264, i64 2186104447979452045, i64 2162510385992357610, i64 2184761505274437859, i64 2161058687104616962, i64 2183157760693875870, i64 2159296192243467114, i64 2181485421467805809, i64 2157905936256812767, i64 2180165940831913688, i64 2156394516956910451, i64 2178507640921798314, i64 2154664783932101705, i64 2176865120801481280, i64 2153300620290126037, i64 2175569405059225370, i64 2151729039422748061, i64 2173856042588782804, i64 2150032391494291130, i64 2172243696762992888, i64 2148694565583360490, i64 2170972017389040285, i64 2147062456221785489, i64 2169203154852162634, i64 2145399174475923753, i64 2167621299110809062, i64 2144087898296607536, i64 2166373896359458041, i64 2142394966828518788, i64 2164549165320677466, i64 2140765290537086802, i64 2162998076273278573, i64 2139480743011812046, i64 2161775159373542932, i64 2137726768084747674, i64 2159894259676778978, i64 2136130895148397016, i64 2158374175052136647, i64 2134873222494926552, i64 2157127623422873134, i64 2133058053827164198, i64 2155238621311667062, i64 2131496141299580553, i64 2153749740336368557, i64 2130265457467976082, i64 2152431978281483206, i64 2128389014530963793, i64 2150582430973990557, i64 2126861179220993191, i64 2149124914827153453, i64 2125616108664256521, i64 2147735787457604350, i64 2123719836970295899, i64 2145925866433075516, i64 2122226156118707979, i64 2144499838774554160, i64 2120903906025113831, i64 2143039272197844742, i64 2119050703896289752, i64 2141269102157470706, i64 2117591215923732319, i64 2139874649726560018, i64 2116191909931091375, i64 2138342649331258813, i64 2114381793733307876, i64 2136612309009524851, i64 2112956499055850223, i64 2135249482291029686, i64 2111480341347602198, i64 2133646130898457049, i64 2109713280293995792, i64 2131955653956633530, i64 2108322142202518675, i64 2130624467911019762, i64 2106769415203778846, i64 2128949923802199688, i64 2105045332513611975, i64 2127299299799715912, i64 2103688278113179825, i64 2125999734653923131, i64 2102059340074230560, i64 2124254229480114371, i64 2100378114204037380, i64 2122643404919403149, i64 2099055035409283654, i64 2121375407014778671, i64 2097350317885871552, i64 2119559243600078759, i64 2095711783827779586, i64 2117988123040341634, i64 2094422538410248911, i64 2116751605734051564, i64 2092642543650146898, i64 2114865155778710146, i64 2091046494292202932, i64 2113333603013935837, i64 2089790906975524061, i64 2112068670023479818, i64 2087936205220878073, i64 2110172149323305562, i64 2086382392764133520, i64 2108679988619777420, i64 2085153885253149927, i64 2107327465283912160, i64 2083231483077847404, i64 2105480400997478287, i64 2081719620504906909, i64 2104027418385930241, i64 2080398366360272381, i64 2102587989447902687, i64 2078528550136140028, i64 2100790080810640520, i64 2077058312725847088, i64 2099376025428164961, i64 2075645241560445455, i64 2097850450908234001, i64 2073827571581163972, i64 2096101351831387611, i64 2072398598464088286, i64 2094725937308162657, i64 2070894712382121732, i64 2093115049172771932, i64 2069128704729173900, i64 2091414370024747177, i64 2067740600478576592, i64 2090077275910634403, i64 2066146970339779606, i64 2088381974679376024, i64 2064432098913032418, i64 2086729284113166951, i64 2063084435166016585, i64 2085430157339233563, i64 2061402196810948616, i64 2083651408640552263, i64 2059737895392854934, i64 2082046235461028798, i64 2058430212496459424, i64 2080784691831069755, i64 2056660562944229682, i64 2078923522917509861, i64 2055046227291100165, i64 2077365357982393164, i64 2053778035968163423, i64 2076122539161338229, i64 2051922229597691135, i64 2074198479923182285, i64 2050357219551588911, i64 2072686778071598802, i64 2049118174709016715, i64 2071342433880287862, i64 2047187347306925037, i64 2069476432553675804, i64 2045670988921858734, i64 2068010614556267067, i64 2044326174833773368, i64 2066566224586557099, i64 2042456056281957960, i64 2064757524147517164, i64 2040987643958192151, i64 2063336978672188713, i64 2039538810225568827, i64 2061794083835876158, i64 2037728486432126234, i64 2060041888471985787, i64 2036307285052590836, i64 2058665974059504195, i64 2034756235942134384, i64 2057026172131946249, i64 2033004757417948071, i64 2055329649735735354, i64 2031630004480908464, i64 2053997696779526110, i64 2029978594190323321, i64 2052262637963820207, i64 2028284978728953914, i64 2050620922626835069, i64 2026955886471300226, i64 2049332235351494848, i64 2025206014445207251, i64 2047503617874531003, i64 2023569249786372171, i64 2045915812375292442, i64 2022285007292097911, i64 2044669670808505795, i64 2020438613599521216, i64 2042749236559732970, i64 2018857660069510062, i64 2041214414839057177, i64 2017617435358175676, i64 2039889522344762794, i64 2015676496141952380, i64 2037999606995047494, i64 2014150289264618919, i64 2036516816612449929, i64 2012797429275055235, i64 2035080007513650740, i64 2010919754362709398, i64 2033254830590739933, i64 2009447207434989663, i64 2031823095155910173, i64 2007979462949143440, i64 2030276684476566232, i64 2006168468584760495, i64 2028514997372297576, i64 2004748475210987632, i64 2027133318945914465, i64 2003168430002266176, i64 2025479657237571341, i64 2001422707419087904, i64 2023780186185429693, i64 2000054143998706092, i64 2022447547643879726, i64 1998364407234042304, i64 2020689015903430388, i64 1996682528042274451, i64 2019050464923969962, i64 1995364256205894741, i64 2017765832282836019, i64 1993567457285378257, i64 2015904836988901293, i64 1991947976494714640, i64 2014325890779128821, i64 1990678845483803085, i64 2013067397506646968, i64 1988777629030308757, i64 2011127183747604128, i64 1987219087997727312, i64 2009606510508518393, i64 1985908438296748472, i64 2008224029409553324, i64 1983994957990199176, i64 2006356106526464052, i64 1982495887287839715, i64 2004892360723355461, i64 1981059259208533549, i64 2003388980066226665, i64 1979219466768128982, i64 2001591643141710453, i64 1977778388966513239, i64 2000183468192238236, i64 1976219136347982962, i64 1998562286872445810, i64 1974451165501282538, i64 1996833819274408076, i64 1973066597863588961, i64 1995479850159890306, i64 1971388072343078967, i64 1993743972279278925, i64 1969690052329189453, i64 1992082648883498777, i64 1968360509412746125, i64 1990781514679269695, i64 1966566055108768456, i64 1988934044326783409, i64 1964936113875681287, i64 1987338134634344066, i64 1963660110037288397, i64 1986088460955452318, i64 1961753058464238240, i64 1984132497195560516, i64 1960189325742464231, i64 1982600268340778242, i64 1958864917183036010, i64 1981217523356415390, i64 1956949042763089091, i64 1979339311773679280, i64 1955449653012247867, i64 1977869031418709447, i64 1953990324776514731, i64 1976356070568915449, i64 1952153955533852401, i64 1974554456236525201, i64 1950717050759417882, i64 1973144395349340801, i64 1949126928892531154, i64 1971505077516071545, i64 1947367732128359159, i64 1969777886637178893, i64 1945991464566295061, i64 1968426322150125514, i64 1944274638309043065, i64 1966664479064592351, i64 1942590296375544768, i64 1965009547504987936, i64 1941272831043083403, i64 1963714764851618037, i64 1939433347837578549, i64 1961834196069279783, i64 1937821561238354347, i64 1960249372450060911, i64 1936561078349676496, i64 1958953498050708976, i64 1934602939151908676, i64 1957014136138073359, i64 1933061429471500896, i64 1955497284771485304, i64 1931668013293182071, i64 1954059697786440990, i64 1929783281615971924, i64 1952204194399994818, i64 1928309794277922282, i64 1950753198067150125, i64 1926775137425714353, i64 1949178549303954001, i64 1924974233108418748, i64 1947404254273393537, i64 1923566539961881826, i64 1946017016843138916, i64 1921895501192528606, i64 1944309896419725696, i64 1920175640841273027, i64 1942614188232004575, i64 1918831542576760532, i64 1941288637120748799, i64 1917028903701442575, i64 1939453569801319648, i64 1915387342170340562, i64 1937833858566448258, i64 1914104670565696075, i64 1936567947039285539, i64 1912175132315744988, i64 1934609387921401953, i64 1910609165395132330, i64 1933063118138922409, i64 1909245328781577334, i64 1931665414763822708, i64 1907333963651753742, i64 1929777158001380302, i64 1905840930546211206, i64 1928301811128964638, i64 1904326841956415695, i64 1926757664524816904, i64 1902505164558872272, i64 1924956676942099814, i64 1901082450158014242, i64 1923549773768291913, i64 1899423737742177836, i64 1921864539676628660, i64 1897688493079811678, i64 1920147732239195759, i64 1896333530025347787, i64 1918806835062857004, i64 1894535704553164628, i64 1916985765210535858, i64 1892883699388829935, i64 1915350102880871807, i64 1891593969941898801, i64 1914072817500395691, i64 1889662421661499934, i64 1912121056139618064, i64 1888090526706023790, i64 1910563560226042655, i64 1886718884970266030, i64 1909168833478657725, i64 1884803560327691250, i64 1907270118587317736, i64 1883308712185892903, i64 1905787868860950956, i64 1881779562529227996, i64 1904238972213041606, i64 1879958784897407872, i64 1902432650847412956, i64 1878537987778578386, i64 1901022787432539519, i64 1876857701104626002, i64 1899325823591941762, i64 1875127753862615532, i64 1897608344413378953, i64 1873778081062358562, i64 1896268069457029914, i64 1871952866226125551, i64 1894428993910019192, i64 1870310120885431678, i64 1892796884975328869, i64 1869028716046162481, i64 1891523464102327199, i64 1867064618171163767, i64 1889548082963835773, i64 1865505535783286680, i64 1887997953382934655, i64 1864088982150686563, i64 1886569190017835494, i64 1862192513172818215, i64 1884682685235493354, i64 1860713645474192283, i64 1883211226572935951, i64 1859134341695314921, i64 1881622497133215851, i64 1857336104576554821, i64 1879832391030629303, i64 1855934094881128857, i64 1878436378460047322, i64 1854199100969807363, i64 1876694487132004458, i64 1852494943944781561, i64 1874996787569436261, i64 1851166527794766681, i64 1873673080790271636, i64 1849282694220713660, i64 1871784638086430559, i64 1847668582108385327, i64 1870175460029617798, i64 1846345328165962684, i64 1868848162552882073, i64 1844384555618677033, i64 1866892426337191319, i64 1842856570164670492, i64 1865367992540427679, i64 1841359589452318234, i64 1863869389810645606, i64 1839504120470475484, i64 1862017327704321076, i64 1838058460421348715, i64 1860573969127167940, i64 1836395682890743873, i64 1858911738313515394, i64 1834640826362952555, i64 1857158818635271276, i64 1833273807286449683, i64 1855792974605739163, i64 1831452902558521808, i64 1853974549717949957, i64 1829794114238850471, i64 1852316377289865238, i64 1828502168104231500, i64 1851024595427044723, i64 1826530547617232784, i64 1849057168704917643, i64 1824963429404812226, i64 1847489484562045908, i64 1823528358789682517, i64 1846060993720594497, i64 1821627923526120382, i64 1844158944214220720, i64 1820148222472057710, i64 1842677625038575415, i64 1818538111134050108, i64 1841075835989619872, i64 1816744343171211742, i64 1839279230599677059, i64 1815347950230462338, i64 1837880287895072193, i64 1813571285796428257, i64 1836113462655870043, i64 1811879127911289215, i64 1834417388705826194, i64 1810562076456974440, i64 1833096967729984269, i64 1808627035540287513, i64 1831173074591128780, i64 1807031608542056216, i64 1829572786867082728, i64 1805636694743430873, i64 1828192881962170284, i64 1803704525772429101, i64 1826253882889494578, i64 1802201126180069493, i64 1824744801830497976, i64 1800622986566919407, i64 1823182927752845542, i64 1798802935590509516, i64 1821355109966772606, i64 1797387033068219302, i64 1819932819603510402, i64 1795634956081534060, i64 1818198055018571422, i64 1793921458733352291, i64 1816475990566660353, i64 1792588693304728626, i64 1815136236228266648, i64 1790671600365840719, i64 1813237310599116330, i64 1789059304436676126, i64 1811615772675876191, i64 1787681914929538805, i64 1810261866765616661, i64 1785731936677581849, i64 1808299758725794237, i64 1784215698197067071, i64 1806773718350595485, i64 1782648134257868749, i64 1805230358467115553, i64 1780815003341240136, i64 1803384481989988143, i64 1779389882447197176, i64 1801949104456751603, i64 1777642199513823331, i64 1800226157901415771, i64 1775919860526409503, i64 1798490582205419278, i64 1774581117145443717, i64 1797141223326929805, i64 1772662945413246371, i64 1795248150109937955, i64 1771045590921058960, i64 1793617181167727116, i64 1769662707009779462, i64 1792266114980004206, i64 1767709235537917511, i64 1790295245878187345, i64 1766191300303919078, i64 1788763421315094932, i64 1764612682697193063, i64 1787216766741130295, i64 1762779962975017477, i64 1785366382487678182, i64 1761356118020338479, i64 1783928466293799345, i64 1759592538703324103, i64 1782196834383872262, i64 1757874050838691039, i64 1780460524351412295, i64 1756539197366049643, i64 1779111501432680678, i64 1754600943753020414, i64 1777205036314665227, i64 1752990452679360766, i64 1775576663538030035, i64 1751579176719578482, i64 1774205215077274966, i64 1749636605187224914, i64 1772240126149442148, i64 1748128152786509823, i64 1770713820189850740, i64 1746517095728755621, i64 1769142134765837593, i64 1744698269259004408, i64 1767300893154901851, i64 1743286166390688784, i64 1765871042840090688, i64 1741486750277966243, i64 1764110413868366315, i64 1739784721307451484, i64 1762386162567222909, i64 1738463539770511449, i64 1761047408634590270, i64 1736486642870445951, i64 1759108602638339950, i64 1734894785816713633, i64 1757494795794959865, i64 1733432844003138100, i64 1756080192252307680, i64 1731515325302776706, i64 1754135296997124187, i64 1730027326367364724, i64 1752625690512861184, i64 1728363155559164594, i64 1751007788968024904, i64 1726571398518201908, i64 1749189138565257343, i64 1725181245487266916, i64 1747777780653322368, i64 1723326836445417675, i64 1745968479993198471, i64 1721653512339248157, i64 1744268814570368478, i64 1720335911162426617, i64 1742950036302134897, i64 1718322226343677793, i64 1740960649509384843, i64 1716760365088447473, i64 1739373057640057880, i64 1715226587453126296, i64 1737893470845216503, i64 1713347725650382801, i64 1735982738649146013, i64 1711890703105787988, i64 1734500645487952561, i64 1710153897713543773, i64 1732816351446534210, i64 1708401794787832662, i64 1731033245016436766, i64 1707043320171329753, i64 1729650400501004929, i64 1705115952063209361, i64 1727773812738945049, i64 1703482953402847645, i64 1726110722089226316, i64 1702073454536368399, i64 1724763721188967221, i64 1700110934494350898, i64 1722764078664309738, i64 1698589779463044938, i64 1721213778514148561, i64 1696964539891345127, i64 1719648786009498268, i64 1695137101654201044, i64 1717785442010566477, i64 1693720908260587520, i64 1716341077302716991, i64 1691893501253231527, i64 1714571644674269527, i64 1690192781518772888, i64 1712836263322845648, i64 1688875031332927407, i64 1711491334938359139, i64 1686858290927099786, i64 1709530287684104413, i64 1685276371969809944, i64 1707914969709788333, i64 1683755529982867027, i64 1706462382033030388, i64 1681856948037688385, i64 1704522788335487129, i64 1680386339286163967, i64 1703020053556084096, i64 1678651940380189998, i64 1701351049120749957, i64 1676887596564367092, i64 1699547301027144650, i64 1675521216560385257, i64 1698150071151829456, i64 1673587139800131897, i64 1696278554302988068, i64 1671948443290597841, i64 1694602059470433980, i64 1670523742347202958, i64 1693253822606450115, i64 1668558937001214461, i64 1691242737508555648, i64 1667037775680461107, i64 1689685374815978954, i64 1665388452831088417, i64 1688109026843888631, i64 1663565240565976521, i64 1686241534608897427, i64 1662153959694192585, i64 1684795633708433694, i64 1660294950064411951, i64 1683006173698446871, i64 1658604056105463199, i64 1681272974914832251, i64 1657266212235746214, i64 1679931296280672455, i64 1655240800782666230, i64 1677942856946809648, i64 1653673483410188096, i64 1676335178606058201, i64 1652100387697331358, i64 1674842726814418712, i64 1650223687957613804, i64 1672916782655265080, i64 1648771713560494243, i64 1671426354106430341, i64 1646979359069306313, i64 1669710594372270192, i64 1645241407131020305, i64 1667925765835857535, i64 1643897026008445607, i64 1666544795417278055, i64 1641900440877948624, i64 1664620870454002140, i64 1640291862722156787, i64 1662967727059459849, i64 1638785306922327097, i64 1661549496340867041, i64 1636861081715269153, i64 1659571021417407253, i64 1635373064322710385, i64 1658040689039672072, i64 1633638214956885747, i64 1656389463449180169, i64 1631858859569259162, i64 1654558639430413958, i64 1630483122991774253, i64 1653142773200536345, i64 1628535966009142311, i64 1651274698997571706, i64 1626891477164214051, i64 1649581438141613037, i64 1625441029644527602, i64 1648226928862704183, i64 1623475767217730408, i64 1646202421372700933, i64 1621956757325119614, i64 1644637248355147446, i64 1620269616090971355, i64 1643040669412556065, i64 1618454973169888381, i64 1641169992946539914, i64 1617052638378938419, i64 1639724013723339410, i64 1615145727019412940, i64 1637902498757221809, i64 1613471080146727474, i64 1636174914673011922, i64 1612065672610399940, i64 1634839786469352133, i64 1610066322972158986, i64 1632809380944178852, i64 1608521720438848492, i64 1631214820732064943, i64 1606871946512271636, i64 1629662381194153490, i64 1605028531135255790, i64 1627758443418035165, i64 1603604656744836650, i64 1626287473234498030, i64 1601728347795507607, i64 1624502695473048581, i64 1600029638358620759, i64 1622746970408599943, i64 1598657685611246415, i64 1621390756999608982, i64 1596631587407362027, i64 1619390556509312116, i64 1595067084303358519, i64 1617772396419994085, i64 1593443906496006129, i64 1616253082607048134, i64 1591578563165567414, i64 1614322853716026972, i64 1590138454727901131, i64 1612832299833511382, i64 1588282751407580151, i64 1611074014199255957, i64 1586566351423259668, i64 1609296652493614373, i64 1585215881011947902, i64 1607924396635526197, i64 1583170681028919988, i64 1605944887912419015, i64 1581592198929290089, i64 1604309186439587476, i64 1579984537404329459, i64 1602811601216887039, i64 1578104364034317463, i64 1600862354231605187, i64 1576653514893980097, i64 1599357849735829437, i64 1574808180772239505, i64 1597615503677447882, i64 1573080667271503911, i64 1595823259701704960, i64 1571739456585317619, i64 1594440189723269151, i64 1569683023345414866, i64 1592471618803539551, i64 1568096646219383827, i64 1590824637735497468, i64 1566493240169191897, i64 1589337130882906044, i64 1564605507196767031, i64 1587376359611546081, i64 1563149535729070071, i64 1585863699674457198, i64 1561304213284529251, i64 1584126554678091392, i64 1559572292819098671, i64 1582326355967286430, i64 1558228011038246965, i64 1580937826109995311, i64 1556168344110313877, i64 1578970311258246206, i64 1554580248070255647, i64 1577318443874608002, i64 1552969786907397086, i64 1575829247362812419, i64 1551081853064318715, i64 1573864580096814559, i64 1549626437491079578, i64 1572349655103886336, i64 1547770769023451720, i64 1570606911815700632, i64 1546041199659671975, i64 1568805778846998147, i64 1544681551809505733, i64 1567417207165084632, i64 1542626688575108440, i64 1565440854283279542, i64 1541043069835519679, i64 1563790551000236898, i64 1539414325352987792, i64 1562287916559183719, i64 1537533551720362992, i64 1560327027156761949, i64 1536084363761831788, i64 1558815753984027057, i64 1534208112308274058, i64 1557056678517363331, i64 1532487624618722167, i64 1555261642680707644, i64 1531100494927337760, i64 1553878447699730711, i64 1529058416610936848, i64 1551883465977026473, i64 1527485419056107429, i64 1550241158880546888, i64 1525827375986420911, i64 1548713495183263757, i64 1523961040003716800, i64 1546764013265843152, i64 1522523678657072226, i64 1545262266041236856, i64 1520616846563243023, i64 1543476315009457525, i64 1518912065153489737, i64 1541694336366055337, i64 1517485656930662877, i64 1540321873732656739, i64 1515464195722530050, i64 1538298689286042596, i64 1513907839492272610, i64 1536670717022629795, i64 1512209821938532500, i64 1535106723818087637, i64 1510365033038900053, i64 1533176145828930789, i64 1508944959770282178, i64 1531689687526559938, i64 1506997902630206080, i64 1529866629377353362, i64 1505315269723646669, i64 1528104515807102941, i64 1503838239073234876, i64 1526748016162749653, i64 1501844988144100191, i64 1524687381473058335, i64 1500311100619209060, i64 1523079915957951570, i64 1498562891943111912, i64 1521468712569550338, i64 1496746510442856210, i64 1519564315420345448, i64 1495348987041488459, i64 1518098731613605239, i64 1493352520845641284, i64 1516228761940926755, i64 1491698223393418560, i64 1514493091242097036, i64 1490159804237996739, i64 1513105726244135849, i64 1488202032365963051, i64 1511050697582114538, i64 1486696182870005740, i64 1509469673935378349, i64 1484888136798186505, i64 1507800919694130736, i64 1483106697580091063, i64 1505929678654999532, i64 1481736727850998358, i64 1504490314695835821, i64 1479682227364597745, i64 1502564163368274949, i64 1478062129052379776, i64 1500861209792661312, i64 1476452247181927547, i64 1499404390232720374, i64 1474536819587751534, i64 1497390068346731335, i64 1473064259021619140, i64 1495841119380314228, i64 1471187399966455739, i64 1494105123778559090, i64 1469447042367691292, i64 1492273636152262477, i64 1468045158949917977, i64 1490865538951363333, i64 1465988805363369040, i64 1488874567114925061, i64 1464408384755413926, i64 1487210233702159928, i64 1462717758903328426, i64 1485673890292246955, i64 1460851065724053867, i64 1483707173131831992, i64 1459416672217877681, i64 1482195569588388683, i64 1457462783093971076, i64 1480383390213409101, i64 1455769188243947621, i64 1478597806179461759, i64 1454273408790258807, i64 1477225671638966095, i64 1452274261880394918, i64 1475161956920493500, i64 1450738557778458464, i64 1473541714840306219, i64 1448958786068086823, i64 1471916653276266026, i64 1447146679696932236, i64 1470003908624681487, i64 1445754911205035117, i64 1468534506215977405, i64 1443716607348311131, i64 1466638032843882382, i64 1442074944005724901, i64 1464903994668171962, i64 1440476745776061422, i64 1463474364442270137, i64 1438540791156847943, i64 1461428530214465509, i64 1437054356062616291, i64 1459857366140778296, i64 1435177986544457066, i64 1458135348649693771, i64 1433425728833669339, i64 1456282354090367370, i64 1432016485331283808, i64 1454859548204639314, i64 1429951371569425712, i64 1452871571792472309, i64 1428366251287535686, i64 1451194162379285459, i64 1426658186266117954, i64 1449653748092853787, i64 1424790735411609687, i64 1447676658373837095, i64 1423357597772812982, i64 1446159030705914111, i64 1421378182174068721, i64 1444332840475337440, i64 1419690402244891972, i64 1442544734080363059, i64 1418156890564047783, i64 1441172422830106001, i64 1416169708285530009, i64 1439086688526516484, i64 1414645150497690984, i64 1437470390049938758, i64 1412820892279105738, i64 1435812044633389230, i64 1411026544028041077, i64 1433908844835288209, i64 1409650179727107107, i64 1432448649355678004, i64 1407562309948399703, i64 1430512137153740125, i64 1405942973086665697, i64 1428793379526596782, i64 1404279075486824366, i64 1427308789318419727, i64 1402374338671747493, i64 1425286179286986313, i64 1400913746043145085, i64 1423734842385366775, i64 1398968117815703310, i64 1421952604741579583, i64 1397250732141485240, i64 1420127682092082465, i64 1395752206432474348, i64 1418728227416174621, i64 1393733372764456038, i64 1416676340143593765, i64 1392185760610095172, i64 1415030688167492269, i64 1390386621681311035, i64 1413407596429433967, i64 1388568027520781172, i64 1411472908002721371, i64 1387174171664966040, i64 1409989731761423886, i64 1385103155506785476, i64 1408078845649935749, i64 1383465839597398895, i64 1406335808601035634, i64 1381817221706957256, i64 1404876519332749457, i64 1379894390901936442, i64 1402828592874749452, i64 1378421092874345196, i64 1401259085237100912, i64 1376483117261316995, i64 1399493127568803093, i64 1374753539254173859, i64 1397649759787568910, i64 1373259226995949909, i64 1396237282479647841, i64 1371229284793097308, i64 1394194196214013504, i64 1369674391202125560, i64 1392535866588918877, i64 1367872608636035534, i64 1390918529721452763, i64 1366048355299113080, i64 1388972031014213618, i64 1364651270945779057, i64 1387480985305266504, i64 1362572102030497543, i64 1385569100457014837, i64 1360933595932312821, i64 1383819596058698532, i64 1359270900140377590, i64 1382354307133530641, i64 1357349722749887940, i64 1380302044202081468, i64 1355878859114368569, i64 1378730461682960636, i64 1353922165792942516, i64 1376952610561508818, i64 1352198183609601506, i64 1375109735160623477, i64 1350677182448753937, i64 1373698756088312194, i64 1348657016217800089, i64 1371639153851509635, i64 1347110838124880842, i64 1369985212226044663, i64 1345278730161395996, i64 1368343954181001836, i64 1343467578548335192, i64 1366405686904816783, i64 1342081628129038248, i64 1364922125200079140, i64 1339969550689732281, i64 1362982647511693979, i64 1338346679901682881, i64 1361244686928847715, i64 1336640981247146655, i64 1359742282452971612, i64 1334741153775486106, i64 1357706796490101469, i64 1333287789385422516, i64 1356149298789669931, i64 1331286582815280362, i64 1354331746798067035, i64 1329585812399731321, i64 1352508286022575991, i64 1328008038907036908, i64 1351113279818326838, i64 1326018232420858961, i64 1349012352483827966, i64 1324496498721196291, i64 1347379729248771187, i64 1322607312712342083, i64 1345685608975993975, i64 1320827621052414777, i64 1343775361262712518, i64 1319378959058756655, i64 1342314406548872753, i64 1317298089563501728, i64 1340321588502242245, i64 1315707199664499240, i64 1338612827624782238, i64 1313930886299435408, i64 1337043329124109256, i64 1312071450619357604, i64 1335045217657215015, i64 1310650114084052744, i64 1333517531546857801, i64 1308579954538764267, i64 1331633685400068545, i64 1306919301467849286, i64 1329847965357841061, i64 1305256398157670147, i64 1328403942884938901, i64 1303316607435562548, i64 1326317115640410017, i64 1301834300632700406, i64 1324722087797690941, i64 1299863013705632705, i64 1322947773972838823, i64 1298132181274787753, i64 1321084476406487404, i64 1296582894919660547, i64 1319660560311981248, i64 1294562362058960538, i64 1317590273692849316, i64 1293018826615585319, i64 1315927476929179088, i64 1291146413668937768, i64 1314262938170072703, i64 1289345186629967074, i64 1312321659759681309, i64 1287909379176808488, i64 1310838604410146669, i64 1285807952308969203, i64 1308863871402545427, i64 1284203109747422542, i64 1307133071597661072, i64 1282429264945849618, i64 1305578218811759789, i64 1280557638323861418, i64 1303558782328584134, i64 1279128554031800124, i64 1302016488622344890, i64 1277052586684093016, i64 1300137052957994229, i64 1275386546073268600, i64 1298338218199458441, i64 1273710646060795834, i64 1296892617794789730, i64 1271768833559274789, i64 1294795082207091936, i64 1270286611102096537, i64 1293193631484171106, i64 1268295448141986939, i64 1291408931058288302, i64 1266568512886398560, i64 1289542239895727274, i64 1264989608047642919, i64 1288117298099025467, i64 1262978049422810818, i64 1286029772285645043, i64 1261443056933291072, i64 1284369433009181659, i64 1259535698220814538, i64 1282678591220491212, i64 1257748371901214618, i64 1280744439934906845, i64 1256265179332738261, i64 1279268453219278770, i64 1254184546640509531, i64 1277262044198383165, i64 1252597329139909284, i64 1275543277728697759, i64 1250772481476225814, i64 1273945096459351477, i64 1248925472661057572, i64 1271944105253115275, i64 1247516733874460723, i64 1270417578070401580, i64 1245387573593005874, i64 1268491072579335213, i64 1243748856610753185, i64 1266714537961738901, i64 1242004930203925409, i64 1265207492309458131, i64 1240099156157521317, i64 1263140510329094652, i64 1238646039849784860, i64 1261564121288059770, i64 1236586370561880554, i64 1259716019599091049, i64 1234897062759264977, i64 1257882577292820924, i64 1233232169413664549, i64 1256464812155151297, i64 1231268758634773952, i64 1254332921266714336, i64 1229772152214866033, i64 1252707525798456393, i64 1227780174175412880, i64 1250936039749362930, i64 1226041368919893869, i64 1249046754232328797, i64 1224453322016635363, i64 1247606589805300958, i64 1222433615549516330, i64 1245520600074656917, i64 1220894567589527515, i64 1243847232088639908, i64 1218968222018763582, i64 1242150284839070736, i64 1217181197863508874, i64 1240206426031360265, i64 1215667514184736877, i64 1238725113981074675, i64 1213593065654607228, i64 1236702809109790809, i64 1212012785719564517, i64 1234982681595523254, i64 1210149757370766143, i64 1233357909162138713, i64 1208315977402795990, i64 1231360952620379621, i64 1206873880837077900, i64 1229839642311908631, i64 1204746455172098403, i64 1227878815647928748, i64 1203126312649616229, i64 1226113320185709829, i64 1201324034027037985, i64 1224558074794130662, i64 1199445144056770527, i64 1222509700638764713, i64 1198014536043495149, i64 1220949696187766810, i64 1195893142019493743, i64 1219047896543231231, i64 1194234663930739814, i64 1217238601696432559, i64 1192490321167083008, i64 1215749956972229552, i64 1190568146742058063, i64 1213652047520415253, i64 1189105028031044106, i64 1212054805801283351, i64 1187032500051511370, i64 1210209342935482793, i64 1185337367833904352, i64 1208357991506438612, i64 1183647908221484829, i64 1206932749510935427, i64 1181684450457480080, i64 1204787385599052790, i64 1180190363764182759, i64 1203154513258594298, i64 1178163923278517603, i64 1201362464962886497, i64 1176433968539848538, i64 1199470970104524236, i64 1174796109694219246, i64 1198031585542403453, i64 1172793539927747531, i64 1195915126195713810, i64 1171270156053950412, i64 1194248375670916577, i64 1169286830022143183, i64 1192506596436921824, i64 1167524029275317255, i64 1190577036622666120, i64 1165934269894572266, i64 1189109133894967025, i64 1163894923171736684, i64 1187034703650243263, i64 1162344035896751820, i64 1185335968197865283, i64 1160400666968404787, i64 1183641099435220311, i64 1158607135365622925, i64 1181675712300327128, i64 1157061767533155852, i64 1180181010707714620, i64 1154988134960910371, i64 1178145579258356331, i64 1153411655075596322, i64 1176416887013389164, i64 1151504913078951541, i64 1174765368768351837, i64 1149682897173776377, i64 1172766543846549219, i64 1148178020137079045, i64 1171246876607983542, i64 1146072740133961652, i64 1169247245076064736, i64 1144472688647307374, i64 1167490752165449008, i64 1142599083321842617, i64 1165878836276894470, i64 1140750952897102301, i64 1163849106666892774, i64 1139282488240460459, i64 1162306414445672052, i64 1137148336734697055, i64 1160339227553966811, i64 1135526837290887164, i64 1158557210301168422, i64 1133682732184536559, i64 1156980974916186453, i64 1131810971193293504, i64 1154923007923141450, i64 1130374679308153945, i64 1153359331583875720, i64 1128214558941537583, i64 1151421090965077196, i64 1126573829493315333, i64 1149615937230149421, i64 1124755456933526348, i64 1148071302587726102, i64 1122862653609258328, i64 1145987889394960432, i64 1121425229284021018, i64 1144405362034904445, i64 1119271079758785706, i64 1142492440591514361, i64 1117613423550462689, i64 1140666640299959312, i64 1115816900587269816, i64 1139149385678281393, i64 1113905736787862698, i64 1137043430114362997, i64 1112454812084243188, i64 1135444268419880081, i64 1110317613441967111, i64 1133552925637456866, i64 1108645409362495356, i64 1131709060559447706, i64 1106866754571718820, i64 1130214842270375165, i64 1104939994429743240, i64 1128089348745888367, i64 1103477675564767060, i64 1126475843731722621, i64 1101353917632082510, i64 1124602241838299985, i64 1099669610005112346, i64 1122742974687525230, i64 1097904761030811497, i64 1121267344990895016, i64 1095965238989746099, i64 1119125405687799923, i64 1094493683602591584, i64 1117499912883208089, i64 1092379795176466829, i64 1115640133738863693, i64 1090685883060176233, i64 1113768196667305274, i64 1088930714767722368, i64 1112306623468102538, i64 1086981323090198039, i64 1110151404872347928, i64 1085502730703399120, i64 1108516334023900998, i64 1083395095617114451, i64 1106666396616785330, i64 1081694121691734303, i64 1104784579188049036, i64 1079944464796421286, i64 1103332466371240650, i64 1077988140636108138, i64 1101167195246170851, i64 1076504742800390187, i64 1099524999612101725, i64 1074399716330749245, i64 1097680878030833839, i64 1072694255456054580, i64 1095792014760129632, i64 1070945915487125308, i64 1094344723011210045, i64 1068985627620492110, i64 1092172671915194889, i64 1067499677816777937, i64 1090525837230473980, i64 1065393603308551447, i64 1088683478977760360, i64 1063686250837082717, i64 1086790436531206971, i64 1061935027293483801, i64 1085343304485350012, i64 1059973762611265542, i64 1083167776941889187, i64 1058487525985964874, i64 1081518810136696515, i64 1056376751567251561, i64 1079674154645400687, i64 1054670111501624496, i64 1077779818794941635, i64 1052911817053759231, i64 1076328184354154250, i64 1050952566914523483, i64 1074152499786397662, i64 1049468309925992653, i64 1072503917543280133, i64 1047349205187212788, i64 1070652914754013430, i64 1045645878271535269, i64 1068760177186831049, i64 1043876357862793987, i64 1067299398842713813, i64 1041922104412465730, i64 1065126877386847554, i64 1040442084467470867, i64 1063481194623568119, i64 1038311056977094761, i64 1061619823482215735, i64 1036613628813211476, i64 1059731568565080299, i64 1034828778516125510, i64 1058257046564739573, i64 1032882481077693017, i64 1056090993877978479, i64 1031408936236816563, i64 1054450712243856117, i64 1029262447768668220, i64 1052574998978306231, i64 1027573477047689186, i64 1050694090577777692, i64 1025769262532165214, i64 1049201287772106222, i64 1023833844169041485, i64 1047044979951091083, i64 1022368982999237099, i64 1045412576424486254, i64 1020203565349278316, i64 1043518612462181880, i64 1018525572287619186, i64 1041647880920985437, i64 1016698046762829071, i64 1040132343137909157, i64 1014776381117494413, i64 1037989011862128646, i64 1013322372768429197, i64 1036366927535649973, i64 1011134643043279802, i64 1034450886927401139, i64 1009470098110267073, i64 1032593116295633045, i64 1007615419607338267, i64 1031050492085965598, i64 1005710318113965222, i64 1028923310098426078, i64 1004235848481203776, i64 1027313939236435305, i64 1002055957957438636, i64 1025372095457160978, i64 1000407270978441184, i64 1023530011074270489, i64 998521718848038525, i64 1021956070684454677, i64 996635918413840366, i64 1019848137718238004, i64 995124317805581633, i64 1018253817168339147, i64 992967828908762103, i64 1016282559171982792, i64 991337338623843960, i64 1014458815691756955, i64 989417329130961272, i64 1012849469125913794, i64 987553480376063643, i64 1010763798380542996, i64 986000699830700562, i64 1009186797416997457, i64 983870614056437495, i64 1007182644830688111, i64 982260578209739347, i64 1005379814776788927, i64 980302679117417841, i64 1003731128820029930, i64 978463335257196712, i64 1001670634085769460, i64 976865506188797571, i64 1000113144758232593, i64 974764708262485921, i64 998072762109739237, i64 973177294291999043, i64 996293325043771026, i64 971178238336133435, i64 994601539129529641, i64 969365844783270284, i64 992569022650959100, i64 967719293921964972, i64 991033150706646847, i64 965650540208335801, i64 988953360589177465, i64 964087816599506536, i64 987199692966871198, i64 962044513768250363, i64 985461233782930574, i64 960261398524316991, i64 983459374945439888, i64 958562661447640327, i64 981947131386877641, i64 956528569296758437, i64 979824926476172649, i64 954992497656536694, i64 978099292260149269, i64 952902046199926498, i64 976310787000927927, i64 951150411098225833, i64 974342131915290623, i64 949396244273744206, i64 972855425249249949, i64 947399282370459827, i64 970687979099569130, i64 945891710271071639, i64 968992521189380236, i64 943751406379197870, i64 967150809375715670, i64 942033319231959907, i64 965217761426717710, i64 940220710506328895, i64 963746461048507058, i64 938263190280068942, i64 961543067210747511, i64 936785844914046669, i64 959879799742591536, i64 934593191015244324, i64 957981943544556950, i64 932910578709220176, i64 956086754959912039, i64 931036756194067979, i64 954549685678361284, i64 929120824335289744, i64 952390765127599568, i64 927609090792145896, i64 950761566687382919, i64 925428018659181773, i64 948804859700401246, i64 923782661234310094, i64 946949624185996063, i64 921845100554822821, i64 945343785910520216, i64 919972732673585518, i64 943231668759422013, i64 918386704420145730, i64 941638276543790022, i64 916256525505999301, i64 939620250983286326, i64 914650051242256569, i64 937806897460301209, i64 912646481129865393, i64 936129566994206555, i64 910819476580939527, i64 934066391551068413, i64 909156662283453762, i64 932510396501785121, i64 907079361157266657, i64 930428828796657998, i64 905513242685175224, i64 928659116265432686, i64 903441648911124292, i64 926907852992924338, i64 901661626798991679, i64 924895560384759277, i64 899919831661156886, i64 923378403312483512, i64 897897184383767898, i64 921231318092595446, i64 896372735824440868, i64 919506831637387853, i64 894231363486066762, i64 917679481368312765, i64 892499759852199295, i64 915719811477546918, i64 890677087492083025, i64 914242780181749207, i64 888710658926286769, i64 912028452669258030, i64 887229034057451417, i64 910350600607407020, i64 885016388243556848, i64 908445297597594357, i64 883334454427629476, i64 906539786311580107, i64 881429306909299943, i64 904984502286894541, i64 879520449371402599, i64 902820970522691920, i64 877963354276101281, i64 901190982691268914, i64 875797485682268147, i64 899206149872325004, i64 874166287838584507, i64 897356127633035678, i64 872177363910838212, i64 895708855742147975, i64 870327217137381406, i64 893609609293479910, i64 868673384912011861, i64 892028536456419408, i64 866575412861015556, i64 889962883924043753, i64 864995832601518968, i64 888169475553908282, i64 862922124210703987, i64 886428865111027253, i64 861131616603100472, i64 884395101846619967, i64 859380022467888265, i64 882863816195668715, i64 857350917027746114, i64 880716338019819622, i64 855823653153660330, i64 878980463788808496, i64 853664440311059092, i64 877145488322697915, i64 851934291410465293, i64 875178172020517844, i64 850084238621195772, i64 873696409758604635, i64 848124731460941765, i64 871467338167650111, i64 846623875527207727, i64 869789716056551412, i64 844405146832863978, i64 867859667098365038, i64 842735870968008853, i64 865959530578121695, i64 840786982455698429, i64 864368332334345956, i64 838897571553887867, i64 862216693568235315, i64 837283110243533979, i64 860597842673664227, i64 835145056138363616, i64 858572321850729064, i64 833536967180351026, i64 856739871390061451, i64 831489175576779605, i64 855038919083954226, i64 829670131168704937, i64 852965192345891021, i64 827942125802554013, i64 851405437364046847, i64 825884954274611027, i64 849284346917861105, i64 824338171424988922, i64 847519867876235116, i64 822191707607550935, i64 845709183911368120, i64 820443079283283757, i64 843713597587334936, i64 818601928072965262, i64 842213074305931030, i64 816625597262833218, i64 839996606162583178, i64 815128571035014542, i64 838300169728662621, i64 812895432092177106, i64 836380103816145899, i64 811217056950363252, i64 834462643712845818, i64 809263479733930647, i64 832876679804556620, i64 807367707753916206, i64 830709928963501044, i64 805741967938861943, i64 829081399934661244, i64 803601162827600188, i64 827052614475436307, i64 801992674584003944, i64 825213033199919783, i64 799927696263627710, i64 823502584214384177, i64 798111972065685296, i64 821425106618767090, i64 796358830515199623, i64 819864152115540606, i64 794309670639550321, i64 817727606308087553, i64 792770509584694168, i64 815965433675095516, i64 790595442443747131, i64 814131732412254971, i64 788859037613048544, i64 812142889178520913, i64 786980127854121959, i64 810648988192125170, i64 785021680613452679, i64 808405921036855756, i64 783475873458206804, i64 806720475385153285, i64 781267529389728205, i64 804765067933677940, i64 779609510737517441, i64 802863982716837344, i64 777606766205162925, i64 801232139097134934, i64 775737869785653666, i64 799088348758822831, i64 774050792885176798, i64 797478749054472105, i64 771944712110623346, i64 795403473830554438, i64 770363954938178019, i64 793589047048973693, i64 768239586417448529, i64 791820444682609430, i64 766458865295358079, i64 789775625528404418, i64 764633178197309851, i64 788240804131012426, i64 762627687596795767, i64 786047770130283279, i64 761122889501912714, i64 784318693894814246, i64 758879361983583969, i64 782415872553300452, i64 757185242992854086, i64 780468431451792755, i64 755223886479369205, i64 778891559303368224, i64 753317093428241069, i64 776698711880103431, i64 751672439282362964, i64 775053485484719972, i64 749526797676610938, i64 773019259693289729, i64 747917526495059140, i64 771167389286403113, i64 745823695438536494, i64 769440947908222825, i64 744013506891244634, i64 767356987766961179, i64 742218222138605513, i64 765793933599558645, i64 740182528763707485, i64 763631366405946038, i64 738656186675195610, i64 761873063533934506, i64 736433302759583264, i64 760000677150746877, i64 734717444586394688, i64 758023219297656783, i64 732775555162588068, i64 756476260666882096, i64 730847120775105597, i64 754252875623367414, i64 729220143505061984, i64 752585960011067291, i64 727053326086388628, i64 750571495899231658, i64 725429362506709778, i64 748697960518939814, i64 723345111212006620, i64 746989644770257559, i64 721521069802016821, i64 744884392825209299, i64 719732572982180351, i64 743306525877645696, i64 717684303597718181, i64 741154064203490102, i64 716149656560844645, i64 739381698252628860, i64 713927472309551081, i64 737516800469796441, i64 712204803293220750, i64 735526446536325651, i64 710259950183524608, i64 733983560935543953, i64 708326695140690420, i64 731748954121454392, i64 706692185528905903, i64 730074852816766784, i64 704523131188389997, i64 728058344880926942, i64 702898681316411636, i64 726179489368233511, i64 700802800731059747, i64 724464788616454401, i64 698980883881538864, i64 722356651153131211, i64 697175382374906371, i64 720777779200314212, i64 695132493412260899, i64 718614796532640075, i64 693602998247431853, i64 716843899565643011, i64 691361551261248258, i64 714963347394101273, i64 689647178430145711, i64 712977556235874653, i64 687677008516378026, i64 711412796187359305, i64 685755880018952867, i64 709186577901693774, i64 684088826335993406, i64 707519983016189841, i64 681936532684958914, i64 705479679395510314, i64 680325815392380082, i64 703611988251677266, i64 678197401269447056, i64 701866559476571182, i64 676393530633477285, i64 699774018511468461, i64 674547677278441920, i64 698207975679070655, i64 672527983961629765, i64 696014121562321708, i64 670997580126824732, i64 694260186994686932, i64 668736794208855774, i64 692341247969440896, i64 667045606995510766, i64 690377358535079308, i64 665028428939083340, i64 688765349785331247, i64 663136056323487342, i64 686566910001491705, i64 661412296550335234, i64 684922316545420823, i64 659295322206231645, i64 682837088075604287, i64 657712196844737970, i64 680996752840697151, i64 655531192622191224, i64 679197056208757102, i64 653760817884862956, i64 677138184815132420, i64 651852315250532284, i64 675598468997146413, i64 649873026880835544, i64 673354198278795366, i64 648268289873626320, i64 671632275416208349, i64 646055975131219794, i64 669653216861000398, i64 644402258571698667, i64 667727995337151739, i64 642317598188166213, i64 666044592108372175, i64 640469862388502574, i64 663892595315864035, i64 638666699570417056, i64 662283924110314663, i64 636602685550344746, i64 660133806298109349, i64 635060295307148949, i64 658336305704670622, i64 632807998282614987, i64 656460205255115728, i64 631085701475754602, i64 654452200707576522, i64 629093860753772269, i64 652881305287055448, i64 627171142297665056, i64 650638692794650047, i64 625469206576901413, i64 648963000693339904, i64 623323267612657732, i64 646903635712756534, i64 621720341728107445, i64 645032847560556664, i64 619549444991194953, i64 643255734723623347, i64 617761080369703943, i64 641167646256348667, i64 615857835071008737, i64 639607891747584678, i64 613863065801131678, i64 637374576570297374, i64 612257474566291089, i64 635634287562241729, i64 610033021535465617, i64 633661591543700587, i64 608372158700293922, i64 631720346319557907, i64 606278389965732991, i64 630037498446924062, i64 604426968496925720, i64 627872620984226977, i64 602607407076048247, i64 626256198093994150, i64 600544067086044535, i64 624098365525376177, i64 599003967561046952, i64 622296390553277093, i64 596730230758710097, i64 620405607807860072, i64 595014475872767227, i64 618397271621389627, i64 592992953471317070, i64 616803229833115358, i64 591081975532918117, i64 614565446843035294, i64 589340520685056194, i64 612895302684236661, i64 587212626273908955, i64 610808221702390175, i64 585625021062868945, i64 608947950093521563, i64 583413235741062854, i64 607133673676114207, i64 581646067598407868, i64 605062136874000214, i64 579691325674291869, i64 603516540770938514, i64 577724765664940254, i64 601244500266471431, i64 576055204637781887, i64 599524006300961826, i64 573867289341088961, i64 597502374086018289, i64 572235600299654966, i64 595587658865136650, i64 570080455875900586, i64 593843859703915605, i64 568265769179279941, i64 591713518721970978, i64 566371790716998267, i64 590124727609971375, i64 564354075423839492, i64 587908233594895690, i64 562749598902818394, i64 586141168375934986, i64 560506687661462268, i64 584179142145183416, i64 558834698606892881, i64 582214279245240081, i64 556730410874734299, i64 580534343660003457, i64 554872492673420499, i64 578350076165350606, i64 553032750077069393, i64 576721763423099929, i64 550968730936988592, i64 574555196001429063, i64 549421980152402181, i64 572745722461173486, i64 547129556805649230, i64 570836958699924230, i64 545421388672554717, i64 568826660197840273, i64 543361741215189396, i64 567203435472202097, i64 541465241964194584, i64 564970568971528176, i64 539672744768130602, i64 563306738490769535, i64 537567664273944073, i64 561184053525335393, i64 535999570738698773, i64 559336690995301909, i64 533734754236713916, i64 557474391679518060, i64 531994835546518377, i64 555423753296499400, i64 529973227259475249, i64 553849600814217103, i64 528043126800960330, i64 551573875027640952, i64 526290475951593322, i64 549878832618767535, i64 524149928567122159, i64 547793607826789050, i64 522556096524475094, i64 545913199079846909, i64 520321275556550391, i64 544090164350288943, i64 518554308537696594, i64 542004627566413590, i64 516563806667852529, i64 540451719079178236, i64 514605375534606914, i64 538159006294545216, i64 512884823552763205, i64 536437326823862056, i64 510714711608388228, i64 534382813294777683, i64 509099556277060287, i64 532474486994305230, i64 506888268980145353, i64 530683173613986942, i64 505099191761975154, i64 528568482852374765, i64 503132589759634114, i64 526994539136904070, i64 501151346293327420, i64 524725123045399699, i64 499454862508311796, i64 522981613712961980, i64 497261347648645880, i64 520950792166810473, i64 495629471521744851, i64 519019921199777354, i64 493435047746116880, i64 517252506010178345, i64 491628993128086452, i64 515114661444302381, i64 489678872511181180, i64 513524164727715108, i64 487680536372322748, i64 511271546102012205, i64 485999876315580309, i64 509511206346328433, i64 483789327160734020, i64 507496847354762997, i64 482145480759924519, i64 505549003608338423, i64 479961100210679693, i64 503797451098065414, i64 478143351578084339, i64 501642657724169963, i64 476202146925342383, i64 500040236814696600, i64 474192589645350817, i64 497797766819619990, i64 472519367606185549, i64 496025745403982481, i64 470298304365414904, i64 494020472714784819, i64 468647344813209267, i64 492061378928491173, i64 466466097417553487, i64 490317511943586911, i64 464642042433429604, i64 488152125636449038, i64 462702108558737719, i64 486542515569217863, i64 460687301845299940, i64 484303454614818540, i64 459013065525700227, i64 482525004507807172, i64 456788102364984069, i64 480521360549668006, i64 455134950376404651, i64 478556839935202154, i64 452949897987174482, i64 476812412495296375, i64 451124980735976534, i64 474642883827703573, i64 449178661050893398, i64 473030883934902982, i64 447164623604277092, i64 470788461880818160, i64 445480929766266973, i64 469008893589094812, i64 443258715777906074, i64 466999406188146497, i64 441608311705548073, i64 465035330555192326, i64 439412550223577208, i64 463282101695901487, i64 437592222514376754, i64 461114918348575470, i64 435631917560991073, i64 459505349372156451, i64 433624661189930560, i64 457252826187815247, i64 431923151168174242, i64 455477460231476491, i64 429710310819595928, i64 453454709545809313, i64 428067570405826919, i64 451496946703236050, i64 425854291395033835, i64 449726754243817006, i64 424043963949498429, i64 447568382861857501, i64 422062199082270253, i64 445966043746881108, i64 420067674922647115, i64 443696769722602657, i64 418340148877837144, i64 441930888961229309, i64 416143222827650376, i64 439887573635072015, i64 414512993323791309, i64 437941934852023786, i64 412275544203434361, i64 436146767988844396, i64 410480538456247806, i64 434003596352312870, i64 408470029669200742, i64 432413221365709933, i64 406494075306596061, i64 430120695979109667, i64 404732564121377660, i64 428369498499765321, i64 402557951283063202, i64 426298500055284293, i64 400944968587741945, i64 424370688365412520, i64 398676910515886045, i64 422542758016277649, i64 396902411742503671, i64 420421038385979651, i64 394856128676680177, i64 418847255198695322, i64 392904416955042439, i64 416525183768814811, i64 391101250723166592, i64 414793737035518070, i64 388955152430810345, i64 412688181556852572, i64 387363999878468061, i64 410783741671357713, i64 385059162488541370, i64 408915547542467020, i64 383310174947576626, i64 406821342017499357, i64 381221400171998880, i64 405213296272506538, i64 379299390435654461, i64 402910978675382980, i64 377447262565405275, i64 401204175613324101, i64 375335629652284760, i64 399057491833547382, i64 373742629025477616, i64 397181762395251492, i64 371423231265731366, i64 395266155810318133, i64 369704536001579979, i64 393205284492179048, i64 367566919737525030, i64 391542716450708367, i64 365679812203490791, i64 389278982129970167, i64 363771838246332553, i64 387601499777664132, i64 361700321787108357, i64 385407472753350608, i64 360043584294207905, i64 383565541615610059, i64 357770193485698600, i64 381595783233638205, i64 356086309382332092, i64 379573775933768832, i64 353893918933511625, i64 377849384701815571, i64 352046612826885269, i64 375630238331052096, i64 350076383249354639, i64 373986499640782967, i64 348050289641690794, i64 371739319288815389, i64 346322898077650194, i64 369935982440989920, i64 344101255866362013, i64 367905794093101367, i64 342456404477006522, i64 365927846248170912, i64 0, i64 0], i64 4630614111099551744, i64 -9223372036854775808, i64 4607182418800017408, i64 4030721666496593920, i64 4809844402031689728, i64 -4714562061814413729, i64 4523623249073950320, i64 -4678041684640003514, i64 4557950325142495884, i64 -4655204467878419006, i64 4576315729653292255, i64 -4685430678586440169, i64 -4654362995009488404, i64 -4641710046825155417, i64 4551452157348336223, i64 4579160010830586038, i64 4582862937920055770, i64 -4659324094484814816, i64 -4636005456409274312, i64 4575957461384212610, i64 4593671619921549104, i64 -4628199217061082403, i64 -4637206416315820918, i64 4595172819793695951, i64 -4592758879837799465, i64 5179139571476070400, i64 4294967295, i64 4602678819172646912 }, align 8 +@_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE = internal unnamed_addr addrspace(1) constant [656 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 -1010854234, i32 1071436054] }, { [2 x i32] } { [2 x i32] [i32 1922581211, i32 1014995796] }, { [2 x i32] } { [2 x i32] [i32 -1745031853, i32 -1076275865] }, { [2 x i32] } { [2 x i32] [i32 114124532, i32 -1133284141] }, { [2 x i32] } { [2 x i32] [i32 -1745031853, i32 1067013479] }, { [2 x i32] } { [2 x i32] [i32 -20480254, i32 1010005202] }, { [2 x i32] } { [2 x i32] [i32 -71435330, i32 1068539915] }, { [2 x i32] } { [2 x i32] [i32 -1505574041, i32 1013277268] }, { [2 x i32] } { [2 x i32] [i32 1664239297, i32 -1082575968] }, { [2 x i32] } { [2 x i32] [i32 -1262122356, i32 -1138676491] }, { [2 x i32] } { [2 x i32] [i32 1611461531, i32 -1081892196] }, { [2 x i32] } { [2 x i32] [i32 1606185676, i32 -1136700332] }, { [2 x i32] } { [2 x i32] [i32 -848146858, i32 1062254242] }, { [2 x i32] } { [2 x i32] [i32 501694185, i32 1062364888] }, { [2 x i32] } { [2 x i32] [i32 -50703785, i32 -1088380863] }, { [2 x i32] } { [2 x i32] [i32 543102766, i32 -1088673344] }, { [2 x i32] } { [2 x i32] [i32 -963604733, i32 1055553105] }, { [2 x i32] } { [2 x i32] [i32 -552668113, i32 1055007264] }, { [2 x i32] } { [2 x i32] [i32 -628691106, i32 -1095660415] }, { [2 x i32] } { [2 x i32] [i32 -1819088902, i32 -1096540444] }, { [2 x i32] } { [2 x i32] [i32 709212149, i32 1047790924] }, { [2 x i32] } { [2 x i32] [i32 -1957610596, i32 1046781210] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1076625408] }, { [2 x i32] } { [2 x i32] [i32 -390233229, i32 1071130157] }, { [2 x i32] } { [2 x i32] [i32 1338676684, i32 1015173336] }, { [2 x i32] } { [2 x i32] [i32 1981274122, i32 -1076342584] }, { [2 x i32] } { [2 x i32] [i32 830600534, i32 -1132597914] }, { [2 x i32] } { [2 x i32] [i32 -1818374643, i32 1068393722] }, { [2 x i32] } { [2 x i32] [i32 1342542038, i32 1009099518] }, { [2 x i32] } { [2 x i32] [i32 773107692, i32 1068319025] }, { [2 x i32] } { [2 x i32] [i32 437226732, i32 1012072681] }, { [2 x i32] } { [2 x i32] [i32 371523671, i32 -1081251919] }, { [2 x i32] } { [2 x i32] [i32 -814397850, i32 -1136673930] }, { [2 x i32] } { [2 x i32] [i32 -1373569059, i32 -1082167791] }, { [2 x i32] } { [2 x i32] [i32 -1124001577, i32 -1138104538] }, { [2 x i32] } { [2 x i32] [i32 -1340798524, i32 1063449830] }, { [2 x i32] } { [2 x i32] [i32 1538926347, i32 1061850197] }, { [2 x i32] } { [2 x i32] [i32 -731834059, i32 -1087221097] }, { [2 x i32] } { [2 x i32] [i32 -609695497, i32 -1089332592] }, { [2 x i32] } { [2 x i32] [i32 -305753735, i32 1056723554] }, { [2 x i32] } { [2 x i32] [i32 1486678678, i32 1054112553] }, { [2 x i32] } { [2 x i32] [i32 1780467125, i32 -1094567106] }, { [2 x i32] } { [2 x i32] [i32 482436189, i32 -1097622828] }, { [2 x i32] } { [2 x i32] [i32 -1033604745, i32 1048842238] }, { [2 x i32] } { [2 x i32] [i32 -1969448487, i32 1045536370] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075576832] }, { [2 x i32] } { [2 x i32] [i32 723405983, i32 1070663144] }, { [2 x i32] } { [2 x i32] [i32 375914457, i32 1015707068] }, { [2 x i32] } { [2 x i32] [i32 -588261432, i32 -1076559722] }, { [2 x i32] } { [2 x i32] [i32 1194310073, i32 -1133583839] }, { [2 x i32] } { [2 x i32] [i32 -1809068614, i32 1069170876] }, { [2 x i32] } { [2 x i32] [i32 -690882339, i32 1012092251] }, { [2 x i32] } { [2 x i32] [i32 -1820139694, i32 1067520122] }, { [2 x i32] } { [2 x i32] [i32 1220355269, i32 1012286900] }, { [2 x i32] } { [2 x i32] [i32 104208795, i32 -1080633948] }, { [2 x i32] } { [2 x i32] [i32 1990061368, i32 -1137121241] }, { [2 x i32] } { [2 x i32] [i32 1540410155, i32 -1084088651] }, { [2 x i32] } { [2 x i32] [i32 1511774262, i32 -1139913168] }, { [2 x i32] } { [2 x i32] [i32 -2072720814, i32 1063927436] }, { [2 x i32] } { [2 x i32] [i32 -939227125, i32 -1091055019] }, { [2 x i32] } { [2 x i32] [i32 -1427999697, i32 -1086955270] }, { [2 x i32] } { [2 x i32] [i32 309040964, i32 1056648813] }, { [2 x i32] } { [2 x i32] [i32 -832018198, i32 1056841978] }, { [2 x i32] } { [2 x i32] [i32 -1693708088, i32 -1093698438] }, { [2 x i32] } { [2 x i32] [i32 -5889036, i32 -1094672820] }, { [2 x i32] } { [2 x i32] [i32 986840070, i32 1050164480] }, { [2 x i32] } { [2 x i32] [i32 1695312693, i32 1048572654] }, { [2 x i32] } { [2 x i32] [i32 1557991854, i32 -1101776932] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074528256] }, { [2 x i32] } { [2 x i32] [i32 314219516, i32 1069222877] }, { [2 x i32] } { [2 x i32] [i32 1087346575, i32 1011790858] }, { [2 x i32] } { [2 x i32] [i32 -1808665446, i32 -1077452533] }, { [2 x i32] } { [2 x i32] [i32 1946016217, i32 -1133925474] }, { [2 x i32] } { [2 x i32] [i32 2034094518, i32 1069365582] }, { [2 x i32] } { [2 x i32] [i32 -1748221071, i32 1013479205] }, { [2 x i32] } { [2 x i32] [i32 -1354497577, i32 -1080981304] }, { [2 x i32] } { [2 x i32] [i32 -1194442808, i32 -1136415425] }, { [2 x i32] } { [2 x i32] [i32 -520994428, i32 -1081343595] }, { [2 x i32] } { [2 x i32] [i32 1398329807, i32 -1138453392] }, { [2 x i32] } { [2 x i32] [i32 174654094, i32 1064863248] }, { [2 x i32] } { [2 x i32] [i32 -1025093610, i32 1006457895] }, { [2 x i32] } { [2 x i32] [i32 921956441, i32 1061347241] }, { [2 x i32] } { [2 x i32] [i32 235385722, i32 -1085621768] }, { [2 x i32] } { [2 x i32] [i32 -1325805225, i32 1058093428] }, { [2 x i32] } { [2 x i32] [i32 601789171, i32 1058169163] }, { [2 x i32] } { [2 x i32] [i32 390256703, i32 -1091642559] }, { [2 x i32] } { [2 x i32] [i32 899454893, i32 -1093551014] }, { [2 x i32] } { [2 x i32] [i32 944491496, i32 1052171464] }, { [2 x i32] } { [2 x i32] [i32 1880259889, i32 -1103795662] }, { [2 x i32] } { [2 x i32] [i32 -979181444, i32 -1098173992] }, { [2 x i32] } { [2 x i32] [i32 1989155295, i32 -1100844181] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074266112] }, { [2 x i32] } { [2 x i32] [i32 -661239826, i32 1068571206] }, { [2 x i32] } { [2 x i32] [i32 -1547163382, i32 1008912724] }, { [2 x i32] } { [2 x i32] [i32 1456610967, i32 -1077898232] }, { [2 x i32] } { [2 x i32] [i32 1688405632, i32 -1133993790] }, { [2 x i32] } { [2 x i32] [i32 -2110052014, i32 1069080076] }, { [2 x i32] } { [2 x i32] [i32 -147467706, i32 1011225950] }, { [2 x i32] } { [2 x i32] [i32 996112998, i32 -1080319645] }, { [2 x i32] } { [2 x i32] [i32 -70925643, i32 -1137156876] }, { [2 x i32] } { [2 x i32] [i32 -2105832025, i32 -1082597876] }, { [2 x i32] } { [2 x i32] [i32 328176821, i32 -1139081114] }, { [2 x i32] } { [2 x i32] [i32 -503405900, i32 1064831448] }, { [2 x i32] } { [2 x i32] [i32 -1850730069, i32 1008628365] }, { [2 x i32] } { [2 x i32] [i32 -2007851085, i32 -1085960898] }, { [2 x i32] } { [2 x i32] [i32 -31273943, i32 -1086175604] }, { [2 x i32] } { [2 x i32] [i32 692140211, i32 1059516742] }, { [2 x i32] } { [2 x i32] [i32 1272619090, i32 1056587794] }, { [2 x i32] } { [2 x i32] [i32 -1399303723, i32 -1091286169] }, { [2 x i32] } { [2 x i32] [i32 -1790070593, i32 1050755388] }, { [2 x i32] } { [2 x i32] [i32 1505663515, i32 1052093658] }, { [2 x i32] } { [2 x i32] [i32 1103778427, i32 -1097585552] }, { [2 x i32] } { [2 x i32] [i32 -1869077506, i32 -1098754864] }, { [2 x i32] } { [2 x i32] [i32 -1121429723, i32 -1103612149] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074266112] }, { [2 x i32] } { [2 x i32] [i32 -661239826, i32 1068571206] }, { [2 x i32] } { [2 x i32] [i32 1301086817, i32 1013171547] }, { [2 x i32] } { [2 x i32] [i32 1456610948, i32 -1077898232] }, { [2 x i32] } { [2 x i32] [i32 -539423028, i32 -1133855290] }, { [2 x i32] } { [2 x i32] [i32 -2110050874, i32 1069080076] }, { [2 x i32] } { [2 x i32] [i32 489453241, i32 1013190330] }, { [2 x i32] } { [2 x i32] [i32 996029148, i32 -1080319645] }, { [2 x i32] } { [2 x i32] [i32 953281099, i32 -1136252037] }, { [2 x i32] } { [2 x i32] [i32 -2110050873, i32 -1082597876] }, { [2 x i32] } { [2 x i32] [i32 1064668942, i32 -1140747365] }, { [2 x i32] } { [2 x i32] [i32 -464894506, i32 1064831448] }, { [2 x i32] } { [2 x i32] [i32 1681882175, i32 1009576676] }, { [2 x i32] } { [2 x i32] [i32 175606311, i32 -1085960898] }, { [2 x i32] } { [2 x i32] [i32 1769359169, i32 -1086175606] }, { [2 x i32] } { [2 x i32] [i32 481505785, i32 1059516784] }, { [2 x i32] } { [2 x i32] [i32 -1800115598, i32 1056588853] }, { [2 x i32] } { [2 x i32] [i32 1525129986, i32 -1091288756] }, { [2 x i32] } { [2 x i32] [i32 374697261, i32 1050910083] }, { [2 x i32] } { [2 x i32] [i32 -877098723, i32 1052201830] }, { [2 x i32] } { [2 x i32] [i32 -701139154, i32 -1098183329] }, { [2 x i32] } { [2 x i32] [i32 178605938, i32 -1099761729] }, { [2 x i32] } { [2 x i32] [i32 188684370, i32 1045869153] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073479680] }, { [2 x i32] } { [2 x i32] [i32 588710072, i32 1069684517] }, { [2 x i32] } { [2 x i32] [i32 46078749, i32 1013431654] }, { [2 x i32] } { [2 x i32] [i32 1069263706, i32 -1079551306] }, { [2 x i32] } { [2 x i32] [i32 -430360329, i32 -1134627467] }, { [2 x i32] } { [2 x i32] [i32 -636638944, i32 1066136473] }, { [2 x i32] } { [2 x i32] [i32 -1653217464, i32 1010238160] }, { [2 x i32] } { [2 x i32] [i32 -765007335, i32 -1083219339] }, { [2 x i32] } { [2 x i32] [i32 537287033, i32 -1138973153] }, { [2 x i32] } { [2 x i32] [i32 1829319821, i32 1062251552] }, { [2 x i32] } { [2 x i32] [i32 -1926351832, i32 1004026679] }, { [2 x i32] } { [2 x i32] [i32 304078762, i32 -1087316254] }, { [2 x i32] } { [2 x i32] [i32 -468886429, i32 -1145694555] }, { [2 x i32] } { [2 x i32] [i32 809203071, i32 1058035592] }, { [2 x i32] } { [2 x i32] [i32 -1588672132, i32 -1091670391] }, { [2 x i32] } { [2 x i32] [i32 756425571, i32 1053512627] }, { [2 x i32] } { [2 x i32] [i32 -651258308, i32 -1096302775] }, { [2 x i32] } { [2 x i32] [i32 -1362116201, i32 1048832011] }, { [2 x i32] } { [2 x i32] [i32 -1061222881, i32 -1100950850] }, { [2 x i32] } { [2 x i32] [i32 1057841156, i32 1043730814] }, { [2 x i32] } { [2 x i32] [i32 -2105086532, i32 -1105191149] }, { [2 x i32] } { [2 x i32] [i32 -1904935586, i32 -1109304658] }, { [2 x i32] } { [2 x i32] [i32 1088077955, i32 -1109195848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073217536] }, { [2 x i32] } { [2 x i32] [i32 -1036916297, i32 1069489033] }, { [2 x i32] } { [2 x i32] [i32 -1122384304, i32 1013000997] }, { [2 x i32] } { [2 x i32] [i32 292960311, i32 -1079927569] }, { [2 x i32] } { [2 x i32] [i32 1555312708, i32 -1137166141] }, { [2 x i32] } { [2 x i32] [i32 -1610459758, i32 1065533580] }, { [2 x i32] } { [2 x i32] [i32 -1452528299, i32 1010675142] }, { [2 x i32] } { [2 x i32] [i32 846015212, i32 -1084035725] }, { [2 x i32] } { [2 x i32] [i32 -102305109, i32 -1142279223] }, { [2 x i32] } { [2 x i32] [i32 -389951995, i32 1061304792] }, { [2 x i32] } { [2 x i32] [i32 -264230969, i32 1004483685] }, { [2 x i32] } { [2 x i32] [i32 207287203, i32 -1088367768] }, { [2 x i32] } { [2 x i32] [i32 -1171308262, i32 -1143290401] }, { [2 x i32] } { [2 x i32] [i32 -1488318649, i32 1056827108] }, { [2 x i32] } { [2 x i32] [i32 -1078300621, i32 -1093031853] }, { [2 x i32] } { [2 x i32] [i32 201277372, i32 1052070218] }, { [2 x i32] } { [2 x i32] [i32 124175537, i32 -1097781059] }, { [2 x i32] } { [2 x i32] [i32 -1165895634, i32 1047196510] }, { [2 x i32] } { [2 x i32] [i32 174341729, i32 -1102795494] }, { [2 x i32] } { [2 x i32] [i32 436977371, i32 1042136532] }, { [2 x i32] } { [2 x i32] [i32 -1806827910, i32 -1107666490] }, { [2 x i32] } { [2 x i32] [i32 -1073483041, i32 1035247318] }, { [2 x i32] } { [2 x i32] [i32 -718685317, i32 -1111801115] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073217536] }, { [2 x i32] } { [2 x i32] [i32 -1036916297, i32 1069489033] }, { [2 x i32] } { [2 x i32] [i32 1689164822, i32 1013000997] }, { [2 x i32] } { [2 x i32] [i32 292960311, i32 -1079927569] }, { [2 x i32] } { [2 x i32] [i32 1002354656, i32 -1137170416] }, { [2 x i32] } { [2 x i32] [i32 -1610459758, i32 1065533580] }, { [2 x i32] } { [2 x i32] [i32 -765561953, i32 1010520374] }, { [2 x i32] } { [2 x i32] [i32 846015166, i32 -1084035725] }, { [2 x i32] } { [2 x i32] [i32 -11970555, i32 -1140707454] }, { [2 x i32] } { [2 x i32] [i32 -389952632, i32 1061304792] }, { [2 x i32] } { [2 x i32] [i32 217810914, i32 1006064235] }, { [2 x i32] } { [2 x i32] [i32 207007278, i32 -1088367768] }, { [2 x i32] } { [2 x i32] [i32 -1036470640, i32 -1145562007] }, { [2 x i32] } { [2 x i32] [i32 -1487655670, i32 1056827108] }, { [2 x i32] } { [2 x i32] [i32 -1711779567, i32 -1093031853] }, { [2 x i32] } { [2 x i32] [i32 -1695155882, i32 1052070218] }, { [2 x i32] } { [2 x i32] [i32 1006175393, i32 -1097781103] }, { [2 x i32] } { [2 x i32] [i32 -2016116204, i32 1047196820] }, { [2 x i32] } { [2 x i32] [i32 2141002401, i32 -1102803102] }, { [2 x i32] } { [2 x i32] [i32 298963463, i32 1042174298] }, { [2 x i32] } { [2 x i32] [i32 -341632047, i32 -1108025364] }, { [2 x i32] } { [2 x i32] [i32 1319288249, i32 1036510940] }, { [2 x i32] } { [2 x i32] [i32 -545746028, i32 -1114612269] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072431104] }, { [2 x i32] } { [2 x i32] [i32 -884181083, i32 1068740859] }, { [2 x i32] } { [2 x i32] [i32 1500393666, i32 1011700234] }, { [2 x i32] } { [2 x i32] [i32 -1231804561, i32 -1081253554] }, { [2 x i32] } { [2 x i32] [i32 -1379772366, i32 -1139254818] }, { [2 x i32] } { [2 x i32] [i32 -1829022549, i32 1063600809] }, { [2 x i32] } { [2 x i32] [i32 134455914, i32 1007358676] }, { [2 x i32] } { [2 x i32] [i32 -1628025773, i32 -1086461326] }, { [2 x i32] } { [2 x i32] [i32 -1255562487, i32 -1142702119] }, { [2 x i32] } { [2 x i32] [i32 1930645703, i32 1058308367] }, { [2 x i32] } { [2 x i32] [i32 611042127, i32 1001484255] }, { [2 x i32] } { [2 x i32] [i32 871606157, i32 -1091867242] }, { [2 x i32] } { [2 x i32] [i32 -2050080400, i32 -1147225264] }, { [2 x i32] } { [2 x i32] [i32 151114966, i32 1052896681] }, { [2 x i32] } { [2 x i32] [i32 -1096317393, i32 -1097404256] }, { [2 x i32] } { [2 x i32] [i32 1416296129, i32 1047311300] }, { [2 x i32] } { [2 x i32] [i32 370266290, i32 -1102978529] }, { [2 x i32] } { [2 x i32] [i32 -606603187, i32 1041480774] }, { [2 x i32] } { [2 x i32] [i32 1684504536, i32 -1108274127] }, { [2 x i32] } { [2 x i32] [i32 -1028093111, i32 -1113691321] }, { [2 x i32] } { [2 x i32] [i32 248965971, i32 -1112410186] }, { [2 x i32] } { [2 x i32] [i32 945095684, i32 -1115298340] }, { [2 x i32] } { [2 x i32] [i32 -1748880804, i32 -1117746026] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072168960] }, { [2 x i32] } { [2 x i32] [i32 -1938090513, i32 1068537184] }, { [2 x i32] } { [2 x i32] [i32 1749976301, i32 1012235700] }, { [2 x i32] } { [2 x i32] [i32 594718277, i32 -1081801076] }, { [2 x i32] } { [2 x i32] [i32 2094274569, i32 -1139174484] }, { [2 x i32] } { [2 x i32] [i32 1017250456, i32 1062866670] }, { [2 x i32] } { [2 x i32] [i32 299534390, i32 1007091421] }, { [2 x i32] } { [2 x i32] [i32 -723912384, i32 -1087398711] }, { [2 x i32] } { [2 x i32] [i32 -1428049710, i32 -1143979840] }, { [2 x i32] } { [2 x i32] [i32 -431291867, i32 1057147574] }, { [2 x i32] } { [2 x i32] [i32 -1637245992, i32 998858849] }, { [2 x i32] } { [2 x i32] [i32 -592754057, i32 -1093276932] }, { [2 x i32] } { [2 x i32] [i32 996610251, i32 -1150354728] }, { [2 x i32] } { [2 x i32] [i32 713586991, i32 1051269727] }, { [2 x i32] } { [2 x i32] [i32 -2058429735, i32 -1099152867] }, { [2 x i32] } { [2 x i32] [i32 81737853, i32 1045382152] }, { [2 x i32] } { [2 x i32] [i32 -616836606, i32 -1105124850] }, { [2 x i32] } { [2 x i32] [i32 1066049209, i32 1039246050] }, { [2 x i32] } { [2 x i32] [i32 -76418414, i32 -1111028035] }, { [2 x i32] } { [2 x i32] [i32 1584430088, i32 1030921602] }, { [2 x i32] } { [2 x i32] [i32 1800859568, i32 -1115639549] }, { [2 x i32] } { [2 x i32] [i32 688613442, i32 -1118765506] }, { [2 x i32] } { [2 x i32] [i32 231506781, i32 -1121156197] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072168960] }, { [2 x i32] } { [2 x i32] [i32 -1938090511, i32 1068537184] }, { [2 x i32] } { [2 x i32] [i32 567106610, i32 1008722433] }, { [2 x i32] } { [2 x i32] [i32 594717920, i32 -1081801076] }, { [2 x i32] } { [2 x i32] [i32 697733082, i32 -1139691593] }, { [2 x i32] } { [2 x i32] [i32 1017284893, i32 1062866670] }, { [2 x i32] } { [2 x i32] [i32 -1674606135, i32 1006949358] }, { [2 x i32] } { [2 x i32] [i32 -725931139, i32 -1087398711] }, { [2 x i32] } { [2 x i32] [i32 -2112544589, i32 -1143292178] }, { [2 x i32] } { [2 x i32] [i32 -391035837, i32 1057147574] }, { [2 x i32] } { [2 x i32] [i32 -1320751918, i32 1001234190] }, { [2 x i32] } { [2 x i32] [i32 -1751007540, i32 -1093276932] }, { [2 x i32] } { [2 x i32] [i32 407823478, i32 -1148387144] }, { [2 x i32] } { [2 x i32] [i32 -184700375, i32 1051269732] }, { [2 x i32] } { [2 x i32] [i32 -634297934, i32 -1099152962] }, { [2 x i32] } { [2 x i32] [i32 -1916106041, i32 1045383342] }, { [2 x i32] } { [2 x i32] [i32 766533283, i32 -1105130624] }, { [2 x i32] } { [2 x i32] [i32 -396141928, i32 1039289086] }, { [2 x i32] } { [2 x i32] [i32 -706335823, i32 -1111271308] }, { [2 x i32] } { [2 x i32] [i32 -1208074392, i32 1033118589] }, { [2 x i32] } { [2 x i32] [i32 411511189, i32 -1117498291] }, { [2 x i32] } { [2 x i32] [i32 -1263633967, i32 1026705497] }, { [2 x i32] } { [2 x i32] [i32 1945442134, i32 -1124775322] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071382528] }, { [2 x i32] } { [2 x i32] [i32 -1372302482, i32 1067727416] }, { [2 x i32] } { [2 x i32] [i32 -608527834, i32 1009001183] }, { [2 x i32] } { [2 x i32] [i32 108863634, i32 -1083195603] }, { [2 x i32] } { [2 x i32] [i32 1455256580, i32 -1139081267] }, { [2 x i32] } { [2 x i32] [i32 -147384933, i32 1060679458] }, { [2 x i32] } { [2 x i32] [i32 -820724209, i32 1000635051] }, { [2 x i32] } { [2 x i32] [i32 -826075744, i32 -1090321049] }, { [2 x i32] } { [2 x i32] [i32 -1328150880, i32 -1146662746] }, { [2 x i32] } { [2 x i32] [i32 1163104050, i32 1053625677] }, { [2 x i32] } { [2 x i32] [i32 -595401734, i32 997845040] }, { [2 x i32] } { [2 x i32] [i32 731718509, i32 -1097461963] }, { [2 x i32] } { [2 x i32] [i32 1727821646, i32 -1153777569] }, { [2 x i32] } { [2 x i32] [i32 631869042, i32 1046490505] }, { [2 x i32] } { [2 x i32] [i32 857533556, i32 -1104397895] }, { [2 x i32] } { [2 x i32] [i32 343144760, i32 1036916967] }, { [2 x i32] } { [2 x i32] [i32 626196892, i32 -1109571632] }, { [2 x i32] } { [2 x i32] [i32 93821861, i32 -1111945579] }, { [2 x i32] } { [2 x i32] [i32 742056082, i32 -1113953181] }, { [2 x i32] } { [2 x i32] [i32 1125899740, i32 -1116645882] }, { [2 x i32] } { [2 x i32] [i32 -748128454, i32 -1119783141] }, { [2 x i32] } { [2 x i32] [i32 119350992, i32 -1123727068] }, { [2 x i32] } { [2 x i32] [i32 636680544, i32 -1128520373] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -775044493, i32 1067509724] }, { [2 x i32] } { [2 x i32] [i32 824296801, i32 1012239295] }, { [2 x i32] } { [2 x i32] [i32 -1948260090, i32 -1083818756] }, { [2 x i32] } { [2 x i32] [i32 -516904044, i32 -1139569260] }, { [2 x i32] } { [2 x i32] [i32 1433291762, i32 1059917749] }, { [2 x i32] } { [2 x i32] [i32 -1772541665, i32 1003708848] }, { [2 x i32] } { [2 x i32] [i32 2114893091, i32 -1091379705] }, { [2 x i32] } { [2 x i32] [i32 -509718600, i32 -1147175493] }, { [2 x i32] } { [2 x i32] [i32 -389616306, i32 1052268233] }, { [2 x i32] } { [2 x i32] [i32 -1037014910, i32 996306843] }, { [2 x i32] } { [2 x i32] [i32 1310082982, i32 -1098954891] }, { [2 x i32] } { [2 x i32] [i32 -1256024996, i32 -1157155975] }, { [2 x i32] } { [2 x i32] [i32 1038839976, i32 1044612185] }, { [2 x i32] } { [2 x i32] [i32 227761772, i32 -1106474349] }, { [2 x i32] } { [2 x i32] [i32 -577080521, i32 1035002457] }, { [2 x i32] } { [2 x i32] [i32 1877516518, i32 -1112223679] }, { [2 x i32] } { [2 x i32] [i32 -86004897, i32 -1114742998] }, { [2 x i32] } { [2 x i32] [i32 527255871, i32 -1116997959] }, { [2 x i32] } { [2 x i32] [i32 -403204046, i32 -1119892063] }, { [2 x i32] } { [2 x i32] [i32 -1405403328, i32 -1123299039] }, { [2 x i32] } { [2 x i32] [i32 -1873031951, i32 -1127389642] }, { [2 x i32] } { [2 x i32] [i32 999163138, i32 -1132406160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -774295150, i32 1067509724] }, { [2 x i32] } { [2 x i32] [i32 -53960143, i32 1007716231] }, { [2 x i32] } { [2 x i32] [i32 -2026505536, i32 -1083818756] }, { [2 x i32] } { [2 x i32] [i32 -2126463781, i32 -1140503048] }, { [2 x i32] } { [2 x i32] [i32 945471716, i32 1059917750] }, { [2 x i32] } { [2 x i32] [i32 303810448, i32 1001247292] }, { [2 x i32] } { [2 x i32] [i32 676441649, i32 -1091379718] }, { [2 x i32] } { [2 x i32] [i32 1330474918, i32 -1147085503] }, { [2 x i32] } { [2 x i32] [i32 2080863281, i32 1052268511] }, { [2 x i32] } { [2 x i32] [i32 244865847, i32 995011671] }, { [2 x i32] } { [2 x i32] [i32 -1462660531, i32 -1098959128] }, { [2 x i32] } { [2 x i32] [i32 845760869, i32 -1158010936] }, { [2 x i32] } { [2 x i32] [i32 506092767, i32 1044636693] }, { [2 x i32] } { [2 x i32] [i32 1706717132, i32 -1106693395] }, { [2 x i32] } { [2 x i32] [i32 1548317431, i32 1037024354] }, { [2 x i32] } { [2 x i32] [i32 -2040853140, i32 -1114382741] }, { [2 x i32] } { [2 x i32] [i32 1769551952, i32 1029225666] }, { [2 x i32] } { [2 x i32] [i32 -74113014, i32 -1122065670] }, { [2 x i32] } { [2 x i32] [i32 -20129999, i32 1021490428] }, { [2 x i32] } { [2 x i32] [i32 943581457, i32 -1129780885] }, { [2 x i32] } { [2 x i32] [i32 -1136717485, i32 1012918237] }, { [2 x i32] } { [2 x i32] [i32 -2093624636, i32 -1136479186] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -774295151, i32 1067509724] }, { [2 x i32] } { [2 x i32] [i32 -1698199301, i32 1011834320] }, { [2 x i32] } { [2 x i32] [i32 -2026505656, i32 -1083818756] }, { [2 x i32] } { [2 x i32] [i32 -824864956, i32 -1139146957] }, { [2 x i32] } { [2 x i32] [i32 945459746, i32 1059917750] }, { [2 x i32] } { [2 x i32] [i32 650693343, i32 1004271202] }, { [2 x i32] } { [2 x i32] [i32 676080039, i32 -1091379718] }, { [2 x i32] } { [2 x i32] [i32 1633894174, i32 -1148575366] }, { [2 x i32] } { [2 x i32] [i32 2066094464, i32 1052268511] }, { [2 x i32] } { [2 x i32] [i32 -572294027, i32 996992601] }, { [2 x i32] } { [2 x i32] [i32 -1895483041, i32 -1098959128] }, { [2 x i32] } { [2 x i32] [i32 -1703499032, i32 -1154850939] }, { [2 x i32] } { [2 x i32] [i32 85985405, i32 1044636692] }, { [2 x i32] } { [2 x i32] [i32 929613623, i32 -1106693413] }, { [2 x i32] } { [2 x i32] [i32 -1977342580, i32 1037024122] }, { [2 x i32] } { [2 x i32] [i32 -1855534334, i32 -1114383884] }, { [2 x i32] } { [2 x i32] [i32 -23808146, i32 1029216882] }, { [2 x i32] } { [2 x i32] [i32 -580328532, i32 -1122118311] }, { [2 x i32] } { [2 x i32] [i32 1942031416, i32 1021382294] }, { [2 x i32] } { [2 x i32] [i32 -641123048, i32 -1130303556] }, { [2 x i32] } { [2 x i32] [i32 871475892, i32 1012464665] }, { [2 x i32] } { [2 x i32] [i32 656811693, i32 -1140612468] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070333952] }, { [2 x i32] } { [2 x i32] [i32 1642662550, i32 1066688522] }, { [2 x i32] } { [2 x i32] [i32 -1331390353, i32 1010992140] }, { [2 x i32] } { [2 x i32] [i32 1888495439, i32 -1085261767] }, { [2 x i32] } { [2 x i32] [i32 1447202614, i32 -1139826527] }, { [2 x i32] } { [2 x i32] [i32 1374755676, i32 1057604245] }, { [2 x i32] } { [2 x i32] [i32 678968944, i32 1001863281] }, { [2 x i32] } { [2 x i32] [i32 -1645597365, i32 -1094424560] }, { [2 x i32] } { [2 x i32] [i32 1574991661, i32 -1150092404] }, { [2 x i32] } { [2 x i32] [i32 1195653053, i32 1048584280] }, { [2 x i32] } { [2 x i32] [i32 -272197164, i32 991697925] }, { [2 x i32] } { [2 x i32] [i32 -1409832916, i32 -1103532392] }, { [2 x i32] } { [2 x i32] [i32 -1408558137, i32 -1159604345] }, { [2 x i32] } { [2 x i32] [i32 1869810271, i32 1039398256] }, { [2 x i32] } { [2 x i32] [i32 255015445, i32 -1112543852] }, { [2 x i32] } { [2 x i32] [i32 -1844036112, i32 1030074232] }, { [2 x i32] } { [2 x i32] [i32 -1979389943, i32 -1120988019] }, { [2 x i32] } { [2 x i32] [i32 -1349389549, i32 -1125706678] }, { [2 x i32] } { [2 x i32] [i32 1357552240, i32 -1127605028] }, { [2 x i32] } { [2 x i32] [i32 37358571, i32 -1131157101] }, { [2 x i32] } { [2 x i32] [i32 -1641488494, i32 -1134830758] }, { [2 x i32] } { [2 x i32] [i32 -1213325909, i32 -1139434576] }, { [2 x i32] } { [2 x i32] [i32 -27926531, i32 -1144793619] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -876445676, i32 1066466812] }, { [2 x i32] } { [2 x i32] [i32 1699529181, i32 1008455209] }, { [2 x i32] } { [2 x i32] [i32 1611713561, i32 -1085893628] }, { [2 x i32] } { [2 x i32] [i32 -2070075808, i32 -1143292712] }, { [2 x i32] } { [2 x i32] [i32 -1490642151, i32 1056830215] }, { [2 x i32] } { [2 x i32] [i32 2007102010, i32 999689802] }, { [2 x i32] } { [2 x i32] [i32 2125991425, i32 -1095510937] }, { [2 x i32] } { [2 x i32] [i32 2128641076, i32 -1150398280] }, { [2 x i32] } { [2 x i32] [i32 -1018396317, i32 1047148232] }, { [2 x i32] } { [2 x i32] [i32 -1190223715, i32 991066644] }, { [2 x i32] } { [2 x i32] [i32 1434492972, i32 -1105113803] }, { [2 x i32] } { [2 x i32] [i32 -683504831, i32 -1160354066] }, { [2 x i32] } { [2 x i32] [i32 -115733482, i32 1037483419] }, { [2 x i32] } { [2 x i32] [i32 1390563144, i32 -1114731326] }, { [2 x i32] } { [2 x i32] [i32 1369956806, i32 1027680195] }, { [2 x i32] } { [2 x i32] [i32 -998523055, i32 -1123705908] }, { [2 x i32] } { [2 x i32] [i32 1818580420, i32 -1128425925] }, { [2 x i32] } { [2 x i32] [i32 -1562962957, i32 -1130729969] }, { [2 x i32] } { [2 x i32] [i32 1352851824, i32 -1134492959] }, { [2 x i32] } { [2 x i32] [i32 -1144548632, i32 -1138507439] }, { [2 x i32] } { [2 x i32] [i32 -916445371, i32 -1143364518] }, { [2 x i32] } { [2 x i32] [i32 1846805089, i32 -1149006944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -876422951, i32 1066466812] }, { [2 x i32] } { [2 x i32] [i32 1490734897, i32 1011363420] }, { [2 x i32] } { [2 x i32] [i32 1608651733, i32 -1085893628] }, { [2 x i32] } { [2 x i32] [i32 5067285, i32 -1141318713] }, { [2 x i32] } { [2 x i32] [i32 -1298926888, i32 1056830215] }, { [2 x i32] } { [2 x i32] [i32 -1977009946, i32 999867163] }, { [2 x i32] } { [2 x i32] [i32 -1575760642, i32 -1095510938] }, { [2 x i32] } { [2 x i32] [i32 122506430, i32 -1150411048] }, { [2 x i32] } { [2 x i32] [i32 -1155551505, i32 1047148255] }, { [2 x i32] } { [2 x i32] [i32 -1759212833, i32 991460861] }, { [2 x i32] } { [2 x i32] [i32 2120894754, i32 -1105114027] }, { [2 x i32] } { [2 x i32] [i32 2093385351, i32 -1161518471] }, { [2 x i32] } { [2 x i32] [i32 716793310, i32 1037486719] }, { [2 x i32] } { [2 x i32] [i32 2143652057, i32 -1114768806] }, { [2 x i32] } { [2 x i32] [i32 -975841805, i32 1027845842] }, { [2 x i32] } { [2 x i32] [i32 317475574, i32 -1124479526] }, { [2 x i32] } { [2 x i32] [i32 -567387994, i32 1018225406] }, { [2 x i32] } { [2 x i32] [i32 -1319714571, i32 -1134161646] }, { [2 x i32] } { [2 x i32] [i32 -936461995, i32 1008519261] }, { [2 x i32] } { [2 x i32] [i32 377146776, i32 -1143821739] }, { [2 x i32] } { [2 x i32] [i32 -1280492420, i32 998823875] }, { [2 x i32] } { [2 x i32] [i32 -932940254, i32 -1153238635] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -876423069, i32 1066466812] }, { [2 x i32] } { [2 x i32] [i32 33080604, i32 1010501607] }, { [2 x i32] } { [2 x i32] [i32 1608635005, i32 -1085893628] }, { [2 x i32] } { [2 x i32] [i32 1549891497, i32 -1142549719] }, { [2 x i32] } { [2 x i32] [i32 -1300021002, i32 1056830215] }, { [2 x i32] } { [2 x i32] [i32 2040667205, i32 1000840049] }, { [2 x i32] } { [2 x i32] [i32 -1597743605, i32 -1095510938] }, { [2 x i32] } { [2 x i32] [i32 807315666, i32 -1152217064] }, { [2 x i32] } { [2 x i32] [i32 -1763370497, i32 1047148255] }, { [2 x i32] } { [2 x i32] [i32 -1674975260, i32 990566326] }, { [2 x i32] } { [2 x i32] [i32 280089076, i32 -1105114028] }, { [2 x i32] } { [2 x i32] [i32 -267528412, i32 -1164127623] }, { [2 x i32] } { [2 x i32] [i32 1532986748, i32 1037486697] }, { [2 x i32] } { [2 x i32] [i32 1165513351, i32 -1114769063] }, { [2 x i32] } { [2 x i32] [i32 -354790194, i32 1027844655] }, { [2 x i32] } { [2 x i32] [i32 -1505398684, i32 -1124488152] }, { [2 x i32] } { [2 x i32] [i32 36373502, i32 1018200680] }, { [2 x i32] } { [2 x i32] [i32 416742074, i32 -1134273259] }, { [2 x i32] } { [2 x i32] [i32 346359209, i32 1008125675] }, { [2 x i32] } { [2 x i32] [i32 912976059, i32 -1144717009] }, { [2 x i32] } { [2 x i32] [i32 -1351591583, i32 996892162] }, { [2 x i32] } { [2 x i32] [i32 -1054290102, i32 -1157478601] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1069285376] }, { [2 x i32] } { [2 x i32] [i32 357289481, i32 1065642433] }, { [2 x i32] } { [2 x i32] [i32 -643399493, i32 1008046162] }, { [2 x i32] } { [2 x i32] [i32 -709180844, i32 -1087352988] }, { [2 x i32] } { [2 x i32] [i32 -280111100, i32 -1145874633] }, { [2 x i32] } { [2 x i32] [i32 -1829785328, i32 1054477352] }, { [2 x i32] } { [2 x i32] [i32 -1195134049, i32 997604117] }, { [2 x i32] } { [2 x i32] [i32 -423115804, i32 -1098593981] }, { [2 x i32] } { [2 x i32] [i32 -1258682791, i32 -1154634987] }, { [2 x i32] } { [2 x i32] [i32 471001054, i32 1043370955] }, { [2 x i32] } { [2 x i32] [i32 -249271807, i32 987102998] }, { [2 x i32] } { [2 x i32] [i32 2044845300, i32 -1109758723] }, { [2 x i32] } { [2 x i32] [i32 288467238, i32 -1165229950] }, { [2 x i32] } { [2 x i32] [i32 279790169, i32 1032129178] }, { [2 x i32] } { [2 x i32] [i32 432607543, i32 -1120874480] }, { [2 x i32] } { [2 x i32] [i32 -1258700733, i32 1020915457] }, { [2 x i32] } { [2 x i32] [i32 -1979568968, i32 -1131887213] }, { [2 x i32] } { [2 x i32] [i32 1636586066, i32 1007276353] }, { [2 x i32] } { [2 x i32] [i32 -1374565581, i32 -1141214929] }, { [2 x i32] } { [2 x i32] [i32 -1574784110, i32 -1145922016] }, { [2 x i32] } { [2 x i32] [i32 1474145059, i32 -1150205405] }, { [2 x i32] } { [2 x i32] [i32 -458100845, i32 -1155647148] }, { [2 x i32] } { [2 x i32] [i32 -1823108758, i32 -1161720350] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1069023232] }, { [2 x i32] } { [2 x i32] [i32 -307660213, i32 1065419679] }, { [2 x i32] } { [2 x i32] [i32 1084140174, i32 1010284809] }, { [2 x i32] } { [2 x i32] [i32 961641238, i32 -1087985032] }, { [2 x i32] } { [2 x i32] [i32 212140097, i32 -1145018704] }, { [2 x i32] } { [2 x i32] [i32 1347684793, i32 1053699729] }, { [2 x i32] } { [2 x i32] [i32 633281728, i32 996245010] }, { [2 x i32] } { [2 x i32] [i32 1312847307, i32 -1099688356] }, { [2 x i32] } { [2 x i32] [i32 1846770227, i32 -1156198254] }, { [2 x i32] } { [2 x i32] [i32 541288391, i32 1041937694] }, { [2 x i32] } { [2 x i32] [i32 -577803038, i32 984005354] }, { [2 x i32] } { [2 x i32] [i32 -1483354241, i32 -1111366521] }, { [2 x i32] } { [2 x i32] [i32 73102783, i32 -1166754016] }, { [2 x i32] } { [2 x i32] [i32 2104686450, i32 1030111068] }, { [2 x i32] } { [2 x i32] [i32 2122211770, i32 -1122653859] }, { [2 x i32] } { [2 x i32] [i32 -1864073874, i32 -1129072017] }, { [2 x i32] } { [2 x i32] [i32 -169712255, i32 -1131513057] }, { [2 x i32] } { [2 x i32] [i32 -1446277626, i32 -1135943114] }, { [2 x i32] } { [2 x i32] [i32 1713342111, i32 -1140413183] }, { [2 x i32] } { [2 x i32] [i32 -1855968892, i32 -1145426881] }, { [2 x i32] } { [2 x i32] [i32 1472845781, i32 -1150920967] }, { [2 x i32] } { [2 x i32] [i32 -421396973, i32 -1157127989] }, { [2 x i32] } { [2 x i32] [i32 -776869817, i32 -1164296875] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 1431652600, i32 1069897045] }, { [2 x i32] } { [2 x i32] [i32 1431670732, i32 1067799893] }, { [2 x i32] } { [2 x i32] [i32 984555731, i32 1065423122] }, { [2 x i32] } { [2 x i32] [i32 472530941, i32 1062650218] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 -2084979213, i32 1046076929] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1579729366, i32 1044950059] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 36755401, i32 1042114290] }, { [2 x i32] } { [2 x i32] [i32 1744830464, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1032479461, i32 1045685796] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 269498903, i32 1044815501] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 -1528053989, i32 1039293264] }, { [2 x i32] } { [2 x i32] [i32 -1476395008, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 2127365126, i32 1046127799] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -344752654, i32 1045558597] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 -1444563768, i32 1045134939] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 -1484760192, i32 1043762074] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -1897678143, i32 1041802037] }, { [2 x i32] } { [2 x i32] [i32 1744830464, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -509933589, i32 1046074760] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 1955981725, i32 1045924339] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -2068801723, i32 1045725051] }, { [2 x i32] } { [2 x i32] [i32 -1610612736, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 754984053, i32 1046188044] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -1452325203, i32 1044483512] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -94051279, i32 1044586679] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 714887508, i32 1046276775] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -609718491, i32 1045665407] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 -1999187895, i32 1045448912] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 -1618726308, i32 1044345570] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 1086643152, i32 1041785419] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 1078920847, i32 1045890291] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1670050209, i32 1045747880] }, { [2 x i32] } { [2 x i32] [i32 1879048192, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -1699426461, i32 1046115506] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 125577743, i32 1046115646] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 1771811520, i32 1046140063] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 -1520229184, i32 1045766480] }, { [2 x i32] } { [2 x i32] [i32 268435456, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 565866387, i32 1045869701] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 1492679939, i32 1041050306] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 612974287, i32 1044556049] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 843197631, i32 1046084847] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 -1144487029, i32 1045533800] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 2074373662, i32 1043172334] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 587053675, i32 1046022559] }, { [2 x i32] } { [2 x i32] [i32 1879048192, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 918464641, i32 1045387276] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -2008976373, i32 1046166841] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 682424459, i32 1043647713] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 1678188781, i32 1045046423] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 -623034837, i32 1044468998] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 1656324724, i32 1043421043] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -1635122296, i32 1042921660] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 1043233352, i32 1046444345] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -2132549066, i32 1044717444] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 630511316, i32 1045098283] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -463859163, i32 1044508970] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 -49304431, i32 1045817334] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 -706186419, i32 1043705146] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 -1112542150, i32 1041483134] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 928333188, i32 1044896498] }, { [2 x i32] } { [2 x i32] [i32 -1879048192, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 -1994463171, i32 1041428596] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 1887994668, i32 1045828938] }, { [2 x i32] } { [2 x i32] [i32 671088640, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 757630176, i32 1046044485] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -1537994961, i32 1045675585] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 -597133032, i32 1044397131] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 479684631, i32 1045687954] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 730095629, i32 1045354900] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 -171227562, i32 1045159130] }, { [2 x i32] } { [2 x i32] [i32 -536870912, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -660802484, i32 1046359295] }, { [2 x i32] } { [2 x i32] [i32 -1610612736, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 -869500003, i32 1044718726] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -1646493880, i32 1046054248] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 54164518, i32 1045131818] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -2098656642, i32 1043982605] }, { [2 x i32] } { [2 x i32] [i32 -17170432, i32 1065758274] }, { [2 x i32] } { [2 x i32] [i32 -1130480838, i32 1025308570] }, { [2 x i32] } { [2 x i32] [i32 1697350398, i32 1079448903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 862978048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1127743488] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1, i32 1048576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 -599835689, i32 -1069335007] }, { [2 x i32] } { [2 x i32] [i32 77020636, i32 -1069359423] }, { [2 x i32] } { [2 x i32] [i32 96410123, i32 -1069366661] }, { [2 x i32] } { [2 x i32] [i32 1507228748, i32 1075877296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }], align 8 +@_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_148__devicelib_imf_internal_dcdfnorminv_data_avx512E = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cdfnorminv_d_la::(anonymous namespace)::__devicelib_imf_internal_dcdfnorminv_data_avx512_t" { [21762 x i64] [i64 4616899301673555150, i64 4746374907222090319, i64 4616898376127531666, i64 4746309782424730958, i64 4616897457572999634, i64 4746245649155836613, i64 4616896545903919715, i64 4746182484861843837, i64 4616895641016655445, i64 4746120267669231164, i64 4616894742809901047, i64 4746058976359053976, i64 4616893851184611949, i64 4745998590342615909, i64 4616892966043937865, i64 4745939089638218035, i64 4616892087293158344, i64 4745880454848930497, i64 4616891214839620665, i64 4745822667141334488, i64 4616890348592679984, i64 4745765708225185509, i64 4616889488463641631, i64 4745709560333951618, i64 4616888634365705473, i64 4745654206206183051, i64 4616887786213912239, i64 4745599629067672056, i64 4616886943925091745, i64 4745545812614364089, i64 4616886107417812923, i64 4745492740995983693, i64 4616885276612335585, i64 4745440398800340418, i64 4616884451430563846, i64 4745388771038282040, i64 4616883631796001151, i64 4745337843129264128, i64 4616882817633706820, i64 4745287600887506700, i64 4616882008870254070, i64 4745238030508710259, i64 4616881205433689434, i64 4745189118557305023, i64 4616880407253493543, i64 4745140851954208515, i64 4616879614260543197, i64 4745093217965068032, i64 4616878826387074688, i64 4745046204188965705, i64 4616878043566648322, i64 4744999798547565060, i64 4616877265734114084, i64 4744953989274679057, i64 4616876492825578419, i64 4744908764906240634, i64 4616875724778372073, i64 4744864114270657735, i64 4616874961531018955, i64 4744820026479535734, i64 4616874203023205990, i64 4744776490918751024, i64 4616873449195753911, i64 4744733497239860347, i64 4616872699990588970, i64 4744691035351831222, i64 4616871955350715525, i64 4744649095413079548, i64 4616871215220189469, i64 4744607667823801149, i64 4616870479544092477, i64 4744566743218584664, i64 4616869748268507037, i64 4744526312459293817, i64 4616869021340492237, i64 4744486366628207664, i64 4616868298708060275, i64 4744446897021407968, i64 4616867580320153683, i64 4744407895142403383, i64 4616866866126623217, i64 4744369352695980588, i64 4616866156078206409, i64 4744331261582273018, i64 4616865450126506739, i64 4744293613891038240, i64 4616864748223973429, i64 4744256401896135468, i64 4616864050323881813, i64 4744219618050195087, i64 4616863356380314276, i64 4744183254979472450, i64 4616862666348141743, i64 4744147305478878532, i64 4616861980183005696, i64 4744111762507180418, i64 4616861297841300695, i64 4744076619182364865, i64 4616860619280157404, i64 4744041868777158512, i64 4616859944457426079, i64 4744007504714698604, i64 4616859273331660530, i64 4743973520564348348, i64 4616858605862102519, i64 4743939910037651306, i64 4616857942008666592, i64 4743906666984419442, i64 4616857281731925326, i64 4743873785388949724, i64 4616856624993094980, i64 4743841259366364354, i64 4616855971754021536, i64 4743809083159069947, i64 4616855321977167112, i64 4743777251133331170, i64 4616854675625596746, i64 4743745757775954545, i64 4616854032662965530, i64 4743714597691078300, i64 4616853393053506083, i64 4743683765597064336, i64 4616852756762016361, i64 4743653256323488538, i64 4616852123753847784, i64 4743623064808225807, i64 4616851493994893671, i64 4743593186094626370, i64 4616850867451577980, i64 4743563615328780029, i64 4616850244090844337, i64 4743534347756865187, i64 4616849623880145350, i64 4743505378722579584, i64 4616849006787432190, i64 4743476703664649832, i64 4616848392781144447, i64 4743448318114416933, i64 4616847781830200234, i64 4743420217693495092, i64 4616847173903986547, i64 4743392398111501241, i64 4616846568972349864, i64 4743364855163852791, i64 4616845967005586978, i64 4743337584729631239, i64 4616845367974436060, i64 4743310582769509325, i64 4616844771850067940, i64 4743283845323739568, i64 4616844178604077607, i64 4743257368510202047, i64 4616843588208475910, i64 4743231148522509413, i64 4616843000635681470, i64 4743205181628167184, i64 4616842415858512777, i64 4743179464166787441, i64 4616841833850180490, i64 4743153992548354129, i64 4616841254584279912, i64 4743128763251538237, i64 4616840678034783649, i64 4743103772822061177, i64 4616840104176034442, i64 4743079017871104779, i64 4616839532982738172, i64 4743054495073766338, i64 4616838964429957024, i64 4743030201167557247, i64 4616838398493102814, i64 4743006132950943785, i64 4616837835147930477, i64 4742982287281928672, i64 4616837274370531694, i64 4742958661076672084, i64 4616836716137328679, i64 4742935251308150845, i64 4616836160425068100, i64 4742912055004854567, i64 4616835607210815143, i64 4742889069249517555, i64 4616835056471947713, i64 4742866291177885345, i64 4616834508186150761, i64 4742843717977514763, i64 4616833962331410744, i64 4742821346886606458, i64 4616833418886010210, i64 4742799175192868878, i64 4616832877828522497, i64 4742777200232412718, i64 4616832339137806561, i64 4742755419388674873, i64 4616831802793001909, i64 4742733830091370994, i64 4616831268773523650, i64 4742712429815475765, i64 4616830737059057651, i64 4742691216080230032, i64 4616830207629555804, i64 4742670186448173984, i64 4616829680465231389, i64 4742649338524205573, i64 4616829155546554542, i64 4742628669954663417, i64 4616828632854247825, i64 4742608178426433451, i64 4616828112369281880, i64 4742587861666078591, i64 4616827594072871189, i64 4742567717438990753, i64 4616827077946469913, i64 4742547743548564522, i64 4616826563971767828, i64 4742527937835391868, i64 4616826052130686342, i64 4742508298176477253, i64 4616825542405374600, i64 4742488822484472551, i64 4616825034778205663, i64 4742469508706931183, i64 4616824529231772777, i64 4742450354825580924, i64 4616824025748885710, i64 4742431358855614819, i64 4616823524312567175, i64 4742412518844999700, i64 4616823024906049313, i64 4742393832873801791, i64 4616822527512770264, i64 4742375299053528901, i64 4616822032116370797, i64 4742356915526488747, i64 4616821538700691010, i64 4742338680465162933, i64 4616821047249767104, i64 4742320592071596153, i64 4616820557747828211, i64 4742302648576800173, i64 4616820070179293298, i64 4742279288859212094, i64 4616819584528768123, i64 4742243971076722045, i64 4616819100781042256, i64 4742208932813955152, i64 4616818618921086160, i64 4742174170753314198, i64 4616818138934048331, i64 4742139681629591388, i64 4616817660805252486, i64 4742105462228937195, i64 4616817184520194819, i64 4742071509387853477, i64 4616816710064541299, i64 4742037819992210216, i64 4616816237424125031, i64 4742004390976285214, i64 4616815297533156815, i64 4741938302057134311, i64 4616814364737200367, i64 4741873219037676151, i64 4616813438928679171, i64 4741809119041892248, i64 4616812520002453943, i64 4741745979883431767, i64 4616811607855749429, i64 4741683780039788790, i64 4616810702388083928, i64 4741622498627631965, i64 4616809803501201437, i64 4741562115379226979, i64 4616808911099006277, i64 4741502610619895752, i64 4616808025087500113, i64 4741443965246459538, i64 4616807145374721250, i64 4741386160706616155, i64 4616806271870686115, i64 4741329178979204451, i64 4616805404487332825, i64 4741273002555311749, i64 4616804543138466757, i64 4741217614420182559, i64 4616803687739708035, i64 4741162998035889157, i64 4616802838208440845, i64 4741109137324726844, i64 4616801994463764520, i64 4741056016653298768, i64 4616801156426446304, i64 4741003620817257092, i64 4616800324018875729, i64 4740951935026669156, i64 4616799497165020555, i64 4740900944891978933, i64 4616798675790384181, i64 4740850636410535713, i64 4616797859821964501, i64 4740800995953663448, i64 4616797049188214120, i64 4740752010254245581, i64 4616796243819001887, i64 4740703666394801549, i64 4616795443645575696, i64 4740655951796032374, i64 4616794648600526502, i64 4740608854205813938, i64 4616793858617753499, i64 4740562361688617654, i64 4616793073632430427, i64 4740516462615339287, i64 4616792293580972951, i64 4740471145653517665, i64 4616791518401007089, i64 4740426399757925937, i64 4616790748031338621, i64 4740382214161518926, i64 4616789982411923478, i64 4740338578366720950, i64 4616789221483839044, i64 4740295482137039244, i64 4616788465189256347, i64 4740252915488988883, i64 4616787713471413117, i64 4740210868684315766, i64 4616786966274587663, i64 4740169332222504917, i64 4616786223544073542, i64 4740128296833561944, i64 4616785485226155007, i64 4740087753471056113, i64 4616784751268083180, i64 4740047693305414022, i64 4616784021618052949, i64 4740008107717453418, i64 4616783296225180541, i64 4739968988292147164, i64 4616782575039481768, i64 4739930326812607859, i64 4616781858011850908, i64 4739892115254284055, i64 4616781145094040199, i64 4739854345779359418, i64 4616780436238639932, i64 4739817010731346619, i64 4616779731399059123, i64 4739780102629868079, i64 4616779030529506730, i64 4739743614165616084, i64 4616778333584973414, i64 4739707538195485113, i64 4616777640521213815, i64 4739671867737869546, i64 4616776951294729326, i64 4739636595968120235, i64 4616776265862751352, i64 4739601716214153707, i64 4616775584183225038, i64 4739567221952208043, i64 4616774906214793445, i64 4739533106802739754, i64 4616774231916782165, i64 4739499364526456208, i64 4616773561249184355, i64 4739465989020478414, i64 4616772894172646183, i64 4739432974314629193, i64 4616772230648452668, i64 4739400314567841973, i64 4616771570638513900, i64 4739368004064685664, i64 4616770914105351633, i64 4739336037212001248, i64 4616770261012086232, i64 4739304408535645932, i64 4616769611322423972, i64 4739273112677340843, i64 4616768965000644668, i64 4739242144391618469, i64 4616768322011589630, i64 4739211498542866162, i64 4616767682320649938, i64 4739181170102462205, i64 4616767045893755016, i64 4739151154146001070, i64 4616766412697361505, i64 4739121445850604644, i64 4616765782698442420, i64 4739092040492316332, i64 4616765155864476587, i64 4739062933443575070, i64 4616764532163438346, i64 4739034120170766394, i64 4616763911563787520, i64 4739005596231847856, i64 4616763294034459632, i64 4738977357274046136, i64 4616762679544856367, i64 4738949399031623364, i64 4616762068064836278, i64 4738921717323710216, i64 4616761459564705716, i64 4738894308052203481, i64 4616760854015209990, i64 4738867167199725857, i64 4616760251387524739, i64 4738840290827645848, i64 4616759651653247517, i64 4738813675074155695, i64 4616759054784389587, i64 4738787316152405379, i64 4616758460753367908, i64 4738761210348690783, i64 4616757869532997317, i64 4738735354020694189, i64 4616757281096482901, i64 4738709743595775366, i64 4616756695417412549, i64 4738684375569311541, i64 4616756112469749679, i64 4738659246503084643, i64 4616755532227826142, i64 4738634353023714246, i64 4616754954666335291, i64 4738609691821134720, i64 4616754379760325209, i64 4738585259647115121, i64 4616753807485192101, i64 4738561053313820446, i64 4616753237816673833, i64 4738537069692412901, i64 4616752670730843626, i64 4738513305711691884, i64 4616752106204103892, i64 4738489758356771451, i64 4616751544213180212, i64 4738466424667794051, i64 4616750984735115448, i64 4738443301738679389, i64 4616750427747263996, i64 4738420386715907283, i64 4616749873227286161, i64 4738397676797333461, i64 4616749321153142664, i64 4738375169231037252, i64 4616748771503089266, i64 4738352861314200173, i64 4616748224255671518, i64 4738330750392014449, i64 4616747679389719628, i64 4738308833856620550, i64 4616747136884343429, i64 4738287109146072821, i64 4616746596718927478, i64 4738265573743332375, i64 4616746058873126242, i64 4738244225175286388, i64 4616745523326859402, i64 4738223061011793004, i64 4616744990060307255, i64 4738202078864751072, i64 4616744459053906215, i64 4738181276387193960, i64 4616743930288344409, i64 4738160651272406722, i64 4616743403744557372, i64 4738140201253065932, i64 4616742879403723828, i64 4738119924100401481, i64 4616742357247261567, i64 4738099817623379717, i64 4616741837256823403, i64 4738079879667907272, i64 4616741319414293223, i64 4738060108116054979, i64 4616740803701782111, i64 4738040500885301288, i64 4616740290101624563, i64 4738021055927794605, i64 4616739778596374770, i64 4738001771229634018, i64 4616739269168802990, i64 4737982644810167862, i64 4616738761801891981, i64 4737963674721309615, i64 4616738256478833519, i64 4737944859046870633, i64 4616737753183024981, i64 4737926195901909227, i64 4616737251898065998, i64 4737907683432095641, i64 4616736752607755181, i64 4737889319813092448, i64 4616736255296086904, i64 4737871103249949955, i64 4616735759947248160, i64 4737853031976516188, i64 4616735266545615476, i64 4737835104254861033, i64 4616734775075751892, i64 4737817318374714165, i64 4616734285522403995, i64 4737799672652916354, i64 4616733797870499019, i64 4737777522872005799, i64 4616733312105141995, i64 4737742782174408415, i64 4616732828211612964, i64 4737708312009299429, i64 4616732346175364238, i64 4737674109216785496, i64 4616731865982017717, i64 4737640170686085114, i64 4616730911067351109, i64 4737573074206871348, i64 4616729963355881431, i64 4737506998632033073, i64 4616729022738427223, i64 4737441920749081448, i64 4616728089108280112, i64 4737377818045235069, i64 4616727162361130537, i64 4737314668681224355, i64 4616726242394996260, i64 4737252451466264863, i64 4616725329110153505, i64 4737191145834139095, i64 4616724422409070647, i64 4737130731820329912, i64 4616723522196344302, i64 4737071190040151973, i64 4616722628378637746, i64 4737012501667830731, i64 4616721740864621539, i64 4736954648416481393, i64 4616720859564916270, i64 4736897612518942987, i64 4616719984392037334, i64 4736841376709425209, i64 4616719115260341650, i64 4736785924205928083, i64 4616718252085976242, i64 4736731238693396741, i64 4616717394786828602, i64 4736677304307575662, i64 4616716543282478763, i64 4736624105619528729, i64 4616715697494153020, i64 4736571627620793253, i64 4616714857344679212, i64 4736519855709137878, i64 4616714022758443522, i64 4736468775674895879, i64 4616713193661348724, i64 4736418373687846903, i64 4616712369980773815, i64 4736368636284621635, i64 4616711551645534994, i64 4736319550356605218, i64 4616710738585847911, i64 4736271103138316524, i64 4616709930733291156, i64 4736223282196241566, i64 4616709128020770932, i64 4736176075418100479, i64 4616708330382486862, i64 4736129471002528529, i64 4616707537753898897, i64 4736083457449152649, i64 4616706750071695272, i64 4736038023549045895, i64 4616705967273761477, i64 4735993158375543147, i64 4616705189299150201, i64 4735948851275402184, i64 4616704416088052220, i64 4735905091860295082, i64 4616703647581768179, i64 4735861869998615592, i64 4616702883722681253, i64 4735819175807588916, i64 4616702124454230638, i64 4735776999645670901, i64 4616701369720885856, i64 4735735332105224358, i64 4616700619468121830, i64 4735694164005460768, i64 4616699873642394721, i64 4735653486385636231, i64 4616699132191118472, i64 4735613290498491017, i64 4616698395062642061, i64 4735573567803922610, i64 4616697662206227424, i64 4735534309962882602, i64 4616696933572028021, i64 4735495508831488235, i64 4616696209111068036, i64 4735457156455339847, i64 4616695488775222172, i64 4735419245064035854, i64 4616694772517196039, i64 4735381767065877304, i64 4616694060290507095, i64 4735344715042754401, i64 4616693352049466139, i64 4735308081745207731, i64 4616692647749159325, i64 4735271860087657282, i64 4616691947345430682, i64 4735236043143792619, i64 4616691250794865127, i64 4735200624142117910, i64 4616690558054771954, i64 4735165596461645762, i64 4616689869083168774, i64 4735130953627734098, i64 4616689183838765903, i64 4735096689308060550, i64 4616688502280951181, i64 4735062797308729109, i64 4616687824369775196, i64 4735029271570503980, i64 4616687150065936919, i64 4734996106165165814, i64 4616686479330769718, i64 4734963295291985711, i64 4616685812126227757, i64 4734930833274312560, i64 4616685148414872746, i64 4734898714556269502, i64 4616684488159861055, i64 4734866933699555451, i64 4616683831324931159, i64 4734835485380347805, i64 4616683177874391420, i64 4734804364386302616, i64 4616682527773108181, i64 4734773565613648679, i64 4616681880986494177, i64 4734743084064372099, i64 4616681237480497241, i64 4734712914843488093, i64 4616680597221589301, i64 4734683053156396862, i64 4616679960176755661, i64 4734653494306320542, i64 4616679326313484554, i64 4734624233691818342, i64 4616678695599756955, i64 4734595266804377095, i64 4616678068004036661, i64 4734566589226074573, i64 4616677443495260610, i64 4734538196627312996, i64 4616676822042829445, i64 4734510084764620314, i64 4616676203616598318, i64 4734482249478516877, i64 4616675588186867907, i64 4734454686691445260, i64 4616674975724375672, i64 4734427392405761057, i64 4616674366200287309, i64 4734400362701782559, i64 4616673759586188424, i64 4734373593735897322, i64 4616673155854076400, i64 4734347081738723680, i64 4616672554976352463, i64 4734320823013325372, i64 4616671956925813943, i64 4734294813933477477, i64 4616671361675646714, i64 4734269050941981969, i64 4616670769199417813, i64 4734243530549031216, i64 4616670179471068239, i64 4734218249330617866, i64 4616669592464905917, i64 4734193203926989564, i64 4616669008155598830, i64 4734168391041147053, i64 4616668426518168308, i64 4734143807437384238, i64 4616667847527982475, i64 4734119449939868842, i64 4616667271160749848, i64 4734095315431262357, i64 4616666697392513077, i64 4734071400851378010, i64 4616666126199642839, i64 4734047703195875545, i64 4616665557558831865, i64 4734024219514991636, i64 4616664991447089098, i64 4734000946912304794, i64 4616664427841733991, i64 4733977882543533703, i64 4616663866720390932, i64 4733955023615367910, i64 4616663308060983785, i64 4733932367384329861, i64 4616662751841730569, i64 4733909911155667323, i64 4616662198041138234, i64 4733887652282275229, i64 4616661646637997574, i64 4733865588163646044, i64 4616661097611378234, i64 4733843716244847786, i64 4616660550940623838, i64 4733822034015528834, i64 4616660006605347215, i64 4733800539008948730, i64 4616659464585425738, i64 4733779228801034168, i64 4616658924860996751, i64 4733758101009459421, i64 4616658387412453109, i64 4733737153292750458, i64 4616657852220438798, i64 4733716383349412063, i64 4616657319265844663, i64 4733695788917077243, i64 4616656788529804216, i64 4733675367771678283, i64 4616656259993689541, i64 4733655117726638803, i64 4616655733639107273, i64 4733635036632086191, i64 4616655209447894677, i64 4733615122374083824, i64 4616654687402115797, i64 4733595372873882500, i64 4616654167484057691, i64 4733575786087190506, i64 4616653649676226739, i64 4733556360003461808, i64 4616653133961345034, i64 4733537092645201816, i64 4616652620322346839, i64 4733517982067290236, i64 4616652108742375125, i64 4733499026356320515, i64 4616651599204778170, i64 4733480223629955396, i64 4616651091693106237, i64 4733461572036298148, i64 4616650586191108312, i64 4733443069753279010, i64 4616650082682728909, i64 4733424714988056424, i64 4616649581152104942, i64 4733406505976432649, i64 4616649081583562652, i64 4733388440982283346, i64 4616648583961614610, i64 4733370518297000760, i64 4616648088270956758, i64 4733352736238950098, i64 4616647594496465530, i64 4733335093152938765, i64 4616647102623195012, i64 4733317587409698089, i64 4616646612636374170, i64 4733300217405377195, i64 4616646124521404125, i64 4733282754755706116, i64 4616645153849465715, i64 4733214603950391261, i64 4616644190493931674, i64 4733147489735023607, i64 4616643234343942755, i64 4733081388545594223, i64 4616642285291150255, i64 4733016277528285746, i64 4616641343229640633, i64 4732952134512887533, i64 4616640408055862934, i64 4732888937987396985, i64 4616639479668558916, i64 4732826667073745728, i64 4616638557968695724, i64 4732765301504592937, i64 4616637642859401037, i64 4732704821601131414, i64 4616636734245900553, i64 4732645208251855235, i64 4616635832035457724, i64 4732586442892240656, i64 4616634936137315646, i64 4732528507485294777, i64 4616634046462640997, i64 4732471384502928987, i64 4616633162924469962, i64 4732415056908116684, i64 4616632285437656037, i64 4732359508137796963, i64 4616631413918819647, i64 4732304722086488142, i64 4616630548286299502, i64 4732250683090576945, i64 4616629688460105611, i64 4732197375913251057, i64 4616628834361873903, i64 4732144785730044496, i64 4616627985914822368, i64 4732092898114966908, i64 4616627143043708680, i64 4732041699027189444, i64 4616626305674789220, i64 4731991174798261300, i64 4616625473735779464, i64 4731941312119832421, i64 4616624647155815668, i64 4731892098031859113, i64 4616623825865417803, i64 4731843519911270532, i64 4616623009796453696, i64 4731795565461075185, i64 4616622198882104320, i64 4731748222699887602, i64 4616621393056830207, i64 4731701479951856407, i64 4616620592256338914, i64 4731655325836975935, i64 4616619796417553532, i64 4731609749261764449, i64 4616619005478582171, i64 4731564739410292878, i64 4616618219378688411, i64 4731520285735548772, i64 4616617438058262656, i64 4731476377951120962, i64 4616616661458794384, i64 4731433006023191091, i64 4616615889522845234, i64 4731390160162818884, i64 4616615122194022926, i64 4731347830818508668, i64 4616614359416955958, i64 4731306008669045228, i64 4616613601137269073, i64 4731264684616587685, i64 4616612847301559456, i64 4731223849780010618, i64 4616612097857373636, i64 4731183495488482151, i64 4616611352753185077, i64 4731143613275269222, i64 4616610611938372421, i64 4731104194871760711, i64 4616609875363198368, i64 4731065232201699531, i64 4616609142978789174, i64 4731026717375615211, i64 4616608414737114729, i64 4730988642685448872, i64 4616607690590969223, i64 4730951000599362888, i64 4616606970493952345, i64 4730913783756727866, i64 4616606254400451034, i64 4730876984963279916, i64 4616605542265621729, i64 4730840597186441483, i64 4616604834045373128, i64 4730804613550799349, i64 4616604129696349420, i64 4730769027333733664, i64 4616603429175913986, i64 4730733831961192154, i64 4616602732442133553, i64 4730699021003603905, i64 4616602039453762772, i64 4730664588171927381, i64 4616601350170229229, i64 4730630527313827544, i64 4616600664551618852, i64 4730596832409977188, i64 4616599982558661722, i64 4730563497570477801, i64 4616599304152718255, i64 4730530517031395466, i64 4616598629295765760, i64 4730497885151407511, i64 4616597957950385349, i64 4730465596408555796, i64 4616597290079749197, i64 4730433645397102702, i64 4616596625647608132, i64 4730402026824486042, i64 4616595964618279558, i64 4730370735508369292, i64 4616595306956635676, i64 4730339766373783668, i64 4616594652628092028, i64 4730309114450358727, i64 4616594001598596324, i64 4730278774869638315, i64 4616593353834617557, i64 4730248742862478806, i64 4616592709303135399, i64 4730219013756526693, i64 4616592067971629861, i64 4730189582973772734, i64 4616591429808071216, i64 4730160446028179941, i64 4616590794780910176, i64 4730131598523382834, i64 4616590162859068308, i64 4730103036150455468, i64 4616589534011928700, i64 4730074754685745844, i64 4616588908209326841, i64 4730046749988774410, i64 4616588285421541741, i64 4730019018000194458, i64 4616587665619287260, i64 4729991554739812285, i64 4616587048773703647, i64 4729964356304665096, i64 4616586434856349288, i64 4729937418867154691, i64 4616585823839192653, i64 4729910738673235040, i64 4616585215694604434, i64 4729884312040651966, i64 4616584610395349867, i64 4729858135357233173, i64 4616584007914581248, i64 4729832205079226950, i64 4616583408225830614, i64 4729806517729687952, i64 4616582811303002601, i64 4729781069896908500, i64 4616582217120367471, i64 4729755858232893904, i64 4616581625652554302, i64 4729730879451880385, i64 4616581036874544328, i64 4729706130328894204, i64 4616580450761664444, i64 4729681607698350677, i64 4616579867289580853, i64 4729657308452691774, i64 4616579286434292861, i64 4729633229541061092, i64 4616578708172126813, i64 4729609367968014989, i64 4616578132479730167, i64 4729585720792268751, i64 4616577559334065700, i64 4729562285125476665, i64 4616576988712405845, i64 4729539058131044954, i64 4616576420592327159, i64 4729516037022976527, i64 4616575854951704906, i64 4729493219064746564, i64 4616575291768707766, i64 4729470601568207980, i64 4616574731021792661, i64 4729448181892525834, i64 4616574172689699690, i64 4729425957443139809, i64 4616573616751447179, i64 4729403925670753891, i64 4616573063186326839, i64 4729382084070352425, i64 4616572511973899028, i64 4729360430180241745, i64 4616571963093988111, i64 4729338961581116607, i64 4616571416526677929, i64 4729317675895150676, i64 4616570872252307355, i64 4729296570785110354, i64 4616570330251465954, i64 4729275643953491241, i64 4616569790504989728, i64 4729254893141676567, i64 4616569252993956954, i64 4729234316129116944, i64 4616568717699684110, i64 4729213910732530801, i64 4616568184603721885, i64 4729193674805124912, i64 4616567653687851272, i64 4729173606235834413, i64 4616567124934079746, i64 4729153702948581757, i64 4616566598324637514, i64 4729133962901554039, i64 4616566073841973852, i64 4729114384086498190, i64 4616565551468753505, i64 4729094964528033494, i64 4616565031187853174, i64 4729075702282980960, i64 4616564512982358063, i64 4729056595439709050, i64 4616563996835558502, i64 4729037642117495313, i64 4616563482730946639, i64 4729018840465903464, i64 4616562970652213195, i64 4729000188664175482, i64 4616562460583244286, i64 4728981684920638300, i64 4616561952508118305, i64 4728963327472124687, i64 4616561446411102875, i64 4728945114583407917, i64 4616560942276651852, i64 4728927044546649852, i64 4616560440089402390, i64 4728909115680862067, i64 4616559939834172070, i64 4728891326331379658, i64 4616559441495956076, i64 4728873674869347383, i64 4616558945059924432, i64 4728856159691217802, i64 4616557957835952269, i64 4728821531896086244, i64 4616556978047010832, i64 4728787430605416066, i64 4616556005580484629, i64 4728728078967671390, i64 4616555040326307894, i64 4728661911330162973, i64 4616554082176888039, i64 4728596727042878966, i64 4616553131027031967, i64 4728532504257786560, i64 4616552186773875108, i64 4728469221770581729, i64 4616551249316813062, i64 4728406858997127069, i64 4616550318557435737, i64 4728345395950917815, i64 4616549394399463871, i64 4728284813221524035, i64 4616548476748687834, i64 4728225091953959997, i64 4616547565512908615, i64 4728166213828934498, i64 4616546660601880903, i64 4728108161043938537, i64 4616545761927258162, i64 4728050916295129209, i64 4616544869402539634, i64 4727994462759970937, i64 4616543982943019175, i64 4727938784080597359, i64 4616543102465735855, i64 4727883864347859174, i64 4616542227889426248, i64 4727829688086025177, i64 4616541359134478347, i64 4727776240238105458, i64 4616540496122887022, i64 4727723506151767432, i64 4616539638778210991, i64 4727671471565816953, i64 4616538787025531202, i64 4727620122597218194, i64 4616537940791410610, i64 4727569445728627420, i64 4616537100003855262, i64 4727519427796417046, i64 4616536264592276664, i64 4727470055979167624, i64 4616535434487455356, i64 4727421317786606556, i64 4616534609621505669, i64 4727373201048973417, i64 4616533789927841613, i64 4727325693906792809, i64 4616532975341143837, i64 4727278784801036628, i64 4616532165797327648, i64 4727232462463658549, i64 4616531361233512025, i64 4727186715908484393, i64 4616530561587989603, i64 4727141534422442849, i64 4616529766800197589, i64 4727096907557121803, i64 4616528976810689570, i64 4727052825120636256, i64 4616528191561108192, i64 4727009277169794470, i64 4616527410994158666, i64 4726966254002549680, i64 4616526635053583072, i64 4726923746150725270, i64 4616525863684135445, i64 4726881744373001937, i64 4616525096831557599, i64 4726840239648155880, i64 4616524334442555673, i64 4726799223168537600, i64 4616523576464777365, i64 4726758686333781364, i64 4616522822846789843, i64 4726718620744735876, i64 4616522073538058290, i64 4726679018197607121, i64 4616521328488925082, i64 4726639870678304777, i64 4616520587650589560, i64 4726601170356983980, i64 4616519850975088389, i64 4726562909582774612, i64 4616519118415276465, i64 4726525080878690637, i64 4616518389924808378, i64 4726487676936712334, i64 4616517665458120392, i64 4726450690613034623, i64 4616516944970412924, i64 4726414114923474974, i64 4616516228417633520, i64 4726377943039034664, i64 4616515515756460305, i64 4726342168281607447, i64 4616514806944285877, i64 4726306784119829962, i64 4616514101939201654, i64 4726271784165068418, i64 4616513400699982645, i64 4726237162167536396, i64 4616512703186072635, i64 4726202912012538760, i64 4616512009357569763, i64 4726169027716836946, i64 4616511319175212497, i64 4726135503425131063, i64 4616510632600365975, i64 4726102333406654451, i64 4616509949595008716, i64 4726069512051876514, i64 4616509270121719673, i64 4726037033869309853, i64 4616508594143665638, i64 4726004893482417831, i64 4616507921624588960, i64 4725973085626618946, i64 4616507252528795601, i64 4725941605146384448, i64 4616506586821143484, i64 4725910446992425870, i64 4616505924467031151, i64 4725879606218969204, i64 4616505265432386710, i64 4725849077981112650, i64 4616504609683657057, i64 4725818857532264940, i64 4616503957187797380, i64 4725788940221661402, i64 4616503307912260921, i64 4725759321491955006, i64 4616502661824988998, i64 4725729996876879777, i64 4616502018894401274, i64 4725700961998984046, i64 4616501379089386269, i64 4725672212567431113, i64 4616500742379292104, i64 4725643744375864988, i64 4616500108733917479, i64 4725615553300338988, i64 4616499478123502863, i64 4725587635297305024, i64 4616498850518721903, i64 4725559986401661526, i64 4616498225890673040, i64 4725532602724857999, i64 4616497604210871330, i64 4725505480453054337, i64 4616496985451240459, i64 4725478615845333010, i64 4616496369584104944, i64 4725452005231962409, i64 4616495756582182528, i64 4725425645012709606, i64 4616495146418576750, i64 4725399531655200921, i64 4616494539066769689, i64 4725373661693328721, i64 4616493934500614878, i64 4725348031725702918, i64 4616493332694330391, i64 4725322638414145727, i64 4616492733622492076, i64 4725297478482228279, i64 4616492137260026958, i64 4725272548713847724, i64 4616491543582206784, i64 4725247845951843532, i64 4616490952564641722, i64 4725223367096651737, i64 4616490364183274203, i64 4725199109104995911, i64 4616489778414372896, i64 4725175068988613709, i64 4616489195234526827, i64 4725151243813017854, i64 4616488614620639626, i64 4725127630696290485, i64 4616488036549923907, i64 4725104226807909821, i64 4616487460999895764, i64 4725081029367608142, i64 4616486887948369398, i64 4725058035644260105, i64 4616486317373451860, i64 4725035242954800461, i64 4616485749253537910, i64 4725012648663170277, i64 4616485183567304983, i64 4724990250179290782, i64 4616484620293708275, i64 4724968044958063999, i64 4616484059411975923, i64 4724946030498399351, i64 4616483500901604303, i64 4724924204342265452, i64 4616482944742353415, i64 4724902564073766330, i64 4616482390914242381, i64 4724881107318241355, i64 4616481839397545025, i64 4724859831741388145, i64 4616481290172785556, i64 4724838735048407800, i64 4616480743220734340, i64 4724817814983171770, i64 4616480198522403763, i64 4724797069327409745, i64 4616479656059044171, i64 4724776495899917939, i64 4616479115812139912, i64 4724756092555787172, i64 4616478577763405442, i64 4724735857185650184, i64 4616478041894781525, i64 4724715787714947611, i64 4616477508188431503, i64 4724695882103212095, i64 4616476976626737649, i64 4724676138343370006, i64 4616476447192297588, i64 4724656554461060262, i64 4616475919867920797, i64 4724637128513969778, i64 4616475394636625173, i64 4724617858591185059, i64 4616474871481633667, i64 4724598742812559478, i64 4616474350386370994, i64 4724579779328095816, i64 4616473831334460400, i64 4724560966317343614, i64 4616473314309720502, i64 4724542301988810943, i64 4616472799296162181, i64 4724523784579390173, i64 4616472286277985546, i64 4724505412353797370, i64 4616471775239576951, i64 4724487183604024937, i64 4616471266165506076, i64 4724469096648807130, i64 4616470759040523059, i64 4724451149833098108, i64 4616470253849555691, i64 4724433341527562175, i64 4616469249210250842, i64 4724398134055241565, i64 4616468252130463523, i64 4724363461692727930, i64 4616467262495737295, i64 4724329312281572781, i64 4616466280194206488, i64 4724295674029642673, i64 4616465305116518439, i64 4724249061883170655, i64 4616464337155758626, i64 4724183762058066114, i64 4616463376207378576, i64 4724119417926269162, i64 4616462422169126421, i64 4724056008571777073, i64 4616461474940979984, i64 4723993513685746743, i64 4616460534425082287, i64 4723931913544596263, i64 4616459600525679383, i64 4723871188989048221, i64 4616458673149060395, i64 4723811321404067770, i64 4616457752203499692, i64 4723752292699651201, i64 4616456837599201087, i64 4723694085292423222, i64 4616455929248243992, i64 4723636682088003480, i64 4616455027064531439, i64 4723580066464105050, i64 4616454130963739889, i64 4723524222254329681, i64 4616453240863270761, i64 4723469133732626473, i64 4616452356682203605, i64 4723414785598382522, i64 4616451478341250857, i64 4723361162962115717, i64 4616450605762714109, i64 4723308251331741501, i64 4616449738870441840, i64 4723256036599386897, i64 4616448877589788534, i64 4723204505028726497, i64 4616448021847575152, i64 4723153643242816474, i64 4616447171572050893, i64 4723103438212403888, i64 4616446326692856182, i64 4723053877244689751, i64 4616445487140986871, i64 4723004947972525441, i64 4616444652848759569, i64 4722956638344023058, i64 4616443823749778080, i64 4722908936612561345, i64 4616442999778900906, i64 4722861831327169694, i64 4616442180872209764, i64 4722815311323273650, i64 4616441366966979088, i64 4722769365713786148, i64 4616440558001646477, i64 4722723983880529490, i64 4616439753915784056, i64 4722679155465973837, i64 4616438954650070708, i64 4722634870365278645, i64 4616438160146265155, i64 4722591118718624168, i64 4616437370347179860, i64 4722547890903820760, i64 4616436585196655696, i64 4722505177529184297, i64 4616435804639537394, i64 4722462969426666606, i64 4616435028621649706, i64 4722421257645230296, i64 4616434257089774272, i64 4722380033444457920, i64 4616433489991627177, i64 4722339288288385833, i64 4616432727275837155, i64 4722299013839553587, i64 4616431968891924422, i64 4722259201953260117, i64 4616431214790280131, i64 4722219844672018378, i64 4616430464922146407, i64 4722180934220200470, i64 4616429719239596954, i64 4722142462998865669, i64 4616428977695518214, i64 4722104423580764094, i64 4616428240243591055, i64 4722066808705509109, i64 4616427506838272975, i64 4722029611274911822, i64 4616426777434780796, i64 4721992824348471381, i64 4616426051989073846, i64 4721956441139015017, i64 4616425330457837600, i64 4721920455008482071, i64 4616424612798467772, i64 4721884859463846472, i64 4616423898969054836, i64 4721849648153172398, i64 4616423188928368972, i64 4721814814861798067, i64 4616422482635845416, i64 4721780353508642826, i64 4616421780051570205, i64 4721746258142632902, i64 4616421081136266298, i64 4721712522939241412, i64 4616420385851280071, i64 4721679142197138365, i64 4616419694158568162, i64 4721646110334946609, i64 4616419006020684669, i64 4721613421888099834, i64 4616418321400768676, i64 4721581071505798893, i64 4616417640262532106, i64 4721549053948062882, i64 4616416962570247890, i64 4721517364082871539, i64 4616416288288738437, i64 4721485996883395686, i64 4616415617383364398, i64 4721454947425312563, i64 4616414949820013721, i64 4721424210884203032, i64 4616414285565090981, i64 4721393782533027745, i64 4616413624585506974, i64 4721363657739679506, i64 4616412966848668582, i64 4721333831964609140, i64 4616412312322468879, i64 4721304300758522322, i64 4616411660975277494, i64 4721275059760144888, i64 4616411012775931204, i64 4721246104694054268, i64 4616410367693724761, i64 4721217431368574768, i64 4616409725698401941, i64 4721189035673734525, i64 4616409086760146818, i64 4721160913579282019, i64 4616408450849575241, i64 4721133061132760142, i64 4616407817937726519, i64 4721105474457635870, i64 4616407187996055310, i64 4721078149751483688, i64 4616406560996423694, i64 4721051083284220956, i64 4616405936911093445, i64 4721024271396393504, i64 4616405315712718479, i64 4720997710497509791, i64 4616404697374337481, i64 4720971397064422029, i64 4616404081869366706, i64 4720945327639752727, i64 4616403469171592946, i64 4720919498830365191, i64 4616402859255166662, i64 4720893907305876535, i64 4616402252094595274, i64 4720868549797211845, i64 4616401647664736604, i64 4720843423095198157, i64 4616401045940792469, i64 4720818524049196996, i64 4616400446898302425, i64 4720793849565774222, i64 4616399850513137643, i64 4720769396607406023, i64 4616399256761494935, i64 4720745162191219899, i64 4616398665619890904, i64 4720721143387769543, i64 4616398077065156230, i64 4720697337319842561, i64 4616397491074430083, i64 4720673741161299997, i64 4616396907625154659, i64 4720650352135946692, i64 4616396326695069836, i64 4720627167516431516, i64 4616395748262207950, i64 4720604184623176552, i64 4616395172304888681, i64 4720581400823334358, i64 4616394598801714053, i64 4720558813529772436, i64 4616394027731563545, i64 4720536420200084096, i64 4616393459073589303, i64 4720514218335624911, i64 4616392892807211454, i64 4720492205480573995, i64 4616392328912113528, i64 4720470379221019361, i64 4616391767368237969, i64 4720448737184066638, i64 4616391208155781748, i64 4720427277036970459, i64 4616390651255192061, i64 4720405996486287846, i64 4616390096647162126, i64 4720384893277052946, i64 4616389544312627062, i64 4720363965191972489, i64 4616388994232759858, i64 4720343210050641366, i64 4616388446388967423, i64 4720322625708777744, i64 4616387900762886717, i64 4720302210057477150, i64 4616387357336380965, i64 4720281961022484972, i64 4616386816091535948, i64 4720261876563486857, i64 4616386277010656368, i64 4720241954673416494, i64 4616385740076262285, i64 4720222193377780273, i64 4616385205271085633, i64 4720202590733998366, i64 4616384672578066803, i64 4720183144830761737, i64 4616384141980351289, i64 4720163853787404663, i64 4616383613461286411, i64 4720144715753292299, i64 4616383087004418096, i64 4720125728907222903, i64 4616382562593487728, i64 4720106891456844280, i64 4616382040212429054, i64 4720088201638084072, i64 4616381519845365161, i64 4720069657714593508, i64 4616381001476605498, i64 4720051257977204241, i64 4616380485090642974, i64 4720033000743397914, i64 4616379970672151094, i64 4720014884356788111, i64 4616378947677159552, i64 4719979067627247834, i64 4616377932372525886, i64 4719943795041193382, i64 4616376924641861060, i64 4719909054238153356, i64 4616375924371409865, i64 4719874833229987627, i64 4616374931449971872, i64 4719841120386955519, i64 4616373945768825344, i64 4719807904424405401, i64 4616372967221653956, i64 4719775174390053568, i64 4616371995704476209, i64 4719713429819364563, i64 4616371031115577412, i64 4719649850288135830, i64 4616370073355444139, i64 4719587180650027648, i64 4616369122326701022, i64 4719525401426521461, i64 4616368177934049819, i64 4719464493692304440, i64 4616367240084210625, i64 4719404439055744549, i64 4616366308685865158, i64 4719345219640187419, i64 4616365383649602022, i64 4719286818066034928, i64 4616364464887863875, i64 4719229217433567613, i64 4616363552314896408, i64 4719172401306475124, i64 4616362645846699071, i64 4719116353696060883, i64 4616361745400977479, i64 4719061059046088951, i64 4616360850897097420, i64 4719006502218242824, i64 4616359962256040396, i64 4718952668478167509, i64 4616359079400360661, i64 4718899543482067748, i64 4616358202254143666, i64 4718847113263836688, i64 4616357330742965870, i64 4718795364222690662, i64 4616356464793855873, i64 4718744283111286985, i64 4616355604335256795, i64 4718693857024302901, i64 4616354749296989878, i64 4718644073387454904, i64 4616353899610219246, i64 4718594919946938754, i64 4616353055207417788, i64 4718546384759271484, i64 4616352216022334121, i64 4718498456181517649, i64 4616351381989960586, i64 4718451122861882959, i64 4616350553046502245, i64 4718404373730659273, i64 4616349729129346839, i64 4718358197991505730, i64 4616348910177035674, i64 4718312585113051537, i64 4616348096129235391, i64 4718267524820806655, i64 4616347286926710607, i64 4718223007089367271, i64 4616346482511297370, i64 4718179022134903608, i64 4616345682825877427, i64 4718135560407918191, i64 4616344887814353246, i64 4718092612586263276, i64 4616344097421623792, i64 4718050169568406687, i64 4616343311593561013, i64 4718008222466935796, i64 4616342530276987016, i64 4717966762602289871, i64 4616341753419651910, i64 4717925781496711489, i64 4616340980970212294, i64 4717885270868408110, i64 4616340212878210364, i64 4717845222625915353, i64 4616339449094053616, i64 4717805628862653874, i64 4616338689568995134, i64 4717766481851672132, i64 4616337934255114431, i64 4717727774040567684, i64 4616337183105298837, i64 4717689498046579950, i64 4616336436073225400, i64 4717651646651847750, i64 4616335693113343299, i64 4717614212798825179, i64 4616334954180856741, i64 4717577189585849682, i64 4616334219231708331, i64 4717540570262856472, i64 4616333488222562897, i64 4717504348227233669, i64 4616332761110791756, i64 4717468517019812801, i64 4616332037854457407, i64 4717433070320989544, i64 4616331318412298637, i64 4717398001946969764, i64 4616330602743716026, i64 4717363305846136195, i64 4616329890808757842, i64 4717328976095531219, i64 4616329182568106301, i64 4717295006897451467, i64 4616328477983064203, i64 4717261392576150093, i64 4616327777015541909, i64 4717228127574642780, i64 4616327079628044660, i64 4717195206451613687, i64 4616326385783660231, i64 4717162623878417693, i64 4616325695446046895, i64 4717130374636175484, i64 4616325008579421705, i64 4717098453612958111, i64 4616324325148549070, i64 4717066855801057845, i64 4616323645118729625, i64 4717035576294342242, i64 4616322968455789385, i64 4717004610285688482, i64 4616322295126069161, i64 4716973953064495137, i64 4616321625096414259, i64 4716943600014268678, i64 4616320958334164419, i64 4716913546610282084, i64 4616320294807144016, i64 4716883788417303086, i64 4616319634483652494, i64 4716854321087389602, i64 4616318977332455043, i64 4716825140357750085, i64 4616318323322773498, i64 4716796242048666552, i64 4616317672424277461, i64 4716767622061478157, i64 4616317024607075640, i64 4716739276376623262, i64 4616316379841707394, i64 4716711201051738042, i64 4616315738099134485, i64 4716683392219809707, i64 4616315099350733017, i64 4716655846087382547, i64 4616314463568285582, i64 4716628558932815013, i64 4616313830723973576, i64 4716601527104586178, i64 4616313200790369706, i64 4716574747019649924, i64 4616312573740430670, i64 4716548215161835317, i64 4616311949547490003, i64 4716521928080291648, i64 4616311328185251096, i64 4716495882387976694, i64 4616310709627780372, i64 4716470074760186806, i64 4616310093849500620, i64 4716444501933127481, i64 4616309480825184480, i64 4716419160702523118, i64 4616308870529948081, i64 4716394047922264705, i64 4616308262939244816, i64 4716369160503094253, i64 4616307658028859260, i64 4716344495411324789, i64 4616307055774901235, i64 4716320049667594822, i64 4616306456153799987, i64 4716295820345656173, i64 4616305859142298511, i64 4716271804571194156, i64 4616305264717447997, i64 4716247999520679087, i64 4616304672856602390, i64 4716224402420248168, i64 4616304083537413081, i64 4716201010544616800, i64 4616303496737823707, i64 4716177821216018443, i64 4616302912436065070, i64 4716154831803172127, i64 4616302330610650159, i64 4716132039720276802, i64 4616301751240369282, i64 4716109442426031699, i64 4616301174304285310, i64 4716087037422681924, i64 4616300599781729009, i64 4716064822255088534, i64 4616300027652294486, i64 4716042794509822361, i64 4616299457895834719, i64 4716020951814280881, i64 4616298890492457191, i64 4715999291835827440, i64 4616298325422519608, i64 4715977812280952192, i64 4616297762666625717, i64 4715956510894454103, i64 4616297202205621197, i64 4715935385458643402, i64 4616296644020589649, i64 4715914433792563903, i64 4616296088092848662, i64 4715893653751234598, i64 4616295534403945961, i64 4715873043224909988, i64 4616294982935655632, i64 4715852600138358596, i64 4616294433669974430, i64 4715832322450159159, i64 4616293886589118159, i64 4715812208152013982, i64 4616293341675518120, i64 4715792255268078969, i64 4616292798911817640, i64 4715772461854309872, i64 4616292258280868668, i64 4715752825997824284, i64 4616291719765728430, i64 4715733345816278953, i64 4616291183349656167, i64 4715714019457261972, i64 4616290649016109924, i64 4715694845097699445, i64 4616290116748743411, i64 4715675820943276222, i64 4616289586531402917, i64 4715656945227870316, i64 4616289058348124296, i64 4715638216213000629, i64 4616288532183130003, i64 4715619632187287613, i64 4616288008020826192, i64 4715601191465926535, i64 4616286965642816093, i64 4715564733326840235, i64 4616285931092910371, i64 4715528828829544568, i64 4616284904252687978, i64 4715493465401323115, i64 4616283885006406922, i64 4715458630848107766, i64 4616282873240923890, i64 4715424313340312756, i64 4616281868845616860, i64 4715390501399300468, i64 4616280871712310579, i64 4715357183884446359, i64 4616279881735204777, i64 4715324349980772283, i64 4616278898810804998, i64 4715291989187119254, i64 4616277922837855934, i64 4715251372752755448, i64 4616276953717277152, i64 4715188482996955251, i64 4616275991352101119, i64 4715126479998588133, i64 4616275035647413416, i64 4715065345049077909, i64 4616274086510295057, i64 4715005059963594219, i64 4616273143849766823, i64 4714945607062828852, i64 4616272207576735524, i64 4714886969155528356, i64 4616271277603942113, i64 4714829129521746533, i64 4616270353845911573, i64 4714772071896782436, i64 4616269436218904509, i64 4714715780455771329, i64 4616268524640870368, i64 4714660239798897831, i64 4616267619031402231, i64 4714605434937202119, i64 4616266719311693110, i64 4714551351278951594, i64 4616265825404493682, i64 4714497974616551909, i64 4616264937234071424, i64 4714445291113972579, i64 4616264054726171070, i64 4714393287294663730, i64 4616263177807976353, i64 4714341950029941726, i64 4616262306408072985, i64 4714291266527822580, i64 4616261440456412812, i64 4714241224322283113, i64 4616260579884279116, i64 4714191811262930875, i64 4616259724624253009, i64 4714143015505064751, i64 4616258874610180885, i64 4714094825500109140, i64 4616258029777142884, i64 4714047229986405402, i64 4616257190061422338, i64 4714000217980345088, i64 4616256355400476151, i64 4713953778767830260, i64 4616255525732906097, i64 4713907901896046872, i64 4616254700998430979, i64 4713862577165537915, i64 4616253881137859641, i64 4713817794622563647, i64 4616253066093064784, i64 4713773544551736840, i64 4616252255806957566, i64 4713729817468921565, i64 4616251450223462960, i64 4713686604114384555, i64 4616250649287495838, i64 4713643895446188745, i64 4616249852944937752, i64 4713601682633819025, i64 4616249061142614399, i64 4713559957052030751, i64 4616248273828273739, i64 4713518710274911971, i64 4616247490950564741, i64 4713477934070150754, i64 4616246712459016737, i64 4713437620393499390, i64 4616245938304019377, i64 4713397761383427627, i64 4616245168436803132, i64 4713358349355957435, i64 4616244402809420365, i64 4713319376799672157, i64 4616243641374726924, i64 4713280836370893211, i64 4616242884086364247, i64 4713242720889017803, i64 4616242130898741968, i64 4713205023332011421, i64 4616241381767020997, i64 4713167736832049142, i64 4616240636647097072, i64 4713130854671300051, i64 4616239895495584745, i64 4713094370277849304, i64 4616239158269801823, i64 4713058277221752638, i64 4616238424927754204, i64 4713022569211218309, i64 4616237695428121144, i64 4712987240088911706, i64 4616236969730240898, i64 4712952283828378037, i64 4616236247794096753, i64 4712917694530578727, i64 4616235529580303425, i64 4712883466420537323, i64 4616234815050093816, i64 4712849593844090883, i64 4616234104165306111, i64 4712816071264743000, i64 4616233396888371220, i64 4712782893260614768, i64 4616232693182300537, i64 4712750054521490151, i64 4616231993010674013, i64 4712717549845952359, i64 4616231296337628540, i64 4712685374138607970, i64 4616230603127846628, i64 4712653522407395688, i64 4616229913346545365, i64 4712621989760976732, i64 4616229226959465661, i64 4712590771406203972, i64 4616228543932861758, i64 4712559862645667074, i64 4616227864233491001, i64 4712529258875310975, i64 4616227187828603868, i64 4712498955582125171, i64 4616226514685934239, i64 4712468948341901345, i64 4616225844773689907, i64 4712439232817057015, i64 4616225178060543326, i64 4712409804754522917, i64 4616224514515622576, i64 4712380659983691977, i64 4616223854108502550, i64 4712351794414427770, i64 4616223196809196356, i64 4712323204035130472, i64 4616222542588146922, i64 4712294884910858374, i64 4616221891416218800, i64 4712266833181503095, i64 4616221243264690169, i64 4712239045060016730, i64 4616220598105245028, i64 4712211516830689190, i64 4616219955909965560, i64 4712184244847474111, i64 4616219316651324695, i64 4712157225532361710, i64 4616218680302178827, i64 4712130455373797091, i64 4616218046835760714, i64 4712103930925142499, i64 4616217416225672534, i64 4712077648803182116, i64 4616216788445879103, i64 4712051605686668029, i64 4616216163470701248, i64 4712025798314906059, i64 4616215541274809331, i64 4712000223486380162, i64 4616214921833216920, i64 4711974878057414200, i64 4616214305121274604, i64 4711949758940869900, i64 4616213691114663942, i64 4711924863104879844, i64 4616213079789391552, i64 4711900187571614419, i64 4616212471121783333, i64 4711875729416081658, i64 4616211865088478809, i64 4711851485764958949, i64 4616211261666425602, i64 4711827453795455636, i64 4616210660832874027, i64 4711803630734205559, i64 4616210062565371801, i64 4711780013856188617, i64 4616209466841758873, i64 4711756600483680469, i64 4616208873640162362, i64 4711733387985229524, i64 4616208282938991602, i64 4711710373774660389, i64 4616207694716933302, i64 4711687555310102989, i64 4616207108952946801, i64 4711664930093046578, i64 4616206525626259429, i64 4711642495667417912, i64 4616205944716361962, i64 4711620249618682858, i64 4616205366203004179, i64 4711598189572970746, i64 4616204790066190509, i64 4711576313196220806, i64 4616204216286175768, i64 4711554618193350025, i64 4616203644843460986, i64 4711533102307441813, i64 4616203075718789324, i64 4711511763318954869, i64 4616202508893142067, i64 4711490599044951659, i64 4616201944347734714, i64 4711469607338345946, i64 4616201382064013129, i64 4711448786087168821, i64 4616200822023649788, i64 4711428133213852706, i64 4616200264208540094, i64 4711407646674532825, i64 4616199708600798766, i64 4711387324458365632, i64 4616199155182756303, i64 4711367164586863739, i64 4616198603936955522, i64 4711347165113246854, i64 4616198054846148160, i64 4711327324121808306, i64 4616197507893291544, i64 4711307639727296704, i64 4616196963061545332, i64 4711288110074312318, i64 4616196420334268317, i64 4711268733336717768, i64 4616195879695015287, i64 4711249507717062639, i64 4616195341127533959, i64 4711230431446021624, i64 4616194804615761958, i64 4711211502781845831, i64 4616194270143823872, i64 4711192720009826908, i64 4616193207256865255, i64 4711155585415500510, i64 4616192152343285273, i64 4711119014466596646, i64 4616191105282522736, i64 4711082994367051332, i64 4616190065956743110, i64 4711047512706092333, i64 4616188450446755069, i64 4711012557443827066, i64 4616186402049121737, i64 4710978116897473167, i64 4616184368445561330, i64 4710944179728198502, i64 4616182349420641843, i64 4710910734928539381, i64 4616180344763624993, i64 4710877771810367521, i64 4616178354268330539, i64 4710845279993378030, i64 4616176377733005485, i64 4710813249394072256, i64 4616174414960197935, i64 4710781670215210851, i64 4616172465756635429, i64 4710735855641888764, i64 4616170529933107543, i64 4710674446372431932, i64 4616168607304352597, i64 4710613884397748202, i64 4616166697688948290, i64 4710554152219728504, i64 4616164800909206091, i64 4710495232819879148, i64 4616162916791069254, i64 4710437109642979443, i64 4616161045164014290, i64 4710379766581403596, i64 4616159185860955756, i64 4710323187960075564, i64 4616157338718154249, i64 4710267358522027240, i64 4616155503575127444, i64 4710212263414531919, i64 4616153680274564087, i64 4710157888175786451, i64 4616151868662240806, i64 4710104218722116928, i64 4616150068586941631, i64 4710051241335684010, i64 4616148279900380135, i64 4709998942652665282, i64 4616146502457124070, i64 4709947309651893159, i64 4616144736114522419, i64 4709896329643927977, i64 4616142980732634767, i64 4709845990260546929, i64 4616141236174162904, i64 4709796279444630503, i64 4616139502304384570, i64 4709747185440428962, i64 4616137778991089271, i64 4709698696784192312, i64 4616136066104516085, i64 4709650802295148009, i64 4616134363517293378, i64 4709603491066811429, i64 4616132671104380372, i64 4709556752458614862, i64 4616130988743010486, i64 4709510576087841479, i64 4616129316312636395, i64 4709464951821851393, i64 4616127653694876736, i64 4709419869770587519, i64 4616126000773464409, i64 4709375320279349570, i64 4616124357434196413, i64 4709331293921825033, i64 4616122723564885162, i64 4709287781493366540, i64 4616121099055311231, i64 4709244774004505509, i64 4616119483797177481, i64 4709202262674692422, i64 4616117877684064512, i64 4709160238926254559, i64 4616116280611387404, i64 4709118694378562399, i64 4616114692476353696, i64 4709077620842396342, i64 4616113113177922567, i64 4709037010314505767, i64 4616111542616765164, i64 4708996854972352786, i64 4616109980695226063, i64 4708957147169033437, i64 4616108427317285797, i64 4708917879428369350, i64 4616106882388524432, i64 4708879044440163246, i64 4616105345816086161, i64 4708840635055611924, i64 4616103817508644858, i64 4708802644282870659, i64 4616102297376370589, i64 4708765065282763220, i64 4616100785330897034, i64 4708727891364631945, i64 4616099281285289782, i64 4708691115982322573, i64 4616097785154015496, i64 4708654732730298750, i64 4616096296852911894, i64 4708618735339881343, i64 4616094816299158532, i64 4708583117675607908, i64 4616093343411248368, i64 4708547873731707862, i64 4616091878108960072, i64 4708512997628689070, i64 4616090420313331059, i64 4708478483610031787, i64 4616088969946631238, i64 4708444326038985995, i64 4616087526932337429, i64 4708410519395468420, i64 4616086091195108449, i64 4708377058273055597, i64 4616084662660760841, i64 4708343937376069542, i64 4616083241256245214, i64 4708311151516752715, i64 4616081826909623195, i64 4708278695612529105, i64 4616080419550044958, i64 4708246564683348370, i64 4616079019107727324, i64 4708214753849110126, i64 4616077625513932402, i64 4708183258327165563, i64 4616076238700946775, i64 4708152073429893695, i64 4616074858602061186, i64 4708121194562349659, i64 4616073485151550742, i64 4708090617219982559, i64 4616072118284655593, i64 4708060336986420494, i64 4616070757937562089, i64 4708030349531320437, i64 4616069404047384391, i64 4708000650608280796, i64 4616068056552146531, i64 4707971236052814502, i64 4616066715390764902, i64 4707942101780380605, i64 4616065380503031169, i64 4707913243784472410, i64 4616064051829595589, i64 4707884658134760265, i64 4616062729311950718, i64 4707856340975287185, i64 4616061412892415521, i64 4707828288522715570, i64 4616060102514119834, i64 4707800497064623334, i64 4616058798120989208, i64 4707772962957847821, i64 4616057499657730096, i64 4707745682626875961, i64 4616056207069815385, i64 4707718652562279161, i64 4616054920303470265, i64 4707691869319191479, i64 4616053639305658422, i64 4707665329515829709, i64 4616052364024068540, i64 4707639029832054011, i64 4616051094407101124, i64 4707612967007967821, i64 4616049830403855606, i64 4707587137842555768, i64 4616048571964117754, i64 4707561539192358426, i64 4616047319038347357, i64 4707536167970182727, i64 4616046071577666186, i64 4707511021143846916, i64 4616044829533846230, i64 4707486095734958992, i64 4616043592859298181, i64 4707461388817727574, i64 4616042361507060180, i64 4707436897517804212, i64 4616041135430786812, i64 4707412619011156157, i64 4616039914584738337, i64 4707388550522968677, i64 4616038698923770156, i64 4707364689326576007, i64 4616037488403322508, i64 4707341032742420062, i64 4616036282979410388, i64 4707317578137036096, i64 4616035082608613680, i64 4707294322922064465, i64 4616033887248067504, i64 4707271264553287739, i64 4616032696855452765, i64 4707248400529692397, i64 4616031511388986908, i64 4707225728392554373, i64 4616030330807414863, i64 4707203245724547755, i64 4616029155070000179, i64 4707180950148875947, i64 4616027984136516354, i64 4707158839328424647, i64 4616026817967238335, i64 4707136910964935994, i64 4616025656522934194, i64 4707115162798203274, i64 4616024499764856991, i64 4707093592605285584, i64 4616023347654736783, i64 4707072198199741898, i64 4616022200154772817, i64 4707050977430883943, i64 4616021057227625867, i64 4707029928183047388, i64 4616019918836410736, i64 4707009048374880791, i64 4616018784944688908, i64 4706988335958651822, i64 4616017655516461347, i64 4706967788919570262, i64 4616016530516161441, i64 4706947405275127313, i64 4616015409908648086, i64 4706927183074450762, i64 4616014293659198913, i64 4706907120397675549, i64 4616013181733503641, i64 4706887215355329321, i64 4616012074097657573, i64 4706867466087732550, i64 4616010970718155207, i64 4706847870764412822, i64 4616009871561883980, i64 4706828427583532893, i64 4616008776596118138, i64 4706809134771332150, i64 4616007685788512714, i64 4706789990581581110, i64 4616005516520271925, i64 4706752141218981228, i64 4616003363505796354, i64 4706714866056578397, i64 4616001226499447468, i64 4706678152062869361, i64 4615999105261140414, i64 4706641986598641177, i64 4615996999556177459, i64 4706606357402299950, i64 4615994909155087642, i64 4706571252575853705, i64 4615992833833472351, i64 4706536660571515579, i64 4615990773371856572, i64 4706502570178895528, i64 4615988727555545558, i64 4706468970512750581, i64 4615986696174486686, i64 4706435851001265426, i64 4615984679023136268, i64 4706403201374836696, i64 4615982675900331118, i64 4706371011655335883, i64 4615980686609164662, i64 4706339272145827185, i64 4615978710956867405, i64 4706307973420717957, i64 4615976748754691571, i64 4706277106316320656, i64 4615974799817799739, i64 4706231713241444384, i64 4615972863965157312, i64 4706171652538893631, i64 4615970941019428669, i64 4706112403061264652, i64 4615969030806876831, i64 4706053948402771944, i64 4615967133157266524, i64 4705996272598083402, i64 4615965247903770477, i64 4705939360107617292, i64 4615963374882878844, i64 4705883195803424817, i64 4615961513934311620, i64 4705827764955631228, i64 4615959664900933927, i64 4705773053219409848, i64 4615957827628674070, i64 4705719046622464728, i64 4615956001966444245, i64 4705665731552998876, i64 4615954187766063794, i64 4705613094748146244, i64 4615952384882184928, i64 4705561123282846706, i64 4615950593172220800, i64 4705509804559144367, i64 4615948812496275849, i64 4705459126295890514, i64 4615947042717078338, i64 4705409076518833454, i64 4615945283699914992, i64 4705359643551078382, i64 4615943535312567653, i64 4705310816003901241, i64 4615941797425251903, i64 4705262582767901340, i64 4615940069910557550, i64 4705214933004478238, i64 4615938352643390933, i64 4705167856137619098, i64 4615936645500918966, i64 4705121341845983384, i64 4615934948362514872, i64 4705075380055272425, i64 4615933261109705528, i64 4705029960930871933, i64 4615931583626120381, i64 4704985074870756146, i64 4615929915797441867, i64 4704940712498642813, i64 4615928257511357288, i64 4704896864657388707, i64 4615926608657512092, i64 4704853522402615881, i64 4615924969127464509, i64 4704810676996559289, i64 4615923338814641490, i64 4704768319902126864, i64 4615921717614295917, i64 4704726442777163527, i64 4615920105423465025, i64 4704685037468911009, i64 4615918502140930008, i64 4704644096008655713, i64 4615916907667176760, i64 4704603610606557223, i64 4615915321904357718, i64 4704563573646650374, i64 4615913744756254765, i64 4704523977682014113, i64 4615912176128243165, i64 4704484815430100708, i64 4615910615927256491, i64 4704446079768219105, i64 4615909064061752509, i64 4704407763729166546, i64 4615907520441679999, i64 4704369860497002777, i64 4615905984978446472, i64 4704332363402961466, i64 4615904457584886756, i64 4704295265921493633, i64 4615902938175232423, i64 4704258561666438158, i64 4615901426665082040, i64 4704222244387314631, i64 4615899922971372198, i64 4704186307965733988, i64 4615898427012349309, i64 4704150746411922601, i64 4615896938707542152, i64 4704115553861355657, i64 4615895457977735118, i64 4704080724571495829, i64 4615893984744942169, i64 4704046252918633419, i64 4615892518932381457, i64 4704012133394824303, i64 4615891060464450596, i64 4703978360604922165, i64 4615889609266702577, i64 4703944929263701650, i64 4615888165265822282, i64 4703911834193069196, i64 4615886728389603601, i64 4703879070319358440, i64 4615885298566927124, i64 4703846632670707227, i64 4615883875727738388, i64 4703814516374513351, i64 4615882459803026671, i64 4703782716654966302, i64 4615881050724804311, i64 4703751228830652349, i64 4615879648426086532, i64 4703720048312230466, i64 4615878252840871772, i64 4703689170600176637, i64 4615876863904122482, i64 4703658591282594217, i64 4615875481551746404, i64 4703628306033088099, i64 4615874105720578292, i64 4703598310608700521, i64 4615872736348362076, i64 4703568600847906455, i64 4615871373373733461, i64 4703539172668666548, i64 4615870016736202927, i64 4703510022066535729, i64 4615868666376139145, i64 4703481145112825614, i64 4615867322234752777, i64 4703452537952818927, i64 4615865984254080665, i64 4703424196804034248, i64 4615864652376970377, i64 4703396117954539410, i64 4615863326547065130, i64 4703368297761311990, i64 4615862006708789047, i64 4703340732648645343, i64 4615860692807332763, i64 4703313419106598719, i64 4615859384788639358, i64 4703286353689490049, i64 4615858082599390618, i64 4703259533014430026, i64 4615856786186993598, i64 4703232953759896173, i64 4615855495499567497, i64 4703206612664345630, i64 4615854210485930828, i64 4703180506524865434, i64 4615852931095588877, i64 4703154632195859116, i64 4615851657278721437, i64 4703128986587768485, i64 4615850388986170820, i64 4703103566665829493, i64 4615849126169430134, i64 4703078369448861132, i64 4615847868780631817, i64 4703053392008086348, i64 4615846616772536425, i64 4703028631465983967, i64 4615845370098521659, i64 4703004084995170719, i64 4615844128712571641, i64 4702979749817312411, i64 4615842892569266412, i64 4702955623202063383, i64 4615841661623771666, i64 4702931702466033387, i64 4615840435831828696, i64 4702907984971781070, i64 4615839215149744558, i64 4702884468126833254, i64 4615837999534382451, i64 4702861149382729261, i64 4615836788943152290, i64 4702838026234089519, i64 4615835583334001486, i64 4702815096217707753, i64 4615834382665405916, i64 4702792356911666046, i64 4615833186896361085, i64 4702769805934472123, i64 4615831995986373469, i64 4702747440944218183, i64 4615830809895452042, i64 4702725259637760679, i64 4615829628584099973, i64 4702703259749920419, i64 4615828452013306496, i64 4702681439052702416, i64 4615827280144538951, i64 4702659795354534914, i64 4615826112939734983, i64 4702638326499527044, i64 4615824950361294897, i64 4702617030366744576, i64 4615823792372074176, i64 4702595904869503261, i64 4615822638935376141, i64 4702574947954679261, i64 4615821490014944768, i64 4702554157602036186, i64 4615820345574957640, i64 4702533531823568279, i64 4615819205580019043, i64 4702513068662859287, i64 4615818069995153201, i64 4702492766194456602, i64 4615816938785797643, i64 4702472622523260220, i64 4615815811917796698, i64 4702452635783926144, i64 4615814689357395123, i64 4702432804140283804, i64 4615813571071231852, i64 4702413125784767132, i64 4615812457026333864, i64 4702393598937858905, i64 4615810241530345965, i64 4702354992788799256, i64 4615808042613182740, i64 4702316971997631363, i64 4615805860024431481, i64 4702279523284205442, i64 4615803693519339147, i64 4702242633768048021, i64 4615801542858642666, i64 4702206290953417334, i64 4615799407808405571, i64 4702170482715024908, i64 4615797288139860663, i64 4702135197284388952, i64 4615795183629258457, i64 4702100423236787128, i64 4615793094057721150, i64 4702066149478778211, i64 4615791019211101865, i64 4702032365236263882, i64 4615788958879848953, i64 4701999060043063556, i64 4615786912858875133, i64 4701966223729976688, i64 4615784880947431263, i64 4701933846414308449, i64 4615782862948984546, i64 4701901918489836013, i64 4615780858671100991, i64 4701870430617193975, i64 4615778867925331939, i64 4701839373714658593, i64 4615776890527104504, i64 4701808738949311672, i64 4615774926295615754, i64 4701778517728565972, i64 4615772975053730481, i64 4701739392409272112, i64 4615771036627882423, i64 4701680554432663680, i64 4615769110847978794, i64 4701622494714351608, i64 4615767197547307981, i64 4701565197835615108, i64 4615765296562450307, i64 4701508648783356593, i64 4615763407733191706, i64 4701452832936831261, i64 4615761530902440222, i64 4701397736054894777, i64 4615759665916145217, i64 4701343344263745575, i64 4615757812623219168, i64 4701289644045139531, i64 4615755970875461975, i64 4701236622225055895, i64 4615754140527487670, i64 4701184265962794430, i64 4615752321436653440, i64 4701132562740484739, i64 4615750513462990877, i64 4701081500352989688, i64 4615748716469139375, i64 4701031066898185759, i64 4615746930320281583, i64 4700981250767604001, i64 4615745154884080853, i64 4700932040637416059, i64 4615743390030620599, i64 4700883425459750522, i64 4615741635632345498, i64 4700835394454325533, i64 4615739891564004476, i64 4700787937100384310, i64 4615738157702595399, i64 4700741043128920838, i64 4615736433927311417, i64 4700694702515183630, i64 4615734720119488908, i64 4700648905471446003, i64 4615733016162556950, i64 4700603642440031877, i64 4615731321941988279, i64 4700558904086586617, i64 4615729637345251679, i64 4700514681293582924, i64 4615727962261765746, i64 4700470965154052240, i64 4615726296582853996, i64 4700427746965532589, i64 4615724640201701246, i64 4700385018224224167, i64 4615722993013311249, i64 4700342770619344414, i64 4615721354914465525, i64 4700300996027674650, i64 4615719725803683352, i64 4700259686508290751, i64 4615718105581182876, i64 4700218834297470626, i64 4615716494148843310, i64 4700178431803771633, i64 4615714891410168174, i64 4700138471603271338, i64 4615713297270249551, i64 4700098946434965320, i64 4615711711635733321, i64 4700059849196316023, i64 4615710134414785347, i64 4700021172938946872, i64 4615708565517058565, i64 4699982910864476180, i64 4615707004853660977, i64 4699945056320485544, i64 4615705452337124490, i64 4699907602796617715, i64 4615703907881374593, i64 4699870543920799102, i64 4615702371401700831, i64 4699833873455582280, i64 4615700842814728065, i64 4699797585294604095, i64 4615699322038388482, i64 4699761673459155100, i64 4615697808991894339, i64 4699726132094856276, i64 4615696303595711408, i64 4699690955468439130, i64 4615694805771533117, i64 4699656137964625444, i64 4615693315442255344, i64 4699621674083103082, i64 4615691832531951866, i64 4699587558435594433, i64 4615690356965850428, i64 4699553785743014182, i64 4615688888670309411, i64 4699520350832713260, i64 4615687427572795103, i64 4699487248635805920, i64 4615685973601859522, i64 4699454474184577051, i64 4615684526687118806, i64 4699422022609966907, i64 4615683086759232127, i64 4699389889139130583, i64 4615681653749881138, i64 4699358069093069650, i64 4615680227591749911, i64 4699326557884333471, i64 4615678808218505376, i64 4699295351014787822, i64 4615677395564778232, i64 4699264444073448517, i64 4615675989566144317, i64 4699233832734377850, i64 4615674590159106431, i64 4699203512754641727, i64 4615673197281076591, i64 4699173479972325462, i64 4615671810870358712, i64 4699143730304606270, i64 4615670430866131701, i64 4699114259745880590, i64 4615669057208432939, i64 4699085064365944403, i64 4615667689838142169, i64 4699056140308224830, i64 4615666328696965745, i64 4699027483788061302, i64 4615664973727421258, i64 4698999091091034713, i64 4615663624872822512, i64 4698970958571342981, i64 4615662282077264853, i64 4698943082650221528, i64 4615660945285610827, i64 4698915459814407235, i64 4615659614443476175, i64 4698888086614644477, i64 4615658289497216139, i64 4698860959664231904, i64 4615656970393912080, i64 4698834075637608673, i64 4615655657081358403, i64 4698807431268978884, i64 4615654349508049768, i64 4698781023350973026, i64 4615653047623168591, i64 4698754848733345277, i64 4615651751376572824, i64 4698728904321705526, i64 4615650460718784002, i64 4698703187076285064, i64 4615649175600975555, i64 4698677694010734888, i64 4615647895974961380, i64 4698652422190955627, i64 4615646621793184657, i64 4698627368733958108, i64 4615645353008706910, i64 4698602530806753652, i64 4615644089575197313, i64 4698577905625273179, i64 4615642831446922212, i64 4698553490453314255, i64 4615641578578734883, i64 4698529282601515257, i64 4615640330926065508, i64 4698505279426355819, i64 4615639088444911358, i64 4698481478329182803, i64 4615637851091827193, i64 4698457876755261015, i64 4615636618823915857, i64 4698434472192847948, i64 4615635391598819077, i64 4698411262172291839, i64 4615634169374708447, i64 4698388244265152367, i64 4615632952110276608, i64 4698365416083343310, i64 4615631739764728609, i64 4698342775278296552, i64 4615630532297773441, i64 4698320319540146796, i64 4615629329669615751, i64 4698298046596936404, i64 4615628131840947727, i64 4698275954213839775, i64 4615626938772941144, i64 4698254040192406712, i64 4615625750427239571, i64 4698232302369824235, i64 4615624566765950746, i64 4698210738618196303, i64 4615623387751639090, i64 4698189346843840973, i64 4615622213347318384, i64 4698168124986604461, i64 4615621043516444584, i64 4698147071019191678, i64 4615619878222908785, i64 4698126182946512739, i64 4615618717431030320, i64 4698105458805045034, i64 4615617561105550001, i64 4698084896662210414, i64 4615616409211623485, i64 4698064494615767079, i64 4615615261714814780, i64 4698044250793215762, i64 4615614118581089869, i64 4698024163351219823, i64 4615612979776810462, i64 4698004230475038873, i64 4615610715023977003, i64 4697964821300835140, i64 4615608467194892755, i64 4697926009303901629, i64 4615606236034087650, i64 4697887780940971480, i64 4615604021291863445, i64 4697850123076264167, i64 4615601822724120707, i64 4697813022966252005, i64 4615599640092192253, i64 4697776468245105620, i64 4615597473162682740, i64 4697740446910783325, i64 4615595321707314141, i64 4697704947311731379, i64 4615593185502776854, i64 4697669958134164037, i64 4615591064330586192, i64 4697635468389894111, i64 4615588957976944024, i64 4697601467404686401, i64 4615586866232605351, i64 4697567944807107978, i64 4615584788892749603, i64 4697534890517850736, i64 4615582725756856453, i64 4697502294739503022, i64 4615580676628585972, i64 4697470147946748456, i64 4615578641315662930, i64 4697438440876971247, i64 4615576619629765086, i64 4697407164521248459, i64 4615574611386415280, i64 4697376310115710755, i64 4615572616404877210, i64 4697345869133254131, i64 4615570634508054697, i64 4697315833275586107, i64 4615568665522394346, i64 4697286194465590726, i64 4615566709277791425, i64 4697256944839997543, i64 4615564765607498868, i64 4697201742137253796, i64 4615562834348039253, i64 4697144754084960310, i64 4615560915339119661, i64 4697088499649914699, i64 4615559008423549279, i64 4697032964680927124, i64 4615557113447159670, i64 4696978135389375428, i64 4615555230258727578, i64 4696923998337650042, i64 4615553358709900196, i64 4696870540428038430, i64 4615551498655122788, i64 4696817748892029688, i64 4615549649951568580, i64 4696765611280020862, i64 4615547812459070842, i64 4696714115451407491, i64 4615545986040057070, i64 4696663249565041724, i64 4615544170559485190, i64 4696613002070042198, i64 4615542365884781727, i64 4696563361696940629, i64 4615540571885781839, i64 4696514317449150797, i64 4615538788434671171, i64 4696465858594746305, i64 4615537015405929459, i64 4696417974658534144, i64 4615535252676275809, i64 4696370655414411711, i64 4615533500124615609, i64 4696323890877995516, i64 4615531757631989000, i64 4696277671299510370, i64 4615530025081520865, i64 4696231987156928373, i64 4615528302358372272, i64 4696186829149347515, i64 4615526589349693324, i64 4696142188190600171, i64 4615524885944577374, i64 4696098055403082237, i64 4615523192034016543, i64 4696054422111794055, i64 4615521507510858512, i64 4696011279838584696, i64 4615519832269764538, i64 4695968620296591536, i64 4615518166207168647, i64 4695926435384867446, i64 4615516509221237976, i64 4695884717183188234, i64 4615514861211834217, i64 4695843457947033327, i64 4615513222080476128, i64 4695802650102732972, i64 4615511591730303076, i64 4695762286242775559, i64 4615509970066039586, i64 4695722359121268913, i64 4615508356993960842, i64 4695682861649549700, i64 4615506752421859136, i64 4695643786891935336, i64 4615505156259011216, i64 4695605128061613017, i64 4615503568416146503, i64 4695566878516660742, i64 4615501988805416167, i64 4695529031756195407, i64 4615500417340363015, i64 4695491581416643245, i64 4615498853935892173, i64 4695454521268128115, i64 4615497298508242540, i64 4695417845210973305, i64 4615495750974958989, i64 4695381547272312706, i64 4615494211254865283, i64 4695345621602807395, i64 4615492679268037696, i64 4695310062473463807, i64 4615491154935779309, i64 4695274864272549845, i64 4615489638180594965, i64 4695240021502605445, i64 4615488128926166860, i64 4695205528777544211, i64 4615486627097330750, i64 4695171380819842908, i64 4615485132620052758, i64 4695137572457815732, i64 4615483645421406765, i64 4695104098622970358, i64 4615482165429552358, i64 4695070954347442947, i64 4615480692573713330, i64 4695038134761509343, i64 4615479226784156710, i64 4695005635091169863, i64 4615477767992172302, i64 4694973450655805117, i64 4615476316130052733, i64 4694941576865900458, i64 4615474871131073979, i64 4694910009220836719, i64 4615473432929476366, i64 4694878743306744990, i64 4615472001460446026, i64 4694847774794423277, i64 4615470576660096795, i64 4694817099437312980, i64 4615469158465452553, i64 4694786713069533185, i64 4615467746814429967, i64 4694756611603970847, i64 4615466341645821659, i64 4694726791030425031, i64 4615464942899279752, i64 4694697247413803420, i64 4615463550515299819, i64 4694667976892369388, i64 4615462164435205189, i64 4694638975676037983, i64 4615460784601131628, i64 4694610240044719243, i64 4615459410956012369, i64 4694581766346707306, i64 4615458043443563486, i64 4694553550997113857, i64 4615456682008269605, i64 4694525590476344478, i64 4615455326595369933, i64 4694497881328616551, i64 4615453977150844612, i64 4694470420160517382, i64 4615452633621401378, i64 4694443203639601290, i64 4615451295954462513, i64 4694416228493024432, i64 4615449964098152098, i64 4694389491506216178, i64 4615448638001283545, i64 4694362989521585915, i64 4615447317613347403, i64 4694336719437264162, i64 4615446002884499438, i64 4694310678205876952, i64 4615444693765548970, i64 4694284862833352457, i64 4615443390207947467, i64 4694259270377758860, i64 4615442092163777385, i64 4694233897948172540, i64 4615440799585741257, i64 4694208742703575638, i64 4615439512427151006, i64 4694183801851782114, i64 4615438230641917495, i64 4694159072648391458, i64 4615436954184540299, i64 4694134552395769209, i64 4615435683010097695, i64 4694110238442053484, i64 4615434417074236865, i64 4694086128180186764, i64 4615433156333164299, i64 4694062219046972167, i64 4615431900743636412, i64 4694038508522153504, i64 4615430650262950345, i64 4694014994127518412, i64 4615429404848934967, i64 4693991673426023900, i64 4615428164459942059, i64 4693968544020943647, i64 4615426929054837679, i64 4693945603555036428, i64 4615425698592993710, i64 4693922849709735063, i64 4615424473034279577, i64 4693900280204355291, i64 4615423252339054135, i64 4693877892795324007, i64 4615422036468157721, i64 4693855685275426309, i64 4615420825382904364, i64 4693833655473070819, i64 4615419619045074163, i64 4693811801251572770, i64 4615418417416905801, i64 4693790120508454349, i64 4615417220461089225, i64 4693768611174761821, i64 4615416028140758463, i64 4693747271214398963, i64 4615414840419484584, i64 4693726098623476358, i64 4615413657261268800, i64 4693705091429676098, i64 4615412478630535701, i64 4693684247691631497, i64 4615411304492126629, i64 4693663565498321370, i64 4615410134811293168, i64 4693643042968478505, i64 4615408969553690777, i64 4693622678250011929, i64 4615406652172783010, i64 4693582414981352159, i64 4615404352082489870, i64 4693542761438019004, i64 4615402069021972069, i64 4693503703797721183, i64 4615399802736281082, i64 4693465228653929295, i64 4615397552976182622, i64 4693427323000336409, i64 4615395319497986693, i64 4693389974216011134, i64 4615393102063383915, i64 4693353170051207406, i64 4615390900439287864, i64 4693316898613797326, i64 4615388714397683145, i64 4693281148356295344, i64 4615386543715478964, i64 4693245908063443917, i64 4615384388174367952, i64 4693211166840332470, i64 4615382247560690023, i64 4693176914101023117, i64 4615380121665301041, i64 4693143139557658076, i64 4615378010283446111, i64 4693109833210025123, i64 4615375913214637285, i64 4693076985335558775, i64 4615373830262535504, i64 4693044586479756082, i64 4615371761234836598, i64 4693012627446987111, i64 4615369705943161194, i64 4692981099291681268, i64 4615367664202948341, i64 4692949993309871637, i64 4615365635833352733, i64 4692919301031080463, i64 4615363620657145370, i64 4692889014210529831, i64 4615361618500617517, i64 4692859124821662419, i64 4615359629193487843, i64 4692829625048958001, i64 4615357652568812596, i64 4692800507281032158, i64 4615355688462898719, i64 4692771764104004312, i64 4615353736715219769, i64 4692735964870188994, i64 4615351797168334546, i64 4692679933913215558, i64 4615349869667808320, i64 4692624609899738251, i64 4615347954062136565, i64 4692569979459333233, i64 4615346050202671098, i64 4692516029557533746, i64 4615344157943548528, i64 4692462747485327592, i64 4615342277141620944, i64 4692410120849046558, i64 4615340407656388746, i64 4692358137560630808, i64 4615338549349935542, i64 4692306785828252108, i64 4615336702086865036, i64 4692256054147280543, i64 4615334865734239839, i64 4692205931291580113, i64 4615333040161522125, i64 4692156406305119322, i64 4615331225240516069, i64 4692107468493883532, i64 4615329420845312006, i64 4692059107418076482, i64 4615327626852232247, i64 4692011312884598963, i64 4615325843139778488, i64 4691964074939793244, i64 4615324069588580771, i64 4691917383862442318, i64 4615322306081347924, i64 4691871230157013603, i64 4615320552502819441, i64 4691825604547137182, i64 4615318808739718749, i64 4691780497969309129, i64 4615317074680707812, i64 4691735901566810910, i64 4615315350216343031, i64 4691691806683836238, i64 4615313635239032389, i64 4691648204859817189, i64 4615311929642993806, i64 4691605087823941701, i64 4615310233324214660, i64 4691562447489854986, i64 4615308546180412433, i64 4691520275950537678, i64 4615306868110996447, i64 4691478565473353879, i64 4615305199017030658, i64 4691437308495262557, i64 4615303538801197463, i64 4691396497618186037, i64 4615301887367762495, i64 4691356125604529609, i64 4615300244622540373, i64 4691316185372846515, i64 4615298610472861373, i64 4691276669993642849, i64 4615296984827538994, i64 4691237572685317121, i64 4615295367596838383, i64 4691198886810229460, i64 4615293758692445607, i64 4691160605870895666, i64 4615292158027437722, i64 4691122723506301476, i64 4615290565516253641, i64 4691085233488332673, i64 4615288981074665748, i64 4691048129718316771, i64 4615287404619752265, i64 4691011406223672252, i64 4615285836069870314, i64 4690975057154661460, i64 4615284275344629687, i64 4690939076781243428, i64 4615282722364867277, i64 4690903459490023063, i64 4615281177052622162, i64 4690868199781293273, i64 4615279639331111319, i64 4690833292266166726, i64 4615278109124705948, i64 4690798731663794114, i64 4615276586358908394, i64 4690764512798665863, i64 4615275070960329634, i64 4690730630597994405, i64 4615273562856667330, i64 4690697080089174195, i64 4615272061976684424, i64 4690663856397316816, i64 4615270568250188252, i64 4690630954742858565, i64 4615269081608010174, i64 4690598370439238069, i64 4615267601981985695, i64 4690566098890641534, i64 4615266129304935070, i64 4690534135589813340, i64 4615264663510644373, i64 4690502476115929792, i64 4615263204533847022, i64 4690471116132533896, i64 4615261752310205743, i64 4690440051385529132, i64 4615260306776294960, i64 4690409277701230272, i64 4615258867869583605, i64 4690378790984469339, i64 4615257435528418331, i64 4690348587216754918, i64 4615256009692007113, i64 4690318662454483059, i64 4615254590300403235, i64 4690289012827198084, i64 4615253177294489648, i64 4690259634535901705, i64 4615251770615963690, i64 4690230523851408869, i64 4615250370207322149, i64 4690201677112748838, i64 4615248976011846680, i64 4690173090725610065, i64 4615247587973589539, i64 4690144761160827460, i64 4615246206037359654, i64 4690116684952910710, i64 4615244830148709001, i64 4690088858698612357, i64 4615243460253919290, i64 4690061279055534383, i64 4615242096299988941, i64 4690033942740772098, i64 4615240738234620365, i64 4690006846529594185, i64 4615239386006207508, i64 4689979987254157749, i64 4615238039563823684, i64 4689953361802257328, i64 4615236698857209664, i64 4689926967116106799, i64 4615235363836762039, i64 4689900800191153177, i64 4615234034453521817, i64 4689874858074921347, i64 4615232710659163289, i64 4689849137865888774, i64 4615231392405983112, i64 4689823636712389306, i64 4615230079646889649, i64 4689798351811545181, i64 4615228772335392517, i64 4689773280408226396, i64 4615227470425592372, i64 4689748419794036633, i64 4615226173872170904, i64 4689723767306324947, i64 4615224882630381041, i64 4689699320327222446, i64 4615223596656037364, i64 4689675076282703252, i64 4615222315905506722, i64 4689651032641669004, i64 4615221040335699038, i64 4689627186915056239, i64 4615219769904058309, i64 4689603536654965974, i64 4615218504568553795, i64 4689580079453814849, i64 4615217244287671382, i64 4689556812943507213, i64 4615215989020405128, i64 4689533734794627547, i64 4615214738726248980, i64 4689510842715652656, i64 4615213493365188658, i64 4689488134452183045, i64 4615212252897693705, i64 4689465607786192954, i64 4615211017284709694, i64 4689443260535298528, i64 4615209786487650599, i64 4689421090552043586, i64 4615208560468391308, i64 4689399095723202537, i64 4615207339189260296, i64 4689377273969099918, i64 4615206122613032433, i64 4689355623242946138, i64 4615204910702921942, i64 4689334141530188949, i64 4615203703422575494, i64 4689312826847880217, i64 4615202500736065433, i64 4689291677244057582, i64 4615201302607883142, i64 4689270690797140595, i64 4615200109002932529, i64 4689249865615340934, i64 4615197735224366438, i64 4689208691625457763, i64 4615195379127609469, i64 4689168140714383272, i64 4615193040446108401, i64 4689128198763252620, i64 4615190718919327195, i64 4689088852077751262, i64 4615188414292566743, i64 4689050087372250885, i64 4615186126316791320, i64 4689011891754652152, i64 4615183854748461451, i64 4688974252711897760, i64 4615181599349372909, i64 4688937158096121450, i64 4615179359886501574, i64 4688900596111400623, i64 4615177136131853898, i64 4688864555301082055, i64 4615174927862322739, i64 4688829024535651997, i64 4615172734859548331, i64 4688793993001123522, i64 4615170556909784164, i64 4688759450187915585, i64 4615168393803767586, i64 4688725385880199624, i64 4615166245336594913, i64 4688691790145690938, i64 4615164111307600859, i64 4688658653325863302, i64 4615161991520242120, i64 4688625966026566466, i64 4615159885781984933, i64 4688593719109027316, i64 4615157793904196446, i64 4688561903681216502, i64 4615155715702039751, i64 4688530511089563307, i64 4615153650994372426, i64 4688499532911002489, i64 4615151599603648456, i64 4688468960945337645, i64 4615149561355823389, i64 4688438787207906510, i64 4615147536080262599, i64 4688409003922534320, i64 4615145523609652546, i64 4688379603514762137, i64 4615143523779914906, i64 4688350578605337683, i64 4615141536430123458, i64 4688321922003956869, i64 4615139561402423637, i64 4688293626703244831, i64 4615137598541954634, i64 4688265685872965837, i64 4615135647696773956, i64 4688228973616217587, i64 4615133708717784349, i64 4688174470217795545, i64 4615131781458663006, i64 4688120636795141864, i64 4615129865775792956, i64 4688067460997565037, i64 4615127961528196569, i64 4688014930776944410, i64 4615126068577471100, i64 4687963034378505866, i64 4615124186787726181, i64 4687911760331933286, i64 4615122316025523210, i64 4687861097442801596, i64 4615120456159816557, i64 4687811034784317905, i64 4615118607061896521, i64 4687761561689357865, i64 4615116768605333991, i64 4687712667742785016, i64 4615114940665926722, i64 4687664342774041433, i64 4615113123121647203, i64 4687616576849998561, i64 4615111315852592029, i64 4687569360268057628, i64 4615109518740932755, i64 4687522683549489528, i64 4615107731670868153, i64 4687476537433004509, i64 4615105954528577843, i64 4687430912868542487, i64 4615104187202177245, i64 4687385801011275176, i64 4615102429581673802, i64 4687341193215811657, i64 4615100681558924440, i64 4687297081030599370, i64 4615098943027594215, i64 4687253456192512885, i64 4615097213883116116, i64 4687210310621623126, i64 4615095494022651977, i64 4687167636416140074, i64 4615093783345054463, i64 4687125425847522261, i64 4615092081750830106, i64 4687083671355746674, i64 4615090389142103335, i64 4687042365544732949, i64 4615088705422581493, i64 4687001501177916025, i64 4615087030497520782, i64 4686961071173961646, i64 4615085364273693133, i64 4686921068602619382, i64 4615083706659353955, i64 4686881486680708020, i64 4615082057564210729, i64 4686842318768228433, i64 4615080416899392449, i64 4686803558364599217, i64 4615078784577419844, i64 4686765199105010604, i64 4615077160512176393, i64 4686727234756892318, i64 4615075544618880080, i64 4686689659216491252, i64 4615073936814055887, i64 4686652466505554998, i64 4615072337015508987, i64 4686615650768117418, i64 4615070745142298629, i64 4686579206267382617, i64 4615069161114712675, i64 4686543127382703823, i64 4615067584854242795, i64 4686507408606653801, i64 4615066016283560276, i64 4686472044542183593, i64 4615064455326492440, i64 4686437029899866486, i64 4615062901907999649, i64 4686402359495224239, i64 4615061355954152883, i64 4686368028246132709, i64 4615059817392111862, i64 4686334031170304149, i64 4615058286150103716, i64 4686300363382843538, i64 4615056762157402169, i64 4686267020093876413, i64 4615055245344307229, i64 4686233996606245777, i64 4615053735642125373, i64 4686201288313275741, i64 4615052232983150203, i64 4686168890696599654, i64 4615050737300643571, i64 4686136799324050568, i64 4615049248528817150, i64 4686105009847611942, i64 4615047766602814446, i64 4686073518001426610, i64 4615046291458693225, i64 4686042319599862058, i64 4615044823033408369, i64 4686011410535630195, i64 4615043361264795115, i64 4685980786777959797, i64 4615041906091552701, i64 4685950444370819943, i64 4615040457453228374, i64 4685920379431192763, i64 4615039015290201782, i64 4685890588147393924, i64 4615037579543669714, i64 4685861066777439313, i64 4615036150155631193, i64 4685831811647456445, i64 4615034727068872908, i64 4685802819150139161, i64 4615033310226954971, i64 4685774085743244267, i64 4615031899574197006, i64 4685745607948128762, i64 4615030495055664533, i64 4685717382348326414, i64 4615029096617155675, i64 4685689405588162416, i64 4615027704205188146, i64 4685661674371404980, i64 4615026317766986536, i64 4685634185459952682, i64 4615024937250469866, i64 4685606935672556492, i64 4615023562604239431, i64 4685579921883575401, i64 4615022193777566895, i64 4685553141021764624, i64 4615020830720382649, i64 4685526590069095395, i64 4615019473383264425, i64 4685500266059605384, i64 4615018121717426151, i64 4685474166078278822, i64 4615016775674707047, i64 4685448287259955441, i64 4615015435207560952, i64 4685422626788267359, i64 4615014100269045882, i64 4685397181894603087, i64 4615012770812813804, i64 4685371949857097846, i64 4615011446793100632, i64 4685346927999649428, i64 4615010128164716428, i64 4685322113690958832, i64 4615008814883035810, i64 4685297504343594972, i64 4615007506903988558, i64 4685273097413082735, i64 4615006204184050420, i64 4685248890397013719, i64 4615004906680234102, i64 4685224880834179005, i64 4615003614350080447, i64 4685201066303723304, i64 4615002327151649791, i64 4685177444424319895, i64 4615001045043513502, i64 4685154012853365735, i64 4614999767984745683, i64 4685130769286196187, i64 4614998495934915050, i64 4685107711455318794, i64 4614997228854076968, i64 4685084837129665573, i64 4614995966702765651, i64 4685062144113863303, i64 4614994709441986514, i64 4685039630247521307, i64 4614993457033208683, i64 4685017293404536238, i64 4614992209438357648, i64 4684995131492413391, i64 4614990966619808061, i64 4684973142451604098, i64 4614989728540376684, i64 4684951324254858755, i64 4614988495163315463, i64 4684929674906595044, i64 4614987266452304749, i64 4684908192442280949, i64 4614986042371446639, i64 4684886874927832159, i64 4614983607958666356, i64 4684844727160913756, i64 4614981191645981609, i64 4684803216720089936, i64 4614978793160742692, i64 4684762329170487735, i64 4614976412236451791, i64 4684722050511140047, i64 4614974048612578761, i64 4684682367158776200, i64 4614971702034383746, i64 4684643265932334579, i64 4614969372252746362, i64 4684604734038160016, i64 4614967059024001140, i64 4684566759055850851, i64 4614964762109778960, i64 4684529328924722628, i64 4614962481276854214, i64 4684492431930857264, i64 4614960216296997447, i64 4684456056694708363, i64 4614957966946833261, i64 4684420192159234958, i64 4614955733007703222, i64 4684384827578537590, i64 4614953514265533604, i64 4684349952506972055, i64 4614951310510707726, i64 4684315556788717539, i64 4614949121537942717, i64 4684281630547777157, i64 4614946947146170519, i64 4684248164178390111, i64 4614944787138422953, i64 4684215148335835810, i64 4614942641321720678, i64 4684182573927611384, i64 4614940509506965894, i64 4684150432104964995, i64 4614938391508838640, i64 4684118714254768319, i64 4614936287145696525, i64 4684087411991712422, i64 4614934196239477783, i64 4684056517150812118, i64 4614932118615607500, i64 4684026021780204666, i64 4614930054102906893, i64 4683995918134229391, i64 4614928002533505536, i64 4683966198666775514, i64 4614925963742756396, i64 4683936856024886152, i64 4614923937569153594, i64 4683907883042607014, i64 4614921923854252770, i64 4683879272735068961, i64 4614919922442593961, i64 4683851018292794089, i64 4614917933181626902, i64 4683823113076215558, i64 4614915955921638644, i64 4683795550610401850, i64 4614913990515683422, i64 4683768324579976595, i64 4614912036819514674, i64 4683739245183135320, i64 4614910094691519142, i64 4683686102199449973, i64 4614908163992652971, i64 4683633596012861576, i64 4614906244586379745, i64 4683581715174706499, i64 4614904336338610377, i64 4683530448509936069, i64 4614902439117644794, i64 4683479785108977101, i64 4614900552794115352, i64 4683429714319881597, i64 4614898677240931920, i64 4683380225740753679, i64 4614896812333228573, i64 4683331309212442403, i64 4614894957948311838, i64 4683282954811489607, i64 4614893113965610438, i64 4683235152843322471, i64 4614891280266626488, i64 4683187893835680924, i64 4614889456734888081, i64 4683141168532270497, i64 4614887643255903230, i64 4683094967886631635, i64 4614885839717115113, i64 4683049283056216914, i64 4614884046007858573, i64 4683004105396667966, i64 4614882262019317843, i64 4682959426456284287, i64 4614880487644485440, i64 4682915237970676478, i64 4614878722778122200, i64 4682871531857596762, i64 4614876967316718417, i64 4682828300211939953, i64 4614875221158456036, i64 4682785535300908361, i64 4614873484203171885, i64 4682743229559334383, i64 4614871756352321897, i64 4682701375585154802, i64 4614870037508946295, i64 4682659966135031094, i64 4614868327577635713, i64 4682618994120110260, i64 4614866626464498215, i64 4682578452601920958, i64 4614864934077127192, i64 4682538334788399900, i64 4614863250324570102, i64 4682498634030043743, i64 4614861575117298031, i64 4682459343816181833, i64 4614859908367176047, i64 4682420457771365428, i64 4614858249987434323, i64 4682381969651869149, i64 4614856599892640005, i64 4682343873342300614, i64 4614854957998669807, i64 4682306162852314376, i64 4614853324222683295, i64 4682268832313426427, i64 4614851698483096860, i64 4682231875975925695, i64 4614850080699558347, i64 4682195288205879111, i64 4614848470792922317, i64 4682159063482226945, i64 4614846868685225934, i64 4682123196393965248, i64 4614845274299665451, i64 4682087681637412374, i64 4614843687560573273, i64 4682052514013556661, i64 4614842108393395598, i64 4682017688425482474, i64 4614840536724670589, i64 4681983199875871912, i64 4614838972482007096, i64 4681949043464579613, i64 4614837415594063885, i64 4681915214386278145, i64 4614835865990529368, i64 4681881707928171628, i64 4614834323602101832, i64 4681848519467775255, i64 4614832788360470122, i64 4681815644470758539, i64 4614831260198294807, i64 4681783078488850130, i64 4614829739049189773, i64 4681750817157802183, i64 4614828224847704261, i64 4681718856195412295, i64 4614826717529305325, i64 4681687191399601131, i64 4614825217030360699, i64 4681655818646543901, i64 4614823723288122063, i64 4681624733888853954, i64 4614822236240708695, i64 4681593933153816784, i64 4614820755827091502, i64 4681563412541672828, i64 4614819281987077420, i64 4681533168223947493, i64 4614817814661294162, i64 4681503196441826894, i64 4614816353791175319, i64 4681473493504577857, i64 4614814899318945799, i64 4681444055788010774, i64 4614813451187607590, i64 4681414879732983975, i64 4614812009340925846, i64 4681385961843948296, i64 4614810573723415279, i64 4681357298687530604, i64 4614809144280326857, i64 4681328886891155050, i64 4614807720957634797, i64 4681300723141700898, i64 4614806303702023844, i64 4681272804184195788, i64 4614804892460876823, i64 4681245126820543359, i64 4614803487182262473, i64 4681217687908284168, i64 4614802087814923537, i64 4681190484359388907, i64 4614800694308265117, i64 4681163513139082918, i64 4614799306612343269, i64 4681136771264701091, i64 4614797924677853856, i64 4681110255804572205, i64 4614796548456121633, i64 4681083963876931849, i64 4614795177899089558, i64 4681057892648863063, i64 4614793812959308341, i64 4681032039335263882, i64 4614792453589926206, i64 4681006401197840984, i64 4614791099744678870, i64 4680980975544128684, i64 4614789751377879730, i64 4680955759726532516, i64 4614788408444410259, i64 4680930751141396704, i64 4614787070899710595, i64 4680905947228094814, i64 4614785738699770329, i64 4680881345468142925, i64 4614784411801119480, i64 4680856943384334670, i64 4614783090160819657, i64 4680832738539897512, i64 4614781773736455397, i64 4680808728537669666, i64 4614780462486125686, i64 4680784911019297053, i64 4614779156368435644, i64 4680761283664449750, i64 4614777855342488383, i64 4680737844190057359, i64 4614776559367877027, i64 4680714590349562783, i64 4614775268404676887, i64 4680691519932193874, i64 4614773982413437802, i64 4680668630762252480, i64 4614772701355176619, i64 4680645920698420387, i64 4614771425191369832, i64 4680623387633081696, i64 4614770153883946362, i64 4680601029491661185, i64 4614768887395280477, i64 4680578844231978214, i64 4614767625688184851, i64 4680556829843615750, i64 4614766368725903759, i64 4680534984347304100, i64 4614763868890880378, i64 4680491792265893350, i64 4614761387604546155, i64 4680449252754005901, i64 4614758924587728543, i64 4680407351039149291, i64 4614756479567550811, i64 4680366072792722146, i64 4614754052277243574, i64 4680325404113436445, i64 4614751642455963338, i64 4680285331511478065, i64 4614749249848617745, i64 4680245841893367502, i64 4614746874205697217, i64 4680206922547484883, i64 4614744515283112739, i64 4680168561130225501, i64 4614742172842039493, i64 4680130745652754018, i64 4614739846648766100, i64 4680093464468327336, i64 4614737536474549235, i64 4680056706260157828, i64 4614735242095473379, i64 4680020460029790228, i64 4614732963292315491, i64 4679984715085966972, i64 4614730699850414403, i64 4679949461033958195, i64 4614728451559544732, i64 4679914687765333891, i64 4614726218213795124, i64 4679880385448156998, i64 4614723999611450662, i64 4679846544517577312, i64 4614721795554879251, i64 4679813155666807236, i64 4614719605850421838, i64 4679780209838461384, i64 4614717430308286296, i64 4679747698216243027, i64 4614715268742444837, i64 4679715612216961263, i64 4614713120970534817, i64 4679683943482863661, i64 4614710986813762778, i64 4679652683874269916, i64 4614708866096811628, i64 4679621825462492787, i64 4614706758647750824, i64 4679591360523033355, i64 4614704664297949431, i64 4679561281529038236, i64 4614702582881991972, i64 4679531581145007071, i64 4614700514237596939, i64 4679502252220739174, i64 4614698458205537879, i64 4679473287785508798, i64 4614696414629566949, i64 4679444681042458998, i64 4614694383356340854, i64 4679416425363204566, i64 4614692364235349078, i64 4679388514282635008, i64 4614690357118844316, i64 4679360941493908934, i64 4614688361861775039, i64 4679333700843631699, i64 4614686378321720107, i64 4679306786327208502, i64 4614684406358825350, i64 4679280192084365533, i64 4614682445835742057, i64 4679253912394832119, i64 4614680496617567302, i64 4679215870510408944, i64 4614678558571786034, i64 4679164536101641364, i64 4614676631568214877, i64 4679113798076101548, i64 4614674715478947574, i64 4679063646032898911, i64 4614672810178302026, i64 4679014069812351876, i64 4614670915542768859, i64 4678965059489023159, i64 4614669031450961471, i64 4678916605364995274, i64 4614667157783567518, i64 4678868697963376636, i64 4614665294423301768, i64 4678821328022029079, i64 4614663441254860298, i64 4678774486487508033, i64 4614661598164875978, i64 4678728164509206976, i64 4614659765041875198, i64 4678682353433698182, i64 4614657941776235803, i64 4678637044799262104, i64 4614656128260146189, i64 4678592230330598109, i64 4614654324387565522, i64 4678547901933709573, i64 4614652530054185055, i64 4678504051690956667, i64 4614650745157390483, i64 4678460671856270449, i64 4614648969596225332, i64 4678417754850522146, i64 4614647203271355325, i64 4678375293257041793, i64 4614645446085033699, i64 4678333279817280634, i64 4614643697941067458, i64 4678291707426611915, i64 4614641958744784503, i64 4678250569130264954, i64 4614640228403001644, i64 4678209858119387574, i64 4614638506823993442, i64 4678169567727232181, i64 4614636793917461859, i64 4678129691425460995, i64 4614635089594506708, i64 4678090222820566089, i64 4614633393767596853, i64 4678051155650400110, i64 4614631706350542155, i64 4678012483780813696, i64 4614630027258466132, i64 4677974201202395783, i64 4614628356407779312, i64 4677936302027313140, i64 4614626693716153264, i64 4677898780486245624, i64 4614625039102495278, i64 4677861630925413794, i64 4614623392486923680, i64 4677824847803695637, i64 4614621753790743759, i64 4677788425689829311, i64 4614620122936424297, i64 4677752359259698928, i64 4614618499847574666, i64 4677716643293700497, i64 4614616884448922499, i64 4677681272674185292, i64 4614615276666291901, i64 4677646242382977995, i64 4614613676426582183, i64 4677611547498967066, i64 4614612083657747119, i64 4677577183195764911, i64 4614610498288774698, i64 4677543144739435487, i64 4614608920249667360, i64 4677509427486287091, i64 4614607349471422705, i64 4677476026880728158, i64 4614605785886014654, i64 4677442938453183981, i64 4614604229426375062, i64 4677410157818072333, i64 4614602680026375758, i64 4677377680671836068, i64 4614601137620811005, i64 4677345502791030830, i64 4614599602145380367, i64 4677313620030466069, i64 4614598073536671978, i64 4677282028321397652, i64 4614596551732146189, i64 4677250723669770400, i64 4614595036670119594, i64 4677219702154508929, i64 4614593528289749426, i64 4677188959925855289, i64 4614592026531018293, i64 4677158493203751877, i64 4614590531334719276, i64 4677128298276268204, i64 4614589042642441353, i64 4677098371498070144, i64 4614587560396555149, i64 4677068709288930309, i64 4614586084540199010, i64 4677039308132278289, i64 4614584615017265382, i64 4677010164573789499, i64 4614583151772387494, i64 4676981275220011444, i64 4614581694750926330, i64 4676952636737026257, i64 4614580243898957892, i64 4676924245849148379, i64 4614578799163260736, i64 4676896099337656324, i64 4614577360491303784, i64 4676868194039557483, i64 4614575927831234395, i64 4676840526846384969, i64 4614574501131866695, i64 4676813094703025534, i64 4614573080342670160, i64 4676785894606577631, i64 4614571665413758435, i64 4676758923605238715, i64 4614570256295878401, i64 4676732178797220908, i64 4614568852940399466, i64 4676705657329694200, i64 4614567455299303083, i64 4676679356397756365, i64 4614566063325172491, i64 4676653273243428798, i64 4614564676971182671, i64 4676627405154677538, i64 4614563296191090503, i64 4676601749464458717, i64 4614561920939225138, i64 4676576303549787743, i64 4614560551170478562, i64 4676551064830831524, i64 4614559186840296356, i64 4676526030770023073, i64 4614557827904668644, i64 4676501198871197846, i64 4614556474320121227, i64 4676476566678751205, i64 4614555126043706898, i64 4676452131776816389, i64 4614553783032996930, i64 4676427891788462424, i64 4614552445246072736, i64 4676403844374911409, i64 4614551112641517699, i64 4676379987234774629, i64 4614549785178409161, i64 4676356318103306967, i64 4614548462816310575, i64 4676332834751679112, i64 4614547145515263813, i64 4676309534986267069, i64 4614545833235781620, i64 4676286416647958479, i64 4614544525938840224, i64 4676263477611475307, i64 4614543223585872087, i64 4676240715784712431, i64 4614541926138758794, i64 4676218129108091710, i64 4614540633559824091, i64 4676195715553931098, i64 4614538062857955334, i64 4676151399858059352, i64 4614535511187442470, i64 4676107753090499001, i64 4614532978262112707, i64 4676064760116998968, i64 4614530463802243291, i64 4676022406257886617, i64 4614527967534368489, i64 4675980677271096132, i64 4614525489191093766, i64 4675939559335952543, i64 4614523028510916810, i64 4675899039037672379, i64 4614520585238055127, i64 4675859103352544258, i64 4614518159122279901, i64 4675819739633754822, i64 4614515749918755852, i64 4675780935597827449, i64 4614513357387886846, i64 4675742679311643032, i64 4614510981295166985, i64 4675704959180013852, i64 4614508621411036973, i64 4675667763933783222, i64 4614506277510745517, i64 4675631082618425110, i64 4614503949374215557, i64 4675594904583119388, i64 4614501636785915127, i64 4675559219470279679, i64 4614499339534732650, i64 4675524017205512084, i64 4614497057413856493, i64 4675489287987984204, i64 4614494790220658601, i64 4675455022281185036, i64 4614492537756582051, i64 4675421210804057319, i64 4614490299827032361, i64 4675387844522484948, i64 4614488076241272417, i64 4675354914641118935, i64 4614485866812320859, i64 4675322412595526317, i64 4614483671356853799, i64 4675290330044647210, i64 4614481489695109742, i64 4675258658863545968, i64 4614479321650797580, i64 4675227391136443154, i64 4614477167051007544, i64 4675196519150015694, i64 4614475025726124995, i64 4675166035386953244, i64 4614472897509746961, i64 4675135932519759403, i64 4614470782238601288, i64 4675106203404786971, i64 4614468679752468344, i64 4675076841076496998, i64 4614466589894105141, i64 4675047838741931893, i64 4614464512509171819, i64 4675019189775393307, i64 4614462447446160380, i64 4674990887713316018, i64 4614460394556325607, i64 4674962926249329404, i64 4614458353693618075, i64 4674935299229498571, i64 4614456324714619189, i64 4674908000647737522, i64 4614454307478478165, i64 4674881024641387175, i64 4614452301846850894, i64 4674854365486951324, i64 4614450307683840622, i64 4674828017595984022, i64 4614448324855940366, i64 4674801975511122128, i64 4614446353231977029, i64 4674776233902257072, i64 4614444392683057138, i64 4674750787562840173, i64 4614442443082514148, i64 4674714849602057343, i64 4614440504305857273, i64 4674665107714783719, i64 4614438576230721768, i64 4674615926539722067, i64 4614436658736820641, i64 4674567296583334083, i64 4614434751705897716, i64 4674519208565899167, i64 4614432855021682026, i64 4674471653415517042, i64 4614430968569843478, i64 4674424622262311368, i64 4614429092237949754, i64 4674378106432826513, i64 4614427225915424400, i64 4674332097444610026, i64 4614425369493506069, i64 4674286587000973648, i64 4614423522865208880, i64 4674241566985926037, i64 4614421685925283859, i64 4674197029459270671, i64 4614419858570181412, i64 4674152966651862668, i64 4614418040698014820, i64 4674109370961018553, i64 4614416232208524706, i64 4674066234946073229, i64 4614414433003044445, i64 4674023551324078684, i64 4614412642984466495, i64 4673981312965639163, i64 4614410862057209611, i64 4673939512890877799, i64 4614409090127186920, i64 4673898144265529868, i64 4614407327101774830, i64 4673857200397158049, i64 4614405572889782736, i64 4673816674731485274, i64 4614403827401423521, i64 4673776560848840918, i64 4614402090548284801, i64 4673736852460716253, i64 4614400362243300911, i64 4673697543406425278, i64 4614398642400725604, i64 4673658627649867163, i64 4614396930936105431, i64 4673620099276386732, i64 4614395227766253801, i64 4673581952489729520, i64 4614393532809225681, i64 4673544181609088103, i64 4614391845984292928, i64 4673506781066236519, i64 4614390167211920238, i64 4673469745402749731, i64 4614388496413741677, i64 4673433069267305193, i64 4614386833512537796, i64 4673396747413063708, i64 4614385178432213300, i64 4673360774695126867, i64 4614383531097775258, i64 4673325146068068472, i64 4614381891435311845, i64 4673289856583537429, i64 4614380259371971588, i64 4673254901387929726, i64 4614378634835943116, i64 4673220275720127165, i64 4614377017756435384, i64 4673185974909300626, i64 4614375408063658373, i64 4673151994372775739, i64 4614373805688804238, i64 4673118329613958874, i64 4614372210564028907, i64 4673084976220321503, i64 4614370622622434104, i64 4673051929861440989, i64 4614369041798049787, i64 4673019186287095998, i64 4614367468025817002, i64 4672986741325414740, i64 4614365901241571126, i64 4672954590881074345, i64 4614364341382025490, i64 4672922730933549743, i64 4614362788384755388, i64 4672891157535410440, i64 4614361242188182434, i64 4672859866810663699, i64 4614359702731559288, i64 4672828854953142629, i64 4614358169954954714, i64 4672798118224937779, i64 4614356643799238980, i64 4672767652954870882, i64 4614355124206069577, i64 4672737455537009409, i64 4614353611117877265, i64 4672707522429220680, i64 4614352104477852418, i64 4672677850151764314, i64 4614350604229931676, i64 4672648435285921810, i64 4614349110318784884, i64 4672619274472662151, i64 4614347622689802322, i64 4672590364411342310, i64 4614346141289082207, i64 4672561701858441602, i64 4614344666063418470, i64 4672533283626328858, i64 4614343196960288792, i64 4672505106582061432, i64 4614341733927842901, i64 4672477167646215084, i64 4614340276914891114, i64 4672449463791743816, i64 4614338825870893124, i64 4672421992042868768, i64 4614337380745947030, i64 4672394749473995320, i64 4614335941490778589, i64 4672367733208657554, i64 4614334508056730701, i64 4672340940418489285, i64 4614333080395753108, i64 4672314368322220880, i64 4614331658460392313, i64 4672288014184701108, i64 4614330242203781705, i64 4672261875315943298, i64 4614328831579631887, i64 4672235949070195110, i64 4614327426542221202, i64 4672210232845031222, i64 4614326027046386461, i64 4672184724080468297, i64 4614324633047513846, i64 4672159420258101577, i64 4614323244501530012, i64 4672134318900262497, i64 4614321861364893357, i64 4672109417569196724, i64 4614320483594585477, i64 4672084713866262045, i64 4614319111148102789, i64 4672060205431145541, i64 4614317743983448317, i64 4672035889941099517, i64 4614316382059123648, i64 4672011765110195657, i64 4614315025334121044, i64 4671987828688596904, i64 4614313673767915711, i64 4671964078461846568, i64 4614312327320458220, i64 4671940512250174202, i64 4614310985952167072, i64 4671917127907817766, i64 4614309649623921417, i64 4671893923322361652, i64 4614308318297053904, i64 4671870896414090129, i64 4614305670495009515, i64 4671825367469962615, i64 4614303042245502244, i64 4671780525068069871, i64 4614300433254821821, i64 4671736353685309648, i64 4614297843235873775, i64 4671692838264632042, i64 4614295271907981554, i64 4671649964197645404, i64 4614292718996696008, i64 4671607717307996481, i64 4614290184233611886, i64 4671566083835484848, i64 4614287667356191073, i64 4671525050420874012, i64 4614285168107592247, i64 4671484604091363780, i64 4614282686236506686, i64 4671444732246690518, i64 4614280221496999960, i64 4671405422645823833, i64 4614277773648359255, i64 4671366663394230002, i64 4614275342454946096, i64 4671328442931674172, i64 4614272927686054232, i64 4671290750020534881, i64 4614270529115772467, i64 4671253573734605965, i64 4614268146522852248, i64 4671216903448362271, i64 4614265779690579791, i64 4671180728826666898, i64 4614263428406652571, i64 4671145039814898905, i64 4614261092463060002, i64 4671109826629481562, i64 4614258771655968125, i64 4671075079748792299, i64 4614256465785608157, i64 4671040789904436509, i64 4614254174656168737, i64 4671006948072868308, i64 4614251898075691725, i64 4670973545467342258, i64 4614249635855971415, i64 4670940573530180876, i64 4614247387812457032, i64 4670908023925343562, i64 4614245153764158377, i64 4670875888531283323, i64 4614242933533554507, i64 4670844159434078334, i64 4614240726946505327, i64 4670812828920826099, i64 4614238533832165988, i64 4670781889473288544, i64 4614236354022903981, i64 4670751333761776981, i64 4614234187354218829, i64 4670721154639266445, i64 4614232033664664276, i64 4670691345135729412, i64 4614229892795772884, i64 4670661898452679415, i64 4614227764591982945, i64 4670632807957915531, i64 4614225648900567631, i64 4670604067180459149, i64 4614223545571566283, i64 4670575669805674871, i64 4614221454457717790, i64 4670547609670567760, i64 4614219375414395950, i64 4670519880759249539, i64 4614217308299546768, i64 4670492477198566701, i64 4614215252973627606, i64 4670465393253883808, i64 4614213209299548129, i64 4670438623325015600, i64 4614211177142612981, i64 4670412161942301798, i64 4614209156370466123, i64 4670386003762818805, i64 4614207146853036790, i64 4670360143566722757, i64 4614205148462487000, i64 4670334576253718632, i64 4614203161073160560, i64 4670309296839650378, i64 4614201184561533529, i64 4670284300453207245, i64 4614199218806166080, i64 4670259582332741713, i64 4614197263687655711, i64 4670235137823194639, i64 4614195319088591772, i64 4670189111163042475, i64 4614193384893511249, i64 4670141289480453912, i64 4614191460988855777, i64 4670093988309953540, i64 4614189547262929828, i64 4670047199136635496, i64 4614187643605860050, i64 4670000913630957516, i64 4614185749909555703, i64 4669955123643714025, i64 4614183866067670174, i64 4669909821201172149, i64 4614181991975563522, i64 4669864998500364518, i64 4614180127530266025, i64 4669820647904532988, i64 4614178272630442699, i64 4669776761938717660, i64 4614176427176358753, i64 4669733333285485817, i64 4614174591069845959, i64 4669690354780795623, i64 4614172764214269899, i64 4669647819409989641, i64 4614170946514498062, i64 4669605720303913441, i64 4614169137876868775, i64 4669564050735154762, i64 4614167338209160932, i64 4669522804114398873, i64 4614165547420564496, i64 4669481973986895966, i64 4614163765421651756, i64 4669441554029036577, i64 4614161992124349319, i64 4669401538045031203, i64 4614160227441910799, i64 4669361919963690421, i64 4614158471288890199, i64 4669322693835301988, i64 4614156723581115960, i64 4669283853828601517, i64 4614154984235665649, i64 4669245394227833473, i64 4614153253170841279, i64 4669207309429899368, i64 4614151530306145235, i64 4669169593941590135, i64 4614149815562256788, i64 4669132242376899809, i64 4614148108861009187, i64 4669095249454417723, i64 4614146410125367301, i64 4669058609994796571, i64 4614144719279405803, i64 4669022318918293749, i64 4614143036248287882, i64 4668986371242383537, i64 4614141360958244457, i64 4668950762079437728, i64 4614139693336553892, i64 4668915486634472432, i64 4614138033311522188, i64 4668880540202958861, i64 4614136380812463644, i64 4668845918168695987, i64 4614134735769681969, i64 4668811616001743028, i64 4614133098114451840, i64 4668777629256409820, i64 4614131467779000881, i64 4668743953569303186, i64 4614129844696492069, i64 4668710584657427486, i64 4614128228801006532, i64 4668677518316337604, i64 4614126620027526757, i64 4668644750418342689, i64 4614125018311920168, i64 4668612276910759028, i64 4614123423590923083, i64 4668580093814210491, i64 4614121835802125032, i64 4668548197220975042, i64 4614120254883953430, i64 4668516583293375853, i64 4614118680775658590, i64 4668485248262215648, i64 4614117113417299075, i64 4668454188425252900, i64 4614115552749727369, i64 4668423400145718591, i64 4614113998714575869, i64 4668392879850872288, i64 4614112451254243186, i64 4668362624030596308, i64 4614110910311880742, i64 4668332629236026813, i64 4614109375831379663, i64 4668302892078220704, i64 4614107847757357957, i64 4668273409226857235, i64 4614106326035147964, i64 4668244177408973272, i64 4614104810610784082, i64 4668215193407731211, i64 4614103301430990754, i64 4668186454061218559, i64 4614101798443170711, i64 4668157956261278231, i64 4614100301595393465, i64 4668129696952368660, i64 4614098810836384045, i64 4668101673130452817, i64 4614097326115511971, i64 4668073881841915318, i64 4614095847382780461, i64 4668046320182506757, i64 4614094374588815860, i64 4668018985296314501, i64 4614092907684857291, i64 4667991874374759153, i64 4614091446622746520, i64 4667964984655615950, i64 4614089991354918032, i64 4667938313422060374, i64 4614088541834389305, i64 4667911858001737275, i64 4614087098014751293, i64 4667885615765852837, i64 4614085659850159091, i64 4667859584128288730, i64 4614084227295322799, i64 4667833760544737827, i64 4614082800305498568, i64 4667808142511860867, i64 4614081378836479822, i64 4667782727566463467, i64 4614079962844588662, i64 4667757513284692936, i64 4614078552286667439, i64 4667732497281254312, i64 4614077147120070492, i64 4667707677208645093, i64 4614075747302656055, i64 4667683050756408160, i64 4614074352792778321, i64 4667658615650402362, i64 4614072963549279659, i64 4667634369652090301, i64 4614071579531482990, i64 4667610310557842828, i64 4614070200699184305, i64 4667586436198259810, i64 4614068827012645330, i64 4667562744437506706, i64 4614066094920179101, i64 4667515900333106870, i64 4614063382945223011, i64 4667469761805025057, i64 4614060690785921407, i64 4667424312910741347, i64 4614058018147213243, i64 4667379538186147693, i64 4614055364740628946, i64 4667335422627699203, i64 4614052730284094835, i64 4667291951675359661, i64 4614050114501744761, i64 4667249111196300299, i64 4614047517123738631, i64 4667206887469313264, i64 4614044937886087547, i64 4667165267169903460, i64 4614042376530485239, i64 4667124237356024516, i64 4614039832804145548, i64 4667083785454426641, i64 4614037306459645685, i64 4667043899247585903, i64 4614034797254775024, i64 4667004566861186243, i64 4614032304952389205, i64 4666965776752127105, i64 4614029829320269305, i64 4666927517697031100, i64 4614027370130985890, i64 4666889778781227509, i64 4614024927161767730, i64 4666852549388188795, i64 4614022500194374988, i64 4666815819189398504, i64 4614020089014976713, i64 4666779578134630127, i64 4614017693414032444, i64 4666743816442617588, i64 4614015313186177774, i64 4666708524592099058, i64 4614012948130113717, i64 4666673693313216764, i64 4614010598048499713, i64 4666639313579256376, i64 4614008262747850141, i64 4666605376598710423, i64 4614005942038434206, i64 4666571873807650983, i64 4614003635734179047, i64 4666538796862397669, i64 4614001343652575974, i64 4666506137632467649, i64 4613999065614589679, i64 4666473888193795101, i64 4613996801444570342, i64 4666442040822208172, i64 4613994550970168493, i64 4666410587987152068, i64 4613992314022252546, i64 4666379522345647526, i64 4613990090434828894, i64 4666348836736474401, i64 4613987880044964482, i64 4666318524174570644, i64 4613985682692711744, i64 4666288577845637415, i64 4613983498221035849, i64 4666258991100941518, i64 4613981326475744142, i64 4666229757452306787, i64 4613979167305417717, i64 4666200870567286452, i64 4613977020561345044, i64 4666172324264508883, i64 4613974886097457571, i64 4666144112509189496, i64 4613972763770267233, i64 4666116229408801930, i64 4613970653438805801, i64 4666088669208901930, i64 4613968554964566010, i64 4666061426289097688, i64 4613966468211444394, i64 4666034495159160671, i64 4613964393045685780, i64 4666007870455271260, i64 4613962329335829376, i64 4665981546936393764, i64 4613960276952656397, i64 4665955519480775637, i64 4613958235769139192, i64 4665929783082565961, i64 4613956205660391792, i64 4665904332848548465, i64 4613954186503621862, i64 4665879163994984587, i64 4613952178178083990, i64 4665854271844562270, i64 4613950180565034274, i64 4665829651823446375, i64 4613948193547686165, i64 4665805299458426792, i64 4613946217011167527, i64 4665781210374160477, i64 4613944250842478861, i64 4665757380290503830, i64 4613942294930452680, i64 4665733805019931981, i64 4613940349165713964, i64 4665691746974249519, i64 4613938413440641696, i64 4665645591276435532, i64 4613936487649331411, i64 4665599921141923261, i64 4613934571687558755, i64 4665554728888250227, i64 4613932665452743998, i64 4665510006994770772, i64 4613930768843917483, i64 4665465748098408789, i64 4613928881761685988, i64 4665421944989543728, i64 4613927004108199948, i64 4665378590608024999, i64 4613925135787121542, i64 4665335678039310127, i64 4613923276703593594, i64 4665293200510722186, i64 4613921426764209271, i64 4665251151387822250, i64 4613919585876982556, i64 4665209524170892725, i64 4613917753951319474, i64 4665168312491527654, i64 4613915930897990033, i64 4665127510109326193, i64 4613914116629100884, i64 4665087110908685643, i64 4613912311058068653, i64 4665047108895690547, i64 4613910514099593945, i64 4665007498195094514, i64 4613908725669635980, i64 4664968273047391554, i64 4613906945685387866, i64 4664929427805973840, i64 4613905174065252468, i64 4664890956934372942, i64 4613903410728818872, i64 4664852855003581661, i64 4613901655596839416, i64 4664815116689453756, i64 4613899908591207272, i64 4664777736770178909, i64 4613898169634934579, i64 4664740710123830406, i64 4613896438652131084, i64 4664704031725983103, i64 4613894715567983301, i64 4664667696647399327, i64 4613893000308734157, i64 4664631700051780471, i64 4613891292801663127, i64 4664596037193582106, i64 4613889592975066820, i64 4664560703415890529, i64 4613887900758240037, i64 4664525694148358738, i64 4613886216081457251, i64 4664491004905199905, i64 4613884538875954526, i64 4664456631283236471, i64 4613882869073911850, i64 4664422568960003091, i64 4613881206608435874, i64 4664388813691901690, i64 4613879551413543039, i64 4664355361312406953, i64 4613877903424143093, i64 4664322207730320684, i64 4613876262576022976, i64 4664289348928073437, i64 4613874628805831068, i64 4664256780960071977, i64 4613873002051061796, i64 4664224499951091101, i64 4613871382250040571, i64 4664192502094708451, i64 4613869769341909074, i64 4664160783651780978, i64 4613868163266610856, i64 4664129340948961765, i64 4613866563964877261, i64 4664098170377255974, i64 4613864971378213657, i64 4664067268390614711, i64 4613863385448885960, i64 4664036631504565649, i64 4613861806119907461, i64 4664006256294879305, i64 4613860233335025932, i64 4663976139396269866, i64 4613858667038711007, i64 4663946277501129558, i64 4613857107176141843, i64 4663916667358295519, i64 4613855553693195031, i64 4663887305771848224, i64 4613854006536432772, i64 4663858189599940516, i64 4613852465653091307, i64 4663829315753656340, i64 4613850930991069579, i64 4663800681195898300, i64 4613849402498918142, i64 4663772282940303196, i64 4613847880125828299, i64 4663744118050184723, i64 4613846363821621465, i64 4663716183637502530, i64 4613844853536738751, i64 4663688476861856898, i64 4613843349222230764, i64 4663660994929508267, i64 4613841850829747612, i64 4663633735092420927, i64 4613840358311529122, i64 4663606694647330151, i64 4613838871620395247, i64 4663579870934832133, i64 4613837390709736674, i64 4663553261338496052, i64 4613835915533505622, i64 4663526863283997662, i64 4613834446046206823, i64 4663500674238273780, i64 4613832982202888682, i64 4663474691708697106, i64 4613831523959134618, i64 4663448913242270783, i64 4613830071271054573, i64 4663423336424842174, i64 4613828624095276693, i64 4663397958880335297, i64 4613827182388939170, i64 4663372778270001425, i64 4613825746109682244, i64 4663347792291687334, i64 4613824315215640363, i64 4663322998679120726, i64 4613822889665434498, i64 4663298395201212350, i64 4613821469418164602, i64 4663273979661374383, i64 4613818644671183229, i64 4663225703778085959, i64 4613815840656798141, i64 4663178154121661463, i64 4613813057064316358, i64 4663131314295481139, i64 4613810293590033097, i64 4663085168394699282, i64 4613807549937022968, i64 4663039700987904568, i64 4613804825814938925, i64 4662994897099596179, i64 4613802120939818628, i64 4662950742193433666, i64 4613799435033897904, i64 4662907222156220949, i64 4613796767825430973, i64 4662864323282587133, i64 4613794119048517172, i64 4662822032260329015, i64 4613791488442933870, i64 4662780336156382117, i64 4613788875753975338, i64 4662739222403389018, i64 4613786280732297297, i64 4662698678786835475, i64 4613783703133766918, i64 4662658693432726518, i64 4613781142719318047, i64 4662619254795776217, i64 4613778599254811424, i64 4662580351648086299, i64 4613776072510899712, i64 4662541973068290144, i64 4613773562262897117, i64 4662504108431139971, i64 4613771068290653424, i64 4662466747397516232, i64 4613768590378432277, i64 4662429879904839346, i64 4613766128314793509, i64 4662393496157864987, i64 4613763681892479389, i64 4662357586619845120, i64 4613761250908304612, i64 4662322142004037930, i64 4613758835163049890, i64 4662287153265550659, i64 4613756434461359004, i64 4662252611593500213, i64 4613754048611639186, i64 4662218508403477166, i64 4613751677425964690, i64 4662184835330299555, i64 4613749320719983449, i64 4662151584221043504, i64 4613746978312826682, i64 4662118747128338440, i64 4613744650027021351, i64 4662086316303915214, i64 4613742335688405358, i64 4662054284192396069, i64 4613740035126045374, i64 4662022643425315944, i64 4613737748172157212, i64 4661991386815365081, i64 4613735474662028643, i64 4661960507350843466, i64 4613733214433944570, i64 4661929998190318022, i64 4613730967329114467, i64 4661899852657473976, i64 4613728733191602006, i64 4661870064236152192, i64 4613726511868256801, i64 4661840626565564677, i64 4613724303208648173, i64 4661811533435680842, i64 4613722107065000885, i64 4661782778782777423, i64 4613719923292132763, i64 4661754356685145350, i64 4613717751747394145, i64 4661726261358947109, i64 4613715592290609092, i64 4661698487154218492, i64 4613713444784018293, i64 4661671028551008885, i64 4613711309092223620, i64 4661643880155654516, i64 4613709185082134263, i64 4661617036697179350, i64 4613707072622914390, i64 4661590493023818554, i64 4613704971585932302, i64 4661564244099659683, i64 4613702881844710996, i64 4661538285001396953, i64 4613700803274880130, i64 4661512610915194188, i64 4613698735754129302, i64 4661487217133652213, i64 4613696679162162637, i64 4661462099052876649, i64 4613694633380654614, i64 4661437252169642253, i64 4613692598293207096, i64 4661412672078650110, i64 4613690573785307534, i64 4661388354469874149, i64 4613688559744288302, i64 4661364295125993598, i64 4613686556059287115, i64 4661340489919908150, i64 4613684562621208515, i64 4661316934812332740, i64 4613682579322686379, i64 4661293625849468976, i64 4613680606058047411, i64 4661270559160750385, i64 4613678642723275609, i64 4661247730956658742, i64 4613676689215977643, i64 4661224660724754456, i64 4613674745435349153, i64 4661179936145335930, i64 4613672811282141907, i64 4661135666728992731, i64 4613670886658631808, i64 4661091845504067172, i64 4613668971468587725, i64 4661048465641119376, i64 4613667065617241111, i64 4661005520449310967, i64 4613665169011256399, i64 4660963003372898705, i64 4613663281558702145, i64 4660920907987834189, i64 4613661403169022884, i64 4660879227998465902, i64 4613659533753011705, i64 4660837957234340006, i64 4613657673222783498, i64 4660797089647096472, i64 4613655821491748862, i64 4660756619307457221, i64 4613653978474588662, i64 4660716540402303126, i64 4613652144087229203, i64 4660676847231836805, i64 4613650318246818010, i64 4660637534206828309, i64 4613648500871700196, i64 4660598595845940861, i64 4613646691881395402, i64 4660560026773133960, i64 4613644891196575285, i64 4660521821715141241, i64 4613643098739041553, i64 4660483975499020592, i64 4613641314431704514, i64 4660446483049774126, i64 4613639538198562133, i64 4660409339388035680, i64 4613637769964679592, i64 4660372539627823628, i64 4613636009656169316, i64 4660336078974356859, i64 4613634257200171475, i64 4660299952721931855, i64 4613632512524834932, i64 4660264156251858876, i64 4613630775559298639, i64 4660228685030455353, i64 4613629046233673451, i64 4660193534607094635, i64 4613627324479024367, i64 4660158700612308314, i64 4613625610227353167, i64 4660124178755940429, i64 4613623903411581450, i64 4660089964825351882, i64 4613622203965534048, i64 4660056054683673498, i64 4613620511823922822, i64 4660022444268106179, i64 4613618826922330812, i64 4659989129588266692, i64 4613617149197196743, i64 4659956106724577648, i64 4613615478585799880, i64 4659923371826700324, i64 4613613815026245208, i64 4659890921112008973, i64 4613612158457448946, i64 4659858750864105374, i64 4613610508819124374, i64 4659826857431372362, i64 4613608866051767968, i64 4659795237225565174, i64 4613607230096645842, i64 4659763886720439434, i64 4613605600895780474, i64 4659732802450414697, i64 4613603978391937724, i64 4659701981009272451, i64 4613602362528614128, i64 4659671419048887577, i64 4613600753250024462, i64 4659641113277992230, i64 4613599150501089573, i64 4659611060460971214, i64 4613597554227424464, i64 4659581257416687891, i64 4613595964375326630, i64 4659551701017339730, i64 4613594380891764643, i64 4659522388187342644, i64 4613592803724366968, i64 4659493315902243238, i64 4613591232821411019, i64 4659464481187658195, i64 4613589668131812433, i64 4659435881118239978, i64 4613588109605114577, i64 4659407512816668115, i64 4613586557191478258, i64 4659379373452665313, i64 4613585010841671651, i64 4659351460242037699, i64 4613583470507060430, i64 4659323770445738501, i64 4613581936139598096, i64 4659296301368954496, i64 4613580407691816510, i64 4659269050360214585, i64 4613578885116816602, i64 4659242014810519875, i64 4613577368368259280, i64 4659215192152494661, i64 4613575857400356510, i64 4659188579859557718, i64 4613574352167862579, i64 4659162175445113351, i64 4613572852626065532, i64 4659135976461761644, i64 4613571358730778768, i64 4659109980500527386, i64 4613569870438332818, i64 4659084185190107146, i64 4613568387705567264, i64 4659058588196134023, i64 4613566910489822834, i64 4659033187220459566, i64 4613565438748933635, i64 4659007980000452412, i64 4613562511525478754, i64 4658958137950405179, i64 4613559605707457568, i64 4658909044629641331, i64 4613556720974547022, i64 4658860683147845153, i64 4613553857013622737, i64 4658813037120979122, i64 4613551013518544041, i64 4658766090652411962, i64 4613548190189946991, i64 4658719828314885868, i64 4613545386735045016, i64 4658674235133279642, i64 4613542602867436856, i64 4658629296568127019, i64 4613539838306921482, i64 4658584998499851811, i64 4613537092779319682, i64 4658541327213683733, i64 4613534366016302040, i64 4658498269385220815, i64 4613531657755223021, i64 4658455812066606287, i64 4613528967738960916, i64 4658413942673289581, i64 4613526295715763397, i64 4658372648971342840, i64 4613523641439098434, i64 4658331919065305903, i64 4613521004667510374, i64 4658291741386534213, i64 4613518385164480953, i64 4658252104682025529, i64 4613515782698295043, i64 4658212998003702604, i64 4613513197041910941, i64 4658174410698130254, i64 4613510627972835022, i64 4658136332396646395, i64 4613508075273000569, i64 4658098753005887703, i64 4613505538728650631, i64 4658061662698691605, i64 4613503018130224731, i64 4658025051905357240, i64 4613500513272249280, i64 4657988911305248978, i64 4613498023953231566, i64 4657953231818726893, i64 4613495549975557150, i64 4657918004599389441, i64 4613493091145390564, i64 4657883221026614298, i64 4613490647272579173, i64 4657848872698384091, i64 4613488218170560082, i64 4657814951424384369, i64 4613485803656269971, i64 4657781449219361831, i64 4613483403550057752, i64 4657748358296731431, i64 4613481017675599939, i64 4657715671062421523, i64 4613478645859818632, i64 4657683380108946767, i64 4613476287932802023, i64 4657651478209699006, i64 4613473943727727317, i64 4657619958313446815, i64 4613471613080785999, i64 4657588813539034864, i64 4613469295831111350, i64 4657558037170274672, i64 4613466991820708130, i64 4657527622651018725, i64 4613464700894384361, i64 4657497563580410323, i64 4613462422899685126, i64 4657467853708301870, i64 4613460157686828311, i64 4657438486930834685, i64 4613457905108642235, i64 4657409457286173704, i64 4613455665020505084, i64 4657380758950390792, i64 4613453437280286102, i64 4657352386233490630, i64 4613451221748288472, i64 4657324333575573465, i64 4613449018287193820, i64 4657296595543129231, i64 4613446826762008307, i64 4657269166825457835, i64 4613444647040010237, i64 4657242042231210599, i64 4613442478990699136, i64 4657215216685048119, i64 4613440322485746258, i64 4657188685224409973, i64 4613438177398946456, i64 4657162442996391933, i64 4613436043606171394, i64 4657136485254726537, i64 4613433920985324033, i64 4657110807356863031, i64 4613431809416294367, i64 4657085404761142893, i64 4613429708780916357, i64 4657060273024067300, i64 4613427618962926031, i64 4657035407797653069, i64 4613425539847920707, i64 4657010804826873729, i64 4613423471323319308, i64 4656986459947182559, i64 4613421413278323729, i64 4656962369082114523, i64 4613419365603881231, i64 4656938528240964198, i64 4613417328192647814, i64 4656914933516536889, i64 4613415300938952554, i64 4656891581082970250, i64 4613413283738762874, i64 4656868467193623850, i64 4613411276489650698, i64 4656845588179034212, i64 4613409279090759492, i64 4656822940444932972, i64 4613407291442772139, i64 4656800520470325895, i64 4613405313447879638, i64 4656778324805630570, i64 4613403345009750596, i64 4656756350070870702, i64 4613401386033501484, i64 4656734592953925013, i64 4613399436425667650, i64 4656704085716564773, i64 4613397496094175042, i64 4656661422607160024, i64 4613395564948312648, i64 4656619175641452572, i64 4613393642898705604, i64 4656577338705070801, i64 4613391729857288973, i64 4656535905803351033, i64 4613389825737282163, i64 4656494871058415085, i64 4613387930453163963, i64 4656454228706333152, i64 4613386043920648193, i64 4656413973094369142, i64 4613384166056659932, i64 4656374098678305655, i64 4613382296779312326, i64 4656334600019845937, i64 4613380436007883940, i64 4656295471784090247, i64 4613378583662796656, i64 4656256708737084134, i64 4613376739665594090, i64 4656218305743436271, i64 4613374903938920517, i64 4656180257764003525, i64 4613373076406500295, i64 4656142559853641079, i64 4613371256993117761, i64 4656105207159015467, i64 4613369445624597596, i64 4656068194916478482, i64 4613367642227785652, i64 4656031518449999988, i64 4613365846730530204, i64 4655995173169157732, i64 4613364059061663648, i64 4655959154567182343, i64 4613362279150984603, i64 4655923458219055741, i64 4613360506929240428, i64 4655888079779661264, i64 4613358742328110124, i64 4655853014981983887, i64 4613356985280187632, i64 4655818259635358939, i64 4613355235718965496, i64 4655783809623767819, i64 4613353493578818893, i64 4655749660904179221, i64 4613351758794990016, i64 4655715809504934480, i64 4613350031303572802, i64 4655682251524175645, i64 4613348311041497998, i64 4655648983128315001, i64 4613346597946518551, i64 4655616000550544731, i64 4613344891957195314, i64 4655583300089385522, i64 4613343193012883070, i64 4655550878107272917, i64 4613341501053716848, i64 4655518731029180277, i64 4613339816020598540, i64 4655486855341277248, i64 4613338137855183804, i64 4655455247589622672, i64 4613336466499869241, i64 4655423904378890907, i64 4613334801897779849, i64 4655392822371130567, i64 4613333143992756742, i64 4655361998284554727, i64 4613331492729345125, i64 4655331428892361654, i64 4613329848052782522, i64 4655301111021585178, i64 4613328209908987251, i64 4655271041551973833, i64 4613326578244547132, i64 4655241217414897927, i64 4613324953006708444, i64 4655211635592283739, i64 4613323334143365088, i64 4655182293115574054, i64 4613321721603047991, i64 4655153187064714283, i64 4613320115334914717, i64 4655124314567163426, i64 4613318515288739292, i64 4655095672796929191, i64 4613316921414902231, i64 4655067258973626553, i64 4613315333664380778, i64 4655039070361559115, i64 4613313751988739326, i64 4655011104268822624, i64 4613312176340120044, i64 4654983358046430005, i64 4613310606671233677, i64 4654955829087457336, i64 4613309042935350543, i64 4654928514826210156, i64 4613307485086291695, i64 4654901412737409568, i64 4613305933078420265, i64 4654874520335397568, i64 4613304386866632977, i64 4654847835173361085, i64 4613302846406351822, i64 4654821354842574216, i64 4613301311653515900, i64 4654795076971658158, i64 4613299782564573416, i64 4654768999225858360, i64 4613296741206660185, i64 4654717434949490291, i64 4613293721994085438, i64 4654666644041490845, i64 4613290724595981343, i64 4654616609072335727, i64 4613287748688908634, i64 4654567313134592099, i64 4613284793956634924, i64 4654518739823467100, i64 4613281860089921253, i64 4654470873218220953, i64 4613278946786316496, i64 4654423697864400110, i64 4613276053749959292, i64 4654377198756848473, i64 4613273180691387163, i64 4654331361323457202, i64 4613270327327352509, i64 4654286171409615857, i64 4613267493380645191, i64 4654241615263329787, i64 4613264678579921410, i64 4654197679520970651, i64 4613261882659538627, i64 4654154351193628842, i64 4613259105359396260, i64 4654111617654038316, i64 4613256346424781919, i64 4654069466624045988, i64 4613253605606222955, i64 4654027886162599393, i64 4613250882659343095, i64 4653986864654227724, i64 4613248177344723964, i64 4653946390797992772, i64 4613245489427771282, i64 4653906453596887500, i64 4613242818678585566, i64 4653867042347661237, i64 4613240164871837137, i64 4653828146631051550, i64 4613237527786645279, i64 4653789756302403959, i64 4613234907206461365, i64 4653751861482661605, i64 4613232302918955815, i64 4653714452549707952, i64 4613229714715908722, i64 4653677520130046478, i64 4613227142393104007, i64 4653641055090802114, i64 4613224585750226974, i64 4653605048532030008, i64 4613222044590765121, i64 4653569491779317910, i64 4613219518721912102, i64 4653534376376669151, i64 4613217007954474695, i64 4653499694079653889, i64 4613214512102782695, i64 4653465436848816861, i64 4613212030984601591, i64 4653431596843330505, i64 4613209564421047951, i64 4653398166414882846, i64 4613207112236507390, i64 4653365138101790063, i64 4613204674258555053, i64 4653332504623324153, i64 4613202250317878494, i64 4653300258874246570, i64 4613199840248202887, i64 4653268393919539145, i64 4613197443886218474, i64 4653236902989324037, i64 4613195061071510166, i64 4653205779473964828, i64 4613192691646489235, i64 4653175016919341268, i64 4613190335456327008, i64 4653144609022290521, i64 4613187992348890501, i64 4653114549626208102, i64 4613185662174679923, i64 4653084832716802005, i64 4613183344786767987, i64 4653055452417993831, i64 4613181040040740960, i64 4653026402987961004, i64 4613178747794641400, i64 4652997678815314432, i64 4613176467908912518, i64 4652969274415406239, i64 4613174200246344107, i64 4652941184426762415, i64 4613171944672019995, i64 4652913403607635484, i64 4613169701053266959, i64 4652885926832672497, i64 4613167469259605057, i64 4652858749089693868, i64 4613165249162699336, i64 4652831865476578774, i64 4613163040636312860, i64 4652805271198253021, i64 4613160843556261020, i64 4652778961563775453, i64 4613158657800367090, i64 4652752931983519176, i64 4613156483248418976, i64 4652727177966443995, i64 4613154319782127130, i64 4652701695117456648, i64 4613152167285083584, i64 4652676479134855543, i64 4613150025642722082, i64 4652651525807856861, i64 4613147894742279251, i64 4652626831014199022, i64 4613145774472756803, i64 4652602390717822608, i64 4613143664724884721, i64 4652578200966623010, i64 4613141565391085405, i64 4652554257890273125, i64 4613139476365438740, i64 4652530557698113579, i64 4613137397543648069, i64 4652507096677108045, i64 4613135328823007032, i64 4652483871189861310, i64 4613133270102367256, i64 4652460877672697862, i64 4613131221282106855, i64 4652438112633798854, i64 4613129182264099728, i64 4652415572651395365, i64 4613127152951685635, i64 4652393254372016005, i64 4613125133249641002, i64 4652371154508786945, i64 4613123123064150470, i64 4652349269839782563, i64 4613121122302779133, i64 4652327597206424938, i64 4613119130874445465, i64 4652306133511930534, i64 4613117148689394907, i64 4652284875719802432, i64 4613115175659174099, i64 4652263820852366573, i64 4613113211696605733, i64 4652242965989350518, i64 4613111256715764014, i64 4652222308266503281, i64 4613109310631950711, i64 4652185274674787354, i64 4613107373361671778, i64 4652144731039105928, i64 4613105444822614527, i64 4652104565144085472, i64 4613103524933625348, i64 4652064771683341048, i64 4613101613614687948, i64 4652025345449868311, i64 4613099710786902100, i64 4651986281333721700, i64 4613097816372462892, i64 4651947574319757517, i64 4613095930294640448, i64 4651909219485439810, i64 4613094052477760126, i64 4651871211998707004, i64 4613092182847183171, i64 4651833547115897341, i64 4613090321329287802, i64 4651796220179731246, i64 4613088467851450738, i64 4651759226617348783, i64 4613086622342029141, i64 4651722561938400473, i64 4613084784730342966, i64 4651686221733189783, i64 4613082954946657704, i64 4651650201670865643, i64 4613081132922167515, i64 4651614497497663450, i64 4613079318588978737, i64 4651579105035193025, i64 4613077511880093759, i64 4651544020178772080, i64 4613075712729395246, i64 4651509238895803775, i64 4613073921071630716, i64 4651474757224197026, i64 4613072136842397456, i64 4651440571270828229, i64 4613070359978127754, i64 4651406677210043172, i64 4613068590416074468, i64 4651373071282197869, i64 4613066828094296896, i64 4651339749792237191, i64 4613065072951646947, i64 4651306709108310105, i64 4613063324927755619, i64 4651273945660420467, i64 4613061583963019756, i64 4651241455939112278, i64 4613059849998589086, i64 4651209236494188392, i64 4613058122976353540, i64 4651177283933461687, i64 4613056402838930829, i64 4651145594921537736, i64 4613054689529654288, i64 4651114166178628059, i64 4613052982992560967, i64 4651082994479393054, i64 4613051283172379978, i64 4651052076651813763, i64 4613049590014521071, i64 4651021409576091611, i64 4613047903465063460, i64 4650990990183575329, i64 4613046223470744862, i64 4650960815455714281, i64 4613044549978950775, i64 4650930882423037421, i64 4613042882937703963, i64 4650901188164157173, i64 4613041222295654158, i64 4650871729804797509, i64 4613039568002067973, i64 4650842504516845551, i64 4613037920006819010, i64 4650813509517426032, i64 4613036278260378176, i64 4650784742067997965, i64 4613034642713804181, i64 4650756199473472924, i64 4613033013318734232, i64 4650727879081354310, i64 4613031390027374909, i64 4650699778280897033, i64 4613029772792493222, i64 4650671894502287046, i64 4613028161567407840, i64 4650644225215840188, i64 4613026556305980492, i64 4650616767931219801, i64 4613024956962607542, i64 4650589520196672606, i64 4613023363492211716, i64 4650562479598282360, i64 4613020193992625678, i64 4650509010339135356, i64 4613017047456827272, i64 4650456341571902109, i64 4613013923542340253, i64 4650404455275148823, i64 4613010821914369306, i64 4650353333966857925, i64 4613007742245571000, i64 4650302960684342604, i64 4613004684215833247, i64 4650253318965053704, i64 4613001647512062874, i64 4650204392828233019, i64 4612998631827980965, i64 4650156166757369685, i64 4612995636863925625, i64 4650108625683418929, i64 4612992662326661850, i64 4650061754968744742, i64 4612989707929198191, i64 4650015540391750265, i64 4612986773390609932, i64 4649969968132161725, i64 4612983858435868495, i64 4649925024756933693, i64 4612980962795676822, i64 4649880697206745236, i64 4612978086206310469, i64 4649836972783058220, i64 4612975228409464193, i64 4649793839135710631, i64 4612972389152103789, i64 4649751284251019248, i64 4612969568186322973, i64 4649709296440367409, i64 4612966765269205102, i64 4649667864329254920, i64 4612963980162689536, i64 4649626976846788404, i64 4612961212633442461, i64 4649586623215591519, i64 4612958462452731979, i64 4649546792942115598, i64 4612955729396307320, i64 4649507475807332259, i64 4612953013244281998, i64 4649468661857790513, i64 4612950313781020755, i64 4649430341397021813, i64 4612947630795030164, i64 4649392504977277318, i64 4612944964078852725, i64 4649355143391582486, i64 4612942313428964341, i64 4649318247666094835, i64 4612939678645675041, i64 4649281809052751461, i64 4612937059533032812, i64 4649245819022193547, i64 4612934455898730449, i64 4649210269256955755, i64 4612931867554015284, i64 4649175151644908998, i64 4612929294313601714, i64 4649140458272945631, i64 4612926735995586397, i64 4649106181420896675, i64 4612924192421366039, i64 4649072313555671165, i64 4612921663415557672, i64 4649038847325608201, i64 4612919148805921327, i64 4649005775555032756, i64 4612916648423285023, i64 4648973091239006687, i64 4612914162101471986, i64 4648940787538266830, i64 4612911689677230022, i64 4648908857774342437, i64 4612909230990162959, i64 4648877295424844581, i64 4612906785882664098, i64 4648846094118920477, i64 4612904354199851593, i64 4648815247632866041, i64 4612901935789505697, i64 4648784749885890263, i64 4612899530502007813, i64 4648754594936025315, i64 4612897138190281274, i64 4648724776976176555, i64 4612894758709733818, i64 4648695290330306874, i64 4612892391918201670, i64 4648666129449750086, i64 4612890037675895208, i64 4648637288909648280, i64 4612887695845346130, i64 4648608763405508297, i64 4612885366291356099, i64 4648580547749872711, i64 4612883048880946795, i64 4648552636869100878, i64 4612880743483311340, i64 4648525025800255842, i64 4612878449969767054, i64 4648497709688093035, i64 4612876168213709479, i64 4648470683782146921, i64 4612873898090567659, i64 4648443943433911873, i64 4612871639477760608, i64 4648417484094113742, i64 4612869392254654948, i64 4648391301310068734, i64 4612867156302523664, i64 4648365390723126341, i64 4612864931504505952, i64 4648339748066193229, i64 4612862717745568127, i64 4648314369161335087, i64 4612860514912465539, i64 4648289249917453604, i64 4612858322893705491, i64 4648264386328035827, i64 4612856141579511110, i64 4648239774468973282, i64 4612853970861786145, i64 4648215410496448347, i64 4612851810634080675, i64 4648191290644885463, i64 4612849660791557676, i64 4648167411224964877, i64 4612847521230960447, i64 4648143768621696691, i64 4612845391850580849, i64 4648120359292553100, i64 4612843272550228344, i64 4648097179765656761, i64 4612841163231199803, i64 4648074226638023349, i64 4612839063796250067, i64 4648051496573856400, i64 4612836974149563232, i64 4648028986302892649, i64 4612834894196724638, i64 4648006692618796103, i64 4612832823844693550, i64 4647984612377599211, i64 4612830763001776491, i64 4647962742496189494, i64 4612828711577601235, i64 4647941079950840111, i64 4612826669483091416, i64 4647919621775782883, i64 4612824636630441747, i64 4647898365061822332, i64 4612822612933093838, i64 4647877306954989375, i64 4612820598305712576, i64 4647856444655233355, i64 4612818592664163073, i64 4647835775415151140, i64 4612816595925488152, i64 4647815296538752053, i64 4612814608007886360, i64 4647795005380257489, i64 4612812628830690492, i64 4647774899342934054, i64 4612810658314346617, i64 4647754975877959159, i64 4612808696380393584, i64 4647735232483318012, i64 4612806742951442999, i64 4647715666702730995, i64 4612804797951159664, i64 4647677736802869045, i64 4612802861304242455, i64 4647639301315740114, i64 4612800932936405637, i64 4647601206847282666, i64 4612799012774360602, i64 4647563448830515294, i64 4612797100745798010, i64 4647526022780046650, i64 4612795196779370338, i64 4647488924290256367, i64 4612793300804674810, i64 4647452149033524505, i64 4612791412752236709, i64 4647415692758508050, i64 4612789532553493054, i64 4647379551288462980, i64 4612787660140776641, i64 4647343720519610525, i64 4612785795447300425, i64 4647308196419546239, i64 4612783938407142246, i64 4647272975025690607, i64 4612782088955229887, i64 4647238052443779900, i64 4612780247027326452, i64 4647203424846396086, i64 4612778412560016057, i64 4647169088471534603, i64 4612776585490689832, i64 4647135039621208865, i64 4612774765757532215, i64 4647101274660090412, i64 4612772953299507537, i64 4647067790014183636, i64 4612771148056346898, i64 4647034582169534065, i64 4612769349968535308, i64 4647001647670969215, i64 4612767558977299104, i64 4646968983120871056, i64 4612765775024593627, i64 4646936585177979168, i64 4612763998053091154, i64 4646904450556223691, i64 4612762228006169083, i64 4646872576023587217, i64 4612760464827898356, i64 4646840958400994772, i64 4612758708463032125, i64 4646809594561231098, i64 4612756958856994640, i64 4646778481427884445, i64 4612755215955870376, i64 4646747615974316118, i64 4612753479706393369, i64 4646716995222655051, i64 4612751750055936772, i64 4646686616242816698, i64 4612750026952502620, i64 4646656476151545565, i64 4612748310344711798, i64 4646626572111480705, i64 4612746600181794211, i64 4646596901330243547, i64 4612744896413579152, i64 4646567461059547440, i64 4612743198990485847, i64 4646538248594328296, i64 4612741507863514207, i64 4646509261271895768, i64 4612739822984235740, i64 4646480496471104387, i64 4612738144304784657, i64 4646451951611544112, i64 4612736471777849140, i64 4646423624152749772, i64 4612734805356662784, i64 4646395511593428879, i64 4612731490647148808, i64 4646339921359392453, i64 4612728199812704817, i64 4646285161654316042, i64 4612724932497998773, i64 4646231213803336661, i64 4612721688355658174, i64 4646178059690091132, i64 4612718467046032897, i64 4646125681735933438, i64 4612715268236966844, i64 4646074062880074937, i64 4612712091603577995, i64 4646023186560599907, i64 4612708936828046481, i64 4645973036696311701, i64 4612705803599410350, i64 4645923597669367341, i64 4612702691613368687, i64 4645874854308660869, i64 4612699600572091760, i64 4645826791873917986, i64 4612696530184037908, i64 4645779396040466672, i64 4612693480163776877, i64 4645732652884650469, i64 4612690450231819332, i64 4645686548869852957, i64 4612687440114452296, i64 4645641070833103725, i64 4612684449543580259, i64 4645596205972237757, i64 4612681478256571730, i64 4645551941833581719, i64 4612678525996111009, i64 4645508266300142044, i64 4612675592510054965, i64 4645465167580271106, i64 4612672677551294616, i64 4645422634196789013, i64 4612669780877621334, i64 4645380654976539787, i64 4612666902251597458, i64 4645339219040361772, i64 4612664041440431184, i64 4645298315793453234, i64 4612661198215855522, i64 4645257934916115062, i64 4612658372354011195, i64 4645218066354853446, i64 4612655563635333305, i64 4645178700313826285, i64 4612652771844441631, i64 4645139827246617907, i64 4612649996770034418, i64 4645101437848327487, i64 4612647238204785525, i64 4645063523047957254, i64 4612644495945244804, i64 4645026074001087323, i64 4612641769791741585, i64 4644989082082824599, i64 4612639059548291166, i64 4644952538881013877, i64 4612636365022504170, i64 4644916436189699782, i64 4612633686025498696, i64 4644880766002828826, i64 4612631022371815130, i64 4644845520508181317, i64 4612628373879333546, i64 4644810692081523385, i64 4612625740369193583, i64 4644776273280969863, i64 4612623121665716721, i64 4644742256841549183, i64 4612620517596330868, i64 4644708635669961889, i64 4612617927991497174, i64 4644675402839524747, i64 4612615352684638990, i64 4644642551585292836, i64 4612612791512072905, i64 4644610075299352319, i64 4612610244312941784, i64 4644577967526276985, i64 4612607710929149736, i64 4644546221958741928, i64 4612605191205298951, i64 4644514832433288046, i64 4612602684988628330, i64 4644483792926231358, i64 4612600192128953864, i64 4644453097549711359, i64 4612597712478610691, i64 4644422740547872951, i64 4612595245892396772, i64 4644392716293176683, i64 4612592792227518148, i64 4644363019282832302, i64 4612590351343535700, i64 4644333644135350830, i64 4612587923102313391, i64 4644304585587210576, i64 4612585507367967915, i64 4644275838489632729, i64 4612583104006819725, i64 4644247397805462331, i64 4612580712887345386, i64 4644219258606150634, i64 4612578333880131215, i64 4644191416068835020, i64 4612575966857828160, i64 4644163865473512796, i64 4612573611695107885, i64 4644136602200305390, i64 4612571268268620024, i64 4644109621726809561, i64 4612568936456950552, i64 4644082919625532411, i64 4612566616140581261, i64 4644056491561407139, i64 4612564307201850282, i64 4644030333289386547, i64 4612562009524913644, i64 4644004440652111512, i64 4612559722995707817, i64 4643978809577651669, i64 4612557447501913221, i64 4643953436077315737, i64 4612555182932918670, i64 4643928316243528974, i64 4612552929179786716, i64 4643903446247775384, i64 4612550686135219870, i64 4643878822338602360, i64 4612548453693527680, i64 4643854440839685586, i64 4612546231750594627, i64 4643830298147952058, i64 4612544020203848822, i64 4643806390731759214, i64 4612541818952231481, i64 4643782715129128212, i64 4612539627896167153, i64 4643759267946029492, i64 4612537446937534679, i64 4643736045854718813, i64 4612535275979638855, i64 4643713045592122049, i64 4612533114927182795, i64 4643690263958267075, i64 4612530963686240951, i64 4643667697814761149, i64 4612528822164232791, i64 4643645344083312260, i64 4612526690269897099, i64 4643623199744292956, i64 4612524567913266900, i64 4643601261835345241, i64 4612522455005644964, i64 4643579527450025176, i64 4612520351459579905, i64 4643557993736485863, i64 4612518257188842825, i64 4643536657896197558, i64 4612516172108404522, i64 4643515517182703685, i64 4612514096134413211, i64 4643494568900411588, i64 4612512029184172775, i64 4643473810403416895, i64 4612509971176121507, i64 4643453239094360391, i64 4612507922029811352, i64 4643432852423316380, i64 4612505881665887608, i64 4643412647886711509, i64 4612503850006069101, i64 4643392623026273083, i64 4612501826973128806, i64 4643372775428005949, i64 4612499812490874899, i64 4643353102721197032, i64 4612497806484132242, i64 4643333602577446666, i64 4612495808878724274, i64 4643314272709725866, i64 4612493819601455312, i64 4643295110871458754, i64 4612491838580093239, i64 4643276114855629332, i64 4612489865743352570, i64 4643257282493911882, i64 4612487901020877900, i64 4643238611655824234, i64 4612485944343227704, i64 4643220100247903226, i64 4612483995641858491, i64 4643192276606821962, i64 4612482054849109307, i64 4643155879239030956, i64 4612480121898186561, i64 4643119788599168943, i64 4612478196723149189, i64 4643084000780811798, i64 4612476279258894125, i64 4643048511943947777, i64 4612474369441142086, i64 4643013318313567812, i64 4612472467206423656, i64 4642978416178291643, i64 4612470572492065668, i64 4642943801889028712, i64 4612468685236177866, i64 4642909471857672808, i64 4612466805377639845, i64 4642875422555829457, i64 4612464932856088275, i64 4642841650513575119, i64 4612463067611904372, i64 4642808152318247250, i64 4612461209586201644, i64 4642774924613264357, i64 4612459358720813879, i64 4642741964096975154, i64 4612457514958283382, i64 4642709267521536010, i64 4612455678241849452, i64 4642676831691815861, i64 4612453848515437094, i64 4642644653464327816, i64 4612452025723645958, i64 4642612729746186691, i64 4612450209811739499, i64 4642581057494091748, i64 4612448400725634361, i64 4642549633713333919, i64 4612446598411889963, i64 4642518455456826840, i64 4612444802817698303, i64 4642487519824161026, i64 4612443013890873956, i64 4642456823960680536, i64 4612441231579844275, i64 4642426365056581527, i64 4612439455833639779, i64 4642396140346032062, i64 4612437686601884735, i64 4642366147106312624, i64 4612435923834787920, i64 4642336382656976740, i64 4612434167483133565, i64 4642306844359031178, i64 4612432417498272470, i64 4642277529614135199, i64 4612428936437114023, i64 4642219560588716118, i64 4612425480273123551, i64 4642162455577765495, i64 4612422048636636734, i64 4642106195180539534, i64 4612418641166258287, i64 4642050760575941978, i64 4612415257508615827, i64 4641996133500970297, i64 4612411897318122866, i64 4641942296230118425, i64 4612408560256750508, i64 4641889231555686800, i64 4612405245993807485, i64 4641836922768953371, i64 4612401954205728162, i64 4641785353642161905, i64 4612398684575868167, i64 4641734508411286436, i64 4612395436794307316, i64 4641684371759533083, i64 4612392210557659524, i64 4641634928801542618, i64 4612389005568889412, i64 4641586165068259281, i64 4612385821537135320, i64 4641538066492433224, i64 4612382658177538458, i64 4641490619394725816, i64 4612379515211077951, i64 4641443810470388708, i64 4612376392364411526, i64 4641397626776489182, i64 4612373289369721615, i64 4641352055719655780, i64 4612370205964566650, i64 4641307085044319626, i64 4612367141891737344, i64 4641262702821428174, i64 4612364096899117763, i64 4641218897437609356, i64 4612361070739550984, i64 4641175657584765261, i64 4612358063170709175, i64 4641132972250075602, i64 4612355073954967911, i64 4641090830706392219, i64 4612352102859284564, i64 4641049222503006880, i64 4612349149655080618, i64 4641008137456775532, i64 4612346214118127739, i64 4640967565643583030, i64 4612343296028437480, i64 4640927497390133181, i64 4612340395170154460, i64 4640887923266049704, i64 4612337511331452901, i64 4640848834076274444, i64 4612334644304436398, i64 4640810220853749848, i64 4612331793885040782, i64 4640772074852373358, i64 4612328959872939991, i64 4640734387540212000, i64 4612326142071454816, i64 4640697150592965996, i64 4612323340287464416, i64 4640660355887670799, i64 4612320554331320524, i64 4640623995496627444, i64 4612317784016764219, i64 4640588061681551610, i64 4612315029160845193, i64 4640552546887932235, i64 4612312289583843407, i64 4640517443739590966, i64 4612309565109193065, i64 4640482745033434149, i64 4612306855563408820, i64 4640448443734389436, i64 4612304160776014127, i64 4640414532970519471, i64 4612301480579471677, i64 4640381006028305452, i64 4612298814809115838, i64 4640347856348093727, i64 4612296163303087028, i64 4640315077519698861, i64 4612293525902267958, i64 4640282663278156929, i64 4612290902450221688, i64 4640250607499623089, i64 4612288292793131422, i64 4640218904197407713, i64 4612285696779741988, i64 4640187547518145666, i64 4612283114261302952, i64 4640156531738093519, i64 4612280545091513307, i64 4640125851259549741, i64 4612277989126467684, i64 4640095500607393116, i64 4612275446224604035, i64 4640065474425734859, i64 4612272916246652743, i64 4640035767474680083, i64 4612270399055587110, i64 4640006374627194467, i64 4612267894516575180, i64 4639977290866072162, i64 4612265402496932849, i64 4639948511281001122, i64 4612262922866078229, i64 4639920031065722233, i64 4612260455495487219, i64 4639891845515278749, i64 4612258000258650249, i64 4639863950023352698, i64 4612255557031030154, i64 4639836340079685072, i64 4612253125690021155, i64 4639809011267576721, i64 4612250706114908896, i64 4639781959261467037, i64 4612248298186831519, i64 4639755179824587591, i64 4612245901788741732, i64 4639728668806688051, i64 4612243516805369853, i64 4639702422141831768, i64 4612241143123187788, i64 4639676435846258568, i64 4612238780630373924, i64 4639650706016312356, i64 4612236429216778899, i64 4639625228826431260, i64 4612234088773892236, i64 4639600000527198103, i64 4612231759194809802, i64 4639575017443449116, i64 4612229440374202077, i64 4639550275972438855, i64 4612227132208283202, i64 4639525772582059394, i64 4612224834594780790, i64 4639501503809111912, i64 4612222547432906471, i64 4639477466257628896, i64 4612220270623327153, i64 4639453656597245223, i64 4612218004068136978, i64 4639430071561616485, i64 4612215747670829954, i64 4639406707946882935, i64 4612213501336273238, i64 4639383562610177555, i64 4612211264970681058, i64 4639360632468176751, i64 4612209038481589257, i64 4639337914495692262, i64 4612206821777830427, i64 4639315405724302935, i64 4612204614769509640, i64 4639293103241025026, i64 4612202417367980734, i64 4639271004187019797, i64 4612200229485823161, i64 4639249105756337168, i64 4612198051036819363, i64 4639227405194694263, i64 4612195881935932673, i64 4639205899798287729, i64 4612193722099285722, i64 4639184586912638727, i64 4612191571444139339, i64 4639163463931469570, i64 4612189429888871932, i64 4639142528295610977, i64 4612187297352959332, i64 4639121777491938991, i64 4612185173756955095, i64 4639101209052340614, i64 4612183059022471239, i64 4639080820552707259, i64 4612180953072159420, i64 4639060609611955151, i64 4612178855829692518, i64 4639040573891071840, i64 4612176767219746636, i64 4639020711092188003, i64 4612174687167983487, i64 4639001018957673772, i64 4612172615601033181, i64 4638981495269258826, i64 4612170552446477372, i64 4638962137847175518, i64 4612168497632832780, i64 4638942944549324338, i64 4612166451089535070, i64 4638923913270461040, i64 4612164412746923074, i64 4638905041941404764, i64 4612162382536223352, i64 4638886328528266540, i64 4612160360389535085, i64 4638867771031697551, i64 4612158346239815289, i64 4638849367486156574, i64 4612156340020864337, i64 4638831115959196021, i64 4612154341667311793, i64 4638813014550766040, i64 4612152351114602537, i64 4638795061392536138, i64 4612150368298983186, i64 4638777254647233818, i64 4612148393157488794, i64 4638759592507999726, i64 4612146425627929823, i64 4638742073197758838, i64 4612144465648879396, i64 4638724694968607211, i64 4612142513159660798, i64 4638707296010816847, i64 4612140568100335238, i64 4638673093616863798, i64 4612138630411689866, i64 4638639163235902202, i64 4612136700035226023, i64 4638605501593819975, i64 4612134776913147735, i64 4638572105469151476, i64 4612132860988350438, i64 4638538971692020016, i64 4612130952204409927, i64 4638506097143105811, i64 4612129050505571529, i64 4638473478752638667, i64 4612127155836739484, i64 4638441113499414700, i64 4612125268143466547, i64 4638408998409836436, i64 4612123387371943786, i64 4638377130556975631, i64 4612121513468990585, i64 4638345507059658197, i64 4612119646382044842, i64 4638314125081570619, i64 4612117786059153355, i64 4638282981830387275, i64 4612115932448962400, i64 4638252074556918096, i64 4612114085500708490, i64 4638221400554276014, i64 4612110411389854800, i64 4638160741740578756, i64 4612106763331948928, i64 4638100984549817647, i64 4612103140941228875, i64 4638042108769215910, i64 4612099543840547937, i64 4637984094789237189, i64 4612095971661118539, i64 4637926923581173183, i64 4612092424042265573, i64 4637870576675725282, i64 4612088900631188785, i64 4637815036142529039, i64 4612085401082733832, i64 4637760284570573369, i64 4612081925059171625, i64 4637706305049469106, i64 4612078472229985602, i64 4637653081151524180, i64 4612075042271666595, i64 4637600596914585138, i64 4612071634867514954, i64 4637548836825606970, i64 4612068249707449636, i64 4637497785804915400, i64 4612064886487823960, i64 4637447429191127764, i64 4612061544911247752, i64 4637397752726700505, i64 4612058224686415604, i64 4637348742544073065, i64 4612054925527941021, i64 4637300385152379616, i64 4612051647156196186, i64 4637252667424701630, i64 4612048389297157137, i64 4637205576585835731, i64 4612045151682254127, i64 4637159100200552662, i64 4612041934048226964, i64 4637113226162324484, i64 4612038736136985128, i64 4637067942682498324, i64 4612035557695472488, i64 4637023238279896150, i64 4612032398475536422, i64 4636979101770821096, i64 4612029258233801179, i64 4636935522259451915, i64 4612026136731545322, i64 4636892489128608027, i64 4612023033734583085, i64 4636849992030868593, i64 4612019949013149502, i64 4636808020880029836, i64 4612016882341789155, i64 4636766565842885668, i64 4612013833499248426, i64 4636725617331317398, i64 4612010802268371092, i64 4636685165994679045, i64 4612007788435997164, i64 4636645202712465411, i64 4612004791792864834, i64 4636605718587250734, i64 4612001812133515423, i64 4636566704937886313, i64 4611998849256201222, i64 4636528153292946088, i64 4611995902962796108, i64 4636490055384409667, i64 4611992973058708858, i64 4636452403141572815, i64 4611990059352799037, i64 4636415188685175886, i64 4611987161657295390, i64 4636378404321741152, i64 4611984279787716636, i64 4636342042538110376, i64 4611981413562794589, i64 4636306095996174420, i64 4611978562804399510, i64 4636270557527787038, i64 4611975727337467638, i64 4636235420129855377, i64 4611972906989930786, i64 4636200676959600059, i64 4611970101592647976, i64 4636166321329978028, i64 4611967310979339003, i64 4636132346705261681, i64 4611964534986519887, i64 4636098746696768072, i64 4611961773453440142, i64 4636065515058732282, i64 4611959026222021800, i64 4636032645684319283, i64 4611956293136800126, i64 4636000132601768917, i64 4611953574044865986, i64 4635967969970668805, i64 4611950868795809786, i64 4635936152078350272, i64 4611948177241666954, i64 4635904673336402554, i64 4611945499236864909, i64 4635873528277300787, i64 4611942834638171453, i64 4635842711551143455, i64 4611940183304644562, i64 4635812217922495173, i64 4611937545097583517, i64 4635782042267330841, i64 4611934919880481341, i64 4635752179570077409, i64 4611932307518978486, i64 4635722624920749598, i64 4611929707880817749, i64 4635693373512176137, i64 4611927120835800366, i64 4635664420637313172, i64 4611924546255743250, i64 4635635761686641676, i64 4611921984014437334, i64 4635607392145645790, i64 4611919433987607000, i64 4635579307592369193, i64 4611916896052870530, i64 4635551503695046668, i64 4611914370089701590, i64 4635523976209808198, i64 4611911855979391666, i64 4635496720978452992, i64 4611909353605013473, i64 4635469733926290971, i64 4611906862851385267, i64 4635443011060049346, i64 4611904383605036057, i64 4635416548465841983, i64 4611901915754171677, i64 4635390342307199394, i64 4611899459188641708, i64 4635364388823157229, i64 4611897013799907203, i64 4635338684326401250, i64 4611894579481009209, i64 4635313225201466865, i64 4611892156126538057, i64 4635288007902991328, i64 4611889743632603393, i64 4635263028954016837, i64 4611887341896804941, i64 4635238284944342800, i64 4611884950818203956, i64 4635213772528925599, i64 4611882570297295373, i64 4635189488426324280, i64 4611880200235980610, i64 4635165429417190626, i64 4611877840537541016, i64 4635141592342802134, i64 4611875491106611949, i64 4635117974103636491, i64 4611873151849157460, i64 4635094571657986171, i64 4611870822672445565, i64 4635071382020611852, i64 4611868503485024096, i64 4635048402261433372, i64 4611866194196697109, i64 4635025629504257027, i64 4611863894718501832, i64 4635003060925538015, i64 4611861604962686148, i64 4634980693753176921, i64 4611859324842686587, i64 4634958525265349128, i64 4611857054273106814, i64 4634936552789366133, i64 4611854793169696612, i64 4634914773700567731, i64 4611852541449331330, i64 4634893185421244115, i64 4611850299029991797, i64 4634871785419586935, i64 4611848065830744678, i64 4634850571208668429, i64 4611845841771723272, i64 4634829540345447727, i64 4611843626774108727, i64 4634808690429803519, i64 4611841420760111677, i64 4634788019103592237, i64 4611839223652954273, i64 4634767524049731003, i64 4611837035376852611, i64 4634747202991304559, i64 4611834855856999537, i64 4634727053690695462, i64 4611832685019547827, i64 4634707073948736837, i64 4611830522791593730, i64 4634687261603887005, i64 4611828369101160857, i64 4634667614531425332, i64 4611826223877184422, i64 4634648130642668657, i64 4611824087049495810, i64 4634628807884207704, i64 4611821958548807477, i64 4634609644237162856, i64 4611819838306698163, i64 4634590637716458749, i64 4611817726255598423, i64 4634571786370117116, i64 4611815622328776449, i64 4634553088278567345, i64 4611813526460324194, i64 4634534541553974249, i64 4611811438585143783, i64 4634516144339582531, i64 4611809358638934203, i64 4634497894809077472, i64 4611807286558178263, i64 4634479791165961374, i64 4611805222280129828, i64 4634461831642945301, i64 4611803165742801302, i64 4634444014501355685, i64 4611801116884951379, i64 4634426338030555375, i64 4611799075646073028, i64 4634408800547378719, i64 4611797041966381727, i64 4634391400395580278, i64 4611795015786803929, i64 4634374135945296799, i64 4611792997048965762, i64 4634357005592522070, i64 4611790985695181953, i64 4634340007758594293, i64 4611788981668444963, i64 4634323140889695641, i64 4611786984912414349, i64 4634306403456363646, i64 4611784995371406326, i64 4634289793953014111, i64 4611783012990383532, i64 4634273310897475207, i64 4611781037714945003, i64 4634256952830532473, i64 4611779069491316329, i64 4634240718315484403, i64 4611777108266340008, i64 4634224605937708345, i64 4611773206602742373, i64 4634181467522442139, i64 4611769332310875201, i64 4634118683948068176, i64 4611765484986745060, i64 4634056823459727363, i64 4611761664235364221, i64 4633995865558851870, i64 4611757869670483231, i64 4633935790353257959, i64 4611754100914333390, i64 4633876578534806730, i64 4611750357597378673, i64 4633818211358047521, i64 4611746639358076687, i64 4633760670619793801, i64 4611742945842648280, i64 4633703938639584322, i64 4611739276704855420, i64 4633647998240985030, i64 4611735631605786982, i64 4633592832733689738, i64 4611732010213652131, i64 4633538425896379991, i64 4611728412203580949, i64 4633484761960306741, i64 4611724837257432027, i64 4633431825593558568, i64 4611721285063606718, i64 4633379601885983132, i64 4611717755316869777, i64 4633328076334730372, i64 4611714247718176134, i64 4633277234830387705, i64 4611710761974503541, i64 4633227063643679080, i64 4611707297798690851, i64 4633177549412701281, i64 4611703854909281722, i64 4633128679130672280, i64 4611700433030373503, i64 4633080440134167802, i64 4611697031891471116, i64 4633032820091823516, i64 4611693651227345729, i64 4632985806993481448, i64 4611690290777898030, i64 4632939389139760353, i64 4611686950288025934, i64 4632893555132030802, i64 4611681240587605161, i64 4632848293862776765, i64 4611674637954256379, i64 4632803594506326374, i64 4611668073766892658, i64 4632759446509935459, i64 4611661547552806977, i64 4632715839585208255, i64 4611655058848085066, i64 4632672763699840486, i64 4611648607197387231, i64 4632630209069670742, i64 4611642192153736933, i64 4632588166151026803, i64 4611635813278315862, i64 4632546625633354171, i64 4611629470140265275, i64 4632505578432114750, i64 4611623162316493373, i64 4632465015681944160, i64 4611616889391488481, i64 4632424928730056748, i64 4611610650957137842, i64 4632385309129887875, i64 4611604446612551812, i64 4632346148634963579, i64 4611598275963893260, i64 4632307439192988141, i64 4611592138624212001, i64 4632269172940140583, i64 4611586034213284072, i64 4632231342195571501, i64 4611579962357455697, i64 4632193939456092066, i64 4611573922689491750, i64 4632156957391047399, i64 4611567914848428600, i64 4632120388837366870, i64 4611561938479431147, i64 4632084226794784248, i64 4611555993233653934, i64 4632048464421220905, i64 4611550078768106184, i64 4632013095028325630, i64 4611544194745520631, i64 4631978112077164872, i64 4611538340834226019, i64 4631943509174057510, i64 4611532516708023140, i64 4631909280066548531, i64 4611526722046064310, i64 4631875418639516220, i64 4611520956532736147, i64 4631841918911407724, i64 4611515219857545558, i64 4631808775030598066, i64 4611509511715008824, i64 4631775981271867904, i64 4611503831804543685, i64 4631743532032995536, i64 4611498179830364326, i64 4631711421831458841, i64 4611492555501379173, i64 4631679645301243038, i64 4611486958531091401, i64 4631648197189750306, i64 4611481388637502083, i64 4631617072354807502, i64 4611475845543015878, i64 4631586265761768345, i64 4611470328974349200, i64 4631555772480706603, i64 4611464838662440760, i64 4631525587683696958, i64 4611459374342364445, i64 4631495706642180376, i64 4611453935753244423, i64 4631466124724410908, i64 4611448522638172439, i64 4631436837392981017, i64 4611443134744127207, i64 4631407840202422609, i64 4611437771821895854, i64 4631379128796881082, i64 4611432433625997348, i64 4631350698907859802, i64 4611427119914607839, i64 4631322546352032539, i64 4611421830449487875, i64 4631294667029121466, i64 4611416564995911422, i64 4631267056919838445, i64 4611411323322596636, i64 4631239712083887411, i64 4611406105201638348, i64 4631212628658025730, i64 4611400910408442192, i64 4631185802854182515, i64 4611395738721660341, i64 4631159230957631962, i64 4611390589923128804, i64 4631132909325219812, i64 4611385463797806231, i64 4631106834383641172, i64 4611380360133714190, i64 4631081002627767937, i64 4611375278721878867, i64 4631055410619024167, i64 4611370219356274158, i64 4631030054983807823, i64 4611365181833766099, i64 4631004932411957309, i64 4611360165954058613, i64 4630980039655261350, i64 4611355171519640524, i64 4630955373526010784, i64 4611350198335733805, i64 4630930930895590888, i64 4611345246210243029, i64 4630906708693112923, i64 4611340314953705993, i64 4630882703904083629, i64 4611335404379245465, i64 4630858913569111442, i64 4611330514302522050, i64 4630835334782648253, i64 4611325644541688119, i64 4630811964691765577, i64 4611320794917342788, i64 4630788800494964039, i64 4611315965252487911, i64 4630765839441015109, i64 4611311155372485062, i64 4630743078827834090, i64 4611306365105013483, i64 4630720516001383356, i64 4611301594280028962, i64 4630698148354604914, i64 4611296842729723628, i64 4630675973326381367, i64 4611292110288486631, i64 4630653988400524398, i64 4611287396792865683, i64 4630632191104789940, i64 4611282702081529446, i64 4630610579009919187, i64 4611278025995230738, i64 4630589149728704693, i64 4611273368376770528, i64 4630567900915080756, i64 4611268729070962721, i64 4630546830263237389, i64 4611264107924599691, i64 4630525935506757132, i64 4611259504786418555, i64 4630505214417774053, i64 4611254919507068162, i64 4630484664806154241, i64 4611250351939076789, i64 4630464284518697186, i64 4611245801936820510, i64 4630444071438357394, i64 4611241269356492240, i64 4630424023483485664, i64 4611236754056071418, i64 4630404138607089437, i64 4611232255895294331, i64 4630384414796111664, i64 4611227774735625046, i64 4630364850070727650, i64 4611223310440226948, i64 4630345442483659357, i64 4611218862873934866, i64 4630326190119506655, i64 4611214431903227762, i64 4630307091094095036, i64 4611210017396201987, i64 4630288143553839330, i64 4611205619222545077, i64 4630269345675122943, i64 4611201237253510076, i64 4630250695663692199, i64 4611196871361890386, i64 4630232191754065343, i64 4611192521421995111, i64 4630213832208955805, i64 4611188187309624905, i64 4630195615318709309, i64 4611183868902048293, i64 4630177539400754452, i64 4611179566077978465, i64 4630159602799066374, i64 4611175278717550531, i64 4630141803883643159, i64 4611171006702299219, i64 4630124141049994604, i64 4611166749915137013, i64 4630106612718643030, i64 4611162508240332718, i64 4630089217334635799, i64 4611158281563490443, i64 4630071953367069216, i64 4611154069771528987, i64 4630054819308623506, i64 4611149872752661627, i64 4630037813675108566, i64 4611141522593416119, i64 4630004181859106624, i64 4611133230216605761, i64 4629971046491526161, i64 4611124994772563964, i64 4629938396487541679, i64 4611116815430523670, i64 4629906221092236468, i64 4611108691378056975, i64 4629874509868370820, i64 4611100621820535452, i64 4629843252684691814, i64 4611092605980610258, i64 4629812439704756875, i64 4611084643097711165, i64 4629782061376244898, i64 4611076732427563685, i64 4629752108420730259, i64 4611068873241723509, i64 4629722571823896462, i64 4611061064827127532, i64 4629686468715465059, i64 4611053306485660732, i64 4629629008890602254, i64 4611045597533738261, i64 4629572330683069462, i64 4611037937301902096, i64 4629516417997480564, i64 4611030325134431639, i64 4629461255180541530, i64 4611022760388967704, i64 4629406827005913828, i64 4611015242436149335, i64 4629353118659697124, i64 4611007770659262922, i64 4629300115726501836, i64 4611000344453903132, i64 4629247804176083737, i64 4610992963227645175, i64 4629196170350514261, i64 4610985626399727943, i64 4629145200951861596, i64 4610978333400747608, i64 4629094883030358944, i64 4610971083672361249, i64 4629045203973037583, i64 4610963876667000126, i64 4628996151492803523, i64 4610956711847592226, i64 4628947713617937667, i64 4610949588687293711, i64 4628899878682000391, i64 4610942506669228950, i64 4628852635314122472, i64 4610935465286238774, i64 4628805972429665175, i64 4610928464040636675, i64 4628759879221233218, i64 4610921502443972632, i64 4628714345150025104, i64 4610914580016804277, i64 4628669359937506140, i64 4610907696288475138, i64 4628624913557390125, i64 4610900850796899695, i64 4628580996227916458, i64 4610894043088354989, i64 4628537598404409974, i64 4610887272717278560, i64 4628494710772111533, i64 4610880539246072471, i64 4628452324239267874, i64 4610873842244913207, i64 4628410429930469868, i64 4610867181291567237, i64 4628369019180228785, i64 4610860555971212032, i64 4628328083526780695, i64 4610853965876262352, i64 4628287614706109591, i64 4610847410606201617, i64 4628247604646180261, i64 4610840889767418174, i64 4628208045461372358, i64 4610834402973046308, i64 4628168929447107506, i64 4610827949842811810, i64 4628130249074661667, i64 4610821530002881967, i64 4628091996986155342, i64 4610815143085719809, i64 4628054165989714528, i64 4610808788729942472, i64 4628016749054795653, i64 4610802466580183542, i64 4627979739307668047, i64 4610796176286959236, i64 4627943130027047766, i64 4610789917506538307, i64 4627906914639876882, i64 4610783689900815537, i64 4627871086717242608, i64 4610777493137188699, i64 4627835639970430859, i64 4610771326888438884, i64 4627800568247109122, i64 4610765190832614078, i64 4627765865527633688, i64 4610759084652915877, i64 4627731525921476551, i64 4610753008037589248, i64 4627697543663767461, i64 4610746960679815236, i64 4627663913111946816, i64 4610740942277606517, i64 4627630628742525258, i64 4610734952533705715, i64 4627597685147946027, i64 4610728991155486387, i64 4627565077033546280, i64 4610723057854856602, i64 4627532799214613740, i64 4610717152348165019, i64 4627500846613535213, i64 4610711274356109406, i64 4627469214257033612, i64 4610705423603647500, i64 4627437897273490329, i64 4610699599819910160, i64 4627406890890349856, i64 4610693802738116722, i64 4627376190431603739, i64 4610688032095492506, i64 4627345791315351031, i64 4610682287633188401, i64 4627315689051432553, i64 4610676569096202458, i64 4627285879239136349, i64 4610670876233303452, i64 4627256357564971862, i64 4610665208796956331, i64 4627227119800510418, i64 4610659566543249511, i64 4627198161800289737, i64 4610653949231823957, i64 4627169479499780257, i64 4610648356625803998, i64 4627141068913411137, i64 4610642788491729823, i64 4627112926132653935, i64 4610637244599491617, i64 4627085047324161956, i64 4610631724722265277, i64 4627057428727963436, i64 4610626228636449673, i64 4627030066655706707, i64 4610620756121605405, i64 4627002957488955636, i64 4610615306960395017, i64 4626976097677533645, i64 4610609880938524615, i64 4626949483737914703, i64 4610604477844686871, i64 4626923112251659751, i64 4610599097470505348, i64 4626896979863897049, i64 4610593739610480130, i64 4626871083281845023, i64 4610588404061934710, i64 4626845419273376235, i64 4610583090624964102, i64 4626819984665621120, i64 4610577799102384149, i64 4626794776343610233, i64 4610572529299681984, i64 4626769791248953758, i64 4610567281024967625, i64 4626745026378557092, i64 4610562054088926657, i64 4626720478783371358, i64 4610556848304773992, i64 4626696145567177736, i64 4610551663488208657, i64 4626672023885404560, i64 4610546499457369599, i64 4626648110943976137, i64 4610541356032792467, i64 4626624403998192307, i64 4610536233037367356, i64 4626600900351637794, i64 4610531130296297480, i64 4626577597355120412, i64 4610526047637058752, i64 4626554492405637249, i64 4610520984889360244, i64 4626531582945367968, i64 4610515941885105512, i64 4626508866460694394, i64 4610510918458354756, i64 4626486340481245592, i64 4610505914445287797, i64 4626464002578967664, i64 4610500929684167843, i64 4626441850367217522, i64 4610495964015306038, i64 4626419881499879906, i64 4610491017281026758, i64 4626398093670506973, i64 4610486089325633646, i64 4626376484611479772, i64 4610481179995376364, i64 4626355052093190952, i64 4610476289138418037, i64 4626333793923248097, i64 4610471416604803390, i64 4626312707945697061, i64 4610466562246427536, i64 4626291792040264731, i64 4610461725917005415, i64 4626271044121620648, i64 4610456907472041872, i64 4626250462138656942, i64 4610452106768802340, i64 4626230044073786042, i64 4610447323666284125, i64 4626209787942255674, i64 4610442558025188284, i64 4626189691791480617, i64 4610437809707892066, i64 4626169753700390778, i64 4610433078578421914, i64 4626149971778795084, i64 4610428364502427009, i64 4626130344166760778, i64 4610423667347153351, i64 4626110869034007661, i64 4610418986981418345, i64 4626091544579316873, i64 4610414323275585907, i64 4626072369029953803, i64 4610409676101542053, i64 4626053340641104734, i64 4610405045332670977, i64 4626034457695326845, i64 4610400430843831592, i64 4626015718502011198, i64 4610395832511334539, i64 4625997121396858358, i64 4610391250212919634, i64 4625978664741366294, i64 4610386683827733764, i64 4625960346922330229, i64 4610382133236309203, i64 4625942166351354119, i64 4610377598320542349, i64 4625924121464373432, i64 4610368575050263240, i64 4625888432605011226, i64 4610359613098567493, i64 4625853268300907113, i64 4610350711567658090, i64 4625818616869280272, i64 4610341869579657579, i64 4625784466974453428, i64 4610333086276018476, i64 4625750807615000212, i64 4610324360816955415, i64 4625717628111461014, i64 4610315692380898097, i64 4625684918094598144, i64 4610307080163964114, i64 4625652667494162838, i64 4610298523379450794, i64 4625620866528148208, i64 4610290021257345248, i64 4625589505692503748, i64 4610281573043851836, i64 4625558575751288389, i64 4610273178000936311, i64 4625528067727240391, i64 4610264835405885942, i64 4625497972892743604, i64 4610256544550884948, i64 4625468282761170745, i64 4610248304742604597, i64 4625438989078585433, i64 4610240115301807370, i64 4625410083815785725, i64 4610231975562964622, i64 4625381559160672818, i64 4610223884873887169, i64 4625353407510929514, i64 4610215842595368302, i64 4625325621466993828, i64 4610207848100838712, i64 4625298193825313930, i64 4610199900776032852, i64 4625271117571871346, i64 4610192000018666299, i64 4625244385875960021, i64 4610184145238123658, i64 4625217992084209511, i64 4610176335855156616, i64 4625187042120182944, i64 4610168571301591740, i64 4625135567594794186, i64 4610160851020047648, i64 4625084730972859999, i64 4610153174463661195, i64 4625034520255798149, i64 4610145541095822325, i64 4624984923746513470, i64 4610137950389917261, i64 4624935930039944573, i64 4610130401829079726, i64 4624887528013965055, i64 4610122894905949894, i64 4624839706820623776, i64 4610115429122440771, i64 4624792455877709516, i64 4610108003989511748, i64 4624745764860626062, i64 4610100619026949057, i64 4624699623694564444, i64 4610093273763152873, i64 4624654022546959697, i64 4610085967734930830, i64 4624608951820220138, i64 4610078700487297712, i64 4624564402144717703, i64 4610071471573281102, i64 4624520364372028468, i64 4610064280553732781, i64 4624476829568412964, i64 4610057126997145665, i64 4624433789008526406, i64 4610050010479476089, i64 4624391234169349413, i64 4610042930583971255, i64 4624349156724330237, i64 4610035886901001657, i64 4624307548537729924, i64 4610028879027898319, i64 4624266401659162256, i64 4610021906568794677, i64 4624225708318320648, i64 4610014969134472939, i64 4624185460919884589, i64 4610008066342214791, i64 4624145652038598493, i64 4610001197815656280, i64 4624106274414516192, i64 4609994363184646743, i64 4624067320948404594, i64 4609987562085111657, i64 4624028784697300290, i64 4609980794158919257, i64 4623990658870213223, i64 4609974059053750823, i64 4623952936823971730, i64 4609967356422974496, i64 4623915612059203578, i64 4609960685925522520, i64 4623878678216447787, i64 4609954047225771787, i64 4623842129072392325, i64 4609947439993427595, i64 4623805958536232906, i64 4609940863903410502, i64 4623770160646148378, i64 4609934318635746176, i64 4623734729565888353, i64 4609927803875458164, i64 4623699659581468921, i64 4609921319312463461, i64 4623664945097972472, i64 4609914864641470818, i64 4623630580636447803, i64 4609908439561881678, i64 4623596560830906867, i64 4609902043777693683, i64 4623562880425414644, i64 4609895676997406653, i64 4623529534271268795, i64 4609889338933930969, i64 4623496517324265857, i64 4609883029304498285, i64 4623463824642050908, i64 4609876747830574507, i64 4623431451381547724, i64 4609870494237774947, i64 4623399392796466597, i64 4609864268255781616, i64 4623367644234887067, i64 4609858069618262568, i64 4623336201136912972, i64 4609851898062793248, i64 4623305059032397271, i64 4609845753330779780, i64 4623274213538734255, i64 4609839635167384132, i64 4623243660358716797, i64 4609833543321451114, i64 4623213395278456428, i64 4609827477545437145, i64 4623183414165364095, i64 4609821437595340750, i64 4623153712966189528, i64 4609815423230634718, i64 4623124287705117260, i64 4609809434214199892, i64 4623095134481917370, i64 4609803470312260534, i64 4623066249470149136, i64 4609797531294321224, i64 4623037628915415833, i64 4609791616933105242, i64 4623009269133668979, i64 4609785727004494407, i64 4622981166509560394, i64 4609779861287470311, i64 4622953317494840517, i64 4609774019564056929, i64 4622925718606801461, i64 4609768201619264552, i64 4622898366426763345, i64 4609762407241035012, i64 4622871257598602519, i64 4609756636220188168, i64 4622844388827320324, i64 4609750888350369606, i64 4622817756877651082, i64 4609745163427999535, i64 4622791358572708080, i64 4609739461252222834, i64 4622765190792666319, i64 4609733781624860223, i64 4622739250473480898, i64 4609728124350360532, i64 4622713534605639870, i64 4609722489235754033, i64 4622688040232950531, i64 4609716876090606805, i64 4622662764451358073, i64 4609711284726976115, i64 4622637704407795600, i64 4609705714959366774, i64 4622612857299064553, i64 4609700166604688451, i64 4622588220370744585, i64 4609694639482213924, i64 4622563790916132005, i64 4609689133413538226, i64 4622539566275205909, i64 4609683648222538687, i64 4622515543833621152, i64 4609678183735335824, i64 4622491721021727368, i64 4609672739780255082, i64 4622468095313613235, i64 4609667316187789377, i64 4622444664226175235, i64 4609661912790562448, i64 4622421425318210189, i64 4609656529423292976, i64 4622398376189530836, i64 4609651165922759460, i64 4622375514480103803, i64 4609645822127765832, i64 4622352837869209284, i64 4609640497879107792, i64 4622330344074621805, i64 4609635193019539834, i64 4622308030851811446, i64 4609629907393742963, i64 4622285895993164944, i64 4609624640848293078, i64 4622263937327226081, i64 4609619393231629999, i64 4622242152717954812, i64 4609614164394027129, i64 4622220540064004596, i64 4609608954187561737, i64 4622199097298017402, i64 4609603762466085840, i64 4622177822385935891, i64 4609598589085197674, i64 4622156713326332287, i64 4609593433902213741, i64 4622135768149753467, i64 4609588296776141411, i64 4622114984918081803, i64 4609583177567652078, i64 4622094361723911333, i64 4609578076139054838, i64 4622073896689938816, i64 4609572992354270702, i64 4622053587968369268, i64 4609567926078807307, i64 4622033433740335570, i64 4609562877179734125, i64 4622013432215331768, i64 4609557845525658160, i64 4621993581630659686, i64 4609552830986700116, i64 4621973880250888482, i64 4609547833434471027, i64 4621954326367326802, i64 4609542852742049341, i64 4621934918297507188, i64 4609537888783958439, i64 4621915654384682409, i64 4609528010575955345, i64 4621877552528688421, i64 4609518197834720223, i64 4621840008041352655, i64 4609508449606262520, i64 4621803008545861997, i64 4609498764957695255, i64 4621766542032382328, i64 4609489142976611636, i64 4621730596844490515, i64 4609479582770484645, i64 4621695161666205822, i64 4609470083466088579, i64 4621660225509589996, i64 4609460644208941569, i64 4621625777702887088, i64 4609451264162768199, i64 4621591807879175744, i64 4609441942508981324, i64 4621558305965508255, i64 4609432678446182295, i64 4621525262172512133, i64 4609423471189678800, i64 4621492666984431335, i64 4609414319971019565, i64 4621460511149585576, i64 4609405224037545239, i64 4621428785671227320, i64 4609396182651954763, i64 4621397481798777232, i64 4609387195091886600, i64 4621366591019419885, i64 4609378260649514209, i64 4621336105050042524, i64 4609369378631155192, i64 4621306015829500632, i64 4609360548356893554, i64 4621276315511194916, i64 4609351769160214555, i64 4621246996455945132, i64 4609343040387651644, i64 4621218051225146982, i64 4609334361398445011, i64 4621189472574199009, i64 4609325731564211285, i64 4621161253446187127, i64 4609317150268623950, i64 4621133386965815036, i64 4609308616907104068, i64 4621105866433569430, i64 4609300130886520894, i64 4621078685320109420, i64 4609291691624902032, i64 4621051837260870172, i64 4609283298551152736, i64 4621025316050871266, i64 4609274951104784042, i64 4620999115639720733, i64 4609266648735649370, i64 4620973230126806222, i64 4609258390903689308, i64 4620947653756665133, i64 4609250177078684246, i64 4620922380914525990, i64 4609242006740014600, i64 4620897406122013687, i64 4609233879376428319, i64 4620872724033011608, i64 4609225794485815432, i64 4620848329429673967, i64 4609217751574989370, i64 4620824217218582022, i64 4609209750159474820, i64 4620800382427038132, i64 4609201789763301876, i64 4620776820199491918, i64 4609193869918806276, i64 4620753525794093042, i64 4609185990166435485, i64 4620730494579365403, i64 4609178150054560444, i64 4620707722030997768, i64 4609170349139292777, i64 4620677189775363313, i64 4609162586984307256, i64 4620632653024757289, i64 4609154863160669368, i64 4620588607686092122, i64 4609147177246667777, i64 4620545045508211832, i64 4609139528827651548, i64 4620501958425372842, i64 4609131917495871940, i64 4620459338552038062, i64 4609124342850328640, i64 4620417178177845983, i64 4609116804496620268, i64 4620375469762747924, i64 4609109302046799024, i64 4620334205932306898, i64 4609101835119229343, i64 4620293379473151857, i64 4609094403338450403, i64 4620252983328581343, i64 4609087006335042394, i64 4620213010594310825, i64 4609079643745496391, i64 4620173454514358270, i64 4609072315212087742, i64 4620134308477062726, i64 4609065020382752838, i64 4620095566011230894, i64 4609057758910969166, i64 4620057220782406939, i64 4609050530455638545, i64 4620019266589260915, i64 4609043334680973430, i64 4619981697360091453, i64 4609036171256386195, i64 4619944507149438480, i64 4609029039856381309, i64 4619907690134801966, i64 4609021940160450300, i64 4619871240613462808, i64 4609014871852969430, i64 4619835152999402189, i64 4609007834623099994, i64 4619799421820315830, i64 4609000828164691167, i64 4619764041714719757, i64 4608993852176185309, i64 4619729007429144312, i64 4608986906360525675, i64 4619694313815413268, i64 4608979990425066426, i64 4619659955828005070, i64 4608973104081484906, i64 4619625928521493287, i64 4608966247045696094, i64 4619592227048063531, i64 4608959419037769167, i64 4619558846655104180, i64 4608952619781846130, i64 4619525782682868342, i64 4608945849006062428, i64 4619493030562204621, i64 4608939106442469499, i64 4619460585812354329, i64 4608932391826959205, i64 4619428444038812863, i64 4608925704899190083, i64 4619396600931253100, i64 4608919045402515373, i64 4619365052261508686, i64 4608912413083912761, i64 4619333793881615238, i64 4608905807693915798, i64 4619302821721907498, i64 4608899228986546935, i64 4619272131789170596, i64 4608892676719252143, i64 4619241720164843628, i64 4608886150652837064, i64 4619211583003273815, i64 4608879650551404643, i64 4619181716530019603, i64 4608873176182294223, i64 4619152117040201094, i64 4608866727316022035, i64 4619122780896896271, i64 4608860303726223061, i64 4619093704529581553, i64 4608853905189594233, i64 4619064884432615227, i64 4608847531485838916, i64 4619036317163762413, i64 4608841182397612660, i64 4619007999342760220, i64 4608834857710470172, i64 4618979927649921819, i64 4608828557212813479, i64 4618952098824778211, i64 4608822280695841252, i64 4618924509664756508, i64 4608816027953499263, i64 4618897157023893567, i64 4608809798782431929, i64 4618870037811583896, i64 4608803592981934940, i64 4618843148991360756, i64 4608797410353908911, i64 4618816487579709443, i64 4608791250702814067, i64 4618790050644911749, i64 4608785113835625895, i64 4618763835305920667, i64 4608778999561791772, i64 4618737838731264391, i64 4608772907693188524, i64 4618712058137978759, i64 4608766838044080894, i64 4618686490790567241, i64 4608760790431080902, i64 4618661133999987671, i64 4608754764673108072, i64 4618635985122664919, i64 4608748760591350498, i64 4618611041559528715, i64 4608742778009226736, i64 4618586300755075894, i64 4608736816752348495, i64 4618561760196456335, i64 4608730876648484110, i64 4618537417412581896, i64 4608724957527522776, i64 4618513269973257670, i64 4608719059221439527, i64 4618489315488334915, i64 4608713181564260933, i64 4618465551606885025, i64 4608707324392031509, i64 4618441976016393937, i64 4608701487542780813, i64 4618418586441976375, i64 4608695670856491206, i64 4618395380645609380, i64 4608689874175066281, i64 4618372356425384555, i64 4608684097342299921, i64 4618349511614778509, i64 4608678340203845986, i64 4618326844081940971, i64 4608672602607188603, i64 4618304351729000084, i64 4608666884401613058, i64 4618282032491384397, i64 4608661185438177263, i64 4618259884337161079, i64 4608655505569683786, i64 4618237905266389912, i64 4608649844650652441, i64 4618216093310492615, i64 4608644202537293411, i64 4618194446531637090, i64 4608638579087480898, i64 4618172963022136161, i64 4608632974160727294, i64 4618151640903860422, i64 4608627387618157844, i64 4618130478327664805, i64 4608621819322485807, i64 4618109473472828485, i64 4608616269137988095, i64 4618088624546507781, i64 4608610736930481374, i64 4618067929783201680, i64 4608599725917266194, i64 4618026995817221450, i64 4608588785239289235, i64 4617986657978186757, i64 4608577913876181184, i64 4617946903074676246, i64 4608567110830066082, i64 4617907718305477059, i64 4608556375124898470, i64 4617869091245183545, i64 4608545705805824898, i64 4617831009830431308, i64 4608535101938568742, i64 4617793462346734051, i64 4608524562608837308, i64 4617756437415892575, i64 4608514086921750244, i64 4617719923983947050, i64 4608503674001288371, i64 4617683911309645351, i64 4608493322989762031, i64 4617648388953401787, i64 4608483033047298153, i64 4617613346766721999, i64 4608472803351345226, i64 4617578774882071177, i64 4608462633096195449, i64 4617544663703164019, i64 4608452521492523331, i64 4617511003895656030, i64 4608442467766940078, i64 4617477786378216895, i64 4608432471161563107, i64 4617445002313967729, i64 4608422530933600081, i64 4617412643102264945, i64 4608412646354946882, i64 4617380700370814468, i64 4608402816711798948, i64 4617349165968100847, i64 4608393041304275467, i64 4617318031956116662, i64 4608383319446055891, i64 4617287290603378392, i64 4608373650464028313, i64 4617256934378215619, i64 4608364033697949224, i64 4617226955942321155, i64 4608354468500114222, i64 4617197348144550283, i64 4608344954235039242, i64 4617168104014957948, i64 4608335490279151913, i64 4617139216759063281, i64 4608326076020492650, i64 4617110679752331382, i64 4608316710858425121, i64 4617082486534862799, i64 4608307394203355723, i64 4617054630806281614, i64 4608298125476461755, i64 4617027106420813512, i64 4608288904109427940, i64 4616999907382545619, i64 4608279729544191004, i64 4616973027840860296, i64 4608270601232692018, i64 4616946462086035498, i64 4608261518636636205, i64 4616920204545004599, i64 4608252481227259970, i64 4616894249777268990, i64 4608243488485104860, i64 4616868592470957037, i64 4608234539899798234, i64 4616843227439023311, i64 4608225634969840394, i64 4616818149615582287, i64 4608216773202397945, i64 4616793354052370974, i64 4608207954113103171, i64 4616768835915335209, i64 4608199177225859223, i64 4616744590481334585, i64 4608190442072650902, i64 4616720613134961225, i64 4608181748193360861, i64 4616696899365467818, i64 4608173095135591024, i64 4616673444763800559, i64 4608164482454489066, i64 4616650245019732831, i64 4608155909712579757, i64 4616627295919095638, i64 4608147376479601025, i64 4616604593341101004, i64 4608138882332344574, i64 4616582133255754698, i64 4608130426854500908, i64 4616559911721354829, i64 4608122009636508605, i64 4616537924882072985, i64 4608113630275407716, i64 4616516168965614751, i64 4608105288374697144, i64 4616494640280956577, i64 4608096983544195878, i64 4616473335216156105, i64 4608088715399907950, i64 4616452250236233157, i64 4608080483563891013, i64 4616431381881118766, i64 4608072287664128394, i64 4616410726763669674, i64 4608064127334404548, i64 4616390281567745891, i64 4608056002214183770, i64 4616370043046348971, i64 4608047911948492091, i64 4616350008019818779, i64 4608039856187802238, i64 4616330173374086609, i64 4608031834587921576, i64 4616310536058982601, i64 4608023846809882930, i64 4616291093086595504, i64 4608015892519838203, i64 4616271841529682890, i64 4608007971388954709, i64 4616252778520130012, i64 4608000083093314121, i64 4616233901247455586, i64 4607992227313813979, i64 4616215206957362827, i64 4607984403736071659, i64 4616196692950334134, i64 4607976612050330742, i64 4616167095105777436, i64 4607968851951369703, i64 4616130772451553755, i64 4607961123138412864, i64 4616094794796843050, i64 4607953425315043523, i64 4616059157154379208, i64 4607945758189119216, i64 4616023854633608191, i64 4607938121472689037, i64 4615988882438341124, i64 4607930514881912960, i64 4615954235864475654, i64 4607922938136983105, i64 4615919910297783266, i64 4607915390962046890, i64 4615885901211760337, i64 4607907873085132014, i64 4615852204165540790, i64 4607900384238073229, i64 4615818814801868287, i64 4607892924156440831, i64 4615785728845125997, i64 4607885492579470840, i64 4615752942099422014, i64 4607878089249996808, i64 4615720450446728621, i64 4607870713914383219, i64 4615688249845073618, i64 4607863366322460432, i64 4615656336326782023, i64 4607856046227461120, i64 4615624705996766516, i64 4607848753385958174, i64 4615593355030865048, i64 4607841487557804021, i64 4615562279674224108, i64 4607834248506071328, i64 4615531476239726172, i64 4607827035996995039, i64 4615500941106459945, i64 4607819849799915727, i64 4615470670718232032, i64 4607812689687224214, i64 4615440661582118733, i64 4607805555434307422, i64 4615410910267056698, i64 4607798446819495436, i64 4615381413402471233, i64 4607791363624009732, i64 4615352167676941090, i64 4607784305631912550, i64 4615323169836898597, i64 4607777272630057369, i64 4615294416685364047, i64 4607770264408040475, i64 4615265905080713302, i64 4607763280758153570, i64 4615237631935477581, i64 4607756321475337410, i64 4615209594215174465, i64 4607749386357136450, i64 4615181788937169164, i64 4607742475203654445, i64 4615154213169565149, i64 4607735587817511014, i64 4615126864030123245, i64 4607728724003799120, i64 4615099738685208354, i64 4607721883570043451, i64 4615072834348762976, i64 4607715066326159678, i64 4615046148281306734, i64 4607708272084414571, i64 4615019677788961138, i64 4607701500659386941, i64 4614993420222498845, i64 4607694751867929403, i64 4614967372976416700, i64 4607688025529130927, i64 4614941533488031861, i64 4607681321464280162, i64 4614915899236600345, i64 4607674639496829511, i64 4614890467742457338, i64 4607667979452359945, i64 4614865236566178654, i64 4607661341158546532, i64 4614840203307762723, i64 4607654724445124665, i64 4614815365605832540, i64 4607648129143856973, i64 4614790721136856990, i64 4607641555088500896, i64 4614766267614391013, i64 4607635002114776911, i64 4614742002788334071, i64 4607628470060337393, i64 4614717924444206411, i64 4607621958764736092, i64 4614694030402442613, i64 4607615468069398219, i64 4614670318517701958, i64 4607608997817591113, i64 4614646786678195142, i64 4607602547854395496, i64 4614623432805026877, i64 4607596118026677279, i64 4614600254851553955, i64 4607589708183059921, i64 4614577250802758349, i64 4607583318173897330, i64 4614554418674634928, i64 4607576947851247276, i64 4614531756513593406, i64 4607570597068845328, i64 4614509262395874133, i64 4607564265682079279, i64 4614486934426977340, i64 4607551660525117186, i64 4614442769500618489, i64 4607539131255566660, i64 4614399247142842338, i64 4607526676773512487, i64 4614356353195740666, i64 4607514296003181804, i64 4614314073919074175, i64 4607501987892234560, i64 4614272395974889454, i64 4607489751411080022, i64 4614231306412813496, i64 4607477585552218163, i64 4614190792655991093, i64 4607465489329604868, i64 4614150842487632480, i64 4607453461778039915, i64 4614111444038140472, i64 4607441501952576753, i64 4614072585772788099, i64 4607429608927953159, i64 4614034256479919391, i64 4607417781798041882, i64 4613996445259647523, i64 4607406019675320437, i64 4613959141513025959, i64 4607394321690359246, i64 4613922334931669605, i64 4607382686991327379, i64 4613886015487804232, i64 4607371114743515154, i64 4613850173424723655, i64 4607359604128872920, i64 4613814799247635240, i64 4607348154345565364, i64 4613779883714875389, i64 4607336764607540711, i64 4613745417829477608, i64 4607325434144114233, i64 4613711392831076746, i64 4607314162199565484, i64 4613677800188133791, i64 4607302948032748728, i64 4613644631590466507, i64 4607291790916716050, i64 4613611878942071901, i64 4607280690138352632, i64 4613579534354227289, i64 4607269644998023752, i64 4613547590138857384, i64 4607258654809233037, i64 4613516038802155471, i64 4607247718898291544, i64 4613484873038447381, i64 4607236836603997263, i64 4613454085724287490, i64 4607226007277324646, i64 4613423669912776571, i64 4607215230281123779, i64 4613393618828091782, i64 4607204504989828859, i64 4613363925860219605, i64 4607193830789175602, i64 4613334584559882961, i64 4607183207075927285, i64 4613305588633654191, i64 4607162847715200753, i64 4613276931939245982, i64 4607141798704483393, i64 4613248608480972693, i64 4607120847176252494, i64 4613220612405374929, i64 4607099992007099037, i64 4613192937997000519, i64 4607079232093166909, i64 4613165579674335401, i64 4607058566349696059, i64 4613138531985878223, i64 4607037993710579019, i64 4613111789606352751, i64 4607017513127930293, i64 4613085347333052459, i64 4606997123571668192, i64 4613059200082311938, i64 4606976824029108663, i64 4613033342886100000, i64 4606956613504570710, i64 4613007770888729601, i64 4606936491018993013, i64 4612982479343679920, i64 4606916455609561358, i64 4612957463610526148, i64 4606896506329346518, i64 4612932719151972734, i64 4606876642246952223, i64 4612908241530986047, i64 4606856862446172900, i64 4612884026408022554, i64 4606837166025660845, i64 4612860069538348843, i64 4606817552098602516, i64 4612836366769449914, i64 4606798019792403652, i64 4612812914038522392, i64 4606778568248382928, i64 4612789707370049392, i64 4606759196621473871, i64 4612766742873453969, i64 4606739904079934761, i64 4612744016740828160, i64 4606720689805066275, i64 4612721525244734817, i64 4606701552990936612, i64 4612699264736079488, i64 4606682492844113870, i64 4612677231642049761, i64 4606663508583405446, i64 4612655422464119583, i64 4606644599439604233, i64 4612633833776116168, i64 4606625764655241400, i64 4612612462222347199, i64 4606607003484345567, i64 4612591304515786157, i64 4606588315192208148, i64 4612570357436313653, i64 4606569699055154701, i64 4612549617829012769, i64 4606551154360322081, i64 4612529082602516466, i64 4606532680405441231, i64 4612508748727405218, i64 4606514276498625434, i64 4612488613234653084, i64 4606495941958163864, i64 4612468673214120520, i64 4606477676112320269, i64 4612448925813092294, i64 4606459478299136657, i64 4612429368234858933, i64 4606441347866241797, i64 4612409997737340188, i64 4606423284170664435, i64 4612390811631749074, i64 4606405286578651052, i64 4612371807281295089, i64 4606387354465488055, i64 4612352982099925275, i64 4606369487215328255, i64 4612334333551101839, i64 4606351684221021523, i64 4612315859146615086, i64 4606333944883949490, i64 4612297556445430496, i64 4606316268613864181, i64 4612279423052568777, i64 4606298654828730476, i64 4612261456618017816, i64 4606281102954572277, i64 4612243654835675465, i64 4606263612425322287, i64 4612226015442322130, i64 4606246182682675298, i64 4612208536216622212, i64 4606228813175944877, i64 4612191214978153423, i64 4606211503361923381, i64 4612174049586463107, i64 4606194252704745178, i64 4612157037940150656, i64 4606177060675753011, i64 4612140177975975207, i64 4606159926753367402, i64 4612123467667987796, i64 4606142850422959025, i64 4612106905026687188, i64 4606125831176723958, i64 4612090488098198638, i64 4606108868513561737, i64 4612074214963474851, i64 4606091961938956143, i64 4612058083737518442, i64 4606075110964858644, i64 4612042092568625227, i64 4606058315109574420, i64 4612026239637647692, i64 4606041573897650903, i64 4612010523157278010, i64 4606024886859768767, i64 4611994941371350008, i64 4606008253532635304, i64 4611979492554159494, i64 4605991673458880122, i64 4611964175009802391, i64 4605975146186953099, i64 4611948987071530120, i64 4605958671271024546, i64 4611933927101121722, i64 4605942248270887514, i64 4611918993488272206, i64 4605925876751862185, i64 4611904184649996634, i64 4605909556284702310, i64 4611889499030049474, i64 4605893286445503621, i64 4611874935098358763, i64 4605877066815614184, i64 4611860491350474641, i64 4605860896981546633, i64 4611846166307031835, i64 4605844776534892243, i64 4611831958513225666, i64 4605828705072236792, i64 4611817866538301208, i64 4605812682195078173, i64 4611803888975055190, i64 4605796707509745705, i64 4611790024439350283, i64 4605780780627321106, i64 4611776271569641415, i64 4605764901163561088, i64 4611762629026513758, i64 4605749068738821526, i64 4611749095492232060, i64 4605733282977983172, i64 4611735669670300992, i64 4605717543510378874, i64 4611722350285036197, i64 4605701849969722258, i64 4611709136081145744, i64 4605686201994037841, i64 4611696025823321682, i64 4605670599225592545, i64 4611680018164294930, i64 4605655041310828574, i64 4611654206176969373, i64 4605639527900297613, i64 4611628594901859135, i64 4605624058648596342, i64 4611603182020435981, i64 4605608633214303202, i64 4611577965250339091, i64 4605593251259916410, i64 4611552942344668111, i64 4605577912451793180, i64 4611528111091292799, i64 4605562616460090123, i64 4611503469312178808, i64 4605547362958704804, i64 4611479014862729169, i64 4605532151625218423, i64 4611454745631141038, i64 4605516982140839597, i64 4611430659537777312, i64 4605501854190349217, i64 4611406754534552699, i64 4605471721647695208, i64 4611359479760353238, i64 4605441751544918987, i64 4611312905532441363, i64 4605411941483482343, i64 4611267016542546467, i64 4605382289117056926, i64 4611221797932909135, i64 4605352792149993519, i64 4611177235279728818, i64 4605323448335847346, i64 4611133314577339194, i64 4605294255475956955, i64 4611090022223074054, i64 4605265211418074347, i64 4611047345002788716, i64 4605236314055044142, i64 4611005270077003970, i64 4605207561323529678, i64 4610963784967641469, i64 4605178951202784054, i64 4610922877545321222, i64 4605150481713464204, i64 4610882536017193523, i64 4605122150916486217, i64 4610842748915279176, i64 4605093956911920175, i64 4610803505085293352, i64 4605065897837922871, i64 4610764793675929762, i64 4605037971869706869, i64 4610726604128583113, i64 4605010177218544404, i64 4610688926167489008, i64 4604982512130804732, i64 4610651749790261590, i64 4604954974887023568, i64 4610615065258810275, i64 4604927563801003340, i64 4610578863090617926, i64 4604900277218943039, i64 4610543134050363742, i64 4604873113518596490, i64 4610507869141875027, i64 4604846071108457939, i64 4610473059600392833, i64 4604819148426973894, i64 4610438696885137235, i64 4604792343941780203, i64 4610404772672158750, i64 4604765656148963401, i64 4610371278847463098, i64 4604739083572345408, i64 4610338207500397136, i64 4604712624762790679, i64 4610305550917284449, i64 4604686278297534980, i64 4610273301575299624, i64 4604660042779534968, i64 4610241452136570804, i64 4604633916836837801, i64 4610209995442500630, i64 4604607899121970055, i64 4610178924508296155, i64 4604581988311345216, i64 4610148232517698806, i64 4604556183104689093, i64 4610117912817905862, i64 4604530482224482486, i64 4610087958914675374, i64 4604504884415420492, i64 4610058364467606800, i64 4604479388443887863, i64 4610029123285590034, i64 4604453993097449827, i64 4610000229322415830, i64 4604428697184357847, i64 4609971676672540967, i64 4604403499533069769, i64 4609943459567001803, i64 4604378398991783878, i64 4609915572369470176, i64 4604353394427986366, i64 4609888009572445883, i64 4604328484728011750, i64 4609860765793580221, i64 4604303668796615808, i64 4609833835772125365, i64 4604278945556560580, i64 4609807214365504547, i64 4604254313948211058, i64 4609780896545998266, i64 4604229772929143137, i64 4609754877397541966, i64 4604205321473762479, i64 4609729152112630804, i64 4604180958572933904, i64 4609703715989327353, i64 4604156683233620970, i64 4609678564428368253, i64 4604132494478535407, i64 4609653692930366001, i64 4604108391345796071, i64 4609629097093102237, i64 4604084372888597121, i64 4609604772608909049, i64 4604060438174885116, i64 4609580715262134964, i64 4604036586287044730, i64 4609556920926692435, i64 4604012816321592837, i64 4609533385563683774, i64 4603989127388880670, i64 4609510105219102619, i64 4603965518612803820, i64 4609487076021608122, i64 4603941989130519807, i64 4609464294180369188, i64 4603918538092173011, i64 4609441755982976209, i64 4603895164660626704, i64 4609419457793417813, i64 4603871868011201990, i64 4609397396050120285, i64 4603848647331423418, i64 4609375567264047396, i64 4603825501820771073, i64 4609353968016858480, i64 4603802430690438951, i64 4609332594959122662, i64 4603779433163099418, i64 4609311444808587273, i64 4603756508472673569, i64 4609290514348498505, i64 4603733655864107317, i64 4609269800425972497, i64 4603710874593153041, i64 4609249299950415081, i64 4603688163926156609, i64 4609229009891988485, i64 4603665523139849645, i64 4609208927280123387, i64 4603642951521146861, i64 4609189049202074742, i64 4603620448366948318, i64 4609169372801519892, i64 4603598012983946472, i64 4609149895277197512, i64 4603575644688437856, i64 4609130613881586019, i64 4603553342806139278, i64 4609111525919620087, i64 4603531106672008393, i64 4609092628747444019, i64 4603508935630068533, i64 4609073919771200722, i64 4603486829033237663, i64 4609055396445855104, i64 4603464786243161361, i64 4609037056274050770, i64 4603442806630049692, i64 4609018896804998891, i64 4603420889572517877, i64 4609000915633398222, i64 4603399034457430652, i64 4608983110398385231, i64 4603377240679750203, i64 4608965478782513369, i64 4603355507642387596, i64 4608948018510760540, i64 4603333834756057582, i64 4608930727349563863, i64 4603312221439136714, i64 4608913603105880851, i64 4603290667117524650, i64 4608896643626276162, i64 4603269171224508596, i64 4608879846796033125, i64 4603247733200630762, i64 4608863210538289233, i64 4603226352493558788, i64 4608846732813194879, i64 4603205028557959031, i64 4608830411617094584, i64 4603183760855372655, i64 4608814244981730033, i64 4603162548854094438, i64 4608798230973464226, i64 4603141392029054239, i64 4608782367692526118, i64 4603120289861701030, i64 4608766653272275085, i64 4603099241839889459, i64 4608751085878484639, i64 4603078247457768842, i64 4608735663708644788, i64 4603057306215674553, i64 4608720384991282489, i64 4603036417620021731, i64 4608705247985299628, i64 4603015581183201243, i64 4608690250979328023, i64 4602994796423477862, i64 4608675392291100930, i64 4602974062864890586, i64 4608660670266840554, i64 4602953380037155053, i64 4608646083280661099, i64 4602932747475567992, i64 4608631629733986905, i64 4602912164720913669, i64 4608617308054985204, i64 4602891631319372270, i64 4608603116698013094, i64 4602871146822430170, i64 4608589054143078302, i64 4602850710786792052, i64 4608575118895313334, i64 4602830322774294820, i64 4608561309484462633, i64 4602809982351823265, i64 4608547624464382369, i64 4602789689091227445, i64 4608534062412552489, i64 4602769442569241728, i64 4608520621929600695, i64 4602749242367405469, i64 4608507301638837988, i64 4602729088071985270, i64 4608494100185805478, i64 4602708979273898792, i64 4608481016237832111, i64 4602688915568640079, i64 4608468048483603039, i64 4602658973939765810, i64 4608455195632738306, i64 4602619024509405675, i64 4608442456415381581, i64 4602579162891132304, i64 4608429829581798659, i64 4602539388311109352, i64 4608417313901985447, i64 4602499700003949393, i64 4608404908165285188, i64 4602460097212581269, i64 4608392611180014660, i64 4602420579188119987, i64 4608380421773099115, i64 4602381145189739123, i64 4608368338789715710, i64 4602341794484545662, i64 4608356361092945204, i64 4602302526347457223, i64 4608344487563431706, i64 4602263340061081610, i64 4608332717099050238, i64 4602224234915598641, i64 4608321048614581932, i64 4602185210208644199, i64 4608309481041396625, i64 4602146265245196457, i64 4608298013327142690, i64 4602107399337464221, i64 4608286644435443876, i64 4602068611804777357, i64 4608275373345603009, i64 4602029901973479234, i64 4608264199052312336, i64 4601991269176821166, i64 4608253120565370379, i64 4601952712754858774, i64 4608242136909405085, i64 4601914232054350259, i64 4608231247123603153, i64 4601875826428656523, i64 4608220450261445345, i64 4601837495237643094, i64 4608209745390447639, i64 4601799237847583840, i64 4608199131591908083, i64 4601761053631066399, i64 4608188607960659185, i64 4601722941966899318, i64 4608178173604825717, i64 4601684902240020843, i64 4608167827645587782, i64 4601646933841409336, i64 4608157569216949021, i64 4601609036167995274, i64 4608147397465509821, i64 4601571208622574806, i64 4608137311550245406, i64 4601533450613724830, i64 4608127310642288688, i64 4601495761555719553, i64 4608117393924717757, i64 4601458140868448512, i64 4608107560592347895, i64 4601420587977336015, i64 4608097809851528004, i64 4601383102313261981, i64 4608088140919941335, i64 4601345683312484139, i64 4608078553026410427, i64 4601308330416561570, i64 4608069045410706127, i64 4601271043072279554, i64 4608059617323360616, i64 4601233820731575697, i64 4608050268025484336, i64 4601196662851467314, i64 4608040996788586714, i64 4601159568893980041, i64 4608031802894400605, i64 4601122538326077647, i64 4608022685634710361, i64 4601085570619593027, i64 4608013644311183432, i64 4601048665251160351, i64 4608004678235205426, i64 4601011821702148333, i64 4607995786727718533, i64 4600975039458594621, i64 4607986969119063251, i64 4600938318011141261, i64 4607978224748823317, i64 4600901656854971230, i64 4607969552965673775, i64 4600865055489746009, i64 4607960953127232121, i64 4600828513419544171, i64 4607952424599912426, i64 4600792030152800978, i64 4607943966758782393, i64 4600755605202248949, i64 4607935578987423266, i64 4600719238084859395, i64 4607927260677792527, i64 4600682928321784892, i64 4607919011230089326, i64 4600646675438302674, i64 4607910830052622561, i64 4600610478963758937, i64 4607902716561681579, i64 4600574338431514022, i64 4607894670181409398, i64 4600538253378888472, i64 4607886690343678434, i64 4600502223347109942, i64 4607878776487968643, i64 4600466247881260938, i64 4607870928061248046, i64 4600430326530227381, i64 4607863144517855569, i64 4600394458846647972, i64 4607855425319386157, i64 4600358644386864348, i64 4607847769934578100, i64 4600322882710872002, i64 4607840177839202535, i64 4600287173382271973, i64 4607832648515955062, i64 4600251515968223267, i64 4607825181454349441, i64 4600215910039396017, i64 4607817776150613308, i64 4600180355169925350, i64 4607810432107585887, i64 4600144850937365963, i64 4607803148834617630, i64 4600109396922647380, i64 4607795925847471761, i64 4600073992710029890, i64 4607788762668227682, i64 4600038637887061145, i64 4607781658825186182, i64 4600003332044533405, i64 4607774613852776438, i64 4599968074776441430, i64 4607767627291464745, i64 4599932865679940988, i64 4607760698687664952, i64 4599897704355307981, i64 4607753827593650565, i64 4599862590405898178, i64 4607747013567468476, i64 4599827523438107532, i64 4607740256172854289, i64 4599792503061333085, i64 4607733554979149211, i64 4599757528887934440, i64 4607726909561218465, i64 4599722600533195790, i64 4607720319499371209, i64 4599687717615288501, i64 4607713784379281908, i64 4599652879755234233, i64 4607707303791913152, i64 4599618086576868590, i64 4607700877333439875, i64 4599583337706805289, i64 4607694504605174946, i64 4599548632774400840, i64 4607688185213496111, i64 4599513971411719729, i64 4607681918769774255, i64 4599479353253500091, i64 4607675704890302955, i64 4599444777937119870, i64 4607669543196229297, i64 4599410245102563444, i64 4607663433313485938, i64 4599375754392388733, i64 4607657374872724377, i64 4599341305451694744, i64 4607651367509249421, i64 4599306897928089587, i64 4607645410862954817, i64 4599272531471658915, i64 4607639504578260021, i64 4599238205734934807, i64 4607633648304048094, i64 4599203920372865078, i64 4607627841693604693, i64 4599169675042783003, i64 4607622084404558133, i64 4599135469404377454, i64 4607616376098820512, i64 4599101303119663442, i64 4607610716442529860, i64 4599067175852953056, i64 4607605105105993307, i64 4599033087270826790, i64 4607599541763631243, i64 4598999037042105258, i64 4607594026093922448, i64 4598965024837821277, i64 4607588557779350180, i64 4598931050331192331, i64 4607583136506349199, i64 4598897113197593389, i64 4607577761965253705, i64 4598863213114530085, i64 4607572433850246180, i64 4598829349761612252, i64 4607567151859307110, i64 4598795522820527791, i64 4607561915694165575, i64 4598761731975016892, i64 4607556725060250684, i64 4598727976910846576, i64 4607551579666643846, i64 4598694257315785578, i64 4607546479226031858, i64 4598660572879579536, i64 4607541423454660792, i64 4598626923293926513, i64 4607536412072290672, i64 4598593308252452818, i64 4607531444802150917, i64 4598559727450689137, i64 4607526521370896549, i64 4598526180586046969, i64 4607521641508565135, i64 4598492667357795346, i64 4607516804948534462, i64 4598459187467037859, i64 4607512011427480932, i64 4598425740616689956, i64 4607507260685338649, i64 4598392326511456529, i64 4607502552465259205, i64 4598358944857809773, i64 4607497886513572137, i64 4598325595363967321, i64 4607493262579746049, i64 4598292277739870637, i64 4607488680416350389, i64 4598258991697163685, i64 4607484139779017859, i64 4598225736949171842, i64 4607479640426407464, i64 4598192513210881074, i64 4607475182120168170, i64 4598143420852558300, i64 4607470764624903168, i64 4598077095717776287, i64 4607466387708134740, i64 4598010830911830181, i64 4607462051140269703, i64 4597944625877569942, i64 4607457754694565432, i64 4597878480060965759, i64 4607453498147096438, i64 4597812392911069266, i64 4607449281276721515, i64 4597746363879975218, i64 4607445103865051416, i64 4597680392422783596, i64 4607440965696417074, i64 4597614477997562166, i64 4607436866557838343, i64 4597548620065309451, i64 4607432806238993257, i64 4597482818089918134, i64 4607428784532187796, i64 4597417071538138878, i64 4607424801232326150, i64 4597351379879544546, i64 4607420856136881475, i64 4597285742586494832, i64 4607416949045867129, i64 4597252944162915018, i64 4607415009690213116, i64 4597220159134101278, i64 4607413079761808376, i64 4597187387434866857, i64 4607411159236356485, i64 4597154629000192687, i64 4607409248089714566, i64 4597121883765226329, i64 4607407346297892433, i64 4597089151665280915, i64 4607405453837051764, i64 4597056432635834105, i64 4607403570683505261, i64 4597023726612527038, i64 4607401696813715832, i64 4596991033531163301, i64 4607399832204295772, i64 4596958353327707891, i64 4607397976832005951, i64 4596925685938286195, i64 4607396130673755013, i64 4596893031299182967, i64 4607394293706598577, i64 4596860389346841312, i64 4607392465907738449, i64 4596827760017861678, i64 4607390647254521832, i64 4596795143249000854, i64 4607388837724440555, i64 4596762538977170966, i64 4607387037295130300, i64 4596729947139438490, i64 4607385245944369835, i64 4596697367673023259, i64 4607383463650080256, i64 4596664800515297482, i64 4607381690390324237, i64 4596632245603784768, i64 4607379926143305281, i64 4596599702876159149, i64 4607378170887366984, i64 4596567172270244117, i64 4607376424600992296, i64 4596534653724011662, i64 4607374687262802797, i64 4596502147175581310, i64 4607372958851557973, i64 4596469652563219174, i64 4607371239346154503, i64 4596437169825337008, i64 4607369528725625544, i64 4596404698900491261, i64 4607367826969140033, i64 4596372239727382140, i64 4607366134056001985, i64 4596339792244852681, i64 4607364449965649800, i64 4596307356391887815, i64 4607362774677655577, i64 4596274932107613449, i64 4607361108171724435, i64 4596242519331295547, i64 4607359450427693835, i64 4596210118002339214, i64 4607357801425532909, i64 4596177728060287787, i64 4607356161145341799, i64 4596145349444821934, i64 4607354529567350995, i64 4596112982095758747, i64 4607352906671920682, i64 4596080625953050852, i64 4607351292439540094, i64 4596048280956785516, i64 4607349686850826868, i64 4596015947047183759, i64 4607348089886526411, i64 4595983624164599474, i64 4607346501527511262, i64 4595951312249518546, i64 4607344921754780470, i64 4595919011242557981, i64 4607343350549458969, i64 4595886721084465033, i64 4607341787892796964, i64 4595854441716116345, i64 4607340233766169317, i64 4595822173078517079, i64 4607338688151074945, i64 4595789915112800070, i64 4607337151029136211, i64 4595757667760224963, i64 4607335622382098335, i64 4595725430962177372, i64 4607334102191828800, i64 4595693204660168030, i64 4607332590440316763, i64 4595660988795831953, i64 4607331087109672477, i64 4595628783310927602, i64 4607329592182126713, i64 4595596588147336049, i64 4607328105640030187, i64 4595564403247060151, i64 4607326627465852994, i64 4595532228552223724, i64 4607325157642184045, i64 4595500064005070721, i64 4607323696151730509, i64 4595467909547964420, i64 4607322242977317261, i64 4595435765123386604, i64 4607320798101886333, i64 4595403630673936758, i64 4607319361508496368, i64 4595371506142331259, i64 4607317933180322084, i64 4595339391471402577, i64 4607316513100653737, i64 4595307286604098476, i64 4607315101252896593, i64 4595275191483481220, i64 4607313697620570398, i64 4595243106052726780, i64 4607312302187308861, i64 4595211030255124050, i64 4607310914936859134, i64 4595178964034074060, i64 4607309535853081302, i64 4595146907333089200, i64 4607308164919947871, i64 4595114860095792439, i64 4607306802121543267, i64 4595082822265916555, i64 4607305447442063335, i64 4595050793787303364, i64 4607304100865814844, i64 4595018774603902952, i64 4607302762377214995, i64 4594986764659772917, i64 4607301431960790935, i64 4594954763899077604, i64 4607300109601179272, i64 4594922772266087352, i64 4607298795283125598, i64 4594890789705177740, i64 4607297488991484012, i64 4594858816160828839, i64 4607296190711216653, i64 4594826851577624461, i64 4607294900427393229, i64 4594794895900251423, i64 4607293618125190558, i64 4594762949073498800, i64 4607292343789892105, i64 4594731011042257192, i64 4607291077406887531, i64 4594699081751517990, i64 4607289818961672241, i64 4594667161146372645, i64 4607288568439846936, i64 4594635249172011940, i64 4607287325827117172, i64 4594603345773725267, i64 4607286091109292916, i64 4594571450896899902, i64 4607284864272288116, i64 4594539564487020292, i64 4607283645302120268, i64 4594507686489667335, i64 4607282434184909984, i64 4594475816850517671, i64 4607281230906880573, i64 4594443955515342968, i64 4607280035454357618, i64 4594412102430009220, i64 4607278847813768557, i64 4594380257540476041, i64 4607277667971642276, i64 4594348420792795964, i64 4607276495914608692, i64 4594316592133113743, i64 4607275331629398353, i64 4594284771507665657, i64 4607274175102842032, i64 4594252958862778820, i64 4607273026321870330, i64 4594221154144870489, i64 4607271885273513279, i64 4594189357300447376, i64 4607270751944899953, i64 4594157568276104968, i64 4607269626323258077, i64 4594125787018526838, i64 4607268508395913643, i64 4594094013474483975, i64 4607267398150290529, i64 4594062247590834098, i64 4607266295573910121, i64 4594030489314520992, i64 4607265200654390939, i64 4593998738592573829, i64 4607264113379448264, i64 4593966995372106501, i64 4607263033736893771, i64 4593935259600316959, i64 4607261961714635167, i64 4593903531224486541, i64 4607260897300675825, i64 4593871810191979318, i64 4607259840483114430, i64 4593840096450241433, i64 4607258791250144623, i64 4593808389946800441, i64 4607257749590054649, i64 4593776690629264662, i64 4607256715491227010, i64 4593744998445322526, i64 4607255688942138121, i64 4593713313342741921, i64 4607254669931357965, i64 4593681635269369553, i64 4607253658447549756, i64 4593628308428354673, i64 4607252654479469606, i64 4593564980086147188, i64 4607251658015966188, i64 4593501665490369313, i64 4607250669045980411, i64 4593438364537332133, i64 4607249687558545094, i64 4593375077123497963, i64 4607248713542784636, i64 4593311803145479083, i64 4607247746987914707, i64 4593248542500036479, i64 4607246787883241922, i64 4593185295084078582, i64 4607245836218163532, i64 4593122060794660016, i64 4607244891982167111, i64 4593058839528980351, i64 4607243955164830248, i64 4592995631184382858, i64 4607243025755820245, i64 4592932435658353268, i64 4607242103744893809, i64 4592869252848518537, i64 4607241189121896761, i64 4592806082652645614, i64 4607240281876763733, i64 4592742924968640211, i64 4607239381999517876, i64 4592679779694545584, i64 4607238489480270574, i64 4592648211679390637, i64 4607238045976830243, i64 4592616646728541308, i64 4607237604309221152, i64 4592585084829291145, i64 4607237164476231911, i64 4592553525968942064, i64 4607236726476656592, i64 4592521970134804312, i64 4607236290309294716, i64 4592490417314196428, i64 4607235855972951252, i64 4592458867494445208, i64 4607235423466436600, i64 4592427320662885662, i64 4607234992788566588, i64 4592395776806860983, i64 4607234563938162462, i64 4592364235913722507, i64 4607234136914050876, i64 4592332697970829672, i64 4607233711715063887, i64 4592301162965549987, i64 4607233288340038940, i64 4592269630885258990, i64 4607232866787818868, i64 4592238101717340212, i64 4607232447057251879, i64 4592206575449185140, i64 4607232029147191545, i64 4592175052068193181, i64 4607231613056496801, i64 4592143531561771623, i64 4607231198784031931, i64 4592112013917335599, i64 4607230786328666560, i64 4592080499122308049, i64 4607230375689275650, i64 4592048987164119684, i64 4607229966864739488, i64 4592017478030208952, i64 4607229559853943680, i64 4591985971708021994, i64 4607229154655779141, i64 4591954468185012615, i64 4607228751269142089, i64 4591922967448642241, i64 4607228349692934037, i64 4591891469486379888, i64 4607227949926061783, i64 4591859974285702120, i64 4607227551967437406, i64 4591828481834093017, i64 4607227155815978253, i64 4591796992119044137, i64 4607226761470606936, i64 4591765505128054478, i64 4607226368930251322, i64 4591734020848630442, i64 4607225978193844525, i64 4591702539268285802, i64 4607225589260324899, i64 4591671060374541662, i64 4607225202128636032, i64 4591639584154926423, i64 4607224816797726736, i64 4591608110596975745, i64 4607224433266551038, i64 4591576639688232511, i64 4607224051534068180, i64 4591545171416246795, i64 4607223671599242601, i64 4591513705768575820, i64 4607223293461043939, i64 4591482242732783926, i64 4607222917118447018, i64 4591450782296442533, i64 4607222542570431843, i64 4591419324447130105, i64 4607222169815983591, i64 4591387869172432114, i64 4607221798854092607, i64 4591356416459941006, i64 4607221429683754392, i64 4591324966297256162, i64 4607221062303969602, i64 4591293518671983867, i64 4607220696713744033, i64 4591262073571737268, i64 4607220332912088623, i64 4591230630984136345, i64 4607219970898019438, i64 4591199190896807873, i64 4607219610670557666, i64 4591167753297385383, i64 4607219252228729614, i64 4591136318173509134, i64 4607218895571566697, i64 4591104885512826070, i64 4607218540698105433, i64 4591073455302989791, i64 4607218187607387436, i64 4591042027531660512, i64 4607217836298459409, i64 4591010602186505033, i64 4607217486770373137, i64 4590979179255196700, i64 4607217139022185479, i64 4590947758725415373, i64 4607216793052958365, i64 4590916340584847388, i64 4607216448861758787, i64 4590884924821185524, i64 4607216106447658792, i64 4590853511422128967, i64 4607215765809735475, i64 4590822100375383276, i64 4607215426947070974, i64 4590790691668660346, i64 4607215089858752465, i64 4590759285289678377, i64 4607214754543872150, i64 4590727881226161834, i64 4607214421001527258, i64 4590696479465841418, i64 4607214089230820030, i64 4590665079996454027, i64 4607213759230857723, i64 4590633682805742722, i64 4607213431000752593, i64 4590602287881456695, i64 4607213104539621897, i64 4590570895211351231, i64 4607212779846587883, i64 4590539504783187675, i64 4607212456920777783, i64 4590508116584733398, i64 4607212135761323810, i64 4590476730603761763, i64 4607211816367363149, i64 4590445346828052087, i64 4607211498738037953, i64 4590413965245389612, i64 4607211182872495335, i64 4590382585843565467, i64 4607210868769887365, i64 4590351208610376633, i64 4607210556429371059, i64 4590319833533625914, i64 4607210245850108379, i64 4590288460601121895, i64 4607209937031266223, i64 4590257089800678915, i64 4607209629972016421, i64 4590225721120117028, i64 4607209324671535728, i64 4590194354547261973, i64 4607209021129005818, i64 4590162990069945137, i64 4607208719343613281, i64 4590131627676003519, i64 4607208419314549615, i64 4590100267353279703, i64 4607208121041011219, i64 4590068909089621818, i64 4607207824522199391, i64 4590037552872883505, i64 4607207529757320320, i64 4590006198690923885, i64 4607207236745585081, i64 4589974846531607526, i64 4607206945486209627, i64 4589943496382804405, i64 4607206655978414790, i64 4589912148232389879, i64 4607206368221426269, i64 4589880802068244647, i64 4607206082214474627, i64 4589849457878254719, i64 4607205797956795287, i64 4589818115650311384, i64 4607205515447628524, i64 4589786775372311172, i64 4607205234686219461, i64 4589755437032155823, i64 4607204955671818064, i64 4589724100617752254, i64 4607204678403679138, i64 4589692766117012524, i64 4607204402881062318, i64 4589661433517853803, i64 4607204129103232068, i64 4589630102808198334, i64 4607203857069457672, i64 4589598773975973405, i64 4607203586779013232, i64 4589567447009111313, i64 4607203318231177663, i64 4589536121895549328, i64 4607203051425234684, i64 4589504798623229667, i64 4607202786360472819, i64 4589473477180099454, i64 4607202523036185387, i64 4589442157554110688, i64 4607202261451670499, i64 4589410839733220214, i64 4607202001606231053, i64 4589379523705389686, i64 4607201743499174731, i64 4589348209458585532, i64 4607201487129813989, i64 4589316896980778929, i64 4607201232497466058, i64 4589285586259945759, i64 4607200979601452938, i64 4589254277284066587, i64 4607200728441101389, i64 4589222970041126619, i64 4607200479015742932, i64 4589191664519115675, i64 4607200231324713840, i64 4589152701121520880, i64 4607199985367355137, i64 4589090096889190567, i64 4607199741143012591, i64 4589027496026711902, i64 4607199498651036708, i64 4588964898510100760, i64 4607199257890782734, i64 4588902304315381912, i64 4607199018861610642, i64 4588839713418588961, i64 4607198781562885133, i64 4588777125795764272, i64 4607198545993975632, i64 4588714541422958910, i64 4607198312154256280, i64 4588651960276232573, i64 4607198080043105932, i64 4588589382331653530, i64 4607197849659908152, i64 4588526807565298549, i64 4607197621004051210, i64 4588464235953252841, i64 4607197394074928076, i64 4588401667471609987, i64 4607197168871936417, i64 4588339102096471879, i64 4607196945394478592, i64 4588276539803948648, i64 4607196723641961648, i64 4588213980570158608, i64 4607196503613797317, i64 4588151424371228183, i64 4607196285309402012, i64 4588120147402377037, i64 4607196176803436650, i64 4588088871183291848, i64 4607196068728196818, i64 4588057595710990672, i64 4607195961083610882, i64 4588026320982492061, i64 4607195853869607498, i64 4587995046994815058, i64 4607195747086115616, i64 4587963773744979199, i64 4607195640733064478, i64 4587932501230004508, i64 4607195534810383615, i64 4587901229446911496, i64 4607195429318002851, i64 4587869958392721157, i64 4607195324255852301, i64 4587838688064454972, i64 4607195219623862369, i64 4587807418459134899, i64 4607195115421963754, i64 4587776149573783376, i64 4607195011650087442, i64 4587744881405423320, i64 4607194908308164711, i64 4587713613951078118, i64 4607194805396127130, i64 4587682347207771636, i64 4607194702913906558, i64 4587651081172528204, i64 4607194600861435145, i64 4587619815842372627, i64 4607194499238645329, i64 4587588551214330172, i64 4607194398045469840, i64 4587557287285426574, i64 4607194297281841699, i64 4587526024052688029, i64 4607194196947694214, i64 4587494761513141195, i64 4607194097042960984, i64 4587463499663813186, i64 4607193997567575899, i64 4587432238501731576, i64 4607193898521473137, i64 4587400978023924393, i64 4607193799904587164, i64 4587369718227420116, i64 4607193701716852740, i64 4587338459109247676, i64 4607193603958204908, i64 4587307200666436453, i64 4607193506628579005, i64 4587275942896016273, i64 4607193409727910655, i64 4587244685795017408, i64 4607193313256135770, i64 4587213429360470569, i64 4607193217213190553, i64 4587182173589406913, i64 4607193121599011493, i64 4587150918478858033, i64 4607193026413535370, i64 4587119664025855957, i64 4607192931656699250, i64 4587088410227433151, i64 4607192837328440490, i64 4587057157080622512, i64 4607192743428696732, i64 4587025904582457369, i64 4607192649957405908, i64 4586994652729971477, i64 4607192556914506239, i64 4586963401520199021, i64 4607192464299936231, i64 4586932150950174608, i64 4607192372113634680, i64 4586900901016933270, i64 4607192280355540669, i64 4586869651717510459, i64 4607192189025593568, i64 4586838403048942045, i64 4607192098123733036, i64 4586807155008264316, i64 4607192007649899017, i64 4586775907592513974, i64 4607191917604031744, i64 4586744660798728134, i64 4607191827986071736, i64 4586713414623944322, i64 4607191738795959801, i64 4586682169065200472, i64 4607191650033637032, i64 4586650924119534926, i64 4607191561699044808, i64 4586619679783986431, i64 4607191473792124798, i64 4586588436055594136, i64 4607191386312818956, i64 4586557192931397590, i64 4607191299261069520, i64 4586525950408436744, i64 4607191212636819018, i64 4586494708483751943, i64 4607191126440010264, i64 4586463467154383928, i64 4607191040670586355, i64 4586432226417373833, i64 4607190955328490678, i64 4586400986269763184, i64 4607190870413666904, i64 4586369746708593894, i64 4607190785926058990, i64 4586338507730908263, i64 4607190701865611180, i64 4586307269333748979, i64 4607190618232268002, i64 4586276031514159111, i64 4607190535025974270, i64 4586244794269182108, i64 4607190452246675086, i64 4586213557595861800, i64 4607190369894315835, i64 4586182321491242393, i64 4607190287968842186, i64 4586151085952368470, i64 4607190206470200098, i64 4586119850976284984, i64 4607190125398335810, i64 4586088616560037263, i64 4607190044753195851, i64 4586057382700671000, i64 4607189964534727030, i64 4586026149395232260, i64 4607189884742876444, i64 4585994916640767470, i64 4607189805377591475, i64 4585963684434323420, i64 4607189726438819789, i64 4585932452772947265, i64 4607189647926509335, i64 4585901221653686514, i64 4607189569840608350, i64 4585869991073589039, i64 4607189492181065352, i64 4585838761029703064, i64 4607189414947829146, i64 4585807531519077166, i64 4607189338140848820, i64 4585776302538760277, i64 4607189261760073746, i64 4585745074085801675, i64 4607189185805453580, i64 4585713846157250987, i64 4607189110276938264, i64 4585682618750158186, i64 4607189035174478021, i64 4585651391861573588, i64 4607188960498023360, i64 4585620165488547850, i64 4607188886247525074, i64 4585588939628131972, i64 4607188812422934236, i64 4585557714277377287, i64 4607188739024202208, i64 4585526489433335467, i64 4607188666051280632, i64 4585495265093058517, i64 4607188593504121434, i64 4585464041253598773, i64 4607188521382676824, i64 4585432817912008903, i64 4607188449686899295, i64 4585401595065341901, i64 4607188378416741622, i64 4585370372710651088, i64 4607188307572156865, i64 4585339150844990109, i64 4607188237153098367, i64 4585307929465412930, i64 4607188167159519751, i64 4585276708568973837, i64 4607188097591374928, i64 4585245488152727437, i64 4607188028448618086, i64 4585214268213728650, i64 4607187959731203700, i64 4585183048749032712, i64 4607187891439086526, i64 4585151829755695170, i64 4607187823572221602, i64 4585120611230771882, i64 4607187756130564250, i64 4585089393171319015, i64 4607187689114070074, i64 4585058175574393042, i64 4607187622522694958, i64 4585026958437050739, i64 4607187556356395072, i64 4584995741756349186, i64 4607187490615126865, i64 4584964525529345764, i64 4607187425298847070, i64 4584933309753098152, i64 4607187360407512702, i64 4584902094424664325, i64 4607187295941081057, i64 4584870879541102553, i64 4607187231899509712, i64 4584839665099471399, i64 4607187168282756529, i64 4584808451096829717, i64 4607187105090779649, i64 4584777237530236650, i64 4607187042323537495, i64 4584746024396751626, i64 4607186979980988773, i64 4584714811693434361, i64 4607186918063092469, i64 4584683599417344851, i64 4607186856569807851, i64 4584640354467921822, i64 4607186795501094468, i64 4584577931607016054, i64 4607186734856912152, i64 4584515509582929138, i64 4607186674637221014, i64 4584453088389783294, i64 4607186614841981447, i64 4584390668021701288, i64 4607186555471154125, i64 4584328248472806429, i64 4607186496524700005, i64 4584265829737222565, i64 4607186438002580321, i64 4584203411809074078, i64 4607186379904756592, i64 4584140994682485880, i64 4607186322231190616, i64 4584078578351583413, i64 4607186264981844470, i64 4584016162810492640, i64 4607186208156680515, i64 4583953748053340044, i64 4607186151755661390, i64 4583891334074252622, i64 4607186095778750017, i64 4583828920867357885, i64 4607186040225909597, i64 4583766508426783850, i64 4607185985097103611, i64 4583704096746659037, i64 4607185930392295821, i64 4583641685821112468, i64 4607185876111450271, i64 4583610480639471480, i64 4607185849130002175, i64 4583579275644273660, i64 4607185822254531282, i64 4583548070834785274, i64 4607185795485033176, i64 4583516866210272621, i64 4607185768821503458, i64 4583485661770002026, i64 4607185742263937747, i64 4583454457513239848, i64 4607185715812331681, i64 4583423253439252475, i64 4607185689466680913, i64 4583392049547306324, i64 4607185663226981115, i64 4583360845836667843, i64 4607185637093227976, i64 4583329642306603510, i64 4607185611065417203, i64 4583298438956379831, i64 4607185585143544520, i64 4583267235785263344, i64 4607185559327605669, i64 4583236032792520615, i64 4607185533617596408, i64 4583204829977418238, i64 4607185508013512514, i64 4583173627339222840, i64 4607185482515349782, i64 4583142424877201072, i64 4607185457123104023, i64 4583111222590619619, i64 4607185431836771066, i64 4583080020478745191, i64 4607185406656346757, i64 4583048818540844529, i64 4607185381581826962, i64 4583017616776184401, i64 4607185356613207560, i64 4582986415184031604, i64 4607185331750484452, i64 4582955213763652965, i64 4607185306993653554, i64 4582924012514315336, i64 4607185282342710799, i64 4582892811435285600, i64 4607185257797652140, i64 4582861610525830666, i64 4607185233358473544, i64 4582830409785217472, i64 4607185209025170999, i64 4582799209212712983, i64 4607185184797740509, i64 4582768008807584192, i64 4607185160676178094, i64 4582736808569098120, i64 4607185136660479793, i64 4582705608496521815, i64 4607185112750641663, i64 4582674408589122351, i64 4607185088946659777, i64 4582643208846166831, i64 4607185065248530227, i64 4582612009266922384, i64 4607185041656249120, i64 4582580809850656165, i64 4607185018169812584, i64 4582549610596635359, i64 4607184994789216762, i64 4582518411504127174, i64 4607184971514457814, i64 4582487212572398846, i64 4607184948345531920, i64 4582456013800717638, i64 4607184925282435274, i64 4582424815188350838, i64 4607184902325164091, i64 4582393616734565761, i64 4607184879473714601, i64 4582362418438629748, i64 4607184856728083052, i64 4582331220299810166, i64 4607184834088265710, i64 4582300022317374407, i64 4607184811554258858, i64 4582268824490589890, i64 4607184789126058797, i64 4582237626818724059, i64 4607184766803661845, i64 4582206429301044382, i64 4607184744587064337, i64 4582175231936818354, i64 4607184722476262625, i64 4582144034725313495, i64 4607184700471253081, i64 4582112837665797350, i64 4607184678572032092, i64 4582081640757537488, i64 4607184656778596063, i64 4582050443999801504, i64 4607184635090941417, i64 4582019247391857018, i64 4607184613509064593, i64 4581988050932971672, i64 4607184592032962050, i64 4581956854622413137, i64 4607184570662630262, i64 4581925658459449103, i64 4607184549398065721, i64 4581894462443347289, i64 4607184528239264937, i64 4581863266573375435, i64 4607184507186224437, i64 4581832070848801306, i64 4607184486238940766, i64 4581800875268892691, i64 4607184465397410485, i64 4581769679832917403, i64 4607184444661630175, i64 4581738484540143278, i64 4607184424031596432, i64 4581707289389838175, i64 4607184403507305869, i64 4581676094381269978, i64 4607184383088755120, i64 4581644899513706594, i64 4607184362775940832, i64 4581613704786415951, i64 4607184342568859673, i64 4581582510198666002, i64 4607184322467508325, i64 4581551315749724723, i64 4607184302471883491, i64 4581520121438860112, i64 4607184282581981888, i64 4581488927265340189, i64 4607184262797800254, i64 4581457733228432999, i64 4607184243119335342, i64 4581426539327406607, i64 4607184223546583921, i64 4581395345561529101, i64 4607184204079542781, i64 4581364151930068591, i64 4607184184718208728, i64 4581332958432293210, i64 4607184165462578584, i64 4581301765067471113, i64 4607184146312649190, i64 4581270571834870475, i64 4607184127268417403, i64 4581239378733759493, i64 4607184108329880100, i64 4581208185763406389, i64 4607184089497034171, i64 4581176992923079401, i64 4607184070769876529, i64 4581145800212046793, i64 4607184052148404099, i64 4581114607629576848, i64 4607184033632613827, i64 4581083415174937870, i64 4607184015222502675, i64 4581052222847398185, i64 4607183996918067623, i64 4581021030646226139, i64 4607183978719305667, i64 4580989838570690100, i64 4607183960626213822, i64 4580958646620058454, i64 4607183942638789119, i64 4580927454793599610, i64 4607183924757028608, i64 4580896263090581996, i64 4607183906980929355, i64 4580865071510274062, i64 4607183889310488444, i64 4580833880051944276, i64 4607183871745702976, i64 4580802688714861126, i64 4607183854286570069, i64 4580771497498293123, i64 4607183836933086861, i64 4580740306401508794, i64 4607183819685250503, i64 4580709115423776687, i64 4607183802543058167, i64 4580677924564365371, i64 4607183785506507041, i64 4580646733822543432, i64 4607183768575594330, i64 4580615543197579478, i64 4607183751750317257, i64 4580584352688742132, i64 4607183735030673063, i64 4580553162295300041, i64 4607183718416659004, i64 4580521972016521868, i64 4607183701908272356, i64 4580490781851676294, i64 4607183685505510411, i64 4580459591800032022, i64 4607183669208370479, i64 4580428401860857771, i64 4607183653016849886, i64 4580397212033422279, i64 4607183636930945977, i64 4580366022316994302, i64 4607183620950656114, i64 4580334832710842615, i64 4607183605075977676, i64 4580303643214236010, i64 4607183589306908059, i64 4580272453826443300, i64 4607183573643444676, i64 4580241264546733310, i64 4607183558085584960, i64 4580210075374374889, i64 4607183542633326358, i64 4580178886308636900, i64 4607183527286666337, i64 4580134573661782018, i64 4607183512045602379, i64 4580072195952401090, i64 4607183496910131986, i64 4580009818451874419, i64 4607183481880252674, i64 4579947441158739869, i64 4607183466955961980, i64 4579885064071535342, i64 4607183452137257455, i64 4579822687188798771, i64 4607183437424136670, i64 4579760310509068124, i64 4607183422816597212, i64 4579697934030881401, i64 4607183408314636685, i64 4579635557752776637, i64 4607183393918252712, i64 4579573181673291897, i64 4607183379627442932, i64 4579510805790965281, i64 4607183365442205002, i64 4579448430104334920, i64 4607183351362536594, i64 4579386054611938979, i64 4607183337388435401, i64 4579323679312315652, i64 4607183323519899132, i64 4579261304204003166, i64 4607183309756925512, i64 4579198929285539781, i64 4607183296099512285, i64 4579136554555463785, i64 4607183282547657210, i64 4579105367260614282, i64 4607183275811313286, i64 4579074180012313499, i64 4607183269101358067, i64 4579042992810378731, i64 4607183262417791280, i64 4579011805654627274, i64 4607183255760612651, i64 4578980618544876428, i64 4607183249129821906, i64 4578949431480943492, i64 4607183242525418774, i64 4578918244462645769, i64 4607183235947402984, i64 4578887057489800564, i64 4607183229395774266, i64 4578855870562225182, i64 4607183222870532352, i64 4578824683679736932, i64 4607183216371676974, i64 4578793496842153123, i64 4607183209899207866, i64 4578762310049291067, i64 4607183203453124763, i64 4578731123300968078, i64 4607183197033427401, i64 4578699936597001470, i64 4607183190640115516, i64 4578668749937208561, i64 4607183184273188846, i64 4578637563321406671, i64 4607183177932647131, i64 4578606376749413119, i64 4607183171618490110, i64 4578575190221045228, i64 4607183165330717524, i64 4578544003736120323, i64 4607183159069329117, i64 4578512817294455730, i64 4607183152834324631, i64 4578481630895868776, i64 4607183146625703811, i64 4578450444540176792, i64 4607183140443466402, i64 4578419258227197109, i64 4607183134287612151, i64 4578388071956747059, i64 4607183128158140805, i64 4578356885728643979, i64 4607183122055052114, i64 4578325699542705203, i64 4607183115978345827, i64 4578294513398748072, i64 4607183109928021695, i64 4578263327296589925, i64 4607183103904079471, i64 4578232141236048104, i64 4607183097906518907, i64 4578200955216939952, i64 4607183091935339757, i64 4578169769239082815, i64 4607183085990541777, i64 4578138583302294039, i64 4607183080072124723, i64 4578107397406390974, i64 4607183074180088353, i64 4578076211551190969, i64 4607183068314432425, i64 4578045025736511376, i64 4607183062475156699, i64 4578013839962169549, i64 4607183056662260935, i64 4577982654227982843, i64 4607183050875744895, i64 4577951468533768616, i64 4607183045115608342, i64 4577920282879344225, i64 4607183039381851040, i64 4577889097264527030, i64 4607183033674472754, i64 4577857911689134395, i64 4607183027993473250, i64 4577826726152983681, i64 4607183022338852296, i64 4577795540655892255, i64 4607183016710609658, i64 4577764355197677482, i64 4607183011108745108, i64 4577733169778156731, i64 4607183005533258415, i64 4577701984397147371, i64 4607182999984149351, i64 4577670799054466775, i64 4607182994461417688, i64 4577639613749932314, i64 4607182988965063200, i64 4577608428483361364, i64 4607182983495085662, i64 4577577243254571301, i64 4607182978051484849, i64 4577546058063379502, i64 4607182972634260539, i64 4577514872909603346, i64 4607182967243412510, i64 4577483687793060214, i64 4607182961878940540, i64 4577452502713567488, i64 4607182956540844410, i64 4577421317670942552, i64 4607182951229123901, i64 4577390132665002791, i64 4607182945943778795, i64 4577358947695565593, i64 4607182940684808876, i64 4577327762762448344, i64 4607182935452213928, i64 4577296577865468435, i64 4607182930245993737, i64 4577265393004443258, i64 4607182925066148090, i64 4577234208179190204, i64 4607182919912676774, i64 4577203023389526668, i64 4607182914785579578, i64 4577171838635270046, i64 4607182909684856291, i64 4577140653916237734, i64 4607182904610506706, i64 4577109469232247132, i64 4607182899562530614, i64 4577078284583115638, i64 4607182894540927808, i64 4577047099968660655, i64 4607182889545698082, i64 4577015915388699585, i64 4607182884576841231, i64 4576984730843049833, i64 4607182879634357053, i64 4576953546331528804, i64 4607182874718245344, i64 4576922361853953904, i64 4607182869828505904, i64 4576891177410142543, i64 4607182864965138531, i64 4576859992999912130, i64 4607182860128143026, i64 4576828808623080077, i64 4607182855317519192, i64 4576797624279463795, i64 4607182850533266831, i64 4576766439968880700, i64 4607182845775385746, i64 4576735255691148205, i64 4607182841043875744, i64 4576704071446083728, i64 4607182836338736630, i64 4576672887233504686, i64 4607182831659968212, i64 4576641703053228499, i64 4607182827007570297, i64 4576610518905072588, i64 4607182822381542695, i64 4576579334788854373, i64 4607182817781885217, i64 4576548150704391280, i64 4607182813208597673, i64 4576516966651500731, i64 4607182808661679878, i64 4576485782630000153, i64 4607182804141131643, i64 4576454598639706972, i64 4607182799646952785, i64 4576423414680438618, i64 4607182795179143119, i64 4576392230752012520, i64 4607182790737702461, i64 4576361046854246109, i64 4607182786322630631, i64 4576329862986956816, i64 4607182781933927446, i64 4576298679149962076, i64 4607182777571592728, i64 4576267495343079322, i64 4607182773235626297, i64 4576236311566125992, i64 4607182768926027976, i64 4576205127818919521, i64 4607182764642797588, i64 4576173944101277349, i64 4607182760385934957, i64 4576142760413016914, i64 4607182756155439910, i64 4576111576753955658, i64 4607182751951312273, i64 4576080393123911023, i64 4607182747773551874, i64 4576049209522700451, i64 4607182743622158541, i64 4576018025950141387, i64 4607182739497132104, i64 4575986842406051276, i64 4607182735398472395, i64 4575955658890247565, i64 4607182731326179245, i64 4575924475402547703, i64 4607182727280252488, i64 4575893291942769137, i64 4607182723260691958, i64 4575862108510729317, i64 4607182719267497490, i64 4575830925106245696, i64 4607182715300668921, i64 4575799741729135726, i64 4607182711360206087, i64 4575768558379216859, i64 4607182707446108828, i64 4575737375056306551, i64 4607182703558376983, i64 4575706191760222257, i64 4607182699697010394, i64 4575675008490781435, i64 4607182695862008900, i64 4575630429087179146, i64 4607182692053372347, i64 4575568062653776135, i64 4607182688271100577, i64 4575505696272564820, i64 4607182684515193436, i64 4575443329943180123, i64 4607182680785650769, i64 4575380963665256969, i64 4607182677082472424, i64 4575318597438430284, i64 4607182673405658249, i64 4575256231262334996, i64 4607182669755208094, i64 4575193865136606038, i64 4607182666131121809, i64 4575131499060878340, i64 4607182662533399245, i64 4575069133034786838, i64 4607182658962040256, i64 4575006767057966470, i64 4607182655417044694, i64 4574944401130052172, i64 4607182651898412415, i64 4574882035250678887, i64 4607182648406143274, i64 4574819669419481558, i64 4607182644940237128, i64 4574757303636095128, i64 4607182641500693836, i64 4574694937900154545, i64 4607182638087513256, i64 4574632572211294758, i64 4607182634700695249, i64 4574601389384406084, i64 4607182633017172167, i64 4574570206569150717, i64 4607182631340239676, i64 4574539023765483023, i64 4607182629669897759, i64 4574507840973357374, i64 4607182628006146398, i64 4574476658192728138, i64 4607182626348985578, i64 4574445475423549684, i64 4607182624698415280, i64 4574414292665776383, i64 4607182623054435489, i64 4574383109919362604, i64 4607182621417046187, i64 4574351927184262717, i64 4607182619786247357, i64 4574320744460431092, i64 4607182618162038983, i64 4574289561747822098, i64 4607182616544421047, i64 4574258379046390107, i64 4607182614933393535, i64 4574227196356089487, i64 4607182613328956428, i64 4574196013676874611, i64 4607182611731109711, i64 4574164831008699848, i64 4607182610139853366, i64 4574133648351519569, i64 4607182608555187379, i64 4574102465705288144, i64 4607182606977111733, i64 4574071283069959945, i64 4607182605405626411, i64 4574040100445489343, i64 4607182603840731397, i64 4574008917831830708, i64 4607182602282426676, i64 4573977735228938412, i64 4607182600730712231, i64 4573946552636766825, i64 4607182599185588047, i64 4573915370055270321, i64 4607182597647054107, i64 4573884187484403269, i64 4607182596115110396, i64 4573853004924120042, i64 4607182594589756899, i64 4573821822374375011, i64 4607182593070993599, i64 4573790639835122549, i64 4607182591558820481, i64 4573759457306317026, i64 4607182590053237530, i64 4573728274787912816, i64 4607182588554244729, i64 4573697092279864291, i64 4607182587061842065, i64 4573665909782125821, i64 4607182585576029521, i64 4573634727294651781, i64 4607182584096807083, i64 4573603544817396543, i64 4607182582624174734, i64 4573572362350314478, i64 4607182581158132461, i64 4573541179893359961, i64 4607182579698680248, i64 4573509997446487363, i64 4607182578245818080, i64 4573478815009651057, i64 4607182576799545942, i64 4573447632582805417, i64 4607182575359863819, i64 4573416450165904816, i64 4607182573926771697, i64 4573385267758903626, i64 4607182572500269562, i64 4573354085361756222, i64 4607182571080357397, i64 4573322902974416976, i64 4607182569667035189, i64 4573291720596840262, i64 4607182568260302924, i64 4573260538228980454, i64 4607182566860160587, i64 4573229355870791925, i64 4607182565466608163, i64 4573198173522229049, i64 4607182564079645639, i64 4573166991183246201, i64 4607182562699272999, i64 4573135808853797753, i64 4607182561325490231, i64 4573104626533838081, i64 4607182559958297320, i64 4573073444223321558, i64 4607182558597694251, i64 4573042261922202559, i64 4607182557243681012, i64 4573011079630435458, i64 4607182555896257588, i64 4572979897347974629, i64 4607182554555423965, i64 4572948715074774447, i64 4607182553221180130, i64 4572917532810789288, i64 4607182551893526068, i64 4572886350555973525, i64 4607182550572461767, i64 4572855168310281533, i64 4607182549257987213, i64 4572823986073667688, i64 4607182547950102392, i64 4572792803846086364, i64 4607182546648807291, i64 4572761621627491937, i64 4607182545354101896, i64 4572730439417838782, i64 4607182544065986195, i64 4572699257217081274, i64 4607182542784460174, i64 4572668075025173788, i64 4607182541509523821, i64 4572636892842070701, i64 4607182540241177121, i64 4572605710667726387, i64 4607182538979420062, i64 4572574528502095223, i64 4607182537724252631, i64 4572543346345131584, i64 4607182536475674816, i64 4572512164196789846, i64 4607182535233686603, i64 4572480982057024386, i64 4607182533998287979, i64 4572449799925789578, i64 4607182532769478933, i64 4572418617803039799, i64 4607182531547259451, i64 4572387435688729426, i64 4607182530331629521, i64 4572356253582812834, i64 4607182529122589130, i64 4572325071485244401, i64 4607182527920138267, i64 4572293889395978502, i64 4607182526724276919, i64 4572262707314969515, i64 4607182525535005073, i64 4572231525242171815, i64 4607182524352322717, i64 4572200343177539780, i64 4607182523176229840, i64 4572169161121027786, i64 4607182522006726429, i64 4572137979072590210, i64 4607182520843812472, i64 4572106797032181430, i64 4607182519687487958, i64 4572075614999755821, i64 4607182518537752874, i64 4572044432975267763, i64 4607182517394607208, i64 4572013250958671631, i64 4607182516258050950, i64 4571982068949921802, i64 4607182515128084087, i64 4571950886948972656, i64 4607182514004706608, i64 4571919704955778568, i64 4607182512887918501, i64 4571888522970293916, i64 4607182511777719756, i64 4571857340992473079, i64 4607182510674110359, i64 4571826159022270433, i64 4607182509577090301, i64 4571794977059640356, i64 4607182508486659570, i64 4571763795104537227, i64 4607182507402818154, i64 4571732613156915423, i64 4607182506325566043, i64 4571701431216729323, i64 4607182505254903226, i64 4571670249283933304, i64 4607182504190829692, i64 4571639067358481744, i64 4607182503133345429, i64 4571607885440329022, i64 4607182502082450427, i64 4571576703529429517, i64 4607182501038144676, i64 4571545521625737605, i64 4607182500000428164, i64 4571514339729207667, i64 4607182498969300881, i64 4571483157839794080, i64 4607182497944762816, i64 4571451975957451224, i64 4607182496926813959, i64 4571420794082133476, i64 4607182495915454299, i64 4571389612213795215, i64 4607182494910683827, i64 4571358430352390821, i64 4607182493912502531, i64 4571327248497874672, i64 4607182492920910402, i64 4571296066650201148, i64 4607182491935907429, i64 4571264884809324626, i64 4607182490957493602, i64 4571233702975199487, i64 4607182489985668912, i64 4571202521147780110, i64 4607182489020433348, i64 4571171339327020873, i64 4607182488061786900, i64 4571126693244698873, i64 4607182487109729560, i64 4571064329629547239, i64 4607182486164261315, i64 4571001966027442163, i64 4607182485225382158, i64 4570939602438292403, i64 4607182484293092079, i64 4570877238862006720, i64 4607182483367391068, i64 4570814875298493871, i64 4607182482448279115, i64 4570752511747662618, i64 4607182481535756211, i64 4570690148209421719, i64 4607182480629822347, i64 4570627784683679933, i64 4607182479730477514, i64 4570565421170346022, i64 4607182478837721702, i64 4570503057669328744, i64 4607182477951554902, i64 4570440694180536860, i64 4607182477071977105, i64 4570378330703879130, i64 4607182476198988302, i64 4570315967239264314, i64 4607182475332588485, i64 4570253603786601173, i64 4607182474472777643, i64 4570191240345798468, i64 4607182473619555769, i64 4570128876916764958, i64 4607182472772922854, i64 4570097695206633139, i64 4607182472352077253, i64 4570066513499409405, i64 4607182471932878889, i64 4570035331795082350, i64 4607182471515327760, i64 4570004150093640569, i64 4607182471099423865, i64 4569972968395072659, i64 4607182470685167203, i64 4569941786699367213, i64 4607182470272557774, i64 4569910605006512827, i64 4607182469861595576, i64 4569879423316498096, i64 4607182469452280607, i64 4569848241629311616, i64 4607182469044612868, i64 4569817059944941980, i64 4607182468638592357, i64 4569785878263377786, i64 4607182468234219073, i64 4569754696584607627, i64 4607182467831493014, i64 4569723514908620100, i64 4607182467430414181, i64 4569692333235403798, i64 4607182467030982571, i64 4569661151564947318, i64 4607182466633198184, i64 4569629969897239255, i64 4607182466237061019, i64 4569598788232268203, i64 4607182465842571075, i64 4569567606570022759, i64 4607182465449728350, i64 4569536424910491517, i64 4607182465058532844, i64 4569505243253663072, i64 4607182464668984556, i64 4569474061599526020, i64 4607182464281083485, i64 4569442879948068957, i64 4607182463894829629, i64 4569411698299280476, i64 4607182463510222988, i64 4569380516653149174, i64 4607182463127263561, i64 4569349335009663646, i64 4607182462745951347, i64 4569318153368812487, i64 4607182462366286345, i64 4569286971730584293, i64 4607182461988268554, i64 4569255790094967658, i64 4607182461611897972, i64 4569224608461951178, i64 4607182461237174599, i64 4569193426831523449, i64 4607182460864098435, i64 4569162245203673065, i64 4607182460492669477, i64 4569131063578388622, i64 4607182460122887726, i64 4569099881955658716, i64 4607182459754753179, i64 4569068700335471941, i64 4607182459388265837, i64 4569037518717816893, i64 4607182459023425698, i64 4569006337102682168, i64 4607182458660232761, i64 4568975155490056360, i64 4607182458298687026, i64 4568943973879928065, i64 4607182457938788491, i64 4568912792272285878, i64 4607182457580537156, i64 4568881610667118396, i64 4607182457223933019, i64 4568850429064414212, i64 4607182456868976080, i64 4568819247464161923, i64 4607182456515666338, i64 4568788065866350124, i64 4607182456164003791, i64 4568756884270967411, i64 4607182455813988440, i64 4568725702678002378, i64 4607182455465620283, i64 4568694521087443621, i64 4607182455118899318, i64 4568663339499279736, i64 4607182454773825547, i64 4568632157913499317, i64 4607182454430398966, i64 4568600976330090962, i64 4607182454088619577, i64 4568569794749043264, i64 4607182453748487376, i64 4568538613170344819, i64 4607182453410002365, i64 4568507431593984223, i64 4607182453073164542, i64 4568476250019950071, i64 4607182452737973905, i64 4568445068448230959, i64 4607182452404430455, i64 4568413886878815482, i64 4607182452072534191, i64 4568382705311692236, i64 4607182451742285110, i64 4568351523746849816, i64 4607182451413683214, i64 4568320342184276817, i64 4607182451086728500, i64 4568289160623961835, i64 4607182450761420968, i64 4568257979065893466, i64 4607182450437760618, i64 4568226797510060305, i64 4607182450115747448, i64 4568195615956450948, i64 4607182449795381457, i64 4568164434405053989, i64 4607182449476662645, i64 4568133252855858025, i64 4607182449159591011, i64 4568102071308851652, i64 4607182448844166553, i64 4568070889764023463, i64 4607182448530389273, i64 4568039708221362056, i64 4607182448218259167, i64 4568008526680856026, i64 4607182447907776236, i64 4567977345142493968, i64 4607182447598940479, i64 4567946163606264478, i64 4607182447291751895, i64 4567914982072156151, i64 4607182446986210484, i64 4567883800540157583, i64 4607182446682316244, i64 4567852619010257370, i64 4607182446380069174, i64 4567821437482444106, i64 4607182446079469275, i64 4567790255956706389, i64 4607182445780516544, i64 4567759074433032812, i64 4607182445483210982, i64 4567727892911411972, i64 4607182445187552588, i64 4567696711391832465, i64 4607182444893541361, i64 4567665529874282886, i64 4607182444601177300, i64 4567634348358751830, i64 4607182444310460404, i64 4567603166845227894, i64 4607182444021390672, i64 4567571985333699672, i64 4607182443733968105, i64 4567540803824155761, i64 4607182443448192701, i64 4567509622316584756, i64 4607182443164064459, i64 4567478440810975252, i64 4607182442881583379, i64 4567447259307315846, i64 4607182442600749460, i64 4567416077805595133, i64 4607182442321562701, i64 4567384896305801709, i64 4607182442044023102, i64 4567353714807924169, i64 4607182441768130662, i64 4567322533311951108, i64 4607182441493885379, i64 4567291351817871124, i64 4607182441221287254, i64 4567260170325672810, i64 4607182440950336286, i64 4567228988835344764, i64 4607182440681032474, i64 4567197807346875580, i64 4607182440413375818, i64 4567166625860253854, i64 4607182440147366315, i64 4567135444375468183, i64 4607182439883003967, i64 4567104262892507161, i64 4607182439620288773, i64 4567073081411359384, i64 4607182439359220730, i64 4567041899932013449, i64 4607182439099799840, i64 4567010718454457950, i64 4607182438842026101, i64 4566979536978681483, i64 4607182438585899513, i64 4566948355504672645, i64 4607182438331420075, i64 4566917174032420031, i64 4607182438078587786, i64 4566885992561912236, i64 4607182437827402646, i64 4566854811093137856, i64 4607182437577864653, i64 4566823629626085488, i64 4607182437329973809, i64 4566792448160743726, i64 4607182437083730111, i64 4566761266697101167, i64 4607182436839133559, i64 4566730085235146406, i64 4607182436596184152, i64 4566698903774868040, i64 4607182436354881891, i64 4566667722316254663, i64 4607182436115226774, i64 4566623059564906798, i64 4607182435877218800, i64 4566560696654271578, i64 4607182435640857970, i64 4566498333746897911, i64 4607182435406144281, i64 4566435970842762990, i64 4607182435173077735, i64 4566373607941844007, i64 4607182434941658330, i64 4566311245044118152, i64 4607182434711886066, i64 4566248882149562617, i64 4607182434483760942, i64 4566186519258154594, i64 4607182434257282957, i64 4566124156369871275, i64 4607182434032452111, i64 4566061793484689850, i64 4607182433809268403, i64 4565999430602587512, i64 4607182433587731834, i64 4565937067723541453, i64 4607182433367842401, i64 4565874704847528863, i64 4607182433149600105, i64 4565812341974526934, i64 4607182432933004945, i64 4565749979104512859, i64 4607182432718056921, i64 4565687616237463828, i64 4607182432504756031, i64 4565625253373357034, i64 4607182432293102276, i64 4565594071942399847, i64 4607182432187893074, i64 4565562890512169667, i64 4607182432083095655, i64 4565531709082663642, i64 4607182431978710020, i64 4565500527653878920, i64 4607182431874736167, i64 4565469346225812652, i64 4607182431771174098, i64 4565438164798461985, i64 4607182431668023812, i64 4565406983371824069, i64 4607182431565285309, i64 4565375801945896052, i64 4607182431462958590, i64 4565344620520675084, i64 4607182431361043653, i64 4565313439096158314, i64 4607182431259540499, i64 4565282257672342891, i64 4607182431158449127, i64 4565251076249225962, i64 4607182431057769539, i64 4565219894826804679, i64 4607182430957501733, i64 4565188713405076189, i64 4607182430857645710, i64 4565157531984037641, i64 4607182430758201469, i64 4565126350563686185, i64 4607182430659169011, i64 4565095169144018969, i64 4607182430560548335, i64 4565063987725033142, i64 4607182430462339442, i64 4565032806306725854, i64 4607182430364542331, i64 4565001624889094253, i64 4607182430267157002, i64 4564970443472135488, i64 4607182430170183455, i64 4564939262055846708, i64 4607182430073621690, i64 4564908080640225062, i64 4607182429977471708, i64 4564876899225267700, i64 4607182429881733507, i64 4564845717810971769, i64 4607182429786407089, i64 4564814536397334420, i64 4607182429691492452, i64 4564783354984352800, i64 4607182429596989597, i64 4564752173572024060, i64 4607182429502898524, i64 4564720992160345347, i64 4607182429409219232, i64 4564689810749313812, i64 4607182429315951722, i64 4564658629338926602, i64 4607182429223095994, i64 4564627447929180867, i64 4607182429130652047, i64 4564596266520073756, i64 4607182429038619882, i64 4564565085111602418, i64 4607182428946999498, i64 4564533903703764002, i64 4607182428855790895, i64 4564502722296555656, i64 4607182428764994073, i64 4564471540889974530, i64 4607182428674609033, i64 4564440359484017772, i64 4607182428584635774, i64 4564409178078682533, i64 4607182428495074296, i64 4564377996673965960, i64 4607182428405924599, i64 4564346815269865202, i64 4607182428317186683, i64 4564315633866377409, i64 4607182428228860548, i64 4564284452463499730, i64 4607182428140946194, i64 4564253271061229313, i64 4607182428053443621, i64 4564222089659563307, i64 4607182427966352828, i64 4564190908258498862, i64 4607182427879673816, i64 4564159726858033127, i64 4607182427793406585, i64 4564128545458163250, i64 4607182427707551134, i64 4564097364058886380, i64 4607182427622107464, i64 4564066182660199667, i64 4607182427537075575, i64 4564035001262100259, i64 4607182427452455465, i64 4564003819864585305, i64 4607182427368247136, i64 4563972638467651955, i64 4607182427284450588, i64 4563941457071297357, i64 4607182427201065820, i64 4563910275675518660, i64 4607182427118092832, i64 4563879094280313014, i64 4607182427035531624, i64 4563847912885677566, i64 4607182426953382196, i64 4563816731491609467, i64 4607182426871644548, i64 4563785550098105865, i64 4607182426790318680, i64 4563754368705163910, i64 4607182426709404593, i64 4563723187312780749, i64 4607182426628902285, i64 4563692005920953532, i64 4607182426548811757, i64 4563660824529679409, i64 4607182426469133008, i64 4563629643138955528, i64 4607182426389866040, i64 4563598461748779037, i64 4607182426311010851, i64 4563567280359147087, i64 4607182426232567442, i64 4563536098970056826, i64 4607182426154535812, i64 4563504917581505403, i64 4607182426076915962, i64 4563473736193489967, i64 4607182425999707891, i64 4563442554806007667, i64 4607182425922911600, i64 4563411373419055651, i64 4607182425846527088, i64 4563380192032631070, i64 4607182425770554356, i64 4563349010646731072, i64 4607182425694993403, i64 4563317829261352806, i64 4607182425619844229, i64 4563286647876493420, i64 4607182425545106834, i64 4563255466492150064, i64 4607182425470781219, i64 4563224285108319888, i64 4607182425396867382, i64 4563193103725000039, i64 4607182425323365325, i64 4563161922342187667, i64 4607182425250275046, i64 4563130740959879921, i64 4607182425177596547, i64 4563099559578073950, i64 4607182425105329827, i64 4563068378196766902, i64 4607182425033474885, i64 4563037196815955927, i64 4607182424962031722, i64 4563006015435638175, i64 4607182424891000338, i64 4562974834055810792, i64 4607182424820380733, i64 4562943652676470930, i64 4607182424750172906, i64 4562912471297615737, i64 4607182424680376858, i64 4562881289919242361, i64 4607182424610992589, i64 4562850108541347952, i64 4607182424542020098, i64 4562818927163929658, i64 4607182424473459386, i64 4562787745786984630, i64 4607182424405310452, i64 4562756564410510015, i64 4607182424337573296, i64 4562725383034502963, i64 4607182424270247919, i64 4562694201658960622, i64 4607182424203334321, i64 4562663020283880142, i64 4607182424136832500, i64 4562631838909258672, i64 4607182424070742458, i64 4562600657535093361, i64 4607182424005064194, i64 4562569476161381357, i64 4607182423939797708, i64 4562538294788119810, i64 4607182423874943000, i64 4562507113415305869, i64 4607182423810500071, i64 4562475932042936682, i64 4607182423746468919, i64 4562444750671009399, i64 4607182423682849546, i64 4562413569299521168, i64 4607182423619641950, i64 4562382387928469139, i64 4607182423556846132, i64 4562351206557850461, i64 4607182423494462092, i64 4562320025187662282, i64 4607182423432489830, i64 4562288843817901752, i64 4607182423370929346, i64 4562257662448566020, i64 4607182423309780640, i64 4562226481079652234, i64 4607182423249043711, i64 4562195299711157544, i64 4607182423188718560, i64 4562164118343079098, i64 4607182423128805187, i64 4562119451424515644, i64 4607182423069303591, i64 4562057088690006626, i64 4607182423010213773, i64 4561994725956312990, i64 4607182422951535732, i64 4561932363223429036, i64 4607182422893269469, i64 4561870000491349060, i64 4607182422835414983, i64 4561807637760067362, i64 4607182422777972275, i64 4561745275029578239, i64 4607182422720941344, i64 4561682912299875989, i64 4607182422664322190, i64 4561620549570954911, i64 4607182422608114814, i64 4561558186842809301, i64 4607182422552319215, i64 4561495824115433459, i64 4607182422496935393, i64 4561433461388821682, i64 4607182422441963348, i64 4561371098662968268, i64 4607182422387403081, i64 4561308735937867515, i64 4607182422333254590, i64 4561246373213513721, i64 4607182422279517877, i64 4561184010489901185, i64 4607182422226192941, i64 4561121647767024204, i64 4607182422173279782, i64 4561090466405859764, i64 4607182422146977619, i64 4561059285044877075, i64 4607182422120778400, i64 4561028103684075424, i64 4607182422094682125, i64 4560996922323454098, i64 4607182422068688794, i64 4560965740963012385, i64 4607182422042798408, i64 4560934559602749571, i64 4607182422017010966, i64 4560903378242664943, i64 4607182421991326468, i64 4560872196882757790, i64 4607182421965744915, i64 4560841015523027398, i64 4607182421940266305, i64 4560809834163473054, i64 4607182421914890640, i64 4560778652804094047, i64 4607182421889617919, i64 4560747471444889662, i64 4607182421864448143, i64 4560716290085859188, i64 4607182421839381310, i64 4560685108727001911, i64 4607182421814417422, i64 4560653927368317119, i64 4607182421789556478, i64 4560622746009804099, i64 4607182421764798478, i64 4560591564651462138, i64 4607182421740143422, i64 4560560383293290524, i64 4607182421715591310, i64 4560529201935288544, i64 4607182421691142143, i64 4560498020577455485, i64 4607182421666795919, i64 4560466839219790634, i64 4607182421642552640, i64 4560435657862293278, i64 4607182421618412305, i64 4560404476504962706, i64 4607182421594374915, i64 4560373295147798203, i64 4607182421570440468, i64 4560342113790799058, i64 4607182421546608965, i64 4560310932433964557, i64 4607182421522880407, i64 4560279751077293988, i64 4607182421499254793, i64 4560248569720786639, i64 4607182421475732123, i64 4560217388364441795, i64 4607182421452312397, i64 4560186207008258745, i64 4607182421428995615, i64 4560155025652236776, i64 4607182421405781778, i64 4560123844296375175, i64 4607182421382670884, i64 4560092662940673229, i64 4607182421359662935, i64 4560061481585130226, i64 4607182421336757929, i64 4560030300229745453, i64 4607182421313955868, i64 4559999118874518196, i64 4607182421291256751, i64 4559967937519447744, i64 4607182421268660578, i64 4559936756164533384, i64 4607182421246167349, i64 4559905574809774402, i64 4607182421223777065, i64 4559874393455170087, i64 4607182421201489724, i64 4559843212100719725, i64 4607182421179305327, i64 4559812030746422603, i64 4607182421157223875, i64 4559780849392278009, i64 4607182421135245366, i64 4559749668038285230, i64 4607182421113369802, i64 4559718486684443554, i64 4607182421091597182, i64 4559687305330752267, i64 4607182421069927506, i64 4559656123977210657, i64 4607182421048360774, i64 4559624942623818011, i64 4607182421026896986, i64 4559593761270573617, i64 4607182421005536142, i64 4559562579917476761, i64 4607182420984278242, i64 4559531398564526731, i64 4607182420963123286, i64 4559500217211722814, i64 4607182420942071274, i64 4559469035859064297, i64 4607182420921122206, i64 4559437854506550468, i64 4607182420900276083, i64 4559406673154180614, i64 4607182420879532903, i64 4559375491801954022, i64 4607182420858892668, i64 4559344310449869979, i64 4607182420838355376, i64 4559313129097927773, i64 4607182420817921028, i64 4559281947746126690, i64 4607182420797589625, i64 4559250766394466019, i64 4607182420777361166, i64 4559219585042945046, i64 4607182420757235650, i64 4559188403691563059, i64 4607182420737213079, i64 4559157222340319344, i64 4607182420717293451, i64 4559126040989213190, i64 4607182420697476768, i64 4559094859638243883, i64 4607182420677763029, i64 4559063678287410711, i64 4607182420658152233, i64 4559032496936712960, i64 4607182420638644382, i64 4559001315586149919, i64 4607182420619239474, i64 4558970134235720874, i64 4607182420599937511, i64 4558938952885425113, i64 4607182420580738492, i64 4558907771535261922, i64 4607182420561642416, i64 4558876590185230590, i64 4607182420542649285, i64 4558845408835330403, i64 4607182420523759098, i64 4558814227485560648, i64 4607182420504971854, i64 4558783046135920614, i64 4607182420486287555, i64 4558751864786409587, i64 4607182420467706199, i64 4558720683437026854, i64 4607182420449227788, i64 4558689502087771702, i64 4607182420430852320, i64 4558658320738643420, i64 4607182420412579797, i64 4558627139389641294, i64 4607182420394410217, i64 4558595958040764611, i64 4607182420376343582, i64 4558564776692012659, i64 4607182420358379890, i64 4558533595343384724, i64 4607182420340519142, i64 4558502413994880095, i64 4607182420322761338, i64 4558471232646498058, i64 4607182420305106479, i64 4558440051298237901, i64 4607182420287554563, i64 4558408869950098911, i64 4607182420270105591, i64 4558377688602080375, i64 4607182420252759563, i64 4558346507254181581, i64 4607182420235516479, i64 4558315325906401815, i64 4607182420218376339, i64 4558284144558740365, i64 4607182420201339143, i64 4558252963211196518, i64 4607182420184404891, i64 4558221781863769561, i64 4607182420167573582, i64 4558190600516458783, i64 4607182420150845218, i64 4558159419169263469, i64 4607182420134219798, i64 4558128237822182907, i64 4607182420117697321, i64 4558097056475216385, i64 4607182420101277789, i64 4558065875128363189, i64 4607182420084961200, i64 4558034693781622608, i64 4607182420068747555, i64 4558003512434993927, i64 4607182420052636854, i64 4557972331088476436, i64 4607182420036629097, i64 4557941149742069419, i64 4607182420020724284, i64 4557909968395772166, i64 4607182420004922415, i64 4557878787049583963, i64 4607182419989223490, i64 4557847605703504097, i64 4607182419973627509, i64 4557816424357531856, i64 4607182419958134471, i64 4557785243011666527, i64 4607182419942744378, i64 4557754061665907398, i64 4607182419927457228, i64 4557722880320253754, i64 4607182419912273022, i64 4557691698974704885, i64 4607182419897191760, i64 4557660517629260076, i64 4607182419882213443, i64 4557615849668895280, i64 4607182419867338068, i64 4557553486978417630, i64 4607182419852565638, i64 4557491124288143826, i64 4607182419837896152, i64 4557428761598072442, i64 4607182419823329609, i64 4557366398908202052, i64 4607182419808866011, i64 4557304036218531231, i64 4607182419794505356, i64 4557241673529058554, i64 4607182419780247645, i64 4557179310839782594, i64 4607182419766092878, i64 4557116948150701927, i64 4607182419752041055, i64 4557054585461815128, i64 4607182419738092176, i64 4556992222773120769, i64 4607182419724246240, i64 4556929860084617427, i64 4607182419710503249, i64 4556867497396303675, i64 4607182419696863201, i64 4556805134708178088, i64 4607182419683326097, i64 4556742772020239241, i64 4607182419669891937, i64 4556680409332485708, i64 4607182419656560721, i64 4556618046644916063, i64 4607182419643332449, i64 4556586865301199753, i64 4607182419636756917, i64 4556555683957528881, i64 4607182419630207120, i64 4556524502613903269, i64 4607182419623683060, i64 4556493321270322737, i64 4607182419617184736, i64 4556462139926787109, i64 4607182419610712147, i64 4556430958583296205, i64 4607182419604265295, i64 4556399777239849848, i64 4607182419597844178, i64 4556368595896447860, i64 4607182419591448798, i64 4556337414553090062, i64 4607182419585079153, i64 4556306233209776275, i64 4607182419578735245, i64 4556275051866506323, i64 4607182419572417072, i64 4556243870523280027, i64 4607182419566124636, i64 4556212689180097208, i64 4607182419559857935, i64 4556181507836957688, i64 4607182419553616970, i64 4556150326493861289, i64 4607182419547401741, i64 4556119145150807834, i64 4607182419541212248, i64 4556087963807797143, i64 4607182419535048492, i64 4556056782464829039, i64 4607182419528910471, i64 4556025601121903343, i64 4607182419522798186, i64 4555994419779019877, i64 4607182419516711637, i64 4555963238436178464, i64 4607182419510650824, i64 4555932057093378924, i64 4607182419504615747, i64 4555900875750621080, i64 4607182419498606405, i64 4555869694407904754, i64 4607182419492622800, i64 4555838513065229766, i64 4607182419486664931, i64 4555807331722595940, i64 4607182419480732798, i64 4555776150380003097, i64 4607182419474826400, i64 4555744969037451058, i64 4607182419468945739, i64 4555713787694939646, i64 4607182419463090814, i64 4555682606352468682, i64 4607182419457261624, i64 4555651425010037989, i64 4607182419451458171, i64 4555620243667647387, i64 4607182419445680453, i64 4555589062325296699, i64 4607182419439928471, i64 4555557880982985747, i64 4607182419434202226, i64 4555526699640714353, i64 4607182419428501716, i64 4555495518298482337, i64 4607182419422826942, i64 4555464336956289522, i64 4607182419417177905, i64 4555433155614135731, i64 4607182419411554603, i64 4555401974272020784, i64 4607182419405957037, i64 4555370792929944503, i64 4607182419400385207, i64 4555339611587906711, i64 4607182419394839113, i64 4555308430245907229, i64 4607182419389318755, i64 4555277248903945879, i64 4607182419383824133, i64 4555246067562022483, i64 4607182419378355247, i64 4555214886220136862, i64 4607182419372912096, i64 4555183704878288838, i64 4607182419367494682, i64 4555152523536478234, i64 4607182419362103004, i64 4555121342194704870, i64 4607182419356737062, i64 4555090160852968570, i64 4607182419351396855, i64 4555058979511269154, i64 4607182419346082385, i64 4555027798169606444, i64 4607182419340793650, i64 4554996616827980263, i64 4607182419335530652, i64 4554965435486390432, i64 4607182419330293389, i64 4554934254144836773, i64 4607182419325081862, i64 4554903072803319107, i64 4607182419319896072, i64 4554871891461837257, i64 4607182419314736017, i64 4554840710120391044, i64 4607182419309601698, i64 4554809528778980290, i64 4607182419304493115, i64 4554778347437604817, i64 4607182419299410268, i64 4554747166096264447, i64 4607182419294353157, i64 4554715984754959002, i64 4607182419289321782, i64 4554684803413688303, i64 4607182419284316143, i64 4554653622072452172, i64 4607182419279336240, i64 4554622440731250431, i64 4607182419274382073, i64 4554591259390082902, i64 4607182419269453642, i64 4554560078048949406, i64 4607182419264550947, i64 4554528896707849766, i64 4607182419259673987, i64 4554497715366783804, i64 4607182419254822764, i64 4554466534025751340, i64 4607182419249997276, i64 4554435352684752197, i64 4607182419245197525, i64 4554404171343786197, i64 4607182419240423509, i64 4554372990002853161, i64 4607182419235675230, i64 4554341808661952912, i64 4607182419230952686, i64 4554310627321085271, i64 4607182419226255878, i64 4554279445980250060, i64 4607182419221584807, i64 4554248264639447100, i64 4607182419216939471, i64 4554217083298676214, i64 4607182419212319871, i64 4554185901957937224, i64 4607182419207726007, i64 4554154720617229951, i64 4607182419203157879, i64 4554123539276554216, i64 4607182419198615487, i64 4554092357935909843, i64 4607182419194098831, i64 4554061176595296652, i64 4607182419189607911, i64 4554029995254714466, i64 4607182419185142726, i64 4553998813914163106, i64 4607182419180703278, i64 4553967632573642394, i64 4607182419176289566, i64 4553936451233152152, i64 4607182419171901589, i64 4553905269892692201, i64 4607182419167539349, i64 4553874088552262364, i64 4607182419163202844, i64 4553842907211862463, i64 4607182419158892076, i64 4553811725871492319, i64 4607182419154607043, i64 4553780544531151753, i64 4607182419150347746, i64 4553749363190840589, i64 4607182419146114186, i64 4553718181850558647, i64 4607182419141906361, i64 4553687000510305749, i64 4607182419137724272, i64 4553655819170081717, i64 4607182419133567919, i64 4553624637829886374, i64 4607182419129437302, i64 4553593456489719541, i64 4607182419125332421, i64 4553562275149581039, i64 4607182419121253276, i64 4553531093809470690, i64 4607182419117199867, i64 4553499912469388317, i64 4607182419113172193, i64 4553468731129333741, i64 4607182419109170256, i64 4553437549789306784, i64 4607182419105194055, i64 4553406368449307268, i64 4607182419101243589, i64 4553375187109335014, i64 4607182419097318860, i64 4553344005769389844, i64 4607182419093419866, i64 4553312824429471581, i64 4607182419089546609, i64 4553281643089580046, i64 4607182419085699087, i64 4553250461749715060, i64 4607182419081877301, i64 4553219280409876446, i64 4607182419078081251, i64 4553188099070064026, i64 4607182419074310938, i64 4553156917730277620, i64 4607182419070566360, i64 4553112249509462648, i64 4607182419066847518, i64 4553049886829992829, i64 4607182419063154412, i64 4552987524150573972, i64 4607182419059487042, i64 4552925161471205719, i64 4607182419055845407, i64 4552862798791887715, i64 4607182419052229509, i64 4552800436112619604, i64 4607182419048639347, i64 4552738073433401028, i64 4607182419045074921, i64 4552675710754231631, i64 4607182419041536230, i64 4552613348075111058, i64 4607182419038023276, i64 4552550985396038952, i64 4607182419034536057, i64 4552488622717014956, i64 4607182419031074575, i64 4552426260038038713, i64 4607182419027638828, i64 4552363897359109869, i64 4607182419024228817, i64 4552301534680228066, i64 4607182419020844542, i64 4552239172001392947, i64 4607182419017486004, i64 4552176809322604157, i64 4607182419014153201, i64 4552114446643861339, i64 4607182419010846134, i64 4552083265304507059, i64 4607182419009202251, i64 4552052083965164137, i64 4607182419007564803, i64 4552020902625832531, i64 4607182419005933788, i64 4551989721286512195, i64 4607182419004309207, i64 4551958539947203084, i64 4607182419002691061, i64 4551927358607905155, i64 4607182419001079348, i64 4551896177268618362, i64 4607182418999474070, i64 4551864995929342662, i64 4607182418997875225, i64 4551833814590078009, i64 4607182418996282814, i64 4551802633250824359, i64 4607182418994696838, i64 4551771451911581668, i64 4607182418993117295, i64 4551740270572349890, i64 4607182418991544186, i64 4551709089233128982, i64 4607182418989977512, i64 4551677907893918899, i64 4607182418988417271, i64 4551646726554719596, i64 4607182418986863464, i64 4551615545215531029, i64 4607182418985316091, i64 4551584363876353153, i64 4607182418983775153, i64 4551553182537185923, i64 4607182418982240648, i64 4551522001198029296, i64 4607182418980712577, i64 4551490819858883226, i64 4607182418979190940, i64 4551459638519747669, i64 4607182418977675737, i64 4551428457180622581, i64 4607182418976166969, i64 4551397275841507916, i64 4607182418974664634, i64 4551366094502403631, i64 4607182418973168733, i64 4551334913163309681, i64 4607182418971679266, i64 4551303731824226021, i64 4607182418970196233, i64 4551272550485152607, i64 4607182418968719634, i64 4551241369146089394, i64 4607182418967249469, i64 4551210187807036337, i64 4607182418965785738, i64 4551179006467993393, i64 4607182418964328441, i64 4551147825128960516, i64 4607182418962877578, i64 4551116643789937663, i64 4607182418961433149, i64 4551085462450924787, i64 4607182418959995154, i64 4551054281111921846, i64 4607182418958563593, i64 4551023099772928794, i64 4607182418957138466, i64 4550991918433945586, i64 4607182418955719773, i64 4550960737094972179, i64 4607182418954307514, i64 4550929555756008528, i64 4607182418952901689, i64 4550898374417054588, i64 4607182418951502297, i64 4550867193078110314, i64 4607182418950109340, i64 4550836011739175663, i64 4607182418948722817, i64 4550804830400250589, i64 4607182418947342728, i64 4550773649061335048, i64 4607182418945969073, i64 4550742467722428995, i64 4607182418944601851, i64 4550711286383532386, i64 4607182418943241064, i64 4550680105044645177, i64 4607182418941886711, i64 4550648923705767323, i64 4607182418940538792, i64 4550617742366898778, i64 4607182418939197306, i64 4550586561028039500, i64 4607182418937862255, i64 4550555379689189442, i64 4607182418936533638, i64 4550524198350348561, i64 4607182418935211454, i64 4550493017011516813, i64 4607182418933895705, i64 4550461835672694151, i64 4607182418932586390, i64 4550430654333880533, i64 4607182418931283508, i64 4550399472995075913, i64 4607182418929987061, i64 4550368291656280247, i64 4607182418928697047, i64 4550337110317493490, i64 4607182418927413468, i64 4550305928978715599, i64 4607182418926136322, i64 4550274747639946527, i64 4607182418924865611, i64 4550243566301186231, i64 4607182418923601333, i64 4550212384962434666, i64 4607182418922343490, i64 4550181203623691788, i64 4607182418921092080, i64 4550150022284957552, i64 4607182418919847105, i64 4550118840946231913, i64 4607182418918608563, i64 4550087659607514827, i64 4607182418917376456, i64 4550056478268806250, i64 4607182418916150782, i64 4550025296930106136, i64 4607182418914931543, i64 4549994115591414442, i64 4607182418913718737, i64 4549962934252731123, i64 4607182418912512365, i64 4549931752914056133, i64 4607182418911312428, i64 4549900571575389430, i64 4607182418910118924, i64 4549869390236730967, i64 4607182418908931854, i64 4549838208898080702, i64 4607182418907751218, i64 4549807027559438588, i64 4607182418906577017, i64 4549775846220804582, i64 4607182418905409249, i64 4549744664882178638, i64 4607182418904247915, i64 4549713483543560713, i64 4607182418903093015, i64 4549682302204950762, i64 4607182418901944550, i64 4549651120866348740, i64 4607182418900802518, i64 4549619939527754603, i64 4607182418899666920, i64 4549588758189168306, i64 4607182418898537756, i64 4549557576850589805, i64 4607182418897415026, i64 4549526395512019055, i64 4607182418896298730, i64 4549495214173456011, i64 4607182418895188868, i64 4549464032834900630, i64 4607182418894085441, i64 4549432851496352866, i64 4607182418892988447, i64 4549401670157812675, i64 4607182418891897887, i64 4549370488819280012, i64 4607182418890813761, i64 4549339307480754833, i64 4607182418889736069, i64 4549308126142237094, i64 4607182418888664811, i64 4549276944803726749, i64 4607182418887599987, i64 4549245763465223754, i64 4607182418886541597, i64 4549214582126728065, i64 4607182418885489641, i64 4549183400788239637, i64 4607182418884444118, i64 4549152219449758426, i64 4607182418883405030, i64 4549121038111284386, i64 4607182418882372376, i64 4549089856772817474, i64 4607182418881346156, i64 4549058675434357645, i64 4607182418880326370, i64 4549027494095904855, i64 4607182418879313018, i64 4548996312757459058, i64 4607182418878306100, i64 4548965131419020210, i64 4607182418877305615, i64 4548933950080588268, i64 4607182418876311565, i64 4548902768742163185, i64 4607182418875323949, i64 4548871587403744918, i64 4607182418874342767, i64 4548840406065333422, i64 4607182418873368018, i64 4548809224726928653, i64 4607182418872399704, i64 4548778043388530565, i64 4607182418871437824, i64 4548746862050139115, i64 4607182418870482377, i64 4548715680711754258, i64 4607182418869533365, i64 4548684499373375950, i64 4607182418868590787, i64 4548653318035004145, i64 4607182418867654642, i64 4548608649749076639, i64 4607182418866724932, i64 4548546287072358777, i64 4607182418865801656, i64 4548483924395653655, i64 4607182418864884813, i64 4548421561718961185, i64 4607182418863974405, i64 4548359199042281277, i64 4607182418863070430, i64 4548296836365613842, i64 4607182418862172890, i64 4548234473688958791, i64 4607182418861281783, i64 4548172111012316035, i64 4607182418860397111, i64 4548109748335685485, i64 4607182418859518872, i64 4548047385659067051, i64 4607182418858647068, i64 4547985022982460645, i64 4607182418857781697, i64 4547922660305866177, i64 4607182418856922760, i64 4547860297629283559, i64 4607182418856070258, i64 4547797934952712701, i64 4607182418855224189, i64 4547735572276153514, i64 4607182418854384555, i64 4547673209599605910, i64 4607182418853551354, i64 4547610846923069798, i64 4607182418852724587, i64 4547579665584806024, i64 4607182418852313617, i64 4547548484246545090, i64 4607182418851904255, i64 4547517302908286985, i64 4607182418851496501, i64 4547486121570031698, i64 4607182418851090356, i64 4547454940231779217, i64 4607182418850685819, i64 4547423758893529531, i64 4607182418850282891, i64 4547392577555282629, i64 4607182418849881571, i64 4547361396217038500, i64 4607182418849481860, i64 4547330214878797134, i64 4607182418849083758, i64 4547299033540558518, i64 4607182418848687264, i64 4547267852202322641, i64 4607182418848292378, i64 4547236670864089493, i64 4607182418847899101, i64 4547205489525859063, i64 4607182418847507432, i64 4547174308187631338, i64 4607182418847117372, i64 4547143126849406309, i64 4607182418846728920, i64 4547111945511183964, i64 4607182418846342077, i64 4547080764172964291, i64 4607182418845956843, i64 4547049582834747280, i64 4607182418845573216, i64 4547018401496532920, i64 4607182418845191199, i64 4546987220158321199, i64 4607182418844810789, i64 4546956038820112106, i64 4607182418844431989, i64 4546924857481905630, i64 4607182418844054797, i64 4546893676143701761, i64 4607182418843679213, i64 4546862494805500486, i64 4607182418843305238, i64 4546831313467301795, i64 4607182418842932871, i64 4546800132129105676, i64 4607182418842562113, i64 4546768950790912119, i64 4607182418842192963, i64 4546737769452721112, i64 4607182418841825422, i64 4546706588114532645, i64 4607182418841459489, i64 4546675406776346705, i64 4607182418841095165, i64 4546644225438163282, i64 4607182418840732449, i64 4546613044099982365, i64 4607182418840371342, i64 4546581862761803943, i64 4607182418840011843, i64 4546550681423628004, i64 4607182418839653953, i64 4546519500085454537, i64 4607182418839297671, i64 4546488318747283532, i64 4607182418838942998, i64 4546457137409114977, i64 4607182418838589933, i64 4546425956070948860, i64 4607182418838238477, i64 4546394774732785172, i64 4607182418837888629, i64 4546363593394623900, i64 4607182418837540390, i64 4546332412056465033, i64 4607182418837193759, i64 4546301230718308561, i64 4607182418836848737, i64 4546270049380154472, i64 4607182418836505323, i64 4546238868042002756, i64 4607182418836163518, i64 4546207686703853400, i64 4607182418835823321, i64 4546176505365706394, i64 4607182418835484733, i64 4546145324027561727, i64 4607182418835147753, i64 4546114142689419387, i64 4607182418834812382, i64 4546082961351279364, i64 4607182418834478619, i64 4546051780013141646, i64 4607182418834146465, i64 4546020598675006222, i64 4607182418833815919, i64 4545989417336873082, i64 4607182418833486981, i64 4545958235998742213, i64 4607182418833159653, i64 4545927054660613605, i64 4607182418832833932, i64 4545895873322487246, i64 4607182418832509820, i64 4545864691984363126, i64 4607182418832187317, i64 4545833510646241233, i64 4607182418831866422, i64 4545802329308121557, i64 4607182418831547136, i64 4545771147970004085, i64 4607182418831229458, i64 4545739966631888808, i64 4607182418830913389, i64 4545708785293775713, i64 4607182418830598928, i64 4545677603955664790, i64 4607182418830286075, i64 4545646422617556027, i64 4607182418829974832, i64 4545615241279449414, i64 4607182418829665196, i64 4545584059941344939, i64 4607182418829357169, i64 4545552878603242591, i64 4607182418829050751, i64 4545521697265142359, i64 4607182418828745941, i64 4545490515927044232, i64 4607182418828442740, i64 4545459334588948199, i64 4607182418828141147, i64 4545428153250854248, i64 4607182418827841162, i64 4545396971912762368, i64 4607182418827542786, i64 4545365790574672549, i64 4607182418827246019, i64 4545334609236584779, i64 4607182418826950860, i64 4545303427898499047, i64 4607182418826657310, i64 4545272246560415342, i64 4607182418826365368, i64 4545241065222333653, i64 4607182418826075034, i64 4545209883884253968, i64 4607182418825786309, i64 4545178702546176277, i64 4607182418825499193, i64 4545147521208100568, i64 4607182418825213685, i64 4545116339870026830, i64 4607182418824929786, i64 4545085158531955052, i64 4607182418824647495, i64 4545053977193885223, i64 4607182418824366812, i64 4545022795855817332, i64 4607182418824087738, i64 4544991614517751368, i64 4607182418823810273, i64 4544960433179687319, i64 4607182418823534416, i64 4544929251841625174, i64 4607182418823260167, i64 4544898070503564923, i64 4607182418822987527, i64 4544866889165506553, i64 4607182418822716496, i64 4544835707827450055, i64 4607182418822447073, i64 4544804526489395417, i64 4607182418822179258, i64 4544773345151342627, i64 4607182418821913052, i64 4544742163813291675, i64 4607182418821648455, i64 4544710982475242549, i64 4607182418821385466, i64 4544679801137195238, i64 4607182418821124085, i64 4544648619799149732, i64 4607182418820864313, i64 4544617438461106019, i64 4607182418820606150, i64 4544586257123064087, i64 4607182418820349595, i64 4544555075785023926, i64 4607182418820094648, i64 4544523894446985525, i64 4607182418819841310, i64 4544492713108948872, i64 4607182418819589581, i64 4544461531770913957, i64 4607182418819339460, i64 4544430350432880767, i64 4607182418819090947, i64 4544399169094849293, i64 4607182418818844043, i64 4544367987756819523, i64 4607182418818598747, i64 4544336806418791445, i64 4607182418818355060, i64 4544305625080765050, i64 4607182418818112982, i64 4544274443742740324, i64 4607182418817872512, i64 4544243262404717258, i64 4607182418817633650, i64 4544212081066695840, i64 4607182418817396397, i64 4544180899728676060, i64 4607182418817160752, i64 4544149718390657905, i64 4607182418816926716, i64 4544105050088452266, i64 4607182418816694289, i64 4544042687412422393, i64 4607182418816463470, i64 4543980324736395706, i64 4607182418816234259, i64 4543917962060372181, i64 4607182418816006657, i64 4543855599384351797, i64 4607182418815780663, i64 4543793236708334531, i64 4607182418815556278, i64 4543730874032320361, i64 4607182418815333502, i64 4543668511356309265, i64 4607182418815112334, i64 4543606148680301220, i64 4607182418814892774, i64 4543543786004296205, i64 4607182418814674823, i64 4543481423328294196, i64 4607182418814458480, i64 4543419060652295172, i64 4607182418814243746, i64 4543356697976299110, i64 4607182418814030620, i64 4543294335300305989, i64 4607182418813819103, i64 4543231972624315785, i64 4607182418813609195, i64 4543169609948328476, i64 4607182418813400894, i64 4543107247272344041, i64 4607182418813194203, i64 4543076065934352894, i64 4607182418813091460, i64 4543044884596362457, i64 4607182418812989120, i64 4543013703258372728, i64 4607182418812887181, i64 4542982521920383702, i64 4607182418812785645, i64 4542951340582395378, i64 4607182418812684511, i64 4542920159244407753, i64 4607182418812583779, i64 4542888977906420824, i64 4607182418812483449, i64 4542857796568434589, i64 4607182418812383521, i64 4542826615230449043, i64 4607182418812283995, i64 4542795433892464186, i64 4607182418812184872, i64 4542764252554480013, i64 4607182418812086150, i64 4542733071216496523, i64 4607182418811987831, i64 4542701889878513711, i64 4607182418811889914, i64 4542670708540531577, i64 4607182418811792399, i64 4542639527202550116, i64 4607182418811695286, i64 4542608345864569326, i64 4607182418811598575, i64 4542577164526589204, i64 4607182418811502267, i64 4542545983188609748, i64 4607182418811406360, i64 4542514801850630954, i64 4607182418811310856, i64 4542483620512652820, i64 4607182418811215753, i64 4542452439174675344, i64 4607182418811121053, i64 4542421257836698521, i64 4607182418811026755, i64 4542390076498722350, i64 4607182418810932859, i64 4542358895160746828, i64 4607182418810839365, i64 4542327713822771952, i64 4607182418810746274, i64 4542296532484797718, i64 4607182418810653584, i64 4542265351146824126, i64 4607182418810561297, i64 4542234169808851170, i64 4607182418810469411, i64 4542202988470878850, i64 4607182418810377928, i64 4542171807132907161, i64 4607182418810286847, i64 4542140625794936102, i64 4607182418810196168, i64 4542109444456965669, i64 4607182418810105891, i64 4542078263118995860, i64 4607182418810016017, i64 4542047081781026672, i64 4607182418809926544, i64 4542015900443058102, i64 4607182418809837474, i64 4541984719105090147, i64 4607182418809748805, i64 4541953537767122804, i64 4607182418809660539, i64 4541922356429156072, i64 4607182418809572675, i64 4541891175091189946, i64 4607182418809485213, i64 4541859993753224424, i64 4607182418809398153, i64 4541828812415259504, i64 4607182418809311496, i64 4541797631077295183, i64 4607182418809225240, i64 4541766449739331457, i64 4607182418809139387, i64 4541735268401368324, i64 4607182418809053935, i64 4541704087063405782, i64 4607182418808968886, i64 4541672905725443827, i64 4607182418808884239, i64 4541641724387482456, i64 4607182418808799994, i64 4541610543049521668, i64 4607182418808716151, i64 4541579361711561458, i64 4607182418808632711, i64 4541548180373601825, i64 4607182418808549672, i64 4541516999035642766, i64 4607182418808467036, i64 4541485817697684277, i64 4607182418808384801, i64 4541454636359726356, i64 4607182418808302969, i64 4541423455021769001, i64 4607182418808221539, i64 4541392273683812208, i64 4607182418808140511, i64 4541361092345855974, i64 4607182418808059885, i64 4541329911007900297, i64 4607182418807979661, i64 4541298729669945175, i64 4607182418807899840, i64 4541267548331990603, i64 4607182418807820420, i64 4541236366994036580, i64 4607182418807741403, i64 4541205185656083103, i64 4607182418807662788, i64 4541174004318130169, i64 4607182418807584575, i64 4541142822980177774, i64 4607182418807506764, i64 4541111641642225917, i64 4607182418807429355, i64 4541080460304274595, i64 4607182418807352348, i64 4541049278966323805, i64 4607182418807275744, i64 4541018097628373543, i64 4607182418807199541, i64 4540986916290423808, i64 4607182418807123741, i64 4540955734952474596, i64 4607182418807048343, i64 4540924553614525905, i64 4607182418806973347, i64 4540893372276577731, i64 4607182418806898753, i64 4540862190938630073, i64 4607182418806824561, i64 4540831009600682927, i64 4607182418806750771, i64 4540799828262736290, i64 4607182418806677383, i64 4540768646924790160, i64 4607182418806604398, i64 4540737465586844534, i64 4607182418806531815, i64 4540706284248899410, i64 4607182418806459633, i64 4540675102910954783, i64 4607182418806387854, i64 4540643921573010652, i64 4607182418806316477, i64 4540612740235067014, i64 4607182418806245502, i64 4540581558897123866, i64 4607182418806174930, i64 4540550377559181206, i64 4607182418806104759, i64 4540519196221239029, i64 4607182418806034991, i64 4540488014883297335, i64 4607182418805965624, i64 4540456833545356119, i64 4607182418805896660, i64 4540425652207415379, i64 4607182418805828098, i64 4540394470869475113, i64 4607182418805759938, i64 4540363289531535317, i64 4607182418805692180, i64 4540332108193595989, i64 4607182418805624824, i64 4540300926855657126, i64 4607182418805557871, i64 4540269745517718725, i64 4607182418805491319, i64 4540238564179780783, i64 4607182418805425170, i64 4540207382841843298, i64 4607182418805359422, i64 4540176201503906267, i64 4607182418805294077, i64 4540145020165969687, i64 4607182418805229134, i64 4540113838828033555, i64 4607182418805164593, i64 4540082657490097868, i64 4607182418805100455, i64 4540051476152162624, i64 4607182418805036718, i64 4540020294814227821, i64 4607182418804973384, i64 4539989113476293454, i64 4607182418804910451, i64 4539957932138359521, i64 4607182418804847921, i64 4539926750800426020, i64 4607182418804785793, i64 4539895569462492948, i64 4607182418804724067, i64 4539864388124560302, i64 4607182418804662743, i64 4539833206786628079, i64 4607182418804601821, i64 4539802025448696277, i64 4607182418804541301, i64 4539770844110764892, i64 4607182418804481184, i64 4539739662772833922, i64 4607182418804421469, i64 4539708481434903364, i64 4607182418804362155, i64 4539677300096973215, i64 4607182418804303244, i64 4539646118759043473, i64 4607182418804244735, i64 4539601450452768300, i64 4607182418804186628, i64 4539539087776910425, i64 4607182418804128923, i64 4539476725101053346, i64 4607182418804071621, i64 4539414362425197058, i64 4607182418804014720, i64 4539351999749341555, i64 4607182418803958222, i64 4539289637073486831, i64 4607182418803902126, i64 4539227274397632881, i64 4607182418803846431, i64 4539164911721779700, i64 4607182418803791139, i64 4539102549045927282, i64 4607182418803736249, i64 4539040186370075621, i64 4607182418803681762, i64 4538977823694224712, i64 4607182418803627676, i64 4538915461018374549, i64 4607182418803573992, i64 4538853098342525126, i64 4607182418803520711, i64 4538790735666676438, i64 4607182418803467832, i64 4538728372990828480, i64 4607182418803415355, i64 4538666010314981246, i64 4607182418803363280, i64 4538603647639134730, i64 4607182418803311607, i64 4538572466301211740, i64 4607182418803285921, i64 4538541284963288927, i64 4607182418803260336, i64 4538510103625366291, i64 4607182418803234851, i64 4538478922287443831, i64 4607182418803209467, i64 4538447740949521547, i64 4607182418803184184, i64 4538416559611599437, i64 4607182418803159001, i64 4538385378273677501, i64 4607182418803133918, i64 4538354196935755739, i64 4607182418803108936, i64 4538323015597834149, i64 4607182418803084055, i64 4538291834259912731, i64 4607182418803059274, i64 4538260652921991484, i64 4607182418803034594, i64 4538229471584070408, i64 4607182418803010014, i64 4538198290246149502, i64 4607182418802985534, i64 4538167108908228764, i64 4607182418802961156, i64 4538135927570308195, i64 4607182418802936877, i64 4538104746232387794, i64 4607182418802912700, i64 4538073564894467560, i64 4607182418802888623, i64 4538042383556547493, i64 4607182418802864646, i64 4538011202218627591, i64 4607182418802840770, i64 4537980020880707854, i64 4607182418802816994, i64 4537948839542788281, i64 4607182418802793319, i64 4537917658204868872, i64 4607182418802769745, i64 4537886476866949626, i64 4607182418802746271, i64 4537855295529030541, i64 4607182418802722897, i64 4537824114191111619, i64 4607182418802699624, i64 4537792932853192857, i64 4607182418802676452, i64 4537761751515274255, i64 4607182418802653380, i64 4537730570177355813, i64 4607182418802630409, i64 4537699388839437529, i64 4607182418802607538, i64 4537668207501519403, i64 4607182418802584768, i64 4537637026163601435, i64 4607182418802562098, i64 4537605844825683623, i64 4607182418802539529, i64 4537574663487765967, i64 4607182418802517060, i64 4537543482149848467, i64 4607182418802494692, i64 4537512300811931121, i64 4607182418802472424, i64 4537481119474013928, i64 4607182418802450257, i64 4537449938136096889, i64 4607182418802428191, i64 4537418756798180003, i64 4607182418802406225, i64 4537387575460263268, i64 4607182418802384359, i64 4537356394122346684, i64 4607182418802362594, i64 4537325212784430250, i64 4607182418802340930, i64 4537294031446513966, i64 4607182418802319366, i64 4537262850108597831, i64 4607182418802297903, i64 4537231668770681844, i64 4607182418802276540, i64 4537200487432766005, i64 4607182418802255278, i64 4537169306094850313, i64 4607182418802234116, i64 4537138124756934767, i64 4607182418802213055, i64 4537106943419019366, i64 4607182418802192094, i64 4537075762081104110, i64 4607182418802171234, i64 4537044580743188998, i64 4607182418802150474, i64 4537013399405274030, i64 4607182418802129815, i64 4536982218067359204, i64 4607182418802109256, i64 4536951036729444520, i64 4607182418802088798, i64 4536919855391529978, i64 4607182418802068441, i64 4536888674053615576, i64 4607182418802048184, i64 4536857492715701314, i64 4607182418802028027, i64 4536826311377787191, i64 4607182418802007971, i64 4536795130039873207, i64 4607182418801988016, i64 4536763948701959361, i64 4607182418801968161, i64 4536732767364045651, i64 4607182418801948407, i64 4536701586026132078, i64 4607182418801928753, i64 4536670404688218641, i64 4607182418801909200, i64 4536639223350305339, i64 4607182418801889747, i64 4536608042012392171, i64 4607182418801870395, i64 4536576860674479137, i64 4607182418801851143, i64 4536545679336566236, i64 4607182418801831992, i64 4536514497998653467, i64 4607182418801812941, i64 4536483316660740830, i64 4607182418801793991, i64 4536452135322828323, i64 4607182418801775142, i64 4536420953984915947, i64 4607182418801756393, i64 4536389772647003700, i64 4607182418801737744, i64 4536358591309091582, i64 4607182418801719196, i64 4536327409971179592, i64 4607182418801700749, i64 4536296228633267729, i64 4607182418801682402, i64 4536265047295355993, i64 4607182418801664155, i64 4536233865957444383, i64 4607182418801646010, i64 4536202684619532898, i64 4607182418801627964, i64 4536171503281621538, i64 4607182418801610020, i64 4536140321943710302, i64 4607182418801592175, i64 4536109140605799189, i64 4607182418801574432, i64 4536077959267888198, i64 4607182418801556788, i64 4536046777929977329, i64 4607182418801539246, i64 4536015596592066582, i64 4607182418801521804, i64 4535984415254155954, i64 4607182418801504462, i64 4535953233916245447, i64 4607182418801487221, i64 4535922052578335058, i64 4607182418801470080, i64 4535890871240424788, i64 4607182418801453040, i64 4535859689902514636, i64 4607182418801436101, i64 4535828508564604600, i64 4607182418801419262, i64 4535797327226694681, i64 4607182418801402524, i64 4535766145888784877, i64 4607182418801385886, i64 4535734964550875188, i64 4607182418801369348, i64 4535703783212965613, i64 4607182418801352912, i64 4535672601875056152, i64 4607182418801336575, i64 4535641420537146803, i64 4607182418801320340, i64 4535610239199237567, i64 4607182418801304204, i64 4535579057861328441, i64 4607182418801288170, i64 4535547876523419427, i64 4607182418801272236, i64 4535516695185510522, i64 4607182418801256402, i64 4535485513847601727, i64 4607182418801240669, i64 4535454332509693041, i64 4607182418801225036, i64 4535423151171784462, i64 4607182418801209504, i64 4535391969833875990, i64 4607182418801194073, i64 4535360788495967625, i64 4607182418801178742, i64 4535329607158059366, i64 4607182418801163511, i64 4535298425820151212, i64 4607182418801148381, i64 4535267244482243162, i64 4607182418801133352, i64 4535236063144335216, i64 4607182418801118423, i64 4535204881806427373, i64 4607182418801103595, i64 4535173700468519632, i64 4607182418801088867, i64 4535142519130611993, i64 4607182418801074240, i64 4535097850823319437, i64 4607182418801059713, i64 4535035488147504561, i64 4607182418801045287, i64 4534973125471689884, i64 4607182418801030961, i64 4534910762795875405, i64 4607182418801016736, i64 4534848400120061122, i64 4607182418801002611, i64 4534786037444247034, i64 4607182418800988587, i64 4534723674768433140, i64 4607182418800974664, i64 4534661312092619437, i64 4607182418800960841, i64 4534598949416805925, i64 4607182418800947118, i64 4534536586740992603, i64 4607182418800933496, i64 4534474224065179469, i64 4607182418800919975, i64 4534411861389366521, i64 4607182418800906554, i64 4534349498713553758, i64 4607182418800893234, i64 4534287136037741179, i64 4607182418800880014, i64 4534224773361928782, i64 4607182418800866895, i64 4534162410686116567, i64 4607182418800853876, i64 4534100048010304531, i64 4607182418800840958, i64 4534068866672398579, i64 4607182418800834536, i64 4534037685334492673, i64 4607182418800828140, i64 4534006503996586810, i64 4607182418800821769, i64 4533975322658680992, i64 4607182418800815423, i64 4533944141320775217, i64 4607182418800809102, i64 4533912959982869486, i64 4607182418800802806, i64 4533881778644963798, i64 4607182418800796536, i64 4533850597307058154, i64 4607182418800790290, i64 4533819415969152553, i64 4607182418800784070, i64 4533788234631246995, i64 4607182418800777874, i64 4533757053293341480, i64 4607182418800771704, i64 4533725871955436007, i64 4607182418800765559, i64 4533694690617530577, i64 4607182418800759440, i64 4533663509279625189, i64 4607182418800753345, i64 4533632327941719843, i64 4607182418800747275, i64 4533601146603814540, i64 4607182418800741231, i64 4533569965265909278, i64 4607182418800735212, i64 4533538783928004057, i64 4607182418800729217, i64 4533507602590098878, i64 4607182418800723248, i64 4533476421252193740, i64 4607182418800717305, i64 4533445239914288643, i64 4607182418800711386, i64 4533414058576383588, i64 4607182418800705492, i64 4533382877238478572, i64 4607182418800699624, i64 4533351695900573598, i64 4607182418800693780, i64 4533320514562668664, i64 4607182418800687962, i64 4533289333224763770, i64 4607182418800682169, i64 4533258151886858916, i64 4607182418800676401, i64 4533226970548954101, i64 4607182418800670658, i64 4533195789211049327, i64 4607182418800664941, i64 4533164607873144592, i64 4607182418800659248, i64 4533133426535239896, i64 4607182418800653581, i64 4533102245197335240, i64 4607182418800647938, i64 4533071063859430622, i64 4607182418800642321, i64 4533039882521526044, i64 4607182418800636729, i64 4533008701183621503, i64 4607182418800631162, i64 4532977519845717002, i64 4607182418800625620, i64 4532946338507812538, i64 4607182418800620104, i64 4532915157169908113, i64 4607182418800614612, i64 4532883975832003726, i64 4607182418800609146, i64 4532852794494099376, i64 4607182418800603705, i64 4532821613156195064, i64 4607182418800598288, i64 4532790431818290790, i64 4607182418800592898, i64 4532759250480386553, i64 4607182418800587532, i64 4532728069142482352, i64 4607182418800582191, i64 4532696887804578189, i64 4607182418800576875, i64 4532665706466674062, i64 4607182418800571585, i64 4532634525128769972, i64 4607182418800566320, i64 4532603343790865918, i64 4607182418800561079, i64 4532572162452961901, i64 4607182418800555864, i64 4532540981115057919, i64 4607182418800550675, i64 4532509799777153974, i64 4607182418800545510, i64 4532478618439250064, i64 4607182418800540370, i64 4532447437101346189, i64 4607182418800535256, i64 4532416255763442350, i64 4607182418800530166, i64 4532385074425538546, i64 4607182418800525102, i64 4532353893087634777, i64 4607182418800520063, i64 4532322711749731043, i64 4607182418800515049, i64 4532291530411827343, i64 4607182418800510060, i64 4532260349073923678, i64 4607182418800505096, i64 4532229167736020047, i64 4607182418800500158, i64 4532197986398116450, i64 4607182418800495244, i64 4532166805060212887, i64 4607182418800490356, i64 4532135623722309358, i64 4607182418800485493, i64 4532104442384405863, i64 4607182418800480655, i64 4532073261046502401, i64 4607182418800475842, i64 4532042079708598972, i64 4607182418800471054, i64 4532010898370695576, i64 4607182418800466291, i64 4531979717032792213, i64 4607182418800461554, i64 4531948535694888883, i64 4607182418800456841, i64 4531917354356985585, i64 4607182418800452154, i64 4531886173019082320, i64 4607182418800447492, i64 4531854991681179087, i64 4607182418800442855, i64 4531823810343275886, i64 4607182418800438243, i64 4531792629005372717, i64 4607182418800433656, i64 4531761447667469579, i64 4607182418800429095, i64 4531730266329566473, i64 4607182418800424558, i64 4531699084991663398, i64 4607182418800420047, i64 4531667903653760355, i64 4607182418800415561, i64 4531636722315857342, i64 4607182418800411100, i64 4531605540977954360, i64 4607182418800406664, i64 4531574359640051409, i64 4607182418800402253, i64 4531543178302148488, i64 4607182418800397867, i64 4531511996964245598, i64 4607182418800393507, i64 4531480815626342737, i64 4607182418800389172, i64 4531449634288439907, i64 4607182418800384861, i64 4531418452950537106, i64 4607182418800380576, i64 4531387271612634335, i64 4607182418800376316, i64 4531356090274731593, i64 4607182418800372081, i64 4531324908936828881, i64 4607182418800367872, i64 4531293727598926198, i64 4607182418800363687, i64 4531262546261023543, i64 4607182418800359527, i64 4531231364923120917, i64 4607182418800355393, i64 4531200183585218320, i64 4607182418800351284, i64 4531169002247315751, i64 4607182418800347200, i64 4531137820909413210, i64 4607182418800343141, i64 4531106639571510698, i64 4607182418800339107, i64 4531075458233608213, i64 4607182418800335098, i64 4531044276895705756, i64 4607182418800331115, i64 4531013095557803326, i64 4607182418800327156, i64 4530981914219900924, i64 4607182418800323223, i64 4530950732881998548, i64 4607182418800319315, i64 4530919551544096200, i64 4607182418800315432, i64 4530888370206193879, i64 4607182418800311574, i64 4530857188868291584, i64 4607182418800307741, i64 4530826007530389315, i64 4607182418800303934, i64 4530794826192487073, i64 4607182418800300151, i64 4530763644854584857, i64 4607182418800296394, i64 4530732463516682667, i64 4607182418800292662, i64 4530701282178780503, i64 4607182418800288955, i64 4530670100840878364, i64 4607182418800285273, i64 4530638919502976251, i64 4607182418800281616, i64 4530594251195429349, i64 4607182418800277984, i64 4530531888519625223, i64 4607182418800274378, i64 4530469525843821147, i64 4607182418800270796, i64 4530407163168017120, i64 4607182418800267240, i64 4530344800492213142, i64 4607182418800263709, i64 4530282437816409213, i64 4607182418800260203, i64 4530220075140605332, i64 4607182418800256722, i64 4530157712464801499, i64 4607182418800253266, i64 4530095349788997714, i64 4607182418800249836, i64 4530032987113193977, i64 4607182418800246430, i64 4529970624437390286, i64 4607182418800243050, i64 4529908261761586642, i64 4607182418800239695, i64 4529845899085783044, i64 4607182418800236364, i64 4529783536409979492, i64 4607182418800233059, i64 4529721173734175986, i64 4607182418800229780, i64 4529658811058372525, i64 4607182418800226525, i64 4529596448382569109, i64 4607182418800223295, i64 4529565267044667417, i64 4607182418800221690, i64 4529534085706765737, i64 4607182418800220091, i64 4529502904368864068, i64 4607182418800218498, i64 4529471723030962410, i64 4607182418800216912, i64 4529440541693060762, i64 4607182418800215331, i64 4529409360355159126, i64 4607182418800213758, i64 4529378179017257501, i64 4607182418800212190, i64 4529346997679355886, i64 4607182418800210629, i64 4529315816341454282, i64 4607182418800209073, i64 4529284635003552689, i64 4607182418800207525, i64 4529253453665651107, i64 4607182418800205982, i64 4529222272327749535, i64 4607182418800204446, i64 4529191090989847974, i64 4607182418800202916, i64 4529159909651946423, i64 4607182418800201392, i64 4529128728314044883, i64 4607182418800199875, i64 4529097546976143354, i64 4607182418800198364, i64 4529066365638241835, i64 4607182418800196859, i64 4529035184300340326, i64 4607182418800195360, i64 4529004002962438828, i64 4607182418800193868, i64 4528972821624537340, i64 4607182418800192382, i64 4528941640286635862, i64 4607182418800190902, i64 4528910458948734395, i64 4607182418800189429, i64 4528879277610832937, i64 4607182418800187962, i64 4528848096272931490, i64 4607182418800186501, i64 4528816914935030053, i64 4607182418800185047, i64 4528785733597128626, i64 4607182418800183598, i64 4528754552259227209, i64 4607182418800182156, i64 4528723370921325802, i64 4607182418800180721, i64 4528692189583424404, i64 4607182418800179291, i64 4528661008245523017, i64 4607182418800177868, i64 4528629826907621640, i64 4607182418800176451, i64 4528598645569720272, i64 4607182418800175041, i64 4528567464231818914, i64 4607182418800173636, i64 4528536282893917566, i64 4607182418800172238, i64 4528505101556016227, i64 4607182418800170847, i64 4528473920218114898, i64 4607182418800169461, i64 4528442738880213579, i64 4607182418800168082, i64 4528411557542312269, i64 4607182418800166709, i64 4528380376204410969, i64 4607182418800165342, i64 4528349194866509678, i64 4607182418800163982, i64 4528318013528608396, i64 4607182418800162628, i64 4528286832190707124, i64 4607182418800161280, i64 4528255650852805861, i64 4607182418800159939, i64 4528224469514904607, i64 4607182418800158604, i64 4528193288177003363, i64 4607182418800157275, i64 4528162106839102128, i64 4607182418800155952, i64 4528130925501200902, i64 4607182418800154636, i64 4528099744163299685, i64 4607182418800153326, i64 4528068562825398477, i64 4607182418800152022, i64 4528037381487497278, i64 4607182418800150725, i64 4528006200149596088, i64 4607182418800149433, i64 4527975018811694907, i64 4607182418800148149, i64 4527943837473793734, i64 4607182418800146870, i64 4527912656135892571, i64 4607182418800145598, i64 4527881474797991417, i64 4607182418800144331, i64 4527850293460090271, i64 4607182418800143072, i64 4527819112122189134, i64 4607182418800141818, i64 4527787930784288005, i64 4607182418800140571, i64 4527756749446386885, i64 4607182418800139330, i64 4527725568108485774, i64 4607182418800138095, i64 4527694386770584671, i64 4607182418800136867, i64 4527663205432683577, i64 4607182418800135645, i64 4527632024094782491, i64 4607182418800134429, i64 4527600842756881414, i64 4607182418800133220, i64 4527569661418980345, i64 4607182418800132016, i64 4527538480081079284, i64 4607182418800130819, i64 4527507298743178231, i64 4607182418800129629, i64 4527476117405277187, i64 4607182418800128444, i64 4527444936067376151, i64 4607182418800127266, i64 4527413754729475123, i64 4607182418800126095, i64 4527382573391574103, i64 4607182418800124929, i64 4527351392053673091, i64 4607182418800123770, i64 4527320210715772087, i64 4607182418800122617, i64 4527289029377871092, i64 4607182418800121470, i64 4527257848039970104, i64 4607182418800120330, i64 4527226666702069123, i64 4607182418800119196, i64 4527195485364168151, i64 4607182418800118068, i64 4527164304026267187, i64 4607182418800116946, i64 4527133122688366230, i64 4607182418800115831, i64 4527101941350465281, i64 4607182418800114722, i64 4527070760012564340, i64 4607182418800113619, i64 4527039578674663406, i64 4607182418800112523, i64 4527008397336762480, i64 4607182418800111433, i64 4526977215998861561, i64 4607182418800110349, i64 4526946034660960650, i64 4607182418800109271, i64 4526914853323059746, i64 4607182418800108200, i64 4526883671985158850, i64 4607182418800107135, i64 4526852490647257961, i64 4607182418800106076, i64 4526821309309357079, i64 4607182418800105024, i64 4526790127971456205, i64 4607182418800103978, i64 4526758946633555338, i64 4607182418800102938, i64 4526727765295654478, i64 4607182418800101904, i64 4526696583957753625, i64 4607182418800100877, i64 4526665402619852779, i64 4607182418800099856, i64 4526634221281951940, i64 4607182418800098841, i64 4526603039944051108, i64 4607182418800097833, i64 4526571858606150284, i64 4607182418800096831, i64 4526540677268249466, i64 4607182418800095835, i64 4526509495930348655, i64 4607182418800094845, i64 4526478314592447851, i64 4607182418800093862, i64 4526447133254547053, i64 4607182418800092885, i64 4526415951916646263, i64 4607182418800091914, i64 4526384770578745479, i64 4607182418800090950, i64 4526353589240844701, i64 4607182418800089991, i64 4526322407902943931, i64 4607182418800089039, i64 4526291226565043167, i64 4607182418800088094, i64 4526260045227142409, i64 4607182418800087154, i64 4526228863889241658, i64 4607182418800086221, i64 4526197682551340913, i64 4607182418800085295, i64 4526166501213440175, i64 4607182418800084374, i64 4526135319875539443, i64 4607182418800083460, i64 4526090651567928955, i64 4607182418800082552, i64 4526028288892127517, i64 4607182418800081650, i64 4525965926216326090, i64 4607182418800080755, i64 4525903563540524677, i64 4607182418800079866, i64 4525841200864723275, i64 4607182418800078983, i64 4525778838188921886, i64 4607182418800078107, i64 4525716475513120508, i64 4607182418800077236, i64 4525654112837319143, i64 4607182418800076373, i64 4525591750161517790, i64 4607182418800075515, i64 4525529387485716448, i64 4607182418800074664, i64 4525467024809915118, i64 4607182418800073818, i64 4525404662134113800, i64 4607182418800072980, i64 4525342299458312493, i64 4607182418800072147, i64 4525279936782511198, i64 4607182418800071321, i64 4525217574106709915, i64 4607182418800070501, i64 4525155211430908642, i64 4607182418800069687, i64 4525092848755107381, i64 4607182418800068880, i64 4525061667417206755, i64 4607182418800068479, i64 4525030486079306131, i64 4607182418800068079, i64 4524999304741405510, i64 4607182418800067681, i64 4524968123403504892, i64 4607182418800067284, i64 4524936942065604277, i64 4607182418800066889, i64 4524905760727703664, i64 4607182418800066495, i64 4524874579389803054, i64 4607182418800066103, i64 4524843398051902447, i64 4607182418800065713, i64 4524812216714001842, i64 4607182418800065324, i64 4524781035376101241, i64 4607182418800064937, i64 4524749854038200641, i64 4607182418800064552, i64 4524718672700300045, i64 4607182418800064167, i64 4524687491362399451, i64 4607182418800063785, i64 4524656310024498860, i64 4607182418800063404, i64 4524625128686598271, i64 4607182418800063025, i64 4524593947348697685, i64 4607182418800062647, i64 4524562766010797102, i64 4607182418800062271, i64 4524531584672896521, i64 4607182418800061896, i64 4524500403334995943, i64 4607182418800061523, i64 4524469221997095368, i64 4607182418800061152, i64 4524438040659194795, i64 4607182418800060782, i64 4524406859321294224, i64 4607182418800060413, i64 4524375677983393656, i64 4607182418800060046, i64 4524344496645493091, i64 4607182418800059681, i64 4524313315307592528, i64 4607182418800059318, i64 4524282133969691968, i64 4607182418800058956, i64 4524250952631791410, i64 4607182418800058595, i64 4524219771293890855, i64 4607182418800058236, i64 4524188589955990302, i64 4607182418800057879, i64 4524157408618089751, i64 4607182418800057523, i64 4524126227280189203, i64 4607182418800057169, i64 4524095045942288658, i64 4607182418800056816, i64 4524063864604388115, i64 4607182418800056465, i64 4524032683266487574, i64 4607182418800056116, i64 4524001501928587036, i64 4607182418800055768, i64 4523970320590686500, i64 4607182418800055421, i64 4523939139252785967, i64 4607182418800055076, i64 4523907957914885436, i64 4607182418800054733, i64 4523876776576984907, i64 4607182418800054392, i64 4523845595239084381, i64 4607182418800054052, i64 4523814413901183857, i64 4607182418800053713, i64 4523783232563283335, i64 4607182418800053376, i64 4523752051225382816, i64 4607182418800053041, i64 4523720869887482299, i64 4607182418800052707, i64 4523689688549581784, i64 4607182418800052375, i64 4523658507211681272, i64 4607182418800052044, i64 4523627325873780762, i64 4607182418800051715, i64 4523596144535880254, i64 4607182418800051387, i64 4523564963197979749, i64 4607182418800051062, i64 4523533781860079245, i64 4607182418800050737, i64 4523502600522178744, i64 4607182418800050414, i64 4523471419184278245, i64 4607182418800050093, i64 4523440237846377749, i64 4607182418800049773, i64 4523409056508477254, i64 4607182418800049455, i64 4523377875170576762, i64 4607182418800049139, i64 4523346693832676272, i64 4607182418800048824, i64 4523315512494775784, i64 4607182418800048511, i64 4523284331156875299, i64 4607182418800048199, i64 4523253149818974815, i64 4607182418800047889, i64 4523221968481074334, i64 4607182418800047580, i64 4523190787143173854, i64 4607182418800047273, i64 4523159605805273377, i64 4607182418800046967, i64 4523128424467372902, i64 4607182418800046663, i64 4523097243129472429, i64 4607182418800046361, i64 4523066061791571959, i64 4607182418800046060, i64 4523034880453671490, i64 4607182418800045761, i64 4523003699115771023, i64 4607182418800045463, i64 4522972517777870559, i64 4607182418800045167, i64 4522941336439970096, i64 4607182418800044873, i64 4522910155102069635, i64 4607182418800044580, i64 4522878973764169177, i64 4607182418800044288, i64 4522847792426268720, i64 4607182418800043998, i64 4522816611088368266, i64 4607182418800043710, i64 4522785429750467813, i64 4607182418800043424, i64 4522754248412567363, i64 4607182418800043138, i64 4522723067074666914, i64 4607182418800042855, i64 4522691885736766467, i64 4607182418800042573, i64 4522660704398866023, i64 4607182418800042293, i64 4522629523060965580, i64 4607182418800042014, i64 4522598341723065139, i64 4607182418800041736, i64 4522567160385164700, i64 4607182418800041461, i64 4522535979047264263, i64 4607182418800041187, i64 4522504797709363828, i64 4607182418800040914, i64 4522473616371463395, i64 4607182418800040643, i64 4522442435033562964, i64 4607182418800040374, i64 4522411253695662534, i64 4607182418800040106, i64 4522380072357762107, i64 4607182418800039840, i64 4522348891019861681, i64 4607182418800039575, i64 4522317709681961257, i64 4607182418800039312, i64 4522286528344060835, i64 4607182418800039050, i64 4522255347006160414, i64 4607182418800038790, i64 4522224165668259996, i64 4607182418800038532, i64 4522192984330359579, i64 4607182418800038275, i64 4522161802992459164, i64 4607182418800038020, i64 4522130621654558751, i64 4607182418800037766, i64 4522099440316658339, i64 4607182418800037514, i64 4522068258978757929, i64 4607182418800037264, i64 4522037077640857521, i64 4607182418800037015, i64 4522005896302957115, i64 4607182418800036767, i64 4521974714965056710, i64 4607182418800036521, i64 4521943533627156307, i64 4607182418800036277, i64 4521912352289255906, i64 4607182418800036035, i64 4521881170951355507, i64 4607182418800035793, i64 4521849989613455109, i64 4607182418800035554, i64 4521818808275554713, i64 4607182418800035316, i64 4521787626937654318, i64 4607182418800035079, i64 4521756445599753925, i64 4607182418800034845, i64 4521725264261853534, i64 4607182418800034611, i64 4521694082923953144, i64 4607182418800034380, i64 4521662901586052756, i64 4607182418800034150, i64 4521631720248152369, i64 4607182418800033921, i64 4521587051940525985, i64 4607182418800033694, i64 4521524689264725218, i64 4607182418800033469, i64 4521462326588924454, i64 4607182418800033245, i64 4521399963913123694, i64 4607182418800033023, i64 4521337601237322936, i64 4607182418800032802, i64 4521275238561522182, i64 4607182418800032583, i64 4521212875885721430, i64 4607182418800032365, i64 4521150513209920682, i64 4607182418800032149, i64 4521088150534119936, i64 4607182418800031935, i64 4521025787858319194, i64 4607182418800031722, i64 4520963425182518454, i64 4607182418800031511, i64 4520901062506717718, i64 4607182418800031301, i64 4520838699830916984, i64 4607182418800031093, i64 4520776337155116253, i64 4607182418800030886, i64 4520713974479315525, i64 4607182418800030681, i64 4520651611803514800, i64 4607182418800030478, i64 4520589249127714077, i64 4607182418800030276, i64 4520558067789813717, i64 4607182418800030176, i64 4520526886451913358, i64 4607182418800030076, i64 4520495705114012999, i64 4607182418800029976, i64 4520464523776112641, i64 4607182418800029877, i64 4520433342438212283, i64 4607182418800029778, i64 4520402161100311927, i64 4607182418800029680, i64 4520370979762411571, i64 4607182418800029582, i64 4520339798424511215, i64 4607182418800029484, i64 4520308617086610861, i64 4607182418800029387, i64 4520277435748710507, i64 4607182418800029290, i64 4520246254410810153, i64 4607182418800029194, i64 4520215073072909800, i64 4607182418800029098, i64 4520183891735009448, i64 4607182418800029002, i64 4520152710397109097, i64 4607182418800028907, i64 4520121529059208746, i64 4607182418800028812, i64 4520090347721308396, i64 4607182418800028718, i64 4520059166383408047, i64 4607182418800028624, i64 4520027985045507698, i64 4607182418800028530, i64 4519996803707607350, i64 4607182418800028437, i64 4519965622369707003, i64 4607182418800028344, i64 4519934441031806656, i64 4607182418800028251, i64 4519903259693906310, i64 4607182418800028159, i64 4519872078356005964, i64 4607182418800028068, i64 4519840897018105619, i64 4607182418800027976, i64 4519809715680205275, i64 4607182418800027885, i64 4519778534342304931, i64 4607182418800027795, i64 4519747353004404588, i64 4607182418800027705, i64 4519716171666504246, i64 4607182418800027615, i64 4519684990328603904, i64 4607182418800027526, i64 4519653808990703563, i64 4607182418800027437, i64 4519622627652803222, i64 4607182418800027348, i64 4519591446314902882, i64 4607182418800027260, i64 4519560264977002543, i64 4607182418800027172, i64 4519529083639102204, i64 4607182418800027085, i64 4519497902301201866, i64 4607182418800026998, i64 4519466720963301529, i64 4607182418800026911, i64 4519435539625401192, i64 4607182418800026825, i64 4519404358287500856, i64 4607182418800026739, i64 4519373176949600520, i64 4607182418800026654, i64 4519341995611700185, i64 4607182418800026569, i64 4519310814273799850, i64 4607182418800026484, i64 4519279632935899516, i64 4607182418800026400, i64 4519248451597999183, i64 4607182418800026316, i64 4519217270260098850, i64 4607182418800026233, i64 4519186088922198518, i64 4607182418800026150, i64 4519154907584298186, i64 4607182418800026067, i64 4519123726246397855, i64 4607182418800025985, i64 4519092544908497525, i64 4607182418800025903, i64 4519061363570597195, i64 4607182418800025821, i64 4519030182232696865, i64 4607182418800025740, i64 4518999000894796536, i64 4607182418800025660, i64 4518967819556896208, i64 4607182418800025579, i64 4518936638218995880, i64 4607182418800025499, i64 4518905456881095553, i64 4607182418800025420, i64 4518874275543195227, i64 4607182418800025341, i64 4518843094205294901, i64 4607182418800025262, i64 4518811912867394575, i64 4607182418800025184, i64 4518780731529494250, i64 4607182418800025106, i64 4518749550191593926, i64 4607182418800025028, i64 4518718368853693602, i64 4607182418800024951, i64 4518687187515793278, i64 4607182418800024874, i64 4518656006177892955, i64 4607182418800024798, i64 4518624824839992633, i64 4607182418800024722, i64 4518593643502092311, i64 4607182418800024646, i64 4518562462164191990, i64 4607182418800024571, i64 4518531280826291669, i64 4607182418800024496, i64 4518500099488391349, i64 4607182418800024422, i64 4518468918150491029, i64 4607182418800024348, i64 4518437736812590710, i64 4607182418800024274, i64 4518406555474690391, i64 4607182418800024201, i64 4518375374136790073, i64 4607182418800024128, i64 4518344192798889756, i64 4607182418800024056, i64 4518313011460989438, i64 4607182418800023984, i64 4518281830123089122, i64 4607182418800023912, i64 4518250648785188805, i64 4607182418800023841, i64 4518219467447288490, i64 4607182418800023770, i64 4518188286109388175, i64 4607182418800023699, i64 4518157104771487860, i64 4607182418800023629, i64 4518125923433587546, i64 4607182418800023559, i64 4518094742095687232, i64 4607182418800023490, i64 4518063560757786919, i64 4607182418800023421, i64 4518032379419886606, i64 4607182418800023353, i64 4518001198081986293, i64 4607182418800023285, i64 4517970016744085981, i64 4607182418800023217, i64 4517938835406185670, i64 4607182418800023149, i64 4517907654068285359, i64 4607182418800023083, i64 4517876472730385049, i64 4607182418800023016, i64 4517845291392484739, i64 4607182418800022950, i64 4517814110054584429, i64 4607182418800022884, i64 4517782928716684120, i64 4607182418800022819, i64 4517751747378783811, i64 4607182418800022754, i64 4517720566040883503, i64 4607182418800022689, i64 4517689384702983195, i64 4607182418800022625, i64 4517658203365082888, i64 4607182418800022561, i64 4517627022027182581, i64 4607182418800022498, i64 4517595840689282275, i64 4607182418800022435, i64 4517564659351381969, i64 4607182418800022372, i64 4517533478013481663, i64 4607182418800022310, i64 4517502296675581358, i64 4607182418800022248, i64 4517471115337681053, i64 4607182418800022186, i64 4517439933999780749, i64 4607182418800022125, i64 4517408752661880445, i64 4607182418800022065, i64 4517377571323980142, i64 4607182418800022004, i64 4517346389986079839, i64 4607182418800021944, i64 4517315208648179536, i64 4607182418800021885, i64 4517284027310279234, i64 4607182418800021826, i64 4517252845972378932, i64 4607182418800021767, i64 4517221664634478631, i64 4607182418800021709, i64 4517190483296578330, i64 4607182418800021651, i64 4517159301958678029, i64 4607182418800021593, i64 4517128120620777729, i64 4607182418800021536, i64 4517083452313147370, i64 4607182418800021480, i64 4517021089637346771, i64 4607182418800021423, i64 4516958726961546173, i64 4607182418800021367, i64 4516896364285745576, i64 4607182418800021312, i64 4516834001609944980, i64 4607182418800021256, i64 4516771638934144384, i64 4607182418800021202, i64 4516709276258343789, i64 4607182418800021147, i64 4516646913582543195, i64 4607182418800021093, i64 4516584550906742601, i64 4607182418800021040, i64 4516522188230942008, i64 4607182418800020986, i64 4516459825555141416, i64 4607182418800020934, i64 4516397462879340825, i64 4607182418800020881, i64 4516335100203540234, i64 4607182418800020829, i64 4516272737527739645, i64 4607182418800020778, i64 4516210374851939055, i64 4607182418800020726, i64 4516148012176138467, i64 4607182418800020675, i64 4516085649500337879, i64 4607182418800020625, i64 4516054468162437586, i64 4607182418800020600, i64 4516023286824537292, i64 4607182418800020575, i64 4515992105486636999, i64 4607182418800020550, i64 4515960924148736706, i64 4607182418800020525, i64 4515929742810836413, i64 4607182418800020501, i64 4515898561472936120, i64 4607182418800020476, i64 4515867380135035828, i64 4607182418800020451, i64 4515836198797135535, i64 4607182418800020427, i64 4515805017459235243, i64 4607182418800020403, i64 4515773836121334951, i64 4607182418800020379, i64 4515742654783434659, i64 4607182418800020354, i64 4515711473445534367, i64 4607182418800020330, i64 4515680292107634076, i64 4607182418800020307, i64 4515649110769733784, i64 4607182418800020283, i64 4515617929431833493, i64 4607182418800020259, i64 4515586748093933202, i64 4607182418800020235, i64 4515555566756032911, i64 4607182418800020212, i64 4515524385418132620, i64 4607182418800020189, i64 4515493204080232330, i64 4607182418800020165, i64 4515462022742332039, i64 4607182418800020142, i64 4515430841404431749, i64 4607182418800020119, i64 4515399660066531459, i64 4607182418800020096, i64 4515368478728631169, i64 4607182418800020073, i64 4515337297390730879, i64 4607182418800020050, i64 4515306116052830590, i64 4607182418800020027, i64 4515274934714930300, i64 4607182418800020005, i64 4515243753377030011, i64 4607182418800019982, i64 4515212572039129722, i64 4607182418800019960, i64 4515181390701229433, i64 4607182418800019937, i64 4515150209363329144, i64 4607182418800019915, i64 4515119028025428855, i64 4607182418800019893, i64 4515087846687528567, i64 4607182418800019871, i64 4515056665349628278, i64 4607182418800019849, i64 4515025484011727990, i64 4607182418800019827, i64 4514994302673827702, i64 4607182418800019805, i64 4514963121335927414, i64 4607182418800019784, i64 4514931939998027126, i64 4607182418800019762, i64 4514900758660126839, i64 4607182418800019741, i64 4514869577322226551, i64 4607182418800019719, i64 4514838395984326264, i64 4607182418800019698, i64 4514807214646425976, i64 4607182418800019677, i64 4514776033308525689, i64 4607182418800019656, i64 4514744851970625403, i64 4607182418800019635, i64 4514713670632725116, i64 4607182418800019614, i64 4514682489294824829, i64 4607182418800019593, i64 4514651307956924543, i64 4607182418800019573, i64 4514620126619024256, i64 4607182418800019552, i64 4514588945281123970, i64 4607182418800019532, i64 4514557763943223684, i64 4607182418800019511, i64 4514526582605323398, i64 4607182418800019491, i64 4514495401267423112, i64 4607182418800019471, i64 4514464219929522827, i64 4607182418800019451, i64 4514433038591622541, i64 4607182418800019431, i64 4514401857253722256, i64 4607182418800019411, i64 4514370675915821971, i64 4607182418800019391, i64 4514339494577921686, i64 4607182418800019371, i64 4514308313240021401, i64 4607182418800019352, i64 4514277131902121116, i64 4607182418800019332, i64 4514245950564220831, i64 4607182418800019313, i64 4514214769226320547, i64 4607182418800019294, i64 4514183587888420262, i64 4607182418800019275, i64 4514152406550519978, i64 4607182418800019255, i64 4514121225212619694, i64 4607182418800019236, i64 4514090043874719410, i64 4607182418800019218, i64 4514058862536819126, i64 4607182418800019199, i64 4514027681198918842, i64 4607182418800019180, i64 4513996499861018559, i64 4607182418800019161, i64 4513965318523118275, i64 4607182418800019143, i64 4513934137185217992, i64 4607182418800019125, i64 4513902955847317708, i64 4607182418800019106, i64 4513871774509417425, i64 4607182418800019088, i64 4513840593171517142, i64 4607182418800019070, i64 4513809411833616860, i64 4607182418800019052, i64 4513778230495716577, i64 4607182418800019034, i64 4513747049157816294, i64 4607182418800019016, i64 4513715867819916012, i64 4607182418800018998, i64 4513684686482015729, i64 4607182418800018981, i64 4513653505144115447, i64 4607182418800018963, i64 4513622323806215165, i64 4607182418800018946, i64 4513591142468314883, i64 4607182418800018929, i64 4513559961130414601, i64 4607182418800018911, i64 4513528779792514319, i64 4607182418800018894, i64 4513497598454614038, i64 4607182418800018877, i64 4513466417116713756, i64 4607182418800018860, i64 4513435235778813475, i64 4607182418800018843, i64 4513404054440913193, i64 4607182418800018827, i64 4513372873103012912, i64 4607182418800018810, i64 4513341691765112631, i64 4607182418800018793, i64 4513310510427212350, i64 4607182418800018777, i64 4513279329089312069, i64 4607182418800018761, i64 4513248147751411789, i64 4607182418800018744, i64 4513216966413511508, i64 4607182418800018728, i64 4513185785075611228, i64 4607182418800018712, i64 4513154603737710947, i64 4607182418800018696, i64 4513123422399810667, i64 4607182418800018680, i64 4513092241061910387, i64 4607182418800018665, i64 4513061059724010107, i64 4607182418800018649, i64 4513029878386109827, i64 4607182418800018633, i64 4512998697048209547, i64 4607182418800018618, i64 4512967515710309267, i64 4607182418800018603, i64 4512936334372408987, i64 4607182418800018587, i64 4512905153034508708, i64 4607182418800018572, i64 4512873971696608428, i64 4607182418800018557, i64 4512842790358708149, i64 4607182418800018542, i64 4512811609020807870, i64 4607182418800018527, i64 4512780427682907591, i64 4607182418800018512, i64 4512749246345007312, i64 4607182418800018498, i64 4512718065007107033, i64 4607182418800018483, i64 4512686883669206754, i64 4607182418800018469, i64 4512655702331306475, i64 4607182418800018454, i64 4512624520993406197, i64 4607182418800018440, i64 4512579852685774845, i64 4607182418800018426, i64 4512517490009974288, i64 4607182418800018412, i64 4512455127334173731, i64 4607182418800018398, i64 4512392764658373175, i64 4607182418800018384, i64 4512330401982572618, i64 4607182418800018370, i64 4512268039306772062, i64 4607182418800018356, i64 4512205676630971506, i64 4607182418800018343, i64 4512143313955170951, i64 4607182418800018329, i64 4512080951279370395, i64 4607182418800018316, i64 4512018588603569840, i64 4607182418800018303, i64 4511956225927769285, i64 4607182418800018289, i64 4511893863251968730, i64 4607182418800018276, i64 4511831500576168175, i64 4607182418800018263, i64 4511769137900367621, i64 4607182418800018250, i64 4511706775224567066, i64 4607182418800018238, i64 4511644412548766512, i64 4607182418800018225, i64 4511582049872965958, i64 4607182418800018212, i64 4511550868535065681, i64 4607182418800018206, i64 4511519687197165404, i64 4607182418800018200, i64 4511488505859265127, i64 4607182418800018194, i64 4511457324521364850, i64 4607182418800018187, i64 4511426143183464573, i64 4607182418800018181, i64 4511394961845564297, i64 4607182418800018175, i64 4511363780507664020, i64 4607182418800018169, i64 4511332599169763743, i64 4607182418800018163, i64 4511301417831863467, i64 4607182418800018157, i64 4511270236493963190, i64 4607182418800018151, i64 4511239055156062914, i64 4607182418800018145, i64 4511207873818162637, i64 4607182418800018139, i64 4511176692480262361, i64 4607182418800018133, i64 4511145511142362084, i64 4607182418800018127, i64 4511114329804461808, i64 4607182418800018121, i64 4511083148466561532, i64 4607182418800018115, i64 4511051967128661255, i64 4607182418800018109, i64 4511020785790760979, i64 4607182418800018103, i64 4510989604452860703, i64 4607182418800018097, i64 4510958423114960427, i64 4607182418800018091, i64 4510927241777060150, i64 4607182418800018086, i64 4510896060439159874, i64 4607182418800018080, i64 4510864879101259598, i64 4607182418800018074, i64 4510833697763359322, i64 4607182418800018069, i64 4510802516425459046, i64 4607182418800018063, i64 4510771335087558770, i64 4607182418800018057, i64 4510740153749658495, i64 4607182418800018052, i64 4510708972411758219, i64 4607182418800018046, i64 4510677791073857943, i64 4607182418800018040, i64 4510646609735957667, i64 4607182418800018035, i64 4510615428398057391, i64 4607182418800018029, i64 4510584247060157116, i64 4607182418800018024, i64 4510553065722256840, i64 4607182418800018018, i64 4510521884384356564, i64 4607182418800018013, i64 4510490703046456289, i64 4607182418800018007, i64 4510459521708556013, i64 4607182418800018002, i64 4510428340370655738, i64 4607182418800017997, i64 4510397159032755462, i64 4607182418800017991, i64 4510365977694855187, i64 4607182418800017986, i64 4510334796356954911, i64 4607182418800017981, i64 4510303615019054636, i64 4607182418800017975, i64 4510272433681154361, i64 4607182418800017970, i64 4510241252343254085, i64 4607182418800017965, i64 4510210071005353810, i64 4607182418800017960, i64 4510178889667453535, i64 4607182418800017954, i64 4510147708329553260, i64 4607182418800017949, i64 4510116526991652985, i64 4607182418800017944, i64 4510085345653752710, i64 4607182418800017939, i64 4510054164315852434, i64 4607182418800017934, i64 4510022982977952159, i64 4607182418800017929, i64 4509991801640051884, i64 4607182418800017924, i64 4509960620302151609, i64 4607182418800017919, i64 4509929438964251334, i64 4607182418800017914, i64 4509898257626351060, i64 4607182418800017909, i64 4509867076288450785, i64 4607182418800017904, i64 4509835894950550510, i64 4607182418800017899, i64 4509804713612650235, i64 4607182418800017894, i64 4509773532274749960, i64 4607182418800017889, i64 4509742350936849686, i64 4607182418800017884, i64 4509711169598949411, i64 4607182418800017879, i64 4509679988261049136, i64 4607182418800017875, i64 4509648806923148862, i64 4607182418800017870, i64 4509617625585248587, i64 4607182418800017865, i64 4509586444247348312, i64 4607182418800017860, i64 4509555262909448038, i64 4607182418800017856, i64 4509524081571547763, i64 4607182418800017851, i64 4509492900233647489, i64 4607182418800017846, i64 4509461718895747215, i64 4607182418800017842, i64 4509430537557846940, i64 4607182418800017837, i64 4509399356219946666, i64 4607182418800017833, i64 4509368174882046391, i64 4607182418800017828, i64 4509336993544146117, i64 4607182418800017823, i64 4509305812206245843, i64 4607182418800017819, i64 4509274630868345569, i64 4607182418800017814, i64 4509243449530445294, i64 4607182418800017810, i64 4509212268192545020, i64 4607182418800017806, i64 4509181086854644746, i64 4607182418800017801, i64 4509149905516744472, i64 4607182418800017797, i64 4509118724178844198, i64 4607182418800017792, i64 4509087542840943924, i64 4607182418800017788, i64 4509056361503043650, i64 4607182418800017784, i64 4509025180165143376, i64 4607182418800017780, i64 4508993998827243102, i64 4607182418800017775, i64 4508962817489342828, i64 4607182418800017771, i64 4508931636151442554, i64 4607182418800017767, i64 4508900454813542280, i64 4607182418800017763, i64 4508869273475642006, i64 4607182418800017758, i64 4508838092137741732, i64 4607182418800017754, i64 4508806910799841458, i64 4607182418800017750, i64 4508775729461941185, i64 4607182418800017746, i64 4508744548124040911, i64 4607182418800017742, i64 4508713366786140637, i64 4607182418800017738, i64 4508682185448240364, i64 4607182418800017734, i64 4508651004110340090, i64 4607182418800017730, i64 4508619822772439816, i64 4607182418800017726, i64 4508588641434539543, i64 4607182418800017722, i64 4508557460096639269, i64 4607182418800017718, i64 4508526278758738996, i64 4607182418800017714, i64 4508495097420838722, i64 4607182418800017710, i64 4508463916082938449, i64 4607182418800017707, i64 4508432734745038175, i64 4607182418800017703, i64 4508401553407137902, i64 4607182418800017699, i64 4508370372069237628, i64 4607182418800017695, i64 4508339190731337355, i64 4607182418800017692, i64 4508308009393437081, i64 4607182418800017688, i64 4508276828055536808, i64 4607182418800017684, i64 4508245646717636535, i64 4607182418800017680, i64 4508214465379736261, i64 4607182418800017677, i64 4508183284041835988, i64 4607182418800017673, i64 4508152102703935715, i64 4607182418800017670, i64 4508120921366035442, i64 4607182418800017666, i64 4508076253058403841, i64 4607182418800017662, i64 4508013890382603295, i64 4607182418800017659, i64 4507951527706802749, i64 4607182418800017655, i64 4507889165031002202, i64 4607182418800017652, i64 4507826802355201656, i64 4607182418800017649, i64 4507764439679401110, i64 4607182418800017645, i64 4507702077003600564, i64 4607182418800017642, i64 4507639714327800018, i64 4607182418800017638, i64 4507577351651999472, i64 4607182418800017635, i64 4507514988976198926, i64 4607182418800017632, i64 4507452626300398380, i64 4607182418800017628, i64 4507390263624597834, i64 4607182418800017625, i64 4507327900948797288, i64 4607182418800017622, i64 4507265538272996742, i64 4607182418800017619, i64 4507203175597196197, i64 4607182418800017615, i64 4507140812921395651, i64 4607182418800017612, i64 4507078450245595105, i64 4607182418800017609, i64 4507047268907694833, i64 4607182418800017607, i64 4507016087569794560, i64 4607182418800017606, i64 4506984906231894287, i64 4607182418800017604, i64 4506953724893994014, i64 4607182418800017603, i64 4506922543556093742, i64 4607182418800017601, i64 4506891362218193469, i64 4607182418800017600, i64 4506860180880293196, i64 4607182418800017598, i64 4506828999542392923, i64 4607182418800017597, i64 4506797818204492651, i64 4607182418800017595, i64 4506766636866592378, i64 4607182418800017594, i64 4506735455528692105, i64 4607182418800017592, i64 4506704274190791833, i64 4607182418800017591, i64 4506673092852891560, i64 4607182418800017589, i64 4506641911514991287, i64 4607182418800017588, i64 4506610730177091015, i64 4607182418800017586, i64 4506579548839190742, i64 4607182418800017585, i64 4506548367501290469, i64 4607182418800017583, i64 4506517186163390197, i64 4607182418800017582, i64 4506486004825489924, i64 4607182418800017580, i64 4506454823487589651, i64 4607182418800017579, i64 4506423642149689379, i64 4607182418800017577, i64 4506392460811789106, i64 4607182418800017576, i64 4506361279473888834, i64 4607182418800017575, i64 4506330098135988561, i64 4607182418800017573, i64 4506298916798088289, i64 4607182418800017572, i64 4506267735460188016, i64 4607182418800017570, i64 4506236554122287743, i64 4607182418800017569, i64 4506205372784387471, i64 4607182418800017567, i64 4506174191446487198, i64 4607182418800017566, i64 4506143010108586926, i64 4607182418800017565, i64 4506111828770686653, i64 4607182418800017563, i64 4506080647432786381, i64 4607182418800017562, i64 4506049466094886108, i64 4607182418800017561, i64 4506018284756985836, i64 4607182418800017559, i64 4505987103419085563, i64 4607182418800017558, i64 4505955922081185291, i64 4607182418800017556, i64 4505924740743285019, i64 4607182418800017555, i64 4505893559405384746, i64 4607182418800017554, i64 4505862378067484474, i64 4607182418800017552, i64 4505831196729584201, i64 4607182418800017551, i64 4505800015391683929, i64 4607182418800017550, i64 4505768834053783657, i64 4607182418800017549, i64 4505737652715883384, i64 4607182418800017547, i64 4505706471377983112, i64 4607182418800017546, i64 4505675290040082839, i64 4607182418800017545, i64 4505644108702182567, i64 4607182418800017543, i64 4505612927364282295, i64 4607182418800017542, i64 4505581746026382022, i64 4607182418800017541, i64 4505550564688481750, i64 4607182418800017539, i64 4505519383350581478, i64 4607182418800017538, i64 4505488202012681205, i64 4607182418800017537, i64 4505457020674780933, i64 4607182418800017536, i64 4505425839336880661, i64 4607182418800017534, i64 4505394657998980389, i64 4607182418800017533, i64 4505363476661080116, i64 4607182418800017532, i64 4505332295323179844, i64 4607182418800017531, i64 4505301113985279572, i64 4607182418800017529, i64 4505269932647379299, i64 4607182418800017528, i64 4505238751309479027, i64 4607182418800017527, i64 4505207569971578755, i64 4607182418800017526, i64 4505176388633678483, i64 4607182418800017525, i64 4505145207295778211, i64 4607182418800017523, i64 4505114025957877938, i64 4607182418800017522, i64 4505082844619977666, i64 4607182418800017521, i64 4505051663282077394, i64 4607182418800017520, i64 4505020481944177122, i64 4607182418800017519, i64 4504989300606276850, i64 4607182418800017518, i64 4504958119268376577, i64 4607182418800017516, i64 4504926937930476305, i64 4607182418800017515, i64 4504895756592576033, i64 4607182418800017514, i64 4504864575254675761, i64 4607182418800017513, i64 4504833393916775489, i64 4607182418800017512, i64 4504802212578875217, i64 4607182418800017511, i64 4504771031240974945, i64 4607182418800017510, i64 4504739849903074672, i64 4607182418800017509, i64 4504708668565174400, i64 4607182418800017507, i64 4504677487227274128, i64 4607182418800017506, i64 4504646305889373856, i64 4607182418800017505, i64 4504615124551473584, i64 4607182418800017504, i64 4504583943213573312, i64 4607182418800017503, i64 4504552761875673040, i64 4607182418800017502, i64 4504521580537772768, i64 4607182418800017501, i64 4504490399199872496, i64 4607182418800017500, i64 4504459217861972224, i64 4607182418800017499, i64 4504428036524071952, i64 4607182418800017498, i64 4504396855186171680, i64 4607182418800017497, i64 4504365673848271408, i64 4607182418800017496, i64 4504334492510371136, i64 4607182418800017495, i64 4504303311172470864, i64 4607182418800017494, i64 4504272129834570592, i64 4607182418800017493, i64 4504240948496670320, i64 4607182418800017492, i64 4504209767158770048, i64 4607182418800017491, i64 4504178585820869776, i64 4607182418800017490, i64 4504147404482969504, i64 4607182418800017489, i64 4504116223145069232, i64 4607182418800017488, i64 4504085041807168960, i64 4607182418800017487, i64 4504053860469268688, i64 4607182418800017486, i64 4504022679131368416, i64 4607182418800017485, i64 4503991497793468144, i64 4607182418800017484, i64 4503960316455567872, i64 4607182418800017483, i64 4503929135117667600, i64 4607182418800017482, i64 4503897953779767328, i64 4607182418800017481, i64 4503866772441867056, i64 4607182418800017480, i64 4503835591103966784, i64 4607182418800017479, i64 4503804409766066512, i64 4607182418800017478, i64 4503773228428166240, i64 4607182418800017477, i64 4503742047090265968, i64 4607182418800017476, i64 4503710865752365697, i64 4607182418800017475, i64 4503679684414465425, i64 4607182418800017474, i64 4503648503076565153, i64 4607182418800017473, i64 4503617321738664881, i64 4607182418800017473, i64 4503572653431033218, i64 4607182418800017472, i64 4503510290755232675, i64 4607182418800017471, i64 4503447928079432131, i64 4607182418800017470, i64 4503385565403631587, i64 4607182418800017469, i64 4503323202727831044, i64 4607182418800017468, i64 4503260840052030500, i64 4607182418800017467, i64 4503198477376229956, i64 4607182418800017466, i64 4503136114700429413, i64 4607182418800017466, i64 4503073752024628869, i64 4607182418800017465, i64 4503011389348828325, i64 4607182418800017464, i64 4502949026673027782, i64 4607182418800017463, i64 4502886663997227238, i64 4607182418800017462, i64 4502824301321426695, i64 4607182418800017461, i64 4502761938645626151, i64 4607182418800017461, i64 4502699575969825607, i64 4607182418800017460, i64 4502637213294025064, i64 4607182418800017459, i64 4502574850618224520, i64 4607182418800017458, i64 4502543669280324249, i64 4607182418800017458, i64 4502512487942423977, i64 4607182418800017457, i64 4502481306604523705, i64 4607182418800017457, i64 4502450125266623433, i64 4607182418800017457, i64 4502418943928723162, i64 4607182418800017456, i64 4502387762590822890, i64 4607182418800017456, i64 4502356581252922618, i64 4607182418800017456, i64 4502325399915022346, i64 4607182418800017455, i64 4502294218577122075, i64 4607182418800017455, i64 4502263037239221803, i64 4607182418800017454, i64 4502231855901321531, i64 4607182418800017454, i64 4502200674563421259, i64 4607182418800017454, i64 4502169493225520988, i64 4607182418800017453, i64 4502138311887620716, i64 4607182418800017453, i64 4502107130549720444, i64 4607182418800017453, i64 4502075949211820172, i64 4607182418800017452, i64 4502044767873919901, i64 4607182418800017452, i64 4502013586536019629, i64 4607182418800017451, i64 4501982405198119357, i64 4607182418800017451, i64 4501951223860219086, i64 4607182418800017451, i64 4501920042522318814, i64 4607182418800017450, i64 4501888861184418542, i64 4607182418800017450, i64 4501857679846518270, i64 4607182418800017450, i64 4501826498508617999, i64 4607182418800017449, i64 4501795317170717727, i64 4607182418800017449, i64 4501764135832817455, i64 4607182418800017449, i64 4501732954494917184, i64 4607182418800017448, i64 4501701773157016912, i64 4607182418800017448, i64 4501670591819116640, i64 4607182418800017448, i64 4501639410481216369, i64 4607182418800017447, i64 4501608229143316097, i64 4607182418800017447, i64 4501577047805415825, i64 4607182418800017446, i64 4501545866467515554, i64 4607182418800017446, i64 4501514685129615282, i64 4607182418800017446, i64 4501483503791715010, i64 4607182418800017445, i64 4501452322453814739, i64 4607182418800017445, i64 4501421141115914467, i64 4607182418800017445, i64 4501389959778014195, i64 4607182418800017444, i64 4501358778440113923, i64 4607182418800017444, i64 4501327597102213652, i64 4607182418800017444, i64 4501296415764313380, i64 4607182418800017443, i64 4501265234426413109, i64 4607182418800017443, i64 4501234053088512837, i64 4607182418800017443, i64 4501202871750612565, i64 4607182418800017442, i64 4501171690412712294, i64 4607182418800017442, i64 4501140509074812022, i64 4607182418800017442, i64 4501109327736911750, i64 4607182418800017442, i64 4501078146399011479, i64 4607182418800017441, i64 4501046965061111207, i64 4607182418800017441, i64 4501015783723210935, i64 4607182418800017441, i64 4500984602385310664, i64 4607182418800017440, i64 4500953421047410392, i64 4607182418800017440, i64 4500922239709510120, i64 4607182418800017440, i64 4500891058371609849, i64 4607182418800017439, i64 4500859877033709577, i64 4607182418800017439, i64 4500828695695809305, i64 4607182418800017439, i64 4500797514357909034, i64 4607182418800017438, i64 4500766333020008762, i64 4607182418800017438, i64 4500735151682108491, i64 4607182418800017438, i64 4500703970344208219, i64 4607182418800017437, i64 4500672789006307947, i64 4607182418800017437, i64 4500641607668407676, i64 4607182418800017437, i64 4500610426330507404, i64 4607182418800017437, i64 4500579244992607133, i64 4607182418800017436, i64 4500548063654706861, i64 4607182418800017436, i64 4500516882316806589, i64 4607182418800017436, i64 4500485700978906318, i64 4607182418800017435, i64 4500454519641006046, i64 4607182418800017435, i64 4500423338303105774, i64 4607182418800017435, i64 4500392156965205503, i64 4607182418800017435, i64 4500360975627305231, i64 4607182418800017434, i64 4500329794289404960, i64 4607182418800017434, i64 4500298612951504688, i64 4607182418800017434, i64 4500267431613604416, i64 4607182418800017433, i64 4500236250275704145, i64 4607182418800017433, i64 4500205068937803873, i64 4607182418800017433, i64 4500173887599903602, i64 4607182418800017433, i64 4500142706262003330, i64 4607182418800017432, i64 4500111524924103059, i64 4607182418800017432, i64 4500080343586202787, i64 4607182418800017432, i64 4500049162248302515, i64 4607182418800017431, i64 4500017980910402244, i64 4607182418800017431, i64 4499986799572501972, i64 4607182418800017431, i64 4499955618234601701, i64 4607182418800017431, i64 4499924436896701429, i64 4607182418800017430, i64 4499893255558801158, i64 4607182418800017430, i64 4499862074220900886, i64 4607182418800017430, i64 4499830892883000614, i64 4607182418800017430, i64 4499799711545100343, i64 4607182418800017429, i64 4499768530207200071, i64 4607182418800017429, i64 4499737348869299800, i64 4607182418800017429, i64 4499706167531399528, i64 4607182418800017429, i64 4499674986193499257, i64 4607182418800017428, i64 4499643804855598985, i64 4607182418800017428, i64 4499612623517698713, i64 4607182418800017428, i64 4499581442179798442, i64 4607182418800017428, i64 4499550260841898170, i64 4607182418800017427, i64 4499519079503997899, i64 4607182418800017427, i64 4499487898166097627, i64 4607182418800017427, i64 4499456716828197356, i64 4607182418800017427, i64 4499425535490297084, i64 4607182418800017426, i64 4499394354152396813, i64 4607182418800017426, i64 4499363172814496541, i64 4607182418800017426, i64 4499331991476596270, i64 4607182418800017426, i64 4499300810138695998, i64 4607182418800017425, i64 4499269628800795726, i64 4607182418800017425, i64 4499238447462895455, i64 4607182418800017425, i64 4499207266124995183, i64 4607182418800017425, i64 4499176084787094912, i64 4607182418800017425, i64 4499144903449194640, i64 4607182418800017424, i64 4499113722111294369, i64 4607182418800017424, i64 4499069053803662691, i64 4607182418800017424, i64 4499006691127862148, i64 4607182418800017424, i64 4498944328452061604, i64 4607182418800017423, i64 4498881965776261061, i64 4607182418800017423, i64 4498819603100460518, i64 4607182418800017423, i64 4498757240424659975, i64 4607182418800017423, i64 4498694877748859432, i64 4607182418800017423, i64 4498632515073058889, i64 4607182418800017422, i64 4498570152397258346, i64 4607182418800017422, i64 4498507789721457803, i64 4607182418800017422, i64 4498445427045657260, i64 4607182418800017422, i64 4498383064369856717, i64 4607182418800017422, i64 4498320701694056174, i64 4607182418800017421, i64 4498258339018255631, i64 4607182418800017421, i64 4498195976342455088, i64 4607182418800017421, i64 4498133613666654545, i64 4607182418800017421, i64 4498071250990854002, i64 4607182418800017421, i64 4498040069652953731, i64 4607182418800017420, i64 4498008888315053459, i64 4607182418800017420, i64 4497977706977153188, i64 4607182418800017420, i64 4497946525639252916, i64 4607182418800017420, i64 4497915344301352645, i64 4607182418800017420, i64 4497884162963452373, i64 4607182418800017420, i64 4497852981625552102, i64 4607182418800017420, i64 4497821800287651830, i64 4607182418800017420, i64 4497790618949751559, i64 4607182418800017420, i64 4497759437611851287, i64 4607182418800017420, i64 4497728256273951016, i64 4607182418800017420, i64 4497697074936050744, i64 4607182418800017419, i64 4497665893598150473, i64 4607182418800017419, i64 4497634712260250201, i64 4607182418800017419, i64 4497603530922349930, i64 4607182418800017419, i64 4497572349584449658, i64 4607182418800017419, i64 4497541168246549387, i64 4607182418800017419, i64 4497509986908649115, i64 4607182418800017419, i64 4497478805570748844, i64 4607182418800017419, i64 4497447624232848572, i64 4607182418800017419, i64 4497416442894948301, i64 4607182418800017419, i64 4497385261557048029, i64 4607182418800017418, i64 4497354080219147758, i64 4607182418800017418, i64 4497322898881247486, i64 4607182418800017418, i64 4497291717543347215, i64 4607182418800017418, i64 4497260536205446943, i64 4607182418800017418, i64 4497229354867546672, i64 4607182418800017418, i64 4497198173529646400, i64 4607182418800017418, i64 4497166992191746129, i64 4607182418800017418, i64 4497135810853845857, i64 4607182418800017418, i64 4497104629515945586, i64 4607182418800017418, i64 4497073448178045314, i64 4607182418800017418, i64 4497042266840145043, i64 4607182418800017418, i64 4497011085502244771, i64 4607182418800017417, i64 4496979904164344500, i64 4607182418800017417, i64 4496948722826444228, i64 4607182418800017417, i64 4496917541488543957, i64 4607182418800017417, i64 4496886360150643685, i64 4607182418800017417, i64 4496855178812743414, i64 4607182418800017417, i64 4496823997474843142, i64 4607182418800017417, i64 4496792816136942871, i64 4607182418800017417, i64 4496761634799042599, i64 4607182418800017417, i64 4496730453461142328, i64 4607182418800017417, i64 4496699272123242057, i64 4607182418800017417, i64 4496668090785341785, i64 4607182418800017417, i64 4496636909447441514, i64 4607182418800017416, i64 4496605728109541242, i64 4607182418800017416, i64 4496574546771640971, i64 4607182418800017416, i64 4496543365433740699, i64 4607182418800017416, i64 4496512184095840428, i64 4607182418800017416, i64 4496481002757940156, i64 4607182418800017416, i64 4496449821420039885, i64 4607182418800017416, i64 4496418640082139613, i64 4607182418800017416, i64 4496387458744239342, i64 4607182418800017416, i64 4496356277406339070, i64 4607182418800017416, i64 4496325096068438799, i64 4607182418800017416, i64 4496293914730538527, i64 4607182418800017416, i64 4496262733392638256, i64 4607182418800017416, i64 4496231552054737984, i64 4607182418800017415, i64 4496200370716837713, i64 4607182418800017415, i64 4496169189378937442, i64 4607182418800017415, i64 4496138008041037170, i64 4607182418800017415, i64 4496106826703136899, i64 4607182418800017415, i64 4496075645365236627, i64 4607182418800017415, i64 4496044464027336356, i64 4607182418800017415, i64 4496013282689436084, i64 4607182418800017415, i64 4495982101351535813, i64 4607182418800017415, i64 4495950920013635541, i64 4607182418800017415, i64 4495919738675735270, i64 4607182418800017415, i64 4495888557337834998, i64 4607182418800017415, i64 4495857375999934727, i64 4607182418800017415, i64 4495826194662034455, i64 4607182418800017414, i64 4495795013324134184, i64 4607182418800017414, i64 4495763831986233912, i64 4607182418800017414, i64 4495732650648333641, i64 4607182418800017414, i64 4495701469310433370, i64 4607182418800017414, i64 4495670287972533098, i64 4607182418800017414, i64 4495639106634632827, i64 4607182418800017414, i64 4495607925296732555, i64 4607182418800017414, i64 4495576743958832284, i64 4607182418800017414, i64 4495545562620932012, i64 4607182418800017414, i64 4495514381283031741, i64 4607182418800017414, i64 4495483199945131469, i64 4607182418800017414, i64 4495452018607231198, i64 4607182418800017414, i64 4495420837269330926, i64 4607182418800017414, i64 4495389655931430655, i64 4607182418800017414, i64 4495358474593530384, i64 4607182418800017413, i64 4495327293255630112, i64 4607182418800017413, i64 4495296111917729841, i64 4607182418800017413, i64 4495264930579829569, i64 4607182418800017413, i64 4495233749241929298, i64 4607182418800017413, i64 4495202567904029026, i64 4607182418800017413, i64 4495171386566128755, i64 4607182418800017413, i64 4495140205228228483, i64 4607182418800017413, i64 4495109023890328212, i64 4607182418800017413, i64 4495077842552427940, i64 4607182418800017413, i64 4495046661214527669, i64 4607182418800017413, i64 4495015479876627398, i64 4607182418800017413, i64 4494984298538727126, i64 4607182418800017413, i64 4494953117200826855, i64 4607182418800017413, i64 4494921935862926583, i64 4607182418800017413, i64 4494890754525026312, i64 4607182418800017413, i64 4494859573187126040, i64 4607182418800017412, i64 4494828391849225769, i64 4607182418800017412, i64 4494797210511325497, i64 4607182418800017412, i64 4494766029173425226, i64 4607182418800017412, i64 4494734847835524955, i64 4607182418800017412, i64 4494703666497624683, i64 4607182418800017412, i64 4494672485159724412, i64 4607182418800017412, i64 4494641303821824140, i64 4607182418800017412, i64 4494610122483923869, i64 4607182418800017412, i64 4494565454176292187, i64 4607182418800017412, i64 4494503091500491644, i64 4607182418800017412, i64 4494440728824691101, i64 4607182418800017412, i64 4494378366148890558, i64 4607182418800017412, i64 4494316003473090015, i64 4607182418800017412, i64 4494253640797289472, i64 4607182418800017412, i64 4494191278121488929, i64 4607182418800017412, i64 4494128915445688386, i64 4607182418800017412, i64 4494066552769887844, i64 4607182418800017412, i64 4494004190094087301, i64 4607182418800017411, i64 4493941827418286758, i64 4607182418800017411, i64 4493879464742486215, i64 4607182418800017411, i64 4493817102066685672, i64 4607182418800017411, i64 4493754739390885129, i64 4607182418800017411, i64 4493692376715084586, i64 4607182418800017411, i64 4493630014039284043, i64 4607182418800017411, i64 4493567651363483501, i64 4607182418800017411, i64 4493536470025583229, i64 4607182418800017411, i64 4493505288687682958, i64 4607182418800017411, i64 4493474107349782686, i64 4607182418800017411, i64 4493442926011882415, i64 4607182418800017411, i64 4493411744673982143, i64 4607182418800017411, i64 4493380563336081872, i64 4607182418800017411, i64 4493349381998181600, i64 4607182418800017411, i64 4493318200660281329, i64 4607182418800017411, i64 4493287019322381058, i64 4607182418800017411, i64 4493255837984480786, i64 4607182418800017411, i64 4493224656646580515, i64 4607182418800017411, i64 4493193475308680243, i64 4607182418800017411, i64 4493162293970779972, i64 4607182418800017411, i64 4493131112632879700, i64 4607182418800017411, i64 4493099931294979429, i64 4607182418800017411, i64 4493068749957079158, i64 4607182418800017411, i64 4493037568619178886, i64 4607182418800017411, i64 4493006387281278615, i64 4607182418800017411, i64 4492975205943378343, i64 4607182418800017411, i64 4492944024605478072, i64 4607182418800017411, i64 4492912843267577800, i64 4607182418800017411, i64 4492881661929677529, i64 4607182418800017411, i64 4492850480591777257, i64 4607182418800017411, i64 4492819299253876986, i64 4607182418800017411, i64 4492788117915976715, i64 4607182418800017411, i64 4492756936578076443, i64 4607182418800017411, i64 4492725755240176172, i64 4607182418800017411, i64 4492694573902275900, i64 4607182418800017410, i64 4492663392564375629, i64 4607182418800017410, i64 4492632211226475357, i64 4607182418800017410, i64 4492601029888575086, i64 4607182418800017410, i64 4492569848550674815, i64 4607182418800017410, i64 4492538667212774543, i64 4607182418800017410, i64 4492507485874874272, i64 4607182418800017410, i64 4492476304536974000, i64 4607182418800017410, i64 4492445123199073729, i64 4607182418800017410, i64 4492413941861173457, i64 4607182418800017410, i64 4492382760523273186, i64 4607182418800017410, i64 4492351579185372915, i64 4607182418800017410, i64 4492320397847472643, i64 4607182418800017410, i64 4492289216509572372, i64 4607182418800017410, i64 4492258035171672100, i64 4607182418800017410, i64 4492226853833771829, i64 4607182418800017410, i64 4492195672495871557, i64 4607182418800017410, i64 4492164491157971286, i64 4607182418800017410, i64 4492133309820071015, i64 4607182418800017410, i64 4492102128482170743, i64 4607182418800017410, i64 4492070947144270472, i64 4607182418800017410, i64 4492039765806370200, i64 4607182418800017410, i64 4492008584468469929, i64 4607182418800017410, i64 4491977403130569657, i64 4607182418800017410, i64 4491946221792669386, i64 4607182418800017410, i64 4491915040454769114, i64 4607182418800017410, i64 4491883859116868843, i64 4607182418800017410, i64 4491852677778968572, i64 4607182418800017410, i64 4491821496441068300, i64 4607182418800017410, i64 4491790315103168029, i64 4607182418800017410, i64 4491759133765267757, i64 4607182418800017410, i64 4491727952427367486, i64 4607182418800017410, i64 4491696771089467214, i64 4607182418800017410, i64 4491665589751566943, i64 4607182418800017410, i64 4491634408413666672, i64 4607182418800017410, i64 4491603227075766400, i64 4607182418800017410, i64 4491572045737866129, i64 4607182418800017410, i64 4491540864399965857, i64 4607182418800017410, i64 4491509683062065586, i64 4607182418800017410, i64 4491478501724165314, i64 4607182418800017410, i64 4491447320386265043, i64 4607182418800017410, i64 4491416139048364772, i64 4607182418800017410, i64 4491384957710464500, i64 4607182418800017410, i64 4491353776372564229, i64 4607182418800017410, i64 4491322595034663957, i64 4607182418800017410, i64 4491291413696763686, i64 4607182418800017410, i64 4491260232358863414, i64 4607182418800017410, i64 4491229051020963143, i64 4607182418800017410, i64 4491197869683062872, i64 4607182418800017410, i64 4491166688345162600, i64 4607182418800017410, i64 4491135507007262329, i64 4607182418800017410, i64 4491104325669362057, i64 4607182418800017410, i64 4491073144331461786, i64 4607182418800017409, i64 4491041962993561515, i64 4607182418800017409, i64 4491010781655661243, i64 4607182418800017409, i64 4490979600317760972, i64 4607182418800017409, i64 4490948418979860700, i64 4607182418800017409, i64 4490917237641960429, i64 4607182418800017409, i64 4490886056304060157, i64 4607182418800017409, i64 4490854874966159886, i64 4607182418800017409, i64 4490823693628259615, i64 4607182418800017409, i64 4490792512290359343, i64 4607182418800017409, i64 4490761330952459072, i64 4607182418800017409, i64 4490730149614558800, i64 4607182418800017409, i64 4490698968276658529, i64 4607182418800017409, i64 4490667786938758257, i64 4607182418800017409, i64 4490636605600857986, i64 4607182418800017409, i64 4490605424262957715, i64 4607182418800017409, i64 4490574242925057443, i64 4607182418800017409, i64 4490543061587157172, i64 4607182418800017409, i64 4490511880249256900, i64 4607182418800017409, i64 4490480698911356629, i64 4607182418800017409, i64 4490449517573456357, i64 4607182418800017409, i64 4490418336235556086, i64 4607182418800017409, i64 4490387154897655815, i64 4607182418800017409, i64 4490355973559755543, i64 4607182418800017409, i64 4490324792221855272, i64 4607182418800017409, i64 4490293610883955000, i64 4607182418800017409, i64 4490262429546054729, i64 4607182418800017409, i64 4490231248208154457, i64 4607182418800017409, i64 4490200066870254186, i64 4607182418800017409, i64 4490168885532353915, i64 4607182418800017409, i64 4490137704194453643, i64 4607182418800017409, i64 4490106522856553372, i64 4607182418800017409, i64 4490061854548921689, i64 4607182418800017409, i64 4489999491873121146, i64 4607182418800017409, i64 4489937129197320603, i64 4607182418800017409, i64 4489874766521520060, i64 4607182418800017409, i64 4489812403845719517, i64 4607182418800017409, i64 4489750041169918974, i64 4607182418800017409, i64 4489687678494118432, i64 4607182418800017409, i64 4489625315818317889, i64 4607182418800017409, i64 4489562953142517346, i64 4607182418800017409, i64 4489500590466716803, i64 4607182418800017409, i64 4489438227790916260, i64 4607182418800017409, i64 4489375865115115717, i64 4607182418800017409, i64 4489313502439315174, i64 4607182418800017409, i64 4489251139763514632, i64 4607182418800017409, i64 4489188777087714089, i64 4607182418800017409, i64 4489126414411913546, i64 4607182418800017409, i64 4489064051736113003, i64 4607182418800017409, i64 4489032870398212732, i64 4607182418800017409, i64 4489001689060312460, i64 4607182418800017409, i64 4488970507722412189, i64 4607182418800017409, i64 4488939326384511917, i64 4607182418800017409, i64 4488908145046611646, i64 4607182418800017409, i64 4488876963708711375, i64 4607182418800017409, i64 4488845782370811103, i64 4607182418800017409, i64 4488814601032910832, i64 4607182418800017409, i64 4488783419695010560, i64 4607182418800017409, i64 4488752238357110289, i64 4607182418800017409, i64 4488721057019210017, i64 4607182418800017409, i64 4488689875681309746, i64 4607182418800017409, i64 4488658694343409475, i64 4607182418800017409, i64 4488627513005509203, i64 4607182418800017409, i64 4488596331667608932, i64 4607182418800017409, i64 4488565150329708660, i64 4607182418800017409, i64 4488533968991808389, i64 4607182418800017409, i64 4488502787653908118, i64 4607182418800017409, i64 4488471606316007846, i64 4607182418800017409, i64 4488440424978107575, i64 4607182418800017409, i64 4488409243640207303, i64 4607182418800017409, i64 4488378062302307032, i64 4607182418800017409, i64 4488346880964406760, i64 4607182418800017409, i64 4488315699626506489, i64 4607182418800017409, i64 4488284518288606218, i64 4607182418800017409, i64 4488253336950705946, i64 4607182418800017409, i64 4488222155612805675, i64 4607182418800017409, i64 4488190974274905403, i64 4607182418800017409, i64 4488159792937005132, i64 4607182418800017409, i64 4488128611599104860, i64 4607182418800017409, i64 4488097430261204589, i64 4607182418800017409, i64 4488066248923304318, i64 4607182418800017409, i64 4488035067585404046, i64 4607182418800017409, i64 4488003886247503775, i64 4607182418800017409, i64 4487972704909603503, i64 4607182418800017409, i64 4487941523571703232, i64 4607182418800017409, i64 4487910342233802961, i64 4607182418800017409, i64 4487879160895902689, i64 4607182418800017409, i64 4487847979558002418, i64 4607182418800017409, i64 4487816798220102146, i64 4607182418800017409, i64 4487785616882201875, i64 4607182418800017409, i64 4487754435544301603, i64 4607182418800017409, i64 4487723254206401332, i64 4607182418800017409, i64 4487692072868501061, i64 4607182418800017409, i64 4487660891530600789, i64 4607182418800017409, i64 4487629710192700518, i64 4607182418800017409, i64 4487598528854800246, i64 4607182418800017409, i64 4487567347516899975, i64 4607182418800017409, i64 4487536166178999703, i64 4607182418800017409, i64 4487504984841099432, i64 4607182418800017409, i64 4487473803503199161, i64 4607182418800017409, i64 4487442622165298889, i64 4607182418800017408, i64 4487411440827398618, i64 4607182418800017408, i64 4487380259489498346, i64 4607182418800017408, i64 4487349078151598075, i64 4607182418800017408, i64 4487317896813697804, i64 4607182418800017408, i64 4487286715475797532, i64 4607182418800017408, i64 4487255534137897261, i64 4607182418800017408, i64 4487224352799996989, i64 4607182418800017408, i64 4487193171462096718, i64 4607182418800017408, i64 4487161990124196446, i64 4607182418800017408, i64 4487130808786296175, i64 4607182418800017408, i64 4487099627448395904, i64 4607182418800017408, i64 4487068446110495632, i64 4607182418800017408, i64 4487037264772595361, i64 4607182418800017408, i64 4487006083434695089, i64 4607182418800017408, i64 4486974902096794818, i64 4607182418800017408, i64 4486943720758894547, i64 4607182418800017408, i64 4486912539420994275, i64 4607182418800017408, i64 4486881358083094004, i64 4607182418800017408, i64 4486850176745193732, i64 4607182418800017408, i64 4486818995407293461, i64 4607182418800017408, i64 4486787814069393189, i64 4607182418800017408, i64 4486756632731492918, i64 4607182418800017408, i64 4486725451393592647, i64 4607182418800017408, i64 4486694270055692375, i64 4607182418800017408, i64 4486663088717792104, i64 4607182418800017408, i64 4486631907379891832, i64 4607182418800017408, i64 4486600726041991561, i64 4607182418800017408, i64 4486569544704091289, i64 4607182418800017408, i64 4486538363366191018, i64 4607182418800017408, i64 4486507182028290747, i64 4607182418800017408, i64 4486476000690390475, i64 4607182418800017408, i64 4486444819352490204, i64 4607182418800017408, i64 4486413638014589932, i64 4607182418800017408, i64 4486382456676689661, i64 4607182418800017408, i64 4486351275338789390, i64 4607182418800017408, i64 4486320094000889118, i64 4607182418800017408, i64 4486288912662988847, i64 4607182418800017408, i64 4486257731325088575, i64 4607182418800017408, i64 4486226549987188304, i64 4607182418800017408, i64 4486195368649288032, i64 4607182418800017408, i64 4486164187311387761, i64 4607182418800017408, i64 4486133005973487490, i64 4607182418800017408, i64 4486101824635587218, i64 4607182418800017408, i64 4486070643297686947, i64 4607182418800017408, i64 4486039461959786675, i64 4607182418800017408, i64 4486008280621886404, i64 4607182418800017408, i64 4485977099283986133, i64 4607182418800017408, i64 4485945917946085861, i64 4607182418800017408, i64 4485914736608185590, i64 4607182418800017408, i64 4485883555270285318, i64 4607182418800017408, i64 4485852373932385047, i64 4607182418800017408, i64 4485821192594484775, i64 4607182418800017408, i64 4485790011256584504, i64 4607182418800017408, i64 4485758829918684233, i64 4607182418800017408, i64 4485727648580783961, i64 4607182418800017408, i64 4485696467242883690, i64 4607182418800017408, i64 4485665285904983418, i64 4607182418800017408, i64 4485634104567083147, i64 4607182418800017408, i64 4485602923229182875, i64 4607182418800017408, i64 4485558254921551192, i64 4607182418800017408, i64 4485495892245750649, i64 4607182418800017408, i64 4485433529569950106, i64 4607182418800017408, i64 4485371166894149564, i64 4607182418800017408, i64 4485308804218349021, i64 4607182418800017408, i64 4485246441542548478, i64 4607182418800017408, i64 4485184078866747935, i64 4607182418800017408, i64 4485121716190947392, i64 4607182418800017408, i64 4485059353515146849, i64 4607182418800017408, i64 4484996990839346307, i64 4607182418800017408, i64 4484934628163545764, i64 4607182418800017408, i64 4484872265487745221, i64 4607182418800017408, i64 4484809902811944678, i64 4607182418800017408, i64 4484747540136144135, i64 4607182418800017408, i64 4484685177460343592, i64 4607182418800017408, i64 4484622814784543050, i64 4607182418800017408, i64 4484560452108742507, i64 4607182418800017408, i64 4484529270770842235, i64 4607182418800017408, i64 4484498089432941964, i64 4607182418800017408, i64 4484466908095041693, i64 4607182418800017408, i64 4484435726757141421, i64 4607182418800017408, i64 4484404545419241150, i64 4607182418800017408, i64 4484373364081340878, i64 4607182418800017408, i64 4484342182743440607, i64 4607182418800017408, i64 4484311001405540335, i64 4607182418800017408, i64 4484279820067640064, i64 4607182418800017408, i64 4484248638729739793, i64 4607182418800017408, i64 4484217457391839521, i64 4607182418800017408, i64 4484186276053939250, i64 4607182418800017408, i64 4484155094716038978, i64 4607182418800017408, i64 4484123913378138707, i64 4607182418800017408, i64 4484092732040238436, i64 4607182418800017408, i64 4484061550702338164, i64 4607182418800017408, i64 4484030369364437893, i64 4607182418800017408, i64 4483999188026537621, i64 4607182418800017408, i64 4483968006688637350, i64 4607182418800017408, i64 4483936825350737078, i64 4607182418800017408, i64 4483905644012836807, i64 4607182418800017408, i64 4483874462674936536, i64 4607182418800017408, i64 4483843281337036264, i64 4607182418800017408, i64 4483812099999135993, i64 4607182418800017408, i64 4483780918661235721, i64 4607182418800017408, i64 4483749737323335450, i64 4607182418800017408, i64 4483718555985435178, i64 4607182418800017408, i64 4483687374647534907, i64 4607182418800017408, i64 4483656193309634636, i64 4607182418800017408, i64 4483625011971734364, i64 4607182418800017408, i64 4483593830633834093, i64 4607182418800017408, i64 4483562649295933821, i64 4607182418800017408, i64 4483531467958033550, i64 4607182418800017408, i64 4483500286620133279, i64 4607182418800017408, i64 4483469105282233007, i64 4607182418800017408, i64 4483437923944332736, i64 4607182418800017408, i64 4483406742606432464, i64 4607182418800017408, i64 4483375561268532193, i64 4607182418800017408, i64 4483344379930631921, i64 4607182418800017408, i64 4483313198592731650, i64 4607182418800017408, i64 4483282017254831379, i64 4607182418800017408, i64 4483250835916931107, i64 4607182418800017408, i64 4483219654579030836, i64 4607182418800017408, i64 4483188473241130564, i64 4607182418800017408, i64 4483157291903230293, i64 4607182418800017408, i64 4483126110565330022, i64 4607182418800017408, i64 4483094929227429750, i64 4607182418800017408, i64 4483063747889529479, i64 4607182418800017408, i64 4483032566551629207, i64 4607182418800017408, i64 4483001385213728936, i64 4607182418800017408, i64 4482970203875828664, i64 4607182418800017408, i64 4482939022537928393, i64 4607182418800017408, i64 4482907841200028122, i64 4607182418800017408, i64 4482876659862127850, i64 4607182418800017408, i64 4482845478524227579, i64 4607182418800017408, i64 4482814297186327307, i64 4607182418800017408, i64 4482783115848427036, i64 4607182418800017408, i64 4482751934510526765, i64 4607182418800017408, i64 4482720753172626493, i64 4607182418800017408, i64 4482689571834726222, i64 4607182418800017408, i64 4482658390496825950, i64 4607182418800017408, i64 4482627209158925679, i64 4607182418800017408, i64 4482596027821025407, i64 4607182418800017408, i64 4482564846483125136, i64 4607182418800017408, i64 4482533665145224865, i64 4607182418800017408, i64 4482502483807324593, i64 4607182418800017408, i64 4482471302469424322, i64 4607182418800017408, i64 4482440121131524050, i64 4607182418800017408, i64 4482408939793623779, i64 4607182418800017408, i64 4482377758455723508, i64 4607182418800017408, i64 4482346577117823236, i64 4607182418800017408, i64 4482315395779922965, i64 4607182418800017408, i64 4482284214442022693, i64 4607182418800017408, i64 4482253033104122422, i64 4607182418800017408, i64 4482221851766222150, i64 4607182418800017408, i64 4482190670428321879, i64 4607182418800017408, i64 4482159489090421608, i64 4607182418800017408, i64 4482128307752521336, i64 4607182418800017408, i64 4482097126414621065, i64 4607182418800017408, i64 4482065945076720793, i64 4607182418800017408, i64 4482034763738820522, i64 4607182418800017408, i64 4482003582400920251, i64 4607182418800017408, i64 4481972401063019979, i64 4607182418800017408, i64 4481941219725119708, i64 4607182418800017408, i64 4481910038387219436, i64 4607182418800017408, i64 4481878857049319165, i64 4607182418800017408, i64 4481847675711418893, i64 4607182418800017408, i64 4481816494373518622, i64 4607182418800017408, i64 4481785313035618351, i64 4607182418800017408, i64 4481754131697718079, i64 4607182418800017408, i64 4481722950359817808, i64 4607182418800017408, i64 4481691769021917536, i64 4607182418800017408, i64 4481660587684017265, i64 4607182418800017408, i64 4481629406346116994, i64 4607182418800017408, i64 4481598225008216722, i64 4607182418800017408, i64 4481567043670316451, i64 4607182418800017408, i64 4481535862332416179, i64 4607182418800017408, i64 4481504680994515908, i64 4607182418800017408, i64 4481473499656615636, i64 4607182418800017408, i64 4481442318318715365, i64 4607182418800017408, i64 4481411136980815094, i64 4607182418800017408, i64 4481379955642914822, i64 4607182418800017408, i64 4481348774305014551, i64 4607182418800017408, i64 4481317592967114279, i64 4607182418800017408, i64 4481286411629214008, i64 4607182418800017408, i64 4481255230291313737, i64 4607182418800017408, i64 4481224048953413465, i64 4607182418800017408, i64 4481192867615513194, i64 4607182418800017408, i64 4481161686277612922, i64 4607182418800017408, i64 4481130504939712651, i64 4607182418800017408, i64 4481099323601812379, i64 4607182418800017408, i64 4481054655294180696, i64 4607182418800017408, i64 4480992292618380153, i64 4607182418800017408, i64 4480929929942579610, i64 4607182418800017408, i64 4480867567266779068, i64 4607182418800017408, i64 4480805204590978525, i64 4607182418800017408, i64 4480742841915177982, i64 4607182418800017408, i64 4480680479239377439, i64 4607182418800017408, i64 4480618116563576896, i64 4607182418800017408, i64 4480555753887776353, i64 4607182418800017408, i64 4480493391211975811, i64 4607182418800017408, i64 4480431028536175268, i64 4607182418800017408, i64 4480368665860374725, i64 4607182418800017408, i64 4480306303184574182, i64 4607182418800017408, i64 4480243940508773639, i64 4607182418800017408, i64 4480181577832973096, i64 4607182418800017408, i64 4480119215157172554, i64 4607182418800017408, i64 4480056852481372011, i64 4607182418800017408, i64 4480025671143471739, i64 4607182418800017408, i64 4479994489805571468, i64 4607182418800017408, i64 4479963308467671196, i64 4607182418800017408, i64 4479932127129770925, i64 4607182418800017408, i64 4479900945791870654, i64 4607182418800017408, i64 4479869764453970382, i64 4607182418800017408, i64 4479838583116070111, i64 4607182418800017408, i64 4479807401778169839, i64 4607182418800017408, i64 4479776220440269568, i64 4607182418800017408, i64 4479745039102369297, i64 4607182418800017408, i64 4479713857764469025, i64 4607182418800017408, i64 4479682676426568754, i64 4607182418800017408, i64 4479651495088668482, i64 4607182418800017408, i64 4479620313750768211, i64 4607182418800017408, i64 4479589132412867939, i64 4607182418800017408, i64 4479557951074967668, i64 4607182418800017408, i64 4479526769737067397, i64 4607182418800017408, i64 4479495588399167125, i64 4607182418800017408, i64 4479464407061266854, i64 4607182418800017408, i64 4479433225723366582, i64 4607182418800017408, i64 4479402044385466311, i64 4607182418800017408, i64 4479370863047566040, i64 4607182418800017408, i64 4479339681709665768, i64 4607182418800017408, i64 4479308500371765497, i64 4607182418800017408, i64 4479277319033865225, i64 4607182418800017408, i64 4479246137695964954, i64 4607182418800017408, i64 4479214956358064682, i64 4607182418800017408, i64 4479183775020164411, i64 4607182418800017408, i64 4479152593682264140, i64 4607182418800017408, i64 4479121412344363868, i64 4607182418800017408, i64 4479090231006463597, i64 4607182418800017408, i64 4479059049668563325, i64 4607182418800017408, i64 4479027868330663054, i64 4607182418800017408, i64 4478996686992762783, i64 4607182418800017408, i64 4478965505654862511, i64 4607182418800017408, i64 4478934324316962240, i64 4607182418800017408, i64 4478903142979061968, i64 4607182418800017408, i64 4478871961641161697, i64 4607182418800017408, i64 4478840780303261425, i64 4607182418800017408, i64 4478809598965361154, i64 4607182418800017408, i64 4478778417627460883, i64 4607182418800017408, i64 4478747236289560611, i64 4607182418800017408, i64 4478716054951660340, i64 4607182418800017408, i64 4478684873613760068, i64 4607182418800017408, i64 4478653692275859797, i64 4607182418800017408, i64 4478622510937959526, i64 4607182418800017408, i64 4478591329600059254, i64 4607182418800017408, i64 4478560148262158983, i64 4607182418800017408, i64 4478528966924258711, i64 4607182418800017408, i64 4478497785586358440, i64 4607182418800017408, i64 4478466604248458168, i64 4607182418800017408, i64 4478435422910557897, i64 4607182418800017408, i64 4478404241572657626, i64 4607182418800017408, i64 4478373060234757354, i64 4607182418800017408, i64 4478341878896857083, i64 4607182418800017408, i64 4478310697558956811, i64 4607182418800017408, i64 4478279516221056540, i64 4607182418800017408, i64 4478248334883156269, i64 4607182418800017408, i64 4478217153545255997, i64 4607182418800017408, i64 4478185972207355726, i64 4607182418800017408, i64 4478154790869455454, i64 4607182418800017408, i64 4478123609531555183, i64 4607182418800017408, i64 4478092428193654911, i64 4607182418800017408, i64 4478061246855754640, i64 4607182418800017408, i64 4478030065517854369, i64 4607182418800017408, i64 4477998884179954097, i64 4607182418800017408, i64 4477967702842053826, i64 4607182418800017408, i64 4477936521504153554, i64 4607182418800017408, i64 4477905340166253283, i64 4607182418800017408, i64 4477874158828353012, i64 4607182418800017408, i64 4477842977490452740, i64 4607182418800017408, i64 4477811796152552469, i64 4607182418800017408, i64 4477780614814652197, i64 4607182418800017408, i64 4477749433476751926, i64 4607182418800017408, i64 4477718252138851654, i64 4607182418800017408, i64 4477687070800951383, i64 4607182418800017408, i64 4477655889463051112, i64 4607182418800017408, i64 4477624708125150840, i64 4607182418800017408, i64 4477593526787250569, i64 4607182418800017408, i64 4477562345449350297, i64 4607182418800017408, i64 4477531164111450026, i64 4607182418800017408, i64 4477499982773549755, i64 4607182418800017408, i64 4477468801435649483, i64 4607182418800017408, i64 4477437620097749212, i64 4607182418800017408, i64 4477406438759848940, i64 4607182418800017408, i64 4477375257421948669, i64 4607182418800017408, i64 4477344076084048397, i64 4607182418800017408, i64 4477312894746148126, i64 4607182418800017408, i64 4477281713408247855, i64 4607182418800017408, i64 4477250532070347583, i64 4607182418800017408, i64 4477219350732447312, i64 4607182418800017408, i64 4477188169394547040, i64 4607182418800017408, i64 4477156988056646769, i64 4607182418800017408, i64 4477125806718746497, i64 4607182418800017408, i64 4477094625380846226, i64 4607182418800017408, i64 4477063444042945955, i64 4607182418800017408, i64 4477032262705045683, i64 4607182418800017408, i64 4477001081367145412, i64 4607182418800017408, i64 4476969900029245140, i64 4607182418800017408, i64 4476938718691344869, i64 4607182418800017408, i64 4476907537353444598, i64 4607182418800017408, i64 4476876356015544326, i64 4607182418800017408, i64 4476845174677644055, i64 4607182418800017408, i64 4476813993339743783, i64 4607182418800017408, i64 4476782812001843512, i64 4607182418800017408, i64 4476751630663943240, i64 4607182418800017408, i64 4476720449326042969, i64 4607182418800017408, i64 4476689267988142698, i64 4607182418800017408, i64 4476658086650242426, i64 4607182418800017408, i64 4476626905312342155, i64 4607182418800017408, i64 4476595723974441883, i64 4607182418800017408, i64 4476551055666810200, i64 4607182418800017408, i64 4476488692991009657, i64 4607182418800017408, i64 4476426330315209114, i64 4607182418800017408, i64 4476363967639408571, i64 4607182418800017408, i64 4476301604963608029, i64 4607182418800017408, i64 4476239242287807486, i64 4607182418800017408, i64 4476176879612006943, i64 4607182418800017408, i64 4476114516936206400, i64 4607182418800017408, i64 4476052154260405857, i64 4607182418800017408, i64 4475989791584605314, i64 4607182418800017408, i64 4475927428908804772, i64 4607182418800017408, i64 4475865066233004229, i64 4607182418800017408, i64 4475802703557203686, i64 4607182418800017408, i64 4475740340881403143, i64 4607182418800017408, i64 4475677978205602600, i64 4607182418800017408, i64 4475615615529802057, i64 4607182418800017408, i64 4475553252854001515, i64 4607182418800017408, i64 4475522071516101243, i64 4607182418800017408, i64 4475490890178200972, i64 4607182418800017408, i64 4475459708840300700, i64 4607182418800017408, i64 4475428527502400429, i64 4607182418800017408, i64 4475397346164500158, i64 4607182418800017408, i64 4475366164826599886, i64 4607182418800017408, i64 4475334983488699615, i64 4607182418800017408, i64 4475303802150799343, i64 4607182418800017408, i64 4475272620812899072, i64 4607182418800017408, i64 4475241439474998800, i64 4607182418800017408, i64 4475210258137098529, i64 4607182418800017408, i64 4475179076799198258, i64 4607182418800017408, i64 4475147895461297986, i64 4607182418800017408, i64 4475116714123397715, i64 4607182418800017408, i64 4475085532785497443, i64 4607182418800017408, i64 4475054351447597172, i64 4607182418800017408, i64 4475023170109696901, i64 4607182418800017408, i64 4474991988771796629, i64 4607182418800017408, i64 4474960807433896358, i64 4607182418800017408, i64 4474929626095996086, i64 4607182418800017408, i64 4474898444758095815, i64 4607182418800017408, i64 4474867263420195543, i64 4607182418800017408, i64 4474836082082295272, i64 4607182418800017408, i64 4474804900744395001, i64 4607182418800017408, i64 4474773719406494729, i64 4607182418800017408, i64 4474742538068594458, i64 4607182418800017408, i64 4474711356730694186, i64 4607182418800017408, i64 4474680175392793915, i64 4607182418800017408, i64 4474648994054893644, i64 4607182418800017408, i64 4474617812716993372, i64 4607182418800017408, i64 4474586631379093101, i64 4607182418800017408, i64 4474555450041192829, i64 4607182418800017408, i64 4474524268703292558, i64 4607182418800017408, i64 4474493087365392286, i64 4607182418800017408, i64 4474461906027492015, i64 4607182418800017408, i64 4474430724689591744, i64 4607182418800017408, i64 4474399543351691472, i64 4607182418800017408, i64 4474368362013791201, i64 4607182418800017408, i64 4474337180675890929, i64 4607182418800017408, i64 4474305999337990658, i64 4607182418800017408, i64 4474274818000090387, i64 4607182418800017408, i64 4474243636662190115, i64 4607182418800017408, i64 4474212455324289844, i64 4607182418800017408, i64 4474181273986389572, i64 4607182418800017408, i64 4474150092648489301, i64 4607182418800017408, i64 4474118911310589029, i64 4607182418800017408, i64 4474087729972688758, i64 4607182418800017408, i64 4474056548634788487, i64 4607182418800017408, i64 4474025367296888215, i64 4607182418800017408, i64 4473994185958987944, i64 4607182418800017408, i64 4473963004621087672, i64 4607182418800017408, i64 4473931823283187401, i64 4607182418800017408, i64 4473900641945287130, i64 4607182418800017408, i64 4473869460607386858, i64 4607182418800017408, i64 4473838279269486587, i64 4607182418800017408, i64 4473807097931586315, i64 4607182418800017408, i64 4473775916593686044, i64 4607182418800017408, i64 4473744735255785772, i64 4607182418800017408, i64 4473713553917885501, i64 4607182418800017408, i64 4473682372579985230, i64 4607182418800017408, i64 4473651191242084958, i64 4607182418800017408, i64 4473620009904184687, i64 4607182418800017408, i64 4473588828566284415, i64 4607182418800017408, i64 4473557647228384144, i64 4607182418800017408, i64 4473526465890483873, i64 4607182418800017408, i64 4473495284552583601, i64 4607182418800017408, i64 4473464103214683330, i64 4607182418800017408, i64 4473432921876783058, i64 4607182418800017408, i64 4473401740538882787, i64 4607182418800017408, i64 4473370559200982515, i64 4607182418800017408, i64 4473339377863082244, i64 4607182418800017408, i64 4473308196525181973, i64 4607182418800017408, i64 4473277015187281701, i64 4607182418800017408, i64 4473245833849381430, i64 4607182418800017408, i64 4473214652511481158, i64 4607182418800017408, i64 4473183471173580887, i64 4607182418800017408, i64 4473152289835680616, i64 4607182418800017408, i64 4473121108497780344, i64 4607182418800017408, i64 4473089927159880073, i64 4607182418800017408, i64 4473058745821979801, i64 4607182418800017408, i64 4473027564484079530, i64 4607182418800017408, i64 4472996383146179258, i64 4607182418800017408, i64 4472965201808278987, i64 4607182418800017408, i64 4472934020470378716, i64 4607182418800017408, i64 4472902839132478444, i64 4607182418800017408, i64 4472871657794578173, i64 4607182418800017408, i64 4472840476456677901, i64 4607182418800017408, i64 4472809295118777630, i64 4607182418800017408, i64 4472778113780877359, i64 4607182418800017408, i64 4472746932442977087, i64 4607182418800017408, i64 4472715751105076816, i64 4607182418800017408, i64 4472684569767176544, i64 4607182418800017408, i64 4472653388429276273, i64 4607182418800017408, i64 4472622207091376001, i64 4607182418800017408, i64 4472591025753475730, i64 4607182418800017408, i64 4472559844415575459, i64 4607182418800017408, i64 4472528663077675187, i64 4607182418800017408, i64 4472497481739774916, i64 4607182418800017408, i64 4472466300401874644, i64 4607182418800017408, i64 4472435119063974373, i64 4607182418800017408, i64 4472403937726074102, i64 4607182418800017408, i64 4472372756388173830, i64 4607182418800017408, i64 4472341575050273559, i64 4607182418800017408, i64 4472310393712373287, i64 4607182418800017408, i64 4472279212374473016, i64 4607182418800017408, i64 4472248031036572744, i64 4607182418800017408, i64 4472216849698672473, i64 4607182418800017408, i64 4472185668360772202, i64 4607182418800017408, i64 4472154487022871930, i64 4607182418800017408, i64 4472123305684971659, i64 4607182418800017408, i64 4472092124347071387, i64 4607182418800017408, i64 4472047456039439704, i64 4607182418800017408, i64 4471985093363639161, i64 4607182418800017408, i64 4471922730687838618, i64 4607182418800017408, i64 4471860368012038075, i64 4607182418800017408, i64 4471798005336237533, i64 4607182418800017408, i64 4471735642660436990, i64 4607182418800017408, i64 4471673279984636447, i64 4607182418800017408, i64 4471610917308835904, i64 4607182418800017408, i64 4471548554633035361, i64 4607182418800017408, i64 4471486191957234818, i64 4607182418800017408, i64 4471423829281434276, i64 4607182418800017408, i64 4471361466605633733, i64 4607182418800017408, i64 4471299103929833190, i64 4607182418800017408, i64 4471236741254032647, i64 4607182418800017408, i64 4471174378578232104, i64 4607182418800017408, i64 4471112015902431561, i64 4607182418800017408, i64 4471049653226631019, i64 4607182418800017408, i64 4471018471888730747, i64 4607182418800017408, i64 4470987290550830476, i64 4607182418800017408, i64 4470956109212930204, i64 4607182418800017408, i64 4470924927875029933, i64 4607182418800017408, i64 4470893746537129662, i64 4607182418800017408, i64 4470862565199229390, i64 4607182418800017408, i64 4470831383861329119, i64 4607182418800017408, i64 4470800202523428847, i64 4607182418800017408, i64 4470769021185528576, i64 4607182418800017408, i64 4470737839847628304, i64 4607182418800017408, i64 4470706658509728033, i64 4607182418800017408, i64 4470675477171827762, i64 4607182418800017408, i64 4470644295833927490, i64 4607182418800017408, i64 4470613114496027219, i64 4607182418800017408, i64 4470581933158126947, i64 4607182418800017408, i64 4470550751820226676, i64 4607182418800017408, i64 4470519570482326405, i64 4607182418800017408, i64 4470488389144426133, i64 4607182418800017408, i64 4470457207806525862, i64 4607182418800017408, i64 4470426026468625590, i64 4607182418800017408, i64 4470394845130725319, i64 4607182418800017408, i64 4470363663792825047, i64 4607182418800017408, i64 4470332482454924776, i64 4607182418800017408, i64 4470301301117024505, i64 4607182418800017408, i64 4470270119779124233, i64 4607182418800017408, i64 4470238938441223962, i64 4607182418800017408, i64 4470207757103323690, i64 4607182418800017408, i64 4470176575765423419, i64 4607182418800017408, i64 4470145394427523148, i64 4607182418800017408, i64 4470114213089622876, i64 4607182418800017408, i64 4470083031751722605, i64 4607182418800017408, i64 4470051850413822333, i64 4607182418800017408, i64 4470020669075922062, i64 4607182418800017408, i64 4469989487738021790, i64 4607182418800017408, i64 4469958306400121519, i64 4607182418800017408, i64 4469927125062221248, i64 4607182418800017408, i64 4469895943724320976, i64 4607182418800017408, i64 4469864762386420705, i64 4607182418800017408, i64 4469833581048520433, i64 4607182418800017408, i64 4469802399710620162, i64 4607182418800017408, i64 4469771218372719891, i64 4607182418800017408, i64 4469740037034819619, i64 4607182418800017408, i64 4469708855696919348, i64 4607182418800017408, i64 4469677674359019076, i64 4607182418800017408, i64 4469646493021118805, i64 4607182418800017408, i64 4469615311683218533, i64 4607182418800017408, i64 4469584130345318262, i64 4607182418800017408, i64 4469552949007417991, i64 4607182418800017408, i64 4469521767669517719, i64 4607182418800017408, i64 4469490586331617448, i64 4607182418800017408, i64 4469459404993717176, i64 4607182418800017408, i64 4469428223655816905, i64 4607182418800017408, i64 4469397042317916634, i64 4607182418800017408, i64 4469365860980016362, i64 4607182418800017408, i64 4469334679642116091, i64 4607182418800017408, i64 4469303498304215819, i64 4607182418800017408, i64 4469272316966315548, i64 4607182418800017408, i64 4469241135628415276, i64 4607182418800017408, i64 4469209954290515005, i64 4607182418800017408, i64 4469178772952614734, i64 4607182418800017408, i64 4469147591614714462, i64 4607182418800017408, i64 4469116410276814191, i64 4607182418800017408, i64 4469085228938913919, i64 4607182418800017408, i64 4469054047601013648, i64 4607182418800017408, i64 4469022866263113377, i64 4607182418800017408, i64 4468991684925213105, i64 4607182418800017408, i64 4468960503587312834, i64 4607182418800017408, i64 4468929322249412562, i64 4607182418800017408, i64 4468898140911512291, i64 4607182418800017408, i64 4468866959573612019, i64 4607182418800017408, i64 4468835778235711748, i64 4607182418800017408, i64 4468804596897811477, i64 4607182418800017408, i64 4468773415559911205, i64 4607182418800017408, i64 4468742234222010934, i64 4607182418800017408, i64 4468711052884110662, i64 4607182418800017408, i64 4468679871546210391, i64 4607182418800017408, i64 4468648690208310120, i64 4607182418800017408, i64 4468617508870409848, i64 4607182418800017408, i64 4468586327532509577, i64 4607182418800017408, i64 4468555146194609305, i64 4607182418800017408, i64 4468523964856709034, i64 4607182418800017408, i64 4468492783518808762, i64 4607182418800017408, i64 4468461602180908491, i64 4607182418800017408, i64 4468430420843008220, i64 4607182418800017408, i64 4468399239505107948, i64 4607182418800017408, i64 4468368058167207677, i64 4607182418800017408, i64 4468336876829307405, i64 4607182418800017408, i64 4468305695491407134, i64 4607182418800017408, i64 4468274514153506863, i64 4607182418800017408, i64 4468243332815606591, i64 4607182418800017408, i64 4468212151477706320, i64 4607182418800017408, i64 4468180970139806048, i64 4607182418800017408, i64 4468149788801905777, i64 4607182418800017408, i64 4468118607464005505, i64 4607182418800017408, i64 4468087426126105234, i64 4607182418800017408, i64 4468056244788204963, i64 4607182418800017408, i64 4468025063450304691, i64 4607182418800017408, i64 4467993882112404420, i64 4607182418800017408, i64 4467962700774504148, i64 4607182418800017408, i64 4467931519436603877, i64 4607182418800017408, i64 4467900338098703606, i64 4607182418800017408, i64 4467869156760803334, i64 4607182418800017408, i64 4467837975422903063, i64 4607182418800017408, i64 4467806794085002791, i64 4607182418800017408, i64 4467775612747102520, i64 4607182418800017408, i64 4467744431409202248, i64 4607182418800017408, i64 4467713250071301977, i64 4607182418800017408, i64 4467682068733401706, i64 4607182418800017408, i64 4467650887395501434, i64 4607182418800017408, i64 4467619706057601163, i64 4607182418800017408, i64 4467588524719700891, i64 4607182418800017408, i64 4467543856412069208, i64 4607182418800017408, i64 4467481493736268665, i64 4607182418800017408, i64 4467419131060468122, i64 4607182418800017408, i64 4467356768384667579, i64 4607182418800017408, i64 4467294405708867037, i64 4607182418800017408, i64 4467232043033066494, i64 4607182418800017408, i64 4467169680357265951, i64 4607182418800017408, i64 4467107317681465408, i64 4607182418800017408, i64 4467044955005664865, i64 4607182418800017408, i64 4466982592329864322, i64 4607182418800017408, i64 4466920229654063780, i64 4607182418800017408, i64 4466857866978263237, i64 4607182418800017408, i64 4466795504302462694, i64 4607182418800017408, i64 4466733141626662151, i64 4607182418800017408, i64 4466670778950861608, i64 4607182418800017408, i64 4466608416275061065, i64 4607182418800017408, i64 4466546053599260523, i64 4607182418800017408, i64 4466514872261360251, i64 4607182418800017408, i64 4466483690923459980, i64 4607182418800017408, i64 4466452509585559708, i64 4607182418800017408, i64 4466421328247659437, i64 4607182418800017408, i64 4466390146909759166, i64 4607182418800017408, i64 4466358965571858894, i64 4607182418800017408, i64 4466327784233958623, i64 4607182418800017408, i64 4466296602896058351, i64 4607182418800017408, i64 4466265421558158080, i64 4607182418800017408, i64 4466234240220257808, i64 4607182418800017408, i64 4466203058882357537, i64 4607182418800017408, i64 4466171877544457266, i64 4607182418800017408, i64 4466140696206556994, i64 4607182418800017408, i64 4466109514868656723, i64 4607182418800017408, i64 4466078333530756451, i64 4607182418800017408, i64 4466047152192856180, i64 4607182418800017408, i64 4466015970854955909, i64 4607182418800017408, i64 4465984789517055637, i64 4607182418800017408, i64 4465953608179155366, i64 4607182418800017408, i64 4465922426841255094, i64 4607182418800017408, i64 4465891245503354823, i64 4607182418800017408, i64 4465860064165454551, i64 4607182418800017408, i64 4465828882827554280, i64 4607182418800017408, i64 4465797701489654009, i64 4607182418800017408, i64 4465766520151753737, i64 4607182418800017408, i64 4465735338813853466, i64 4607182418800017408, i64 4465704157475953194, i64 4607182418800017408, i64 4465672976138052923, i64 4607182418800017408, i64 4465641794800152652, i64 4607182418800017408, i64 4465610613462252380, i64 4607182418800017408, i64 4465579432124352109, i64 4607182418800017408, i64 4465548250786451837, i64 4607182418800017408, i64 4465517069448551566, i64 4607182418800017408, i64 4465485888110651294, i64 4607182418800017408, i64 4465454706772751023, i64 4607182418800017408, i64 4465423525434850752, i64 4607182418800017408, i64 4465392344096950480, i64 4607182418800017408, i64 4465361162759050209, i64 4607182418800017408, i64 4465329981421149937, i64 4607182418800017408, i64 4465298800083249666, i64 4607182418800017408, i64 4465267618745349395, i64 4607182418800017408, i64 4465236437407449123, i64 4607182418800017408, i64 4465205256069548852, i64 4607182418800017408, i64 4465174074731648580, i64 4607182418800017408, i64 4465142893393748309, i64 4607182418800017408, i64 4465111712055848037, i64 4607182418800017408, i64 4465080530717947766, i64 4607182418800017408, i64 4465049349380047495, i64 4607182418800017408, i64 4465018168042147223, i64 4607182418800017408, i64 4464986986704246952, i64 4607182418800017408, i64 4464955805366346680, i64 4607182418800017408, i64 4464924624028446409, i64 4607182418800017408, i64 4464893442690546138, i64 4607182418800017408, i64 4464862261352645866, i64 4607182418800017408, i64 4464831080014745595, i64 4607182418800017408, i64 4464799898676845323, i64 4607182418800017408, i64 4464768717338945052, i64 4607182418800017408, i64 4464737536001044780, i64 4607182418800017408, i64 4464706354663144509, i64 4607182418800017408, i64 4464675173325244238, i64 4607182418800017408, i64 4464643991987343966, i64 4607182418800017408, i64 4464612810649443695, i64 4607182418800017408, i64 4464581629311543423, i64 4607182418800017408, i64 4464550447973643152, i64 4607182418800017408, i64 4464519266635742881, i64 4607182418800017408, i64 4464488085297842609, i64 4607182418800017408, i64 4464456903959942338, i64 4607182418800017408, i64 4464425722622042066, i64 4607182418800017408, i64 4464394541284141795, i64 4607182418800017408, i64 4464363359946241523, i64 4607182418800017408, i64 4464332178608341252, i64 4607182418800017408, i64 4464300997270440981, i64 4607182418800017408, i64 4464269815932540709, i64 4607182418800017408, i64 4464238634594640438, i64 4607182418800017408, i64 4464207453256740166, i64 4607182418800017408, i64 4464176271918839895, i64 4607182418800017408, i64 4464145090580939624, i64 4607182418800017408, i64 4464113909243039352, i64 4607182418800017408, i64 4464082727905139081, i64 4607182418800017408, i64 4464051546567238809, i64 4607182418800017408, i64 4464020365229338538, i64 4607182418800017408, i64 4463989183891438266, i64 4607182418800017408, i64 4463958002553537995, i64 4607182418800017408, i64 4463926821215637724, i64 4607182418800017408, i64 4463895639877737452, i64 4607182418800017408, i64 4463864458539837181, i64 4607182418800017408, i64 4463833277201936909, i64 4607182418800017408, i64 4463802095864036638, i64 4607182418800017408, i64 4463770914526136367, i64 4607182418800017408, i64 4463739733188236095, i64 4607182418800017408, i64 4463708551850335824, i64 4607182418800017408, i64 4463677370512435552, i64 4607182418800017408, i64 4463646189174535281, i64 4607182418800017408, i64 4463615007836635009, i64 4607182418800017408, i64 4463583826498734738, i64 4607182418800017408, i64 4463552645160834467, i64 4607182418800017408, i64 4463521463822934195, i64 4607182418800017408, i64 4463490282485033924, i64 4607182418800017408, i64 4463459101147133652, i64 4607182418800017408, i64 4463427919809233381, i64 4607182418800017408, i64 4463396738471333110, i64 4607182418800017408, i64 4463365557133432838, i64 4607182418800017408, i64 4463334375795532567, i64 4607182418800017408, i64 4463303194457632295, i64 4607182418800017408, i64 4463272013119732024, i64 4607182418800017408, i64 4463240831781831752, i64 4607182418800017408, i64 4463209650443931481, i64 4607182418800017408, i64 4463178469106031210, i64 4607182418800017408, i64 4463147287768130938, i64 4607182418800017408, i64 4463116106430230667, i64 4607182418800017408, i64 4463084925092330395, i64 4607182418800017408, i64 4463040256784698712, i64 4607182418800017408, i64 4462977894108898169, i64 4607182418800017408, i64 4462915531433097626, i64 4607182418800017408, i64 4462853168757297083, i64 4607182418800017408, i64 4462790806081496541, i64 4607182418800017408, i64 4462728443405695998, i64 4607182418800017408, i64 4462666080729895455, i64 4607182418800017408, i64 4462603718054094912, i64 4607182418800017408, i64 4462541355378294369, i64 4607182418800017408, i64 4462478992702493826, i64 4607182418800017408, i64 4462416630026693284, i64 4607182418800017408, i64 4462354267350892741, i64 4607182418800017408, i64 4462291904675092198, i64 4607182418800017408, i64 4462229541999291655, i64 4607182418800017408, i64 4462167179323491112, i64 4607182418800017408, i64 4462104816647690569, i64 4607182418800017408, i64 4462042453971890027, i64 4607182418800017408, i64 4462011272633989755, i64 4607182418800017408, i64 4461980091296089484, i64 4607182418800017408, i64 4461948909958189212, i64 4607182418800017408, i64 4461917728620288941, i64 4607182418800017408, i64 4461886547282388670, i64 4607182418800017408, i64 4461855365944488398, i64 4607182418800017408, i64 4461824184606588127, i64 4607182418800017408, i64 4461793003268687855, i64 4607182418800017408, i64 4461761821930787584, i64 4607182418800017408, i64 4461730640592887312, i64 4607182418800017408, i64 4461699459254987041, i64 4607182418800017408, i64 4461668277917086770, i64 4607182418800017408, i64 4461637096579186498, i64 4607182418800017408, i64 4461605915241286227, i64 4607182418800017408, i64 4461574733903385955, i64 4607182418800017408, i64 4461543552565485684, i64 4607182418800017408, i64 4461512371227585413, i64 4607182418800017408, i64 4461481189889685141, i64 4607182418800017408, i64 4461450008551784870, i64 4607182418800017408, i64 4461418827213884598, i64 4607182418800017408, i64 4461387645875984327, i64 4607182418800017408, i64 4461356464538084055, i64 4607182418800017408, i64 4461325283200183784, i64 4607182418800017408, i64 4461294101862283513, i64 4607182418800017408, i64 4461262920524383241, i64 4607182418800017408, i64 4461231739186482970, i64 4607182418800017408, i64 4461200557848582698, i64 4607182418800017408, i64 4461169376510682427, i64 4607182418800017408, i64 4461138195172782156, i64 4607182418800017408, i64 4461107013834881884, i64 4607182418800017408, i64 4461075832496981613, i64 4607182418800017408, i64 4461044651159081341, i64 4607182418800017408, i64 4461013469821181070, i64 4607182418800017408, i64 4460982288483280798, i64 4607182418800017408, i64 4460951107145380527, i64 4607182418800017408, i64 4460919925807480256, i64 4607182418800017408, i64 4460888744469579984, i64 4607182418800017408, i64 4460857563131679713, i64 4607182418800017408, i64 4460826381793779441, i64 4607182418800017408, i64 4460795200455879170, i64 4607182418800017408, i64 4460764019117978899, i64 4607182418800017408, i64 4460732837780078627, i64 4607182418800017408, i64 4460701656442178356, i64 4607182418800017408, i64 4460670475104278084, i64 4607182418800017408, i64 4460639293766377813, i64 4607182418800017408, i64 4460608112428477541, i64 4607182418800017408, i64 4460576931090577270, i64 4607182418800017408, i64 4460545749752676999, i64 4607182418800017408, i64 4460514568414776727, i64 4607182418800017408, i64 4460483387076876456, i64 4607182418800017408, i64 4460452205738976184, i64 4607182418800017408, i64 4460421024401075913, i64 4607182418800017408, i64 4460389843063175642, i64 4607182418800017408, i64 4460358661725275370, i64 4607182418800017408, i64 4460327480387375099, i64 4607182418800017408, i64 4460296299049474827, i64 4607182418800017408, i64 4460265117711574556, i64 4607182418800017408, i64 4460233936373674284, i64 4607182418800017408, i64 4460202755035774013, i64 4607182418800017408, i64 4460171573697873742, i64 4607182418800017408, i64 4460140392359973470, i64 4607182418800017408, i64 4460109211022073199, i64 4607182418800017408, i64 4460078029684172927, i64 4607182418800017408, i64 4460046848346272656, i64 4607182418800017408, i64 4460015667008372385, i64 4607182418800017408, i64 4459984485670472113, i64 4607182418800017408, i64 4459953304332571842, i64 4607182418800017408, i64 4459922122994671570, i64 4607182418800017408, i64 4459890941656771299, i64 4607182418800017408, i64 4459859760318871027, i64 4607182418800017408, i64 4459828578980970756, i64 4607182418800017408, i64 4459797397643070485, i64 4607182418800017408, i64 4459766216305170213, i64 4607182418800017408, i64 4459735034967269942, i64 4607182418800017408, i64 4459703853629369670, i64 4607182418800017408, i64 4459672672291469399, i64 4607182418800017408, i64 4459641490953569128, i64 4607182418800017408, i64 4459610309615668856, i64 4607182418800017408, i64 4459579128277768585, i64 4607182418800017408, i64 4459547946939868313, i64 4607182418800017408, i64 4459516765601968042, i64 4607182418800017408, i64 4459485584264067770, i64 4607182418800017408, i64 4459454402926167499, i64 4607182418800017408, i64 4459423221588267228, i64 4607182418800017408, i64 4459392040250366956, i64 4607182418800017408, i64 4459360858912466685, i64 4607182418800017408, i64 4459329677574566413, i64 4607182418800017408, i64 4459298496236666142, i64 4607182418800017408, i64 4459267314898765871, i64 4607182418800017408, i64 4459236133560865599, i64 4607182418800017408, i64 4459204952222965328, i64 4607182418800017408, i64 4459173770885065056, i64 4607182418800017408, i64 4459142589547164785, i64 4607182418800017408, i64 4459111408209264513, i64 4607182418800017408, i64 4459080226871364242, i64 4607182418800017408, i64 4459049045533463971, i64 4607182418800017408, i64 4459017864195563699, i64 4607182418800017408, i64 4458986682857663428, i64 4607182418800017408, i64 4458955501519763156, i64 4607182418800017408, i64 4458924320181862885, i64 4607182418800017408, i64 4458893138843962614, i64 4607182418800017408, i64 4458861957506062342, i64 4607182418800017408, i64 4458830776168162071, i64 4607182418800017408, i64 4458799594830261799, i64 4607182418800017408, i64 4458768413492361528, i64 4607182418800017408, i64 4458737232154461256, i64 4607182418800017408, i64 4458706050816560985, i64 4607182418800017408, i64 4458674869478660714, i64 4607182418800017408, i64 4458643688140760442, i64 4607182418800017408, i64 4458612506802860171, i64 4607182418800017408, i64 4458581325464959899, i64 4607182418800017408, i64 4458536657157328216, i64 4607182418800017408, i64 4458474294481527673, i64 4607182418800017408, i64 4458411931805727130, i64 4607182418800017408, i64 4458349569129926587, i64 4607182418800017408, i64 4458287206454126045, i64 4607182418800017408, i64 4458224843778325502, i64 4607182418800017408, i64 4458162481102524959, i64 4607182418800017408, i64 4458100118426724416, i64 4607182418800017408, i64 4458037755750923873, i64 4607182418800017408, i64 4457975393075123330, i64 4607182418800017408, i64 4457913030399322788, i64 4607182418800017408, i64 4457850667723522245, i64 4607182418800017408, i64 4457788305047721702, i64 4607182418800017408, i64 4457725942371921159, i64 4607182418800017408, i64 4457663579696120616, i64 4607182418800017408, i64 4457601217020320073, i64 4607182418800017408, i64 4457538854344519531, i64 4607182418800017408, i64 4457507673006619259, i64 4607182418800017408, i64 4457476491668718988, i64 4607182418800017408, i64 4457445310330818716, i64 4607182418800017408, i64 4457414128992918445, i64 4607182418800017408, i64 4457382947655018174, i64 4607182418800017408, i64 4457351766317117902, i64 4607182418800017408, i64 4457320584979217631, i64 4607182418800017408, i64 4457289403641317359, i64 4607182418800017408, i64 4457258222303417088, i64 4607182418800017408, i64 4457227040965516816, i64 4607182418800017408, i64 4457195859627616545, i64 4607182418800017408, i64 4457164678289716274, i64 4607182418800017408, i64 4457133496951816002, i64 4607182418800017408, i64 4457102315613915731, i64 4607182418800017408, i64 4457071134276015459, i64 4607182418800017408, i64 4457039952938115188, i64 4607182418800017408, i64 4457008771600214917, i64 4607182418800017408, i64 4456977590262314645, i64 4607182418800017408, i64 4456946408924414374, i64 4607182418800017408, i64 4456915227586514102, i64 4607182418800017408, i64 4456884046248613831, i64 4607182418800017408, i64 4456852864910713559, i64 4607182418800017408, i64 4456821683572813288, i64 4607182418800017408, i64 4456790502234913017, i64 4607182418800017408, i64 4456759320897012745, i64 4607182418800017408, i64 4456728139559112474, i64 4607182418800017408, i64 4456696958221212202, i64 4607182418800017408, i64 4456665776883311931, i64 4607182418800017408, i64 4456634595545411660, i64 4607182418800017408, i64 4456603414207511388, i64 4607182418800017408, i64 4456572232869611117, i64 4607182418800017408, i64 4456541051531710845, i64 4607182418800017408, i64 4456509870193810574, i64 4607182418800017408, i64 4456478688855910302, i64 4607182418800017408, i64 4456447507518010031, i64 4607182418800017408, i64 4456416326180109760, i64 4607182418800017408, i64 4456385144842209488, i64 4607182418800017408, i64 4456353963504309217, i64 4607182418800017408, i64 4456322782166408945, i64 4607182418800017408, i64 4456291600828508674, i64 4607182418800017408, i64 4456260419490608403, i64 4607182418800017408, i64 4456229238152708131, i64 4607182418800017408, i64 4456198056814807860, i64 4607182418800017408, i64 4456166875476907588, i64 4607182418800017408, i64 4456135694139007317, i64 4607182418800017408, i64 4456104512801107045, i64 4607182418800017408, i64 4456073331463206774, i64 4607182418800017408, i64 4456042150125306503, i64 4607182418800017408, i64 4456010968787406231, i64 4607182418800017408, i64 4455979787449505960, i64 4607182418800017408, i64 4455948606111605688, i64 4607182418800017408, i64 4455917424773705417, i64 4607182418800017408, i64 4455886243435805146, i64 4607182418800017408, i64 4455855062097904874, i64 4607182418800017408, i64 4455823880760004603, i64 4607182418800017408, i64 4455792699422104331, i64 4607182418800017408, i64 4455761518084204060, i64 4607182418800017408, i64 4455730336746303788, i64 4607182418800017408, i64 4455699155408403517, i64 4607182418800017408, i64 4455667974070503246, i64 4607182418800017408, i64 4455636792732602974, i64 4607182418800017408, i64 4455605611394702703, i64 4607182418800017408, i64 4455574430056802431, i64 4607182418800017408, i64 4455543248718902160, i64 4607182418800017408, i64 4455512067381001889, i64 4607182418800017408, i64 4455480886043101617, i64 4607182418800017408, i64 4455449704705201346, i64 4607182418800017408, i64 4455418523367301074, i64 4607182418800017408, i64 4455387342029400803, i64 4607182418800017408, i64 4455356160691500531, i64 4607182418800017408, i64 4455324979353600260, i64 4607182418800017408, i64 4455293798015699989, i64 4607182418800017408, i64 4455262616677799717, i64 4607182418800017408, i64 4455231435339899446, i64 4607182418800017408, i64 4455200254001999174, i64 4607182418800017408, i64 4455169072664098903, i64 4607182418800017408, i64 4455137891326198632, i64 4607182418800017408, i64 4455106709988298360, i64 4607182418800017408, i64 4455075528650398089, i64 4607182418800017408, i64 4455044347312497817, i64 4607182418800017408, i64 4455013165974597546, i64 4607182418800017408, i64 4454981984636697274, i64 4607182418800017408, i64 4454950803298797003, i64 4607182418800017408, i64 4454919621960896732, i64 4607182418800017408, i64 4454888440622996460, i64 4607182418800017408, i64 4454857259285096189, i64 4607182418800017408, i64 4454826077947195917, i64 4607182418800017408, i64 4454794896609295646, i64 4607182418800017408, i64 4454763715271395375, i64 4607182418800017408, i64 4454732533933495103, i64 4607182418800017408, i64 4454701352595594832, i64 4607182418800017408, i64 4454670171257694560, i64 4607182418800017408, i64 4454638989919794289, i64 4607182418800017408, i64 4454607808581894017, i64 4607182418800017408, i64 4454576627243993746, i64 4607182418800017408, i64 4454545445906093475, i64 4607182418800017408, i64 4454514264568193203, i64 4607182418800017408, i64 4454483083230292932, i64 4607182418800017408, i64 4454451901892392660, i64 4607182418800017408, i64 4454420720554492389, i64 4607182418800017408, i64 4454389539216592118, i64 4607182418800017408, i64 4454358357878691846, i64 4607182418800017408, i64 4454327176540791575, i64 4607182418800017408, i64 4454295995202891303, i64 4607182418800017408, i64 4454264813864991032, i64 4607182418800017408, i64 4454233632527090760, i64 4607182418800017408, i64 4454202451189190489, i64 4607182418800017408, i64 4454171269851290218, i64 4607182418800017408, i64 4454140088513389946, i64 4607182418800017408, i64 4454108907175489675, i64 4607182418800017408, i64 4454077725837589403, i64 4607182418800017408, i64 4454033057529957720, i64 4607182418800017408, i64 4453970694854157177, i64 4607182418800017408, i64 4453908332178356634, i64 4607182418800017408, i64 4453845969502556091, i64 4607182418800017408, i64 4453783606826755549, i64 4607182418800017408, i64 4453721244150955006, i64 4607182418800017408, i64 4453658881475154463, i64 4607182418800017408, i64 4453596518799353920, i64 4607182418800017408, i64 4453534156123553377, i64 4607182418800017408, i64 4453471793447752834, i64 4607182418800017408, i64 4453409430771952292, i64 4607182418800017408, i64 4453347068096151749, i64 4607182418800017408, i64 4453284705420351206, i64 4607182418800017408, i64 4453222342744550663, i64 4607182418800017408, i64 4453159980068750120, i64 4607182418800017408, i64 4453097617392949577, i64 4607182418800017408, i64 4453035254717149035, i64 4607182418800017408, i64 4453004073379248763, i64 4607182418800017408, i64 4452972892041348492, i64 4607182418800017408, i64 4452941710703448220, i64 4607182418800017408, i64 4452910529365547949, i64 4607182418800017408, i64 4452879348027647678, i64 4607182418800017408, i64 4452848166689747406, i64 4607182418800017408, i64 4452816985351847135, i64 4607182418800017408, i64 4452785804013946863, i64 4607182418800017408, i64 4452754622676046592, i64 4607182418800017408, i64 4452723441338146320, i64 4607182418800017408, i64 4452692260000246049, i64 4607182418800017408, i64 4452661078662345778, i64 4607182418800017408, i64 4452629897324445506, i64 4607182418800017408, i64 4452598715986545235, i64 4607182418800017408, i64 4452567534648644963, i64 4607182418800017408, i64 4452536353310744692, i64 4607182418800017408, i64 4452505171972844421, i64 4607182418800017408, i64 4452473990634944149, i64 4607182418800017408, i64 4452442809297043878, i64 4607182418800017408, i64 4452411627959143606, i64 4607182418800017408, i64 4452380446621243335, i64 4607182418800017408, i64 4452349265283343063, i64 4607182418800017408, i64 4452318083945442792, i64 4607182418800017408, i64 4452286902607542521, i64 4607182418800017408, i64 4452255721269642249, i64 4607182418800017408, i64 4452224539931741978, i64 4607182418800017408, i64 4452193358593841706, i64 4607182418800017408, i64 4452162177255941435, i64 4607182418800017408, i64 4452130995918041164, i64 4607182418800017408, i64 4452099814580140892, i64 4607182418800017408, i64 4452068633242240621, i64 4607182418800017408, i64 4452037451904340349, i64 4607182418800017408, i64 4452006270566440078, i64 4607182418800017408, i64 4451975089228539806, i64 4607182418800017408, i64 4451943907890639535, i64 4607182418800017408, i64 4451912726552739264, i64 4607182418800017408, i64 4451881545214838992, i64 4607182418800017408, i64 4451850363876938721, i64 4607182418800017408, i64 4451819182539038449, i64 4607182418800017408, i64 4451788001201138178, i64 4607182418800017408, i64 4451756819863237907, i64 4607182418800017408, i64 4451725638525337635, i64 4607182418800017408, i64 4451694457187437364, i64 4607182418800017408, i64 4451663275849537092, i64 4607182418800017408, i64 4451632094511636821, i64 4607182418800017408, i64 4451600913173736549, i64 4607182418800017408, i64 4451569731835836278, i64 4607182418800017408, i64 4451538550497936007, i64 4607182418800017408, i64 4451507369160035735, i64 4607182418800017408, i64 4451476187822135464, i64 4607182418800017408, i64 4451445006484235192, i64 4607182418800017408, i64 4451413825146334921, i64 4607182418800017408, i64 4451382643808434650, i64 4607182418800017408, i64 4451351462470534378, i64 4607182418800017408, i64 4451320281132634107, i64 4607182418800017408, i64 4451289099794733835, i64 4607182418800017408, i64 4451257918456833564, i64 4607182418800017408, i64 4451226737118933292, i64 4607182418800017408, i64 4451195555781033021, i64 4607182418800017408, i64 4451164374443132750, i64 4607182418800017408, i64 4451133193105232478, i64 4607182418800017408, i64 4451102011767332207, i64 4607182418800017408, i64 4451070830429431935, i64 4607182418800017408, i64 4451039649091531664, i64 4607182418800017408, i64 4451008467753631393, i64 4607182418800017408, i64 4450977286415731121, i64 4607182418800017408, i64 4450946105077830850, i64 4607182418800017408, i64 4450914923739930578, i64 4607182418800017408, i64 4450883742402030307, i64 4607182418800017408, i64 4450852561064130035, i64 4607182418800017408, i64 4450821379726229764, i64 4607182418800017408, i64 4450790198388329493, i64 4607182418800017408, i64 4450759017050429221, i64 4607182418800017408, i64 4450727835712528950, i64 4607182418800017408, i64 4450696654374628678, i64 4607182418800017408, i64 4450665473036728407, i64 4607182418800017408, i64 4450634291698828136, i64 4607182418800017408, i64 4450603110360927864, i64 4607182418800017408, i64 4450571929023027593, i64 4607182418800017408, i64 4450540747685127321, i64 4607182418800017408, i64 4450509566347227050, i64 4607182418800017408, i64 4450478385009326778, i64 4607182418800017408, i64 4450447203671426507, i64 4607182418800017408, i64 4450416022333526236, i64 4607182418800017408, i64 4450384840995625964, i64 4607182418800017408, i64 4450353659657725693, i64 4607182418800017408, i64 4450322478319825421, i64 4607182418800017408, i64 4450291296981925150, i64 4607182418800017408, i64 4450260115644024879, i64 4607182418800017408, i64 4450228934306124607, i64 4607182418800017408, i64 4450197752968224336, i64 4607182418800017408, i64 4450166571630324064, i64 4607182418800017408, i64 4450135390292423793, i64 4607182418800017408, i64 4450104208954523521, i64 4607182418800017408, i64 4450073027616623250, i64 4607182418800017408, i64 4450041846278722979, i64 4607182418800017408, i64 4450010664940822707, i64 4607182418800017408, i64 4449979483602922436, i64 4607182418800017408, i64 4449948302265022164, i64 4607182418800017408, i64 4449917120927121893, i64 4607182418800017408, i64 4449885939589221622, i64 4607182418800017408, i64 4449854758251321350, i64 4607182418800017408, i64 4449823576913421079, i64 4607182418800017408, i64 4449792395575520807, i64 4607182418800017408, i64 4449761214237620536, i64 4607182418800017408, i64 4449730032899720264, i64 4607182418800017408, i64 4449698851561819993, i64 4607182418800017408, i64 4449667670223919722, i64 4607182418800017408, i64 4449636488886019450, i64 4607182418800017408, i64 4449605307548119179, i64 4607182418800017408, i64 4449574126210218907, i64 4607182418800017408, i64 4449529457902587224, i64 4607182418800017408, i64 4449467095226786681, i64 4607182418800017408, i64 4449404732550986138, i64 4607182418800017408, i64 4449342369875185595, i64 4607182418800017408, i64 4449280007199385053, i64 4607182418800017408, i64 4449217644523584510, i64 4607182418800017408, i64 4449155281847783967, i64 4607182418800017408, i64 4449092919171983424, i64 4607182418800017408, i64 4449030556496182881, i64 4607182418800017408, i64 4448968193820382338, i64 4607182418800017408, i64 4448905831144581796, i64 4607182418800017408, i64 4448843468468781253, i64 4607182418800017408, i64 4448781105792980710, i64 4607182418800017408, i64 4448718743117180167, i64 4607182418800017408, i64 4448656380441379624, i64 4607182418800017408, i64 4448594017765579081, i64 4607182418800017408, i64 4448531655089778539, i64 4607182418800017408, i64 4448500473751878267, i64 4607182418800017408, i64 4448469292413977996, i64 4607182418800017408, i64 4448438111076077724, i64 4607182418800017408, i64 4448406929738177453, i64 4607182418800017408, i64 4448375748400277182, i64 4607182418800017408, i64 4448344567062376910, i64 4607182418800017408, i64 4448313385724476639, i64 4607182418800017408, i64 4448282204386576367, i64 4607182418800017408, i64 4448251023048676096, i64 4607182418800017408, i64 4448219841710775824, i64 4607182418800017408, i64 4448188660372875553, i64 4607182418800017408, i64 4448157479034975282, i64 4607182418800017408, i64 4448126297697075010, i64 4607182418800017408, i64 4448095116359174739, i64 4607182418800017408, i64 4448063935021274467, i64 4607182418800017408, i64 4448032753683374196, i64 4607182418800017408, i64 4448001572345473925, i64 4607182418800017408, i64 4447970391007573653, i64 4607182418800017408, i64 4447939209669673382, i64 4607182418800017408, i64 4447908028331773110, i64 4607182418800017408, i64 4447876846993872839, i64 4607182418800017408, i64 4447845665655972567, i64 4607182418800017408, i64 4447814484318072296, i64 4607182418800017408, i64 4447783302980172025, i64 4607182418800017408, i64 4447752121642271753, i64 4607182418800017408, i64 4447720940304371482, i64 4607182418800017408, i64 4447689758966471210, i64 4607182418800017408, i64 4447658577628570939, i64 4607182418800017408, i64 4447627396290670668, i64 4607182418800017408, i64 4447596214952770396, i64 4607182418800017408, i64 4447565033614870125, i64 4607182418800017408, i64 4447533852276969853, i64 4607182418800017408, i64 4447502670939069582, i64 4607182418800017408, i64 4447471489601169310, i64 4607182418800017408, i64 4447440308263269039, i64 4607182418800017408, i64 4447409126925368768, i64 4607182418800017408, i64 4447377945587468496, i64 4607182418800017408, i64 4447346764249568225, i64 4607182418800017408, i64 4447315582911667953, i64 4607182418800017408, i64 4447284401573767682, i64 4607182418800017408, i64 4447253220235867411, i64 4607182418800017408, i64 4447222038897967139, i64 4607182418800017408, i64 4447190857560066868, i64 4607182418800017408, i64 4447159676222166596, i64 4607182418800017408, i64 4447128494884266325, i64 4607182418800017408, i64 4447097313546366053, i64 4607182418800017408, i64 4447066132208465782, i64 4607182418800017408, i64 4447034950870565511, i64 4607182418800017408, i64 4447003769532665239, i64 4607182418800017408, i64 4446972588194764968, i64 4607182418800017408, i64 4446941406856864696, i64 4607182418800017408, i64 4446910225518964425, i64 4607182418800017408, i64 4446879044181064154, i64 4607182418800017408, i64 4446847862843163882, i64 4607182418800017408, i64 4446816681505263611, i64 4607182418800017408, i64 4446785500167363339, i64 4607182418800017408, i64 4446754318829463068, i64 4607182418800017408, i64 4446723137491562796, i64 4607182418800017408, i64 4446691956153662525, i64 4607182418800017408, i64 4446660774815762254, i64 4607182418800017408, i64 4446629593477861982, i64 4607182418800017408, i64 4446598412139961711, i64 4607182418800017408, i64 4446567230802061439, i64 4607182418800017408, i64 4446536049464161168, i64 4607182418800017408, i64 4446504868126260897, i64 4607182418800017408, i64 4446473686788360625, i64 4607182418800017408, i64 4446442505450460354, i64 4607182418800017408, i64 4446411324112560082, i64 4607182418800017408, i64 4446380142774659811, i64 4607182418800017408, i64 4446348961436759539, i64 4607182418800017408, i64 4446317780098859268, i64 4607182418800017408, i64 4446286598760958997, i64 4607182418800017408, i64 4446255417423058725, i64 4607182418800017408, i64 4446224236085158454, i64 4607182418800017408, i64 4446193054747258182, i64 4607182418800017408, i64 4446161873409357911, i64 4607182418800017408, i64 4446130692071457640, i64 4607182418800017408, i64 4446099510733557368, i64 4607182418800017408, i64 4446068329395657097, i64 4607182418800017408, i64 4446037148057756825, i64 4607182418800017408, i64 4446005966719856554, i64 4607182418800017408, i64 4445974785381956282, i64 4607182418800017408, i64 4445943604044056011, i64 4607182418800017408, i64 4445912422706155740, i64 4607182418800017408, i64 4445881241368255468, i64 4607182418800017408, i64 4445850060030355197, i64 4607182418800017408, i64 4445818878692454925, i64 4607182418800017408, i64 4445787697354554654, i64 4607182418800017408, i64 4445756516016654383, i64 4607182418800017408, i64 4445725334678754111, i64 4607182418800017408, i64 4445694153340853840, i64 4607182418800017408, i64 4445662972002953568, i64 4607182418800017408, i64 4445631790665053297, i64 4607182418800017408, i64 4445600609327153025, i64 4607182418800017408, i64 4445569427989252754, i64 4607182418800017408, i64 4445538246651352483, i64 4607182418800017408, i64 4445507065313452211, i64 4607182418800017408, i64 4445475883975551940, i64 4607182418800017408, i64 4445444702637651668, i64 4607182418800017408, i64 4445413521299751397, i64 4607182418800017408, i64 4445382339961851126, i64 4607182418800017408, i64 4445351158623950854, i64 4607182418800017408, i64 4445319977286050583, i64 4607182418800017408, i64 4445288795948150311, i64 4607182418800017408, i64 4445257614610250040, i64 4607182418800017408, i64 4445226433272349768, i64 4607182418800017408, i64 4445195251934449497, i64 4607182418800017408, i64 4445164070596549226, i64 4607182418800017408, i64 4445132889258648954, i64 4607182418800017408, i64 4445101707920748683, i64 4607182418800017408, i64 4445070526582848411, i64 4607182418800017408, i64 4445025858275216728, i64 4607182418800017408, i64 4444963495599416185, i64 4607182418800017408, i64 4444901132923615642, i64 4607182418800017408, i64 4444838770247815099, i64 4607182418800017408, i64 4444776407572014557, i64 4607182418800017408, i64 4444714044896214014, i64 4607182418800017408, i64 4444651682220413471, i64 4607182418800017408, i64 4444589319544612928, i64 4607182418800017408, i64 4444526956868812385, i64 4607182418800017408, i64 4444464594193011842, i64 4607182418800017408, i64 4444402231517211300, i64 4607182418800017408, i64 4444339868841410757, i64 4607182418800017408, i64 4444277506165610214, i64 4607182418800017408, i64 4444215143489809671, i64 4607182418800017408, i64 4444152780814009128, i64 4607182418800017408, i64 4444090418138208585, i64 4607182418800017408, i64 4444028055462408043, i64 4607182418800017408, i64 4443996874124507771, i64 4607182418800017408, i64 4443965692786607500, i64 4607182418800017408, i64 4443934511448707228, i64 4607182418800017408, i64 4443903330110806957, i64 4607182418800017408, i64 4443872148772906686, i64 4607182418800017408, i64 4443840967435006414, i64 4607182418800017408, i64 4443809786097106143, i64 4607182418800017408, i64 4443778604759205871, i64 4607182418800017408, i64 4443747423421305600, i64 4607182418800017408, i64 4443716242083405328, i64 4607182418800017408, i64 4443685060745505057, i64 4607182418800017408, i64 4443653879407604786, i64 4607182418800017408, i64 4443622698069704514, i64 4607182418800017408, i64 4443591516731804243, i64 4607182418800017408, i64 4443560335393903971, i64 4607182418800017408, i64 4443529154056003700, i64 4607182418800017408, i64 4443497972718103429, i64 4607182418800017408, i64 4443466791380203157, i64 4607182418800017408, i64 4443435610042302886, i64 4607182418800017408, i64 4443404428704402614, i64 4607182418800017408, i64 4443373247366502343, i64 4607182418800017408, i64 4443342066028602071, i64 4607182418800017408, i64 4443310884690701800, i64 4607182418800017408, i64 4443279703352801529, i64 4607182418800017408, i64 4443248522014901257, i64 4607182418800017408, i64 4443217340677000986, i64 4607182418800017408, i64 4443186159339100714, i64 4607182418800017408, i64 4443154978001200443, i64 4607182418800017408, i64 4443123796663300172, i64 4607182418800017408, i64 4443092615325399900, i64 4607182418800017408, i64 4443061433987499629, i64 4607182418800017408, i64 4443030252649599357, i64 4607182418800017408, i64 4442999071311699086, i64 4607182418800017408, i64 4442967889973798814, i64 4607182418800017408, i64 4442936708635898543, i64 4607182418800017408, i64 4442905527297998272, i64 4607182418800017408, i64 4442874345960098000, i64 4607182418800017408, i64 4442843164622197729, i64 4607182418800017408, i64 4442811983284297457, i64 4607182418800017408, i64 4442780801946397186, i64 4607182418800017408, i64 4442749620608496915, i64 4607182418800017408, i64 4442718439270596643, i64 4607182418800017408, i64 4442687257932696372, i64 4607182418800017408, i64 4442656076594796100, i64 4607182418800017408, i64 4442624895256895829, i64 4607182418800017408, i64 4442593713918995557, i64 4607182418800017408, i64 4442562532581095286, i64 4607182418800017408, i64 4442531351243195015, i64 4607182418800017408, i64 4442500169905294743, i64 4607182418800017408, i64 4442468988567394472, i64 4607182418800017408, i64 4442437807229494200, i64 4607182418800017408, i64 4442406625891593929, i64 4607182418800017408, i64 4442375444553693658, i64 4607182418800017408, i64 4442344263215793386, i64 4607182418800017408, i64 4442313081877893115, i64 4607182418800017408, i64 4442281900539992843, i64 4607182418800017408, i64 4442250719202092572, i64 4607182418800017408, i64 4442219537864192300, i64 4607182418800017408, i64 4442188356526292029, i64 4607182418800017408, i64 4442157175188391758, i64 4607182418800017408, i64 4442125993850491486, i64 4607182418800017408, i64 4442094812512591215, i64 4607182418800017408, i64 4442063631174690943, i64 4607182418800017408, i64 4442032449836790672, i64 4607182418800017408, i64 4442001268498890401, i64 4607182418800017408, i64 4441970087160990129, i64 4607182418800017408, i64 4441938905823089858, i64 4607182418800017408, i64 4441907724485189586, i64 4607182418800017408, i64 4441876543147289315, i64 4607182418800017408, i64 4441845361809389043, i64 4607182418800017408, i64 4441814180471488772, i64 4607182418800017408, i64 4441782999133588501, i64 4607182418800017408, i64 4441751817795688229, i64 4607182418800017408, i64 4441720636457787958, i64 4607182418800017408, i64 4441689455119887686, i64 4607182418800017408, i64 4441658273781987415, i64 4607182418800017408, i64 4441627092444087144, i64 4607182418800017408, i64 4441595911106186872, i64 4607182418800017408, i64 4441564729768286601, i64 4607182418800017408, i64 4441533548430386329, i64 4607182418800017408, i64 4441502367092486058, i64 4607182418800017408, i64 4441471185754585786, i64 4607182418800017408, i64 4441440004416685515, i64 4607182418800017408, i64 4441408823078785244, i64 4607182418800017408, i64 4441377641740884972, i64 4607182418800017408, i64 4441346460402984701, i64 4607182418800017408, i64 4441315279065084429, i64 4607182418800017408, i64 4441284097727184158, i64 4607182418800017408, i64 4441252916389283887, i64 4607182418800017408, i64 4441221735051383615, i64 4607182418800017408, i64 4441190553713483344, i64 4607182418800017408, i64 4441159372375583072, i64 4607182418800017408, i64 4441128191037682801, i64 4607182418800017408, i64 4441097009699782529, i64 4607182418800017408, i64 4441065828361882258, i64 4607182418800017408, i64 4441034647023981987, i64 4607182418800017408, i64 4441003465686081715, i64 4607182418800017408, i64 4440972284348181444, i64 4607182418800017408, i64 4440941103010281172, i64 4607182418800017408, i64 4440909921672380901, i64 4607182418800017408, i64 4440878740334480630, i64 4607182418800017408, i64 4440847558996580358, i64 4607182418800017408, i64 4440816377658680087, i64 4607182418800017408, i64 4440785196320779815, i64 4607182418800017408, i64 4440754014982879544, i64 4607182418800017408, i64 4440722833644979272, i64 4607182418800017408, i64 4440691652307079001, i64 4607182418800017408, i64 4440660470969178730, i64 4607182418800017408, i64 4440629289631278458, i64 4607182418800017408, i64 4440598108293378187, i64 4607182418800017408, i64 4440566926955477915, i64 4607182418800017408, i64 4440522258647846232, i64 4607182418800017408, i64 4440459895972045689, i64 4607182418800017408, i64 4440397533296245146, i64 4607182418800017408, i64 4440335170620444603, i64 4607182418800017408, i64 4440272807944644061, i64 4607182418800017408, i64 4440210445268843518, i64 4607182418800017408, i64 4440148082593042975, i64 4607182418800017408, i64 4440085719917242432, i64 4607182418800017408, i64 4440023357241441889, i64 4607182418800017408, i64 4439960994565641346, i64 4607182418800017408, i64 4439898631889840804, i64 4607182418800017408, i64 4439836269214040261, i64 4607182418800017408, i64 4439773906538239718, i64 4607182418800017408, i64 4439711543862439175, i64 4607182418800017408, i64 4439649181186638632, i64 4607182418800017408, i64 4439586818510838089, i64 4607182418800017408, i64 4439524455835037547, i64 4607182418800017408, i64 4439493274497137275, i64 4607182418800017408, i64 4439462093159237004, i64 4607182418800017408, i64 4439430911821336732, i64 4607182418800017408, i64 4439399730483436461, i64 4607182418800017408, i64 4439368549145536190, i64 4607182418800017408, i64 4439337367807635918, i64 4607182418800017408, i64 4439306186469735647, i64 4607182418800017408, i64 4439275005131835375, i64 4607182418800017408, i64 4439243823793935104, i64 4607182418800017408, i64 4439212642456034832, i64 4607182418800017408, i64 4439181461118134561, i64 4607182418800017408, i64 4439150279780234290, i64 4607182418800017408, i64 4439119098442334018, i64 4607182418800017408, i64 4439087917104433747, i64 4607182418800017408, i64 4439056735766533475, i64 4607182418800017408, i64 4439025554428633204, i64 4607182418800017408, i64 4438994373090732933, i64 4607182418800017408, i64 4438963191752832661, i64 4607182418800017408, i64 4438932010414932390, i64 4607182418800017408, i64 4438900829077032118, i64 4607182418800017408, i64 4438869647739131847, i64 4607182418800017408, i64 4438838466401231575, i64 4607182418800017408, i64 4438807285063331304, i64 4607182418800017408, i64 4438776103725431033, i64 4607182418800017408, i64 4438744922387530761, i64 4607182418800017408, i64 4438713741049630490, i64 4607182418800017408, i64 4438682559711730218, i64 4607182418800017408, i64 4438651378373829947, i64 4607182418800017408, i64 4438620197035929676, i64 4607182418800017408, i64 4438589015698029404, i64 4607182418800017408, i64 4438557834360129133, i64 4607182418800017408, i64 4438526653022228861, i64 4607182418800017408, i64 4438495471684328590, i64 4607182418800017408, i64 4438464290346428318, i64 4607182418800017408, i64 4438433109008528047, i64 4607182418800017408, i64 4438401927670627776, i64 4607182418800017408, i64 4438370746332727504, i64 4607182418800017408, i64 4438339564994827233, i64 4607182418800017408, i64 4438308383656926961, i64 4607182418800017408, i64 4438277202319026690, i64 4607182418800017408, i64 4438246020981126419, i64 4607182418800017408, i64 4438214839643226147, i64 4607182418800017408, i64 4438183658305325876, i64 4607182418800017408, i64 4438152476967425604, i64 4607182418800017408, i64 4438121295629525333, i64 4607182418800017408, i64 4438090114291625061, i64 4607182418800017408, i64 4438058932953724790, i64 4607182418800017408, i64 4438027751615824519, i64 4607182418800017408, i64 4437996570277924247, i64 4607182418800017408, i64 4437965388940023976, i64 4607182418800017408, i64 4437934207602123704, i64 4607182418800017408, i64 4437903026264223433, i64 4607182418800017408, i64 4437871844926323162, i64 4607182418800017408, i64 4437840663588422890, i64 4607182418800017408, i64 4437809482250522619, i64 4607182418800017408, i64 4437778300912622347, i64 4607182418800017408, i64 4437747119574722076, i64 4607182418800017408, i64 4437715938236821804, i64 4607182418800017408, i64 4437684756898921533, i64 4607182418800017408, i64 4437653575561021262, i64 4607182418800017408, i64 4437622394223120990, i64 4607182418800017408, i64 4437591212885220719, i64 4607182418800017408, i64 4437560031547320447, i64 4607182418800017408, i64 4437528850209420176, i64 4607182418800017408, i64 4437497668871519905, i64 4607182418800017408, i64 4437466487533619633, i64 4607182418800017408, i64 4437435306195719362, i64 4607182418800017408, i64 4437404124857819090, i64 4607182418800017408, i64 4437372943519918819, i64 4607182418800017408, i64 4437341762182018547, i64 4607182418800017408, i64 4437310580844118276, i64 4607182418800017408, i64 4437279399506218005, i64 4607182418800017408, i64 4437248218168317733, i64 4607182418800017408, i64 4437217036830417462, i64 4607182418800017408, i64 4437185855492517190, i64 4607182418800017408, i64 4437154674154616919, i64 4607182418800017408, i64 4437123492816716648, i64 4607182418800017408, i64 4437092311478816376, i64 4607182418800017408, i64 4437061130140916105, i64 4607182418800017408, i64 4437029948803015833, i64 4607182418800017408, i64 4436998767465115562, i64 4607182418800017408, i64 4436967586127215290, i64 4607182418800017408, i64 4436936404789315019, i64 4607182418800017408, i64 4436905223451414748, i64 4607182418800017408, i64 4436874042113514476, i64 4607182418800017408, i64 4436842860775614205, i64 4607182418800017408, i64 4436811679437713933, i64 4607182418800017408, i64 4436780498099813662, i64 4607182418800017408, i64 4436749316761913391, i64 4607182418800017408, i64 4436718135424013119, i64 4607182418800017408, i64 4436686954086112848, i64 4607182418800017408, i64 4436655772748212576, i64 4607182418800017408, i64 4436624591410312305, i64 4607182418800017408, i64 4436593410072412033, i64 4607182418800017408, i64 4436562228734511762, i64 4607182418800017408, i64 4436531047396611491, i64 4607182418800017408, i64 4436499866058711219, i64 4607182418800017408, i64 4436468684720810948, i64 4607182418800017408, i64 4436437503382910676, i64 4607182418800017408, i64 4436406322045010405, i64 4607182418800017408, i64 4436375140707110134, i64 4607182418800017408, i64 4436343959369209862, i64 4607182418800017408, i64 4436312778031309591, i64 4607182418800017408, i64 4436281596693409319, i64 4607182418800017408, i64 4436250415355509048, i64 4607182418800017408, i64 4436219234017608776, i64 4607182418800017408, i64 4436188052679708505, i64 4607182418800017408, i64 4436156871341808234, i64 4607182418800017408, i64 4436125690003907962, i64 4607182418800017408, i64 4436094508666007691, i64 4607182418800017408, i64 4436063327328107419, i64 4607182418800017408, i64 4436018659020475736, i64 4607182418800017408, i64 4435956296344675193, i64 4607182418800017408, i64 4435893933668874650, i64 4607182418800017408, i64 4435831570993074107, i64 4607182418800017408, i64 4435769208317273565, i64 4607182418800017408, i64 4435706845641473022, i64 4607182418800017408, i64 4435644482965672479, i64 4607182418800017408, i64 4435582120289871936, i64 4607182418800017408, i64 4435519757614071393, i64 4607182418800017408, i64 4435457394938270850, i64 4607182418800017408, i64 4435395032262470308, i64 4607182418800017408, i64 4435332669586669765, i64 4607182418800017408, i64 4435270306910869222, i64 4607182418800017408, i64 4435207944235068679, i64 4607182418800017408, i64 4435145581559268136, i64 4607182418800017408, i64 4435083218883467593, i64 4607182418800017408, i64 4435020856207667051, i64 4607182418800017408, i64 4434989674869766779, i64 4607182418800017408, i64 4434958493531866508, i64 4607182418800017408, i64 4434927312193966236, i64 4607182418800017408, i64 4434896130856065965, i64 4607182418800017408, i64 4434864949518165694, i64 4607182418800017408, i64 4434833768180265422, i64 4607182418800017408, i64 4434802586842365151, i64 4607182418800017408, i64 4434771405504464879, i64 4607182418800017408, i64 4434740224166564608, i64 4607182418800017408, i64 4434709042828664336, i64 4607182418800017408, i64 4434677861490764065, i64 4607182418800017408, i64 4434646680152863794, i64 4607182418800017408, i64 4434615498814963522, i64 4607182418800017408, i64 4434584317477063251, i64 4607182418800017408, i64 4434553136139162979, i64 4607182418800017408, i64 4434521954801262708, i64 4607182418800017408, i64 4434490773463362437, i64 4607182418800017408, i64 4434459592125462165, i64 4607182418800017408, i64 4434428410787561894, i64 4607182418800017408, i64 4434397229449661622, i64 4607182418800017408, i64 4434366048111761351, i64 4607182418800017408, i64 4434334866773861079, i64 4607182418800017408, i64 4434303685435960808, i64 4607182418800017408, i64 4434272504098060537, i64 4607182418800017408, i64 4434241322760160265, i64 4607182418800017408, i64 4434210141422259994, i64 4607182418800017408, i64 4434178960084359722, i64 4607182418800017408, i64 4434147778746459451, i64 4607182418800017408, i64 4434116597408559180, i64 4607182418800017408, i64 4434085416070658908, i64 4607182418800017408, i64 4434054234732758637, i64 4607182418800017408, i64 4434023053394858365, i64 4607182418800017408, i64 4433991872056958094, i64 4607182418800017408, i64 4433960690719057822, i64 4607182418800017408, i64 4433929509381157551, i64 4607182418800017408, i64 4433898328043257280, i64 4607182418800017408, i64 4433867146705357008, i64 4607182418800017408, i64 4433835965367456737, i64 4607182418800017408, i64 4433804784029556465, i64 4607182418800017408, i64 4433773602691656194, i64 4607182418800017408, i64 4433742421353755923, i64 4607182418800017408, i64 4433711240015855651, i64 4607182418800017408, i64 4433680058677955380, i64 4607182418800017408, i64 4433648877340055108, i64 4607182418800017408, i64 4433617696002154837, i64 4607182418800017408, i64 4433586514664254565, i64 4607182418800017408, i64 4433555333326354294, i64 4607182418800017408, i64 4433524151988454023, i64 4607182418800017408, i64 4433492970650553751, i64 4607182418800017408, i64 4433461789312653480, i64 4607182418800017408, i64 4433430607974753208, i64 4607182418800017408, i64 4433399426636852937, i64 4607182418800017408, i64 4433368245298952666, i64 4607182418800017408, i64 4433337063961052394, i64 4607182418800017408, i64 4433305882623152123, i64 4607182418800017408, i64 4433274701285251851, i64 4607182418800017408, i64 4433243519947351580, i64 4607182418800017408, i64 4433212338609451308, i64 4607182418800017408, i64 4433181157271551037, i64 4607182418800017408, i64 4433149975933650766, i64 4607182418800017408, i64 4433118794595750494, i64 4607182418800017408, i64 4433087613257850223, i64 4607182418800017408, i64 4433056431919949951, i64 4607182418800017408, i64 4433025250582049680, i64 4607182418800017408, i64 4432994069244149409, i64 4607182418800017408, i64 4432962887906249137, i64 4607182418800017408, i64 4432931706568348866, i64 4607182418800017408, i64 4432900525230448594, i64 4607182418800017408, i64 4432869343892548323, i64 4607182418800017408, i64 4432838162554648051, i64 4607182418800017408, i64 4432806981216747780, i64 4607182418800017408, i64 4432775799878847509, i64 4607182418800017408, i64 4432744618540947237, i64 4607182418800017408, i64 4432713437203046966, i64 4607182418800017408, i64 4432682255865146694, i64 4607182418800017408, i64 4432651074527246423, i64 4607182418800017408, i64 4432619893189346152, i64 4607182418800017408, i64 4432588711851445880, i64 4607182418800017408, i64 4432557530513545609, i64 4607182418800017408, i64 4432526349175645337, i64 4607182418800017408, i64 4432495167837745066, i64 4607182418800017408, i64 4432463986499844794, i64 4607182418800017408, i64 4432432805161944523, i64 4607182418800017408, i64 4432401623824044252, i64 4607182418800017408, i64 4432370442486143980, i64 4607182418800017408, i64 4432339261148243709, i64 4607182418800017408, i64 4432308079810343437, i64 4607182418800017408, i64 4432276898472443166, i64 4607182418800017408, i64 4432245717134542895, i64 4607182418800017408, i64 4432214535796642623, i64 4607182418800017408, i64 4432183354458742352, i64 4607182418800017408, i64 4432152173120842080, i64 4607182418800017408, i64 4432120991782941809, i64 4607182418800017408, i64 4432089810445041537, i64 4607182418800017408, i64 4432058629107141266, i64 4607182418800017408, i64 4432027447769240995, i64 4607182418800017408, i64 4431996266431340723, i64 4607182418800017408, i64 4431965085093440452, i64 4607182418800017408, i64 4431933903755540180, i64 4607182418800017408, i64 4431902722417639909, i64 4607182418800017408, i64 4431871541079739638, i64 4607182418800017408, i64 4431840359741839366, i64 4607182418800017408, i64 4431809178403939095, i64 4607182418800017408, i64 4431777997066038823, i64 4607182418800017408, i64 4431746815728138552, i64 4607182418800017408, i64 4431715634390238280, i64 4607182418800017408, i64 4431684453052338009, i64 4607182418800017408, i64 4431653271714437738, i64 4607182418800017408, i64 4431622090376537466, i64 4607182418800017408, i64 4431590909038637195, i64 4607182418800017408, i64 4431559727700736923, i64 4607182418800017408, i64 4431515059393105240, i64 4607182418800017408, i64 4431452696717304697, i64 4607182418800017408, i64 4431390334041504154, i64 4607182418800017408, i64 4431327971365703611, i64 4607182418800017408, i64 4431265608689903069, i64 4607182418800017408, i64 4431203246014102526, i64 4607182418800017408, i64 4431140883338301983, i64 4607182418800017408, i64 4431078520662501440, i64 4607182418800017408, i64 4431016157986700897, i64 4607182418800017408, i64 4430953795310900354, i64 4607182418800017408, i64 4430891432635099812, i64 4607182418800017408, i64 4430829069959299269, i64 4607182418800017408, i64 4430766707283498726, i64 4607182418800017408, i64 4430704344607698183, i64 4607182418800017408, i64 4430641981931897640, i64 4607182418800017408, i64 4430579619256097097, i64 4607182418800017408, i64 4430517256580296555, i64 4607182418800017408, i64 4430486075242396283, i64 4607182418800017408, i64 4430454893904496012, i64 4607182418800017408, i64 4430423712566595740, i64 4607182418800017408, i64 4430392531228695469, i64 4607182418800017408, i64 4430361349890795198, i64 4607182418800017408, i64 4430330168552894926, i64 4607182418800017408, i64 4430298987214994655, i64 4607182418800017408, i64 4430267805877094383, i64 4607182418800017408, i64 4430236624539194112, i64 4607182418800017408, i64 4430205443201293840, i64 4607182418800017408, i64 4430174261863393569, i64 4607182418800017408, i64 4430143080525493298, i64 4607182418800017408, i64 4430111899187593026, i64 4607182418800017408, i64 4430080717849692755, i64 4607182418800017408, i64 4430049536511792483, i64 4607182418800017408, i64 4430018355173892212, i64 4607182418800017408, i64 4429987173835991941, i64 4607182418800017408, i64 4429955992498091669, i64 4607182418800017408, i64 4429924811160191398, i64 4607182418800017408, i64 4429893629822291126, i64 4607182418800017408, i64 4429862448484390855, i64 4607182418800017408, i64 4429831267146490583, i64 4607182418800017408, i64 4429800085808590312, i64 4607182418800017408, i64 4429768904470690041, i64 4607182418800017408, i64 4429737723132789769, i64 4607182418800017408, i64 4429706541794889498, i64 4607182418800017408, i64 4429675360456989226, i64 4607182418800017408, i64 4429644179119088955, i64 4607182418800017408, i64 4429612997781188684, i64 4607182418800017408, i64 4429581816443288412, i64 4607182418800017408, i64 4429550635105388141, i64 4607182418800017408, i64 4429519453767487869, i64 4607182418800017408, i64 4429488272429587598, i64 4607182418800017408, i64 4429457091091687326, i64 4607182418800017408, i64 4429425909753787055, i64 4607182418800017408, i64 4429394728415886784, i64 4607182418800017408, i64 4429363547077986512, i64 4607182418800017408, i64 4429332365740086241, i64 4607182418800017408, i64 4429301184402185969, i64 4607182418800017408, i64 4429270003064285698, i64 4607182418800017408, i64 4429238821726385427, i64 4607182418800017408, i64 4429207640388485155, i64 4607182418800017408, i64 4429176459050584884, i64 4607182418800017408, i64 4429145277712684612, i64 4607182418800017408, i64 4429114096374784341, i64 4607182418800017408, i64 4429082915036884069, i64 4607182418800017408, i64 4429051733698983798, i64 4607182418800017408, i64 4429020552361083527, i64 4607182418800017408, i64 4428989371023183255, i64 4607182418800017408, i64 4428958189685282984, i64 4607182418800017408, i64 4428927008347382712, i64 4607182418800017408, i64 4428895827009482441, i64 4607182418800017408, i64 4428864645671582170, i64 4607182418800017408, i64 4428833464333681898, i64 4607182418800017408, i64 4428802282995781627, i64 4607182418800017408, i64 4428771101657881355, i64 4607182418800017408, i64 4428739920319981084, i64 4607182418800017408, i64 4428708738982080812, i64 4607182418800017408, i64 4428677557644180541, i64 4607182418800017408, i64 4428646376306280270, i64 4607182418800017408, i64 4428615194968379998, i64 4607182418800017408, i64 4428584013630479727, i64 4607182418800017408, i64 4428552832292579455, i64 4607182418800017408, i64 4428521650954679184, i64 4607182418800017408, i64 4428490469616778913, i64 4607182418800017408, i64 4428459288278878641, i64 4607182418800017408, i64 4428428106940978370, i64 4607182418800017408, i64 4428396925603078098, i64 4607182418800017408, i64 4428365744265177827, i64 4607182418800017408, i64 4428334562927277555, i64 4607182418800017408, i64 4428303381589377284, i64 4607182418800017408, i64 4428272200251477013, i64 4607182418800017408, i64 4428241018913576741, i64 4607182418800017408, i64 4428209837575676470, i64 4607182418800017408, i64 4428178656237776198, i64 4607182418800017408, i64 4428147474899875927, i64 4607182418800017408, i64 4428116293561975656, i64 4607182418800017408, i64 4428085112224075384, i64 4607182418800017408, i64 4428053930886175113, i64 4607182418800017408, i64 4428022749548274841, i64 4607182418800017408, i64 4427991568210374570, i64 4607182418800017408, i64 4427960386872474298, i64 4607182418800017408, i64 4427929205534574027, i64 4607182418800017408, i64 4427898024196673756, i64 4607182418800017408, i64 4427866842858773484, i64 4607182418800017408, i64 4427835661520873213, i64 4607182418800017408, i64 4427804480182972941, i64 4607182418800017408, i64 4427773298845072670, i64 4607182418800017408, i64 4427742117507172399, i64 4607182418800017408, i64 4427710936169272127, i64 4607182418800017408, i64 4427679754831371856, i64 4607182418800017408, i64 4427648573493471584, i64 4607182418800017408, i64 4427617392155571313, i64 4607182418800017408, i64 4427586210817671041, i64 4607182418800017408, i64 4427555029479770770, i64 4607182418800017408, i64 4427523848141870499, i64 4607182418800017408, i64 4427492666803970227, i64 4607182418800017408, i64 4427461485466069956, i64 4607182418800017408, i64 4427430304128169684, i64 4607182418800017408, i64 4427399122790269413, i64 4607182418800017408, i64 4427367941452369142, i64 4607182418800017408, i64 4427336760114468870, i64 4607182418800017408, i64 4427305578776568599, i64 4607182418800017408, i64 4427274397438668327, i64 4607182418800017408, i64 4427243216100768056, i64 4607182418800017408, i64 4427212034762867784, i64 4607182418800017408, i64 4427180853424967513, i64 4607182418800017408, i64 4427149672087067242, i64 4607182418800017408, i64 4427118490749166970, i64 4607182418800017408, i64 4427087309411266699, i64 4607182418800017408, i64 4427056128073366427, i64 4607182418800017408, i64 4427011459765734744, i64 4607182418800017408, i64 4426949097089934201, i64 4607182418800017408, i64 4426886734414133658, i64 4607182418800017408, i64 4426824371738333115, i64 4607182418800017408, i64 4426762009062532573, i64 4607182418800017408, i64 4426699646386732030, i64 4607182418800017408, i64 4426637283710931487, i64 4607182418800017408, i64 4426574921035130944, i64 4607182418800017408, i64 4426512558359330401, i64 4607182418800017408, i64 4426450195683529858, i64 4607182418800017408, i64 4426387833007729316, i64 4607182418800017408, i64 4426325470331928773, i64 4607182418800017408, i64 4426263107656128230, i64 4607182418800017408, i64 4426200744980327687, i64 4607182418800017408, i64 4426138382304527144, i64 4607182418800017408, i64 4426076019628726601, i64 4607182418800017408, i64 4426013656952926059, i64 4607182418800017408, i64 4425982475615025787, i64 4607182418800017408, i64 4425951294277125516, i64 4607182418800017408, i64 4425920112939225244, i64 4607182418800017408, i64 4425888931601324973, i64 4607182418800017408, i64 4425857750263424702, i64 4607182418800017408, i64 4425826568925524430, i64 4607182418800017408, i64 4425795387587624159, i64 4607182418800017408, i64 4425764206249723887, i64 4607182418800017408, i64 4425733024911823616, i64 4607182418800017408, i64 4425701843573923344, i64 4607182418800017408, i64 4425670662236023073, i64 4607182418800017408, i64 4425639480898122802, i64 4607182418800017408, i64 4425608299560222530, i64 4607182418800017408, i64 4425577118222322259, i64 4607182418800017408, i64 4425545936884421987, i64 4607182418800017408, i64 4425514755546521716, i64 4607182418800017408, i64 4425483574208621445, i64 4607182418800017408, i64 4425452392870721173, i64 4607182418800017408, i64 4425421211532820902, i64 4607182418800017408, i64 4425390030194920630, i64 4607182418800017408, i64 4425358848857020359, i64 4607182418800017408, i64 4425327667519120087, i64 4607182418800017408, i64 4425296486181219816, i64 4607182418800017408, i64 4425265304843319545, i64 4607182418800017408, i64 4425234123505419273, i64 4607182418800017408, i64 4425202942167519002, i64 4607182418800017408, i64 4425171760829618730, i64 4607182418800017408, i64 4425140579491718459, i64 4607182418800017408, i64 4425109398153818188, i64 4607182418800017408, i64 4425078216815917916, i64 4607182418800017408, i64 4425047035478017645, i64 4607182418800017408, i64 4425015854140117373, i64 4607182418800017408, i64 4424984672802217102, i64 4607182418800017408, i64 4424953491464316830, i64 4607182418800017408, i64 4424922310126416559, i64 4607182418800017408, i64 4424891128788516288, i64 4607182418800017408, i64 4424859947450616016, i64 4607182418800017408, i64 4424828766112715745, i64 4607182418800017408, i64 4424797584774815473, i64 4607182418800017408, i64 4424766403436915202, i64 4607182418800017408, i64 4424735222099014931, i64 4607182418800017408, i64 4424704040761114659, i64 4607182418800017408, i64 4424672859423214388, i64 4607182418800017408, i64 4424641678085314116, i64 4607182418800017408, i64 4424610496747413845, i64 4607182418800017408, i64 4424579315409513573, i64 4607182418800017408, i64 4424548134071613302, i64 4607182418800017408, i64 4424516952733713031, i64 4607182418800017408, i64 4424485771395812759, i64 4607182418800017408, i64 4424454590057912488, i64 4607182418800017408, i64 4424423408720012216, i64 4607182418800017408, i64 4424392227382111945, i64 4607182418800017408, i64 4424361046044211674, i64 4607182418800017408, i64 4424329864706311402, i64 4607182418800017408, i64 4424298683368411131, i64 4607182418800017408, i64 4424267502030510859, i64 4607182418800017408, i64 4424236320692610588, i64 4607182418800017408, i64 4424205139354710316, i64 4607182418800017408, i64 4424173958016810045, i64 4607182418800017408, i64 4424142776678909774, i64 4607182418800017408, i64 4424111595341009502, i64 4607182418800017408, i64 4424080414003109231, i64 4607182418800017408, i64 4424049232665208959, i64 4607182418800017408, i64 4424018051327308688, i64 4607182418800017408, i64 4423986869989408417, i64 4607182418800017408, i64 4423955688651508145, i64 4607182418800017408, i64 4423924507313607874, i64 4607182418800017408, i64 4423893325975707602, i64 4607182418800017408, i64 4423862144637807331, i64 4607182418800017408, i64 4423830963299907059, i64 4607182418800017408, i64 4423799781962006788, i64 4607182418800017408, i64 4423768600624106517, i64 4607182418800017408, i64 4423737419286206245, i64 4607182418800017408, i64 4423706237948305974, i64 4607182418800017408, i64 4423675056610405702, i64 4607182418800017408, i64 4423643875272505431, i64 4607182418800017408, i64 4423612693934605160, i64 4607182418800017408, i64 4423581512596704888, i64 4607182418800017408, i64 4423550331258804617, i64 4607182418800017408, i64 4423519149920904345, i64 4607182418800017408, i64 4423487968583004074, i64 4607182418800017408, i64 4423456787245103802, i64 4607182418800017408, i64 4423425605907203531, i64 4607182418800017408, i64 4423394424569303260, i64 4607182418800017408, i64 4423363243231402988, i64 4607182418800017408, i64 4423332061893502717, i64 4607182418800017408, i64 4423300880555602445, i64 4607182418800017408, i64 4423269699217702174, i64 4607182418800017408, i64 4423238517879801903, i64 4607182418800017408, i64 4423207336541901631, i64 4607182418800017408, i64 4423176155204001360, i64 4607182418800017408, i64 4423144973866101088, i64 4607182418800017408, i64 4423113792528200817, i64 4607182418800017408, i64 4423082611190300545, i64 4607182418800017408, i64 4423051429852400274, i64 4607182418800017408, i64 4423020248514500003, i64 4607182418800017408, i64 4422989067176599731, i64 4607182418800017408, i64 4422957885838699460, i64 4607182418800017408, i64 4422926704500799188, i64 4607182418800017408, i64 4422895523162898917, i64 4607182418800017408, i64 4422864341824998646, i64 4607182418800017408, i64 4422833160487098374, i64 4607182418800017408, i64 4422801979149198103, i64 4607182418800017408, i64 4422770797811297831, i64 4607182418800017408, i64 4422739616473397560, i64 4607182418800017408, i64 4422708435135497288, i64 4607182418800017408, i64 4422677253797597017, i64 4607182418800017408, i64 4422646072459696746, i64 4607182418800017408, i64 4422614891121796474, i64 4607182418800017408, i64 4422583709783896203, i64 4607182418800017408, i64 4422552528445995931, i64 4607182418800017408, i64 4422507860138364248, i64 4607182418800017408, i64 4422445497462563705, i64 4607182418800017408, i64 4422383134786763162, i64 4607182418800017408, i64 4422320772110962619, i64 4607182418800017408, i64 4422258409435162077, i64 4607182418800017408, i64 4422196046759361534, i64 4607182418800017408, i64 4422133684083560991, i64 4607182418800017408, i64 4422071321407760448, i64 4607182418800017408, i64 4422008958731959905, i64 4607182418800017408, i64 4421946596056159362, i64 4607182418800017408, i64 4421884233380358820, i64 4607182418800017408, i64 4421821870704558277, i64 4607182418800017408, i64 4421759508028757734, i64 4607182418800017408, i64 4421697145352957191, i64 4607182418800017408, i64 4421634782677156648, i64 4607182418800017408, i64 4421572420001356105, i64 4607182418800017408, i64 4421510057325555563, i64 4607182418800017408, i64 4421478875987655291, i64 4607182418800017408, i64 4421447694649755020, i64 4607182418800017408, i64 4421416513311854748, i64 4607182418800017408, i64 4421385331973954477, i64 4607182418800017408, i64 4421354150636054206, i64 4607182418800017408, i64 4421322969298153934, i64 4607182418800017408, i64 4421291787960253663, i64 4607182418800017408, i64 4421260606622353391, i64 4607182418800017408, i64 4421229425284453120, i64 4607182418800017408, i64 4421198243946552848, i64 4607182418800017408, i64 4421167062608652577, i64 4607182418800017408, i64 4421135881270752306, i64 4607182418800017408, i64 4421104699932852034, i64 4607182418800017408, i64 4421073518594951763, i64 4607182418800017408, i64 4421042337257051491, i64 4607182418800017408, i64 4421011155919151220, i64 4607182418800017408, i64 4420979974581250949, i64 4607182418800017408, i64 4420948793243350677, i64 4607182418800017408, i64 4420917611905450406, i64 4607182418800017408, i64 4420886430567550134, i64 4607182418800017408, i64 4420855249229649863, i64 4607182418800017408, i64 4420824067891749591, i64 4607182418800017408, i64 4420792886553849320, i64 4607182418800017408, i64 4420761705215949049, i64 4607182418800017408, i64 4420730523878048777, i64 4607182418800017408, i64 4420699342540148506, i64 4607182418800017408, i64 4420668161202248234, i64 4607182418800017408, i64 4420636979864347963, i64 4607182418800017408, i64 4420605798526447692, i64 4607182418800017408, i64 4420574617188547420, i64 4607182418800017408, i64 4420543435850647149, i64 4607182418800017408, i64 4420512254512746877, i64 4607182418800017408, i64 4420481073174846606, i64 4607182418800017408, i64 4420449891836946334, i64 4607182418800017408, i64 4420418710499046063, i64 4607182418800017408, i64 4420387529161145792, i64 4607182418800017408, i64 4420356347823245520, i64 4607182418800017408, i64 4420325166485345249, i64 4607182418800017408, i64 4420293985147444977, i64 4607182418800017408, i64 4420262803809544706, i64 4607182418800017408, i64 4420231622471644435, i64 4607182418800017408, i64 4420200441133744163, i64 4607182418800017408, i64 4420169259795843892, i64 4607182418800017408, i64 4420138078457943620, i64 4607182418800017408, i64 4420106897120043349, i64 4607182418800017408, i64 4420075715782143077, i64 4607182418800017408, i64 4420044534444242806, i64 4607182418800017408, i64 4420013353106342535, i64 4607182418800017408, i64 4419982171768442263, i64 4607182418800017408, i64 4419950990430541992, i64 4607182418800017408, i64 4419919809092641720, i64 4607182418800017408, i64 4419888627754741449, i64 4607182418800017408, i64 4419857446416841178, i64 4607182418800017408, i64 4419826265078940906, i64 4607182418800017408, i64 4419795083741040635, i64 4607182418800017408, i64 4419763902403140363, i64 4607182418800017408, i64 4419732721065240092, i64 4607182418800017408, i64 4419701539727339820, i64 4607182418800017408, i64 4419670358389439549, i64 4607182418800017408, i64 4419639177051539278, i64 4607182418800017408, i64 4419607995713639006, i64 4607182418800017408, i64 4419576814375738735, i64 4607182418800017408, i64 4419545633037838463, i64 4607182418800017408, i64 4419514451699938192, i64 4607182418800017408, i64 4419483270362037921, i64 4607182418800017408, i64 4419452089024137649, i64 4607182418800017408, i64 4419420907686237378, i64 4607182418800017408, i64 4419389726348337106, i64 4607182418800017408, i64 4419358545010436835, i64 4607182418800017408, i64 4419327363672536563, i64 4607182418800017408, i64 4419296182334636292, i64 4607182418800017408, i64 4419265000996736021, i64 4607182418800017408, i64 4419233819658835749, i64 4607182418800017408, i64 4419202638320935478, i64 4607182418800017408, i64 4419171456983035206, i64 4607182418800017408, i64 4419140275645134935, i64 4607182418800017408, i64 4419109094307234664, i64 4607182418800017408, i64 4419077912969334392, i64 4607182418800017408, i64 4419046731631434121, i64 4607182418800017408, i64 4419015550293533849, i64 4607182418800017408, i64 4418984368955633578, i64 4607182418800017408, i64 4418953187617733306, i64 4607182418800017408, i64 4418922006279833035, i64 4607182418800017408, i64 4418890824941932764, i64 4607182418800017408, i64 4418859643604032492, i64 4607182418800017408, i64 4418828462266132221, i64 4607182418800017408, i64 4418797280928231949, i64 4607182418800017408, i64 4418766099590331678, i64 4607182418800017408, i64 4418734918252431407, i64 4607182418800017408, i64 4418703736914531135, i64 4607182418800017408, i64 4418672555576630864, i64 4607182418800017408, i64 4418641374238730592, i64 4607182418800017408, i64 4418610192900830321, i64 4607182418800017408, i64 4418579011562930049, i64 4607182418800017408, i64 4418547830225029778, i64 4607182418800017408, i64 4418516648887129507, i64 4607182418800017408, i64 4418485467549229235, i64 4607182418800017408, i64 4418454286211328964, i64 4607182418800017408, i64 4418423104873428692, i64 4607182418800017408, i64 4418391923535528421, i64 4607182418800017408, i64 4418360742197628150, i64 4607182418800017408, i64 4418329560859727878, i64 4607182418800017408, i64 4418298379521827607, i64 4607182418800017408, i64 4418267198183927335, i64 4607182418800017408, i64 4418236016846027064, i64 4607182418800017408, i64 4418204835508126792, i64 4607182418800017408, i64 4418173654170226521, i64 4607182418800017408, i64 4418142472832326250, i64 4607182418800017408, i64 4418111291494425978, i64 4607182418800017408, i64 4418080110156525707, i64 4607182418800017408, i64 4418048928818625435, i64 4607182418800017408, i64 4418004260510993752, i64 4607182418800017408, i64 4417941897835193209, i64 4607182418800017408, i64 4417879535159392666, i64 4607182418800017408, i64 4417817172483592123, i64 4607182418800017408, i64 4417754809807791581, i64 4607182418800017408, i64 4417692447131991038, i64 4607182418800017408, i64 4417630084456190495, i64 4607182418800017408, i64 4417567721780389952, i64 4607182418800017408, i64 4417505359104589409, i64 4607182418800017408, i64 4417442996428788866, i64 4607182418800017408, i64 4417380633752988324, i64 4607182418800017408, i64 4417318271077187781, i64 4607182418800017408, i64 4417255908401387238, i64 4607182418800017408, i64 4417193545725586695, i64 4607182418800017408, i64 4417131183049786152, i64 4607182418800017408, i64 4417068820373985609, i64 4607182418800017408, i64 4417006457698185067, i64 4607182418800017408, i64 4416975276360284795, i64 4607182418800017408, i64 4416944095022384524, i64 4607182418800017408, i64 4416912913684484252, i64 4607182418800017408, i64 4416881732346583981, i64 4607182418800017408, i64 4416850551008683710, i64 4607182418800017408, i64 4416819369670783438, i64 4607182418800017408, i64 4416788188332883167, i64 4607182418800017408, i64 4416757006994982895, i64 4607182418800017408, i64 4416725825657082624, i64 4607182418800017408, i64 4416694644319182352, i64 4607182418800017408, i64 4416663462981282081, i64 4607182418800017408, i64 4416632281643381810, i64 4607182418800017408, i64 4416601100305481538, i64 4607182418800017408, i64 4416569918967581267, i64 4607182418800017408, i64 4416538737629680995, i64 4607182418800017408, i64 4416507556291780724, i64 4607182418800017408, i64 4416476374953880453, i64 4607182418800017408, i64 4416445193615980181, i64 4607182418800017408, i64 4416414012278079910, i64 4607182418800017408, i64 4416382830940179638, i64 4607182418800017408, i64 4416351649602279367, i64 4607182418800017408, i64 4416320468264379095, i64 4607182418800017408, i64 4416289286926478824, i64 4607182418800017408, i64 4416258105588578553, i64 4607182418800017408, i64 4416226924250678281, i64 4607182418800017408, i64 4416195742912778010, i64 4607182418800017408, i64 4416164561574877738, i64 4607182418800017408, i64 4416133380236977467, i64 4607182418800017408, i64 4416102198899077196, i64 4607182418800017408, i64 4416071017561176924, i64 4607182418800017408, i64 4416039836223276653, i64 4607182418800017408, i64 4416008654885376381, i64 4607182418800017408, i64 4415977473547476110, i64 4607182418800017408, i64 4415946292209575838, i64 4607182418800017408, i64 4415915110871675567, i64 4607182418800017408, i64 4415883929533775296, i64 4607182418800017408, i64 4415852748195875024, i64 4607182418800017408, i64 4415821566857974753, i64 4607182418800017408, i64 4415790385520074481, i64 4607182418800017408, i64 4415759204182174210, i64 4607182418800017408, i64 4415728022844273939, i64 4607182418800017408, i64 4415696841506373667, i64 4607182418800017408, i64 4415665660168473396, i64 4607182418800017408, i64 4415634478830573124, i64 4607182418800017408, i64 4415603297492672853, i64 4607182418800017408, i64 4415572116154772581, i64 4607182418800017408, i64 4415540934816872310, i64 4607182418800017408, i64 4415509753478972039, i64 4607182418800017408, i64 4415478572141071767, i64 4607182418800017408, i64 4415447390803171496, i64 4607182418800017408, i64 4415416209465271224, i64 4607182418800017408, i64 4415385028127370953, i64 4607182418800017408, i64 4415353846789470682, i64 4607182418800017408, i64 4415322665451570410, i64 4607182418800017408, i64 4415291484113670139, i64 4607182418800017408, i64 4415260302775769867, i64 4607182418800017408, i64 4415229121437869596, i64 4607182418800017408, i64 4415197940099969324, i64 4607182418800017408, i64 4415166758762069053, i64 4607182418800017408, i64 4415135577424168782, i64 4607182418800017408, i64 4415104396086268510, i64 4607182418800017408, i64 4415073214748368239, i64 4607182418800017408, i64 4415042033410467967, i64 4607182418800017408, i64 4415010852072567696, i64 4607182418800017408, i64 4414979670734667425, i64 4607182418800017408, i64 4414948489396767153, i64 4607182418800017408, i64 4414917308058866882, i64 4607182418800017408, i64 4414886126720966610, i64 4607182418800017408, i64 4414854945383066339, i64 4607182418800017408, i64 4414823764045166067, i64 4607182418800017408, i64 4414792582707265796, i64 4607182418800017408, i64 4414761401369365525, i64 4607182418800017408, i64 4414730220031465253, i64 4607182418800017408, i64 4414699038693564982, i64 4607182418800017408, i64 4414667857355664710, i64 4607182418800017408, i64 4414636676017764439, i64 4607182418800017408, i64 4414605494679864168, i64 4607182418800017408, i64 4414574313341963896, i64 4607182418800017408, i64 4414543132004063625, i64 4607182418800017408, i64 4414511950666163353, i64 4607182418800017408, i64 4414480769328263082, i64 4607182418800017408, i64 4414449587990362810, i64 4607182418800017408, i64 4414418406652462539, i64 4607182418800017408, i64 4414387225314562268, i64 4607182418800017408, i64 4414356043976661996, i64 4607182418800017408, i64 4414324862638761725, i64 4607182418800017408, i64 4414293681300861453, i64 4607182418800017408, i64 4414262499962961182, i64 4607182418800017408, i64 4414231318625060911, i64 4607182418800017408, i64 4414200137287160639, i64 4607182418800017408, i64 4414168955949260368, i64 4607182418800017408, i64 4414137774611360096, i64 4607182418800017408, i64 4414106593273459825, i64 4607182418800017408, i64 4414075411935559553, i64 4607182418800017408, i64 4414044230597659282, i64 4607182418800017408, i64 4414013049259759011, i64 4607182418800017408, i64 4413981867921858739, i64 4607182418800017408, i64 4413950686583958468, i64 4607182418800017408, i64 4413919505246058196, i64 4607182418800017408, i64 4413888323908157925, i64 4607182418800017408, i64 4413857142570257654, i64 4607182418800017408, i64 4413825961232357382, i64 4607182418800017408, i64 4413794779894457111, i64 4607182418800017408, i64 4413763598556556839, i64 4607182418800017408, i64 4413732417218656568, i64 4607182418800017408, i64 4413701235880756296, i64 4607182418800017408, i64 4413670054542856025, i64 4607182418800017408, i64 4413638873204955754, i64 4607182418800017408, i64 4413607691867055482, i64 4607182418800017408, i64 4413576510529155211, i64 4607182418800017408, i64 4413545329191254939, i64 4607182418800017408, i64 4413500660883623256, i64 4607182418800017408, i64 4413438298207822713, i64 4607182418800017408, i64 4413375935532022170, i64 4607182418800017408, i64 4413313572856221627, i64 4607182418800017408, i64 4413251210180421085, i64 4607182418800017408, i64 4413188847504620542, i64 4607182418800017408, i64 4413126484828819999, i64 4607182418800017408, i64 4413064122153019456, i64 4607182418800017408, i64 4413001759477218913, i64 4607182418800017408, i64 4412939396801418370, i64 4607182418800017408, i64 4412877034125617828, i64 4607182418800017408, i64 4412814671449817285, i64 4607182418800017408, i64 4412752308774016742, i64 4607182418800017408, i64 4412689946098216199, i64 4607182418800017408, i64 4412627583422415656, i64 4607182418800017408, i64 4412565220746615113, i64 4607182418800017408, i64 4412502858070814571, i64 4607182418800017408, i64 4412471676732914299, i64 4607182418800017408, i64 4412440495395014028, i64 4607182418800017408, i64 4412409314057113756, i64 4607182418800017408, i64 4412378132719213485, i64 4607182418800017408, i64 4412346951381313214, i64 4607182418800017408, i64 4412315770043412942, i64 4607182418800017408, i64 4412284588705512671, i64 4607182418800017408, i64 4412253407367612399, i64 4607182418800017408, i64 4412222226029712128, i64 4607182418800017408, i64 4412191044691811856, i64 4607182418800017408, i64 4412159863353911585, i64 4607182418800017408, i64 4412128682016011314, i64 4607182418800017408, i64 4412097500678111042, i64 4607182418800017408, i64 4412066319340210771, i64 4607182418800017408, i64 4412035138002310499, i64 4607182418800017408, i64 4412003956664410228, i64 4607182418800017408, i64 4411972775326509957, i64 4607182418800017408, i64 4411941593988609685, i64 4607182418800017408, i64 4411910412650709414, i64 4607182418800017408, i64 4411879231312809142, i64 4607182418800017408, i64 4411848049974908871, i64 4607182418800017408, i64 4411816868637008599, i64 4607182418800017408, i64 4411785687299108328, i64 4607182418800017408, i64 4411754505961208057, i64 4607182418800017408, i64 4411723324623307785, i64 4607182418800017408, i64 4411692143285407514, i64 4607182418800017408, i64 4411660961947507242, i64 4607182418800017408, i64 4411629780609606971, i64 4607182418800017408, i64 4411598599271706700, i64 4607182418800017408, i64 4411567417933806428, i64 4607182418800017408, i64 4411536236595906157, i64 4607182418800017408, i64 4411505055258005885, i64 4607182418800017408, i64 4411473873920105614, i64 4607182418800017408, i64 4411442692582205342, i64 4607182418800017408, i64 4411411511244305071, i64 4607182418800017408, i64 4411380329906404800, i64 4607182418800017408, i64 4411349148568504528, i64 4607182418800017408, i64 4411317967230604257, i64 4607182418800017408, i64 4411286785892703985, i64 4607182418800017408, i64 4411255604554803714, i64 4607182418800017408, i64 4411224423216903443, i64 4607182418800017408, i64 4411193241879003171, i64 4607182418800017408, i64 4411162060541102900, i64 4607182418800017408, i64 4411130879203202628, i64 4607182418800017408, i64 4411099697865302357, i64 4607182418800017408, i64 4411068516527402085, i64 4607182418800017408, i64 4411037335189501814, i64 4607182418800017408, i64 4411006153851601543, i64 4607182418800017408, i64 4410974972513701271, i64 4607182418800017408, i64 4410943791175801000, i64 4607182418800017408, i64 4410912609837900728, i64 4607182418800017408, i64 4410881428500000457, i64 4607182418800017408, i64 4410850247162100186, i64 4607182418800017408, i64 4410819065824199914, i64 4607182418800017408, i64 4410787884486299643, i64 4607182418800017408, i64 4410756703148399371, i64 4607182418800017408, i64 4410725521810499100, i64 4607182418800017408, i64 4410694340472598828, i64 4607182418800017408, i64 4410663159134698557, i64 4607182418800017408, i64 4410631977796798286, i64 4607182418800017408, i64 4410600796458898014, i64 4607182418800017408, i64 4410569615120997743, i64 4607182418800017408, i64 4410538433783097471, i64 4607182418800017408, i64 4410507252445197200, i64 4607182418800017408, i64 4410476071107296929, i64 4607182418800017408, i64 4410444889769396657, i64 4607182418800017408, i64 4410413708431496386, i64 4607182418800017408, i64 4410382527093596114, i64 4607182418800017408, i64 4410351345755695843, i64 4607182418800017408, i64 4410320164417795571, i64 4607182418800017408, i64 4410288983079895300, i64 4607182418800017408, i64 4410257801741995029, i64 4607182418800017408, i64 4410226620404094757, i64 4607182418800017408, i64 4410195439066194486, i64 4607182418800017408, i64 4410164257728294214, i64 4607182418800017408, i64 4410133076390393943, i64 4607182418800017408, i64 4410101895052493672, i64 4607182418800017408, i64 4410070713714593400, i64 4607182418800017408, i64 4410039532376693129, i64 4607182418800017408, i64 4410008351038792857, i64 4607182418800017408, i64 4409977169700892586, i64 4607182418800017408, i64 4409945988362992314, i64 4607182418800017408, i64 4409914807025092043, i64 4607182418800017408, i64 4409883625687191772, i64 4607182418800017408, i64 4409852444349291500, i64 4607182418800017408, i64 4409821263011391229, i64 4607182418800017408, i64 4409790081673490957, i64 4607182418800017408, i64 4409758900335590686, i64 4607182418800017408, i64 4409727718997690415, i64 4607182418800017408, i64 4409696537659790143, i64 4607182418800017408, i64 4409665356321889872, i64 4607182418800017408, i64 4409634174983989600, i64 4607182418800017408, i64 4409602993646089329, i64 4607182418800017408, i64 4409571812308189057, i64 4607182418800017408, i64 4409540630970288786, i64 4607182418800017408, i64 4409509449632388515, i64 4607182418800017408, i64 4409478268294488243, i64 4607182418800017408, i64 4409447086956587972, i64 4607182418800017408, i64 4409415905618687700, i64 4607182418800017408, i64 4409384724280787429, i64 4607182418800017408, i64 4409353542942887158, i64 4607182418800017408, i64 4409322361604986886, i64 4607182418800017408, i64 4409291180267086615, i64 4607182418800017408, i64 4409259998929186343, i64 4607182418800017408, i64 4409228817591286072, i64 4607182418800017408, i64 4409197636253385800, i64 4607182418800017408, i64 4409166454915485529, i64 4607182418800017408, i64 4409135273577585258, i64 4607182418800017408, i64 4409104092239684986, i64 4607182418800017408, i64 4409072910901784715, i64 4607182418800017408, i64 4409041729563884443, i64 4607182418800017408, i64 4408997061256252760, i64 4607182418800017408, i64 4408934698580452217, i64 4607182418800017408, i64 4408872335904651674, i64 4607182418800017408, i64 4408809973228851131, i64 4607182418800017408, i64 4408747610553050589, i64 4607182418800017408, i64 4408685247877250046, i64 4607182418800017408, i64 4408622885201449503, i64 4607182418800017408, i64 4408560522525648960, i64 4607182418800017408, i64 4408498159849848417, i64 4607182418800017408, i64 4408435797174047874, i64 4607182418800017408, i64 4408373434498247332, i64 4607182418800017408, i64 4408311071822446789, i64 4607182418800017408, i64 4408248709146646246, i64 4607182418800017408, i64 4408186346470845703, i64 4607182418800017408, i64 4408123983795045160, i64 4607182418800017408, i64 4408061621119244617, i64 4607182418800017408, i64 4407999258443444075, i64 4607182418800017408, i64 4407968077105543803, i64 4607182418800017408, i64 4407936895767643532, i64 4607182418800017408, i64 4407905714429743260, i64 4607182418800017408, i64 4407874533091842989, i64 4607182418800017408, i64 4407843351753942718, i64 4607182418800017408, i64 4407812170416042446, i64 4607182418800017408, i64 4407780989078142175, i64 4607182418800017408, i64 4407749807740241903, i64 4607182418800017408, i64 4407718626402341632, i64 4607182418800017408, i64 4407687445064441360, i64 4607182418800017408, i64 4407656263726541089, i64 4607182418800017408, i64 4407625082388640818, i64 4607182418800017408, i64 4407593901050740546, i64 4607182418800017408, i64 4407562719712840275, i64 4607182418800017408, i64 4407531538374940003, i64 4607182418800017408, i64 4407500357037039732, i64 4607182418800017408, i64 4407469175699139461, i64 4607182418800017408, i64 4407437994361239189, i64 4607182418800017408, i64 4407406813023338918, i64 4607182418800017408, i64 4407375631685438646, i64 4607182418800017408, i64 4407344450347538375, i64 4607182418800017408, i64 4407313269009638103, i64 4607182418800017408, i64 4407282087671737832, i64 4607182418800017408, i64 4407250906333837561, i64 4607182418800017408, i64 4407219724995937289, i64 4607182418800017408, i64 4407188543658037018, i64 4607182418800017408, i64 4407157362320136746, i64 4607182418800017408, i64 4407126180982236475, i64 4607182418800017408, i64 4407094999644336204, i64 4607182418800017408, i64 4407063818306435932, i64 4607182418800017408, i64 4407032636968535661, i64 4607182418800017408, i64 4407001455630635389, i64 4607182418800017408, i64 4406970274292735118, i64 4607182418800017408, i64 4406939092954834846, i64 4607182418800017408, i64 4406907911616934575, i64 4607182418800017408, i64 4406876730279034304, i64 4607182418800017408, i64 4406845548941134032, i64 4607182418800017408, i64 4406814367603233761, i64 4607182418800017408, i64 4406783186265333489, i64 4607182418800017408, i64 4406752004927433218, i64 4607182418800017408, i64 4406720823589532947, i64 4607182418800017408, i64 4406689642251632675, i64 4607182418800017408, i64 4406658460913732404, i64 4607182418800017408, i64 4406627279575832132, i64 4607182418800017408, i64 4406596098237931861, i64 4607182418800017408, i64 4406564916900031589, i64 4607182418800017408, i64 4406533735562131318, i64 4607182418800017408, i64 4406502554224231047, i64 4607182418800017408, i64 4406471372886330775, i64 4607182418800017408, i64 4406440191548430504, i64 4607182418800017408, i64 4406409010210530232, i64 4607182418800017408, i64 4406377828872629961, i64 4607182418800017408, i64 4406346647534729690, i64 4607182418800017408, i64 4406315466196829418, i64 4607182418800017408, i64 4406284284858929147, i64 4607182418800017408, i64 4406253103521028875, i64 4607182418800017408, i64 4406221922183128604, i64 4607182418800017408, i64 4406190740845228332, i64 4607182418800017408, i64 4406159559507328061, i64 4607182418800017408, i64 4406128378169427790, i64 4607182418800017408, i64 4406097196831527518, i64 4607182418800017408, i64 4406066015493627247, i64 4607182418800017408, i64 4406034834155726975, i64 4607182418800017408, i64 4406003652817826704, i64 4607182418800017408, i64 4405972471479926433, i64 4607182418800017408, i64 4405941290142026161, i64 4607182418800017408, i64 4405910108804125890, i64 4607182418800017408, i64 4405878927466225618, i64 4607182418800017408, i64 4405847746128325347, i64 4607182418800017408, i64 4405816564790425075, i64 4607182418800017408, i64 4405785383452524804, i64 4607182418800017408, i64 4405754202114624533, i64 4607182418800017408, i64 4405723020776724261, i64 4607182418800017408, i64 4405691839438823990, i64 4607182418800017408, i64 4405660658100923718, i64 4607182418800017408, i64 4405629476763023447, i64 4607182418800017408, i64 4405598295425123176, i64 4607182418800017408, i64 4405567114087222904, i64 4607182418800017408, i64 4405535932749322633, i64 4607182418800017408, i64 4405504751411422361, i64 4607182418800017408, i64 4405473570073522090, i64 4607182418800017408, i64 4405442388735621818, i64 4607182418800017408, i64 4405411207397721547, i64 4607182418800017408, i64 4405380026059821276, i64 4607182418800017408, i64 4405348844721921004, i64 4607182418800017408, i64 4405317663384020733, i64 4607182418800017408, i64 4405286482046120461, i64 4607182418800017408, i64 4405255300708220190, i64 4607182418800017408, i64 4405224119370319919, i64 4607182418800017408, i64 4405192938032419647, i64 4607182418800017408, i64 4405161756694519376, i64 4607182418800017408, i64 4405130575356619104, i64 4607182418800017408, i64 4405099394018718833, i64 4607182418800017408, i64 4405068212680818561, i64 4607182418800017408, i64 4405037031342918290, i64 4607182418800017408, i64 4405005850005018019, i64 4607182418800017408, i64 4404974668667117747, i64 4607182418800017408, i64 4404943487329217476, i64 4607182418800017408, i64 4404912305991317204, i64 4607182418800017408, i64 4404881124653416933, i64 4607182418800017408, i64 4404849943315516662, i64 4607182418800017408, i64 4404818761977616390, i64 4607182418800017408, i64 4404787580639716119, i64 4607182418800017408, i64 4404756399301815847, i64 4607182418800017408, i64 4404725217963915576, i64 4607182418800017408, i64 4404694036626015304, i64 4607182418800017408, i64 4404662855288115033, i64 4607182418800017408, i64 4404631673950214762, i64 4607182418800017408, i64 4404600492612314490, i64 4607182418800017408, i64 4404569311274414219, i64 4607182418800017408, i64 4404538129936513947, i64 4607182418800017408, i64 4404493461628882264, i64 4607182418800017408, i64 4404431098953081721, i64 4607182418800017408, i64 4404368736277281178, i64 4607182418800017408, i64 4404306373601480635, i64 4607182418800017408, i64 4404244010925680093, i64 4607182418800017408, i64 4404181648249879550, i64 4607182418800017408, i64 4404119285574079007, i64 4607182418800017408, i64 4404056922898278464, i64 4607182418800017408, i64 4403994560222477921, i64 4607182418800017408, i64 4403932197546677378, i64 4607182418800017408, i64 4403869834870876836, i64 4607182418800017408, i64 4403807472195076293, i64 4607182418800017408, i64 4403745109519275750, i64 4607182418800017408, i64 4403682746843475207, i64 4607182418800017408, i64 4403620384167674664, i64 4607182418800017408, i64 4403558021491874121, i64 4607182418800017408, i64 4403495658816073579, i64 4607182418800017408, i64 4403464477478173307, i64 4607182418800017408, i64 4403433296140273036, i64 4607182418800017408, i64 4403402114802372764, i64 4607182418800017408, i64 4403370933464472493, i64 4607182418800017408, i64 4403339752126572222, i64 4607182418800017408, i64 4403308570788671950, i64 4607182418800017408, i64 4403277389450771679, i64 4607182418800017408, i64 4403246208112871407, i64 4607182418800017408, i64 4403215026774971136, i64 4607182418800017408, i64 4403183845437070864, i64 4607182418800017408, i64 4403152664099170593, i64 4607182418800017408, i64 4403121482761270322, i64 4607182418800017408, i64 4403090301423370050, i64 4607182418800017408, i64 4403059120085469779, i64 4607182418800017408, i64 4403027938747569507, i64 4607182418800017408, i64 4402996757409669236, i64 4607182418800017408, i64 4402965576071768965, i64 4607182418800017408, i64 4402934394733868693, i64 4607182418800017408, i64 4402903213395968422, i64 4607182418800017408, i64 4402872032058068150, i64 4607182418800017408, i64 4402840850720167879, i64 4607182418800017408, i64 4402809669382267607, i64 4607182418800017408, i64 4402778488044367336, i64 4607182418800017408, i64 4402747306706467065, i64 4607182418800017408, i64 4402716125368566793, i64 4607182418800017408, i64 4402684944030666522, i64 4607182418800017408, i64 4402653762692766250, i64 4607182418800017408, i64 4402622581354865979, i64 4607182418800017408, i64 4402591400016965708, i64 4607182418800017408, i64 4402560218679065436, i64 4607182418800017408, i64 4402529037341165165, i64 4607182418800017408, i64 4402497856003264893, i64 4607182418800017408, i64 4402466674665364622, i64 4607182418800017408, i64 4402435493327464350, i64 4607182418800017408, i64 4402404311989564079, i64 4607182418800017408, i64 4402373130651663808, i64 4607182418800017408, i64 4402341949313763536, i64 4607182418800017408, i64 4402310767975863265, i64 4607182418800017408, i64 4402279586637962993, i64 4607182418800017408, i64 4402248405300062722, i64 4607182418800017408, i64 4402217223962162451, i64 4607182418800017408, i64 4402186042624262179, i64 4607182418800017408, i64 4402154861286361908, i64 4607182418800017408, i64 4402123679948461636, i64 4607182418800017408, i64 4402092498610561365, i64 4607182418800017408, i64 4402061317272661093, i64 4607182418800017408, i64 4402030135934760822, i64 4607182418800017408, i64 4401998954596860551, i64 4607182418800017408, i64 4401967773258960279, i64 4607182418800017408, i64 4401936591921060008, i64 4607182418800017408, i64 4401905410583159736, i64 4607182418800017408, i64 4401874229245259465, i64 4607182418800017408, i64 4401843047907359194, i64 4607182418800017408, i64 4401811866569458922, i64 4607182418800017408, i64 4401780685231558651, i64 4607182418800017408, i64 4401749503893658379, i64 4607182418800017408, i64 4401718322555758108, i64 4607182418800017408, i64 4401687141217857836, i64 4607182418800017408, i64 4401655959879957565, i64 4607182418800017408, i64 4401624778542057294, i64 4607182418800017408, i64 4401593597204157022, i64 4607182418800017408, i64 4401562415866256751, i64 4607182418800017408, i64 4401531234528356479, i64 4607182418800017408, i64 4401500053190456208, i64 4607182418800017408, i64 4401468871852555937, i64 4607182418800017408, i64 4401437690514655665, i64 4607182418800017408, i64 4401406509176755394, i64 4607182418800017408, i64 4401375327838855122, i64 4607182418800017408, i64 4401344146500954851, i64 4607182418800017408, i64 4401312965163054579, i64 4607182418800017408, i64 4401281783825154308, i64 4607182418800017408, i64 4401250602487254037, i64 4607182418800017408, i64 4401219421149353765, i64 4607182418800017408, i64 4401188239811453494, i64 4607182418800017408, i64 4401157058473553222, i64 4607182418800017408, i64 4401125877135652951, i64 4607182418800017408, i64 4401094695797752680, i64 4607182418800017408, i64 4401063514459852408, i64 4607182418800017408, i64 4401032333121952137, i64 4607182418800017408, i64 4401001151784051865, i64 4607182418800017408, i64 4400969970446151594, i64 4607182418800017408, i64 4400938789108251322, i64 4607182418800017408, i64 4400907607770351051, i64 4607182418800017408, i64 4400876426432450780, i64 4607182418800017408, i64 4400845245094550508, i64 4607182418800017408, i64 4400814063756650237, i64 4607182418800017408, i64 4400782882418749965, i64 4607182418800017408, i64 4400751701080849694, i64 4607182418800017408, i64 4400720519742949423, i64 4607182418800017408, i64 4400689338405049151, i64 4607182418800017408, i64 4400658157067148880, i64 4607182418800017408, i64 4400626975729248608, i64 4607182418800017408, i64 4400595794391348337, i64 4607182418800017408, i64 4400564613053448065, i64 4607182418800017408, i64 4400533431715547794, i64 4607182418800017408, i64 4400502250377647523, i64 4607182418800017408, i64 4400471069039747251, i64 4607182418800017408, i64 4400439887701846980, i64 4607182418800017408, i64 4400408706363946708, i64 4607182418800017408, i64 4400377525026046437, i64 4607182418800017408, i64 4400346343688146166, i64 4607182418800017408, i64 4400315162350245894, i64 4607182418800017408, i64 4400283981012345623, i64 4607182418800017408, i64 4400252799674445351, i64 4607182418800017408, i64 4400221618336545080, i64 4607182418800017408, i64 4400190436998644808, i64 4607182418800017408, i64 4400159255660744537, i64 4607182418800017408, i64 4400128074322844266, i64 4607182418800017408, i64 4400096892984943994, i64 4607182418800017408, i64 4400065711647043723, i64 4607182418800017408, i64 4400034530309143451, i64 4607182418800017408, i64 4399989862001511768, i64 4607182418800017408, i64 4399927499325711225, i64 4607182418800017408, i64 4399865136649910682, i64 4607182418800017408, i64 4399802773974110139, i64 4607182418800017408, i64 4399740411298309597, i64 4607182418800017408, i64 4399678048622509054, i64 4607182418800017408, i64 4399615685946708511, i64 4607182418800017408, i64 4399553323270907968, i64 4607182418800017408, i64 4399490960595107425, i64 4607182418800017408, i64 4399428597919306882, i64 4607182418800017408, i64 4399366235243506340, i64 4607182418800017408, i64 4399303872567705797, i64 4607182418800017408, i64 4399241509891905254, i64 4607182418800017408, i64 4399179147216104711, i64 4607182418800017408, i64 4399116784540304168, i64 4607182418800017408, i64 4399054421864503625, i64 4607182418800017408, i64 4398992059188703083, i64 4607182418800017408, i64 4398960877850802811, i64 4607182418800017408, i64 4398929696512902540, i64 4607182418800017408, i64 4398898515175002268, i64 4607182418800017408, i64 4398867333837101997, i64 4607182418800017408, i64 4398836152499201726, i64 4607182418800017408, i64 4398804971161301454, i64 4607182418800017408, i64 4398773789823401183, i64 4607182418800017408, i64 4398742608485500911, i64 4607182418800017408, i64 4398711427147600640, i64 4607182418800017408, i64 4398680245809700368, i64 4607182418800017408, i64 4398649064471800097, i64 4607182418800017408, i64 4398617883133899826, i64 4607182418800017408, i64 4398586701795999554, i64 4607182418800017408, i64 4398555520458099283, i64 4607182418800017408, i64 4398524339120199011, i64 4607182418800017408, i64 4398493157782298740, i64 4607182418800017408, i64 4398461976444398469, i64 4607182418800017408, i64 4398430795106498197, i64 4607182418800017408, i64 4398399613768597926, i64 4607182418800017408, i64 4398368432430697654, i64 4607182418800017408, i64 4398337251092797383, i64 4607182418800017408, i64 4398306069754897111, i64 4607182418800017408, i64 4398274888416996840, i64 4607182418800017408, i64 4398243707079096569, i64 4607182418800017408, i64 4398212525741196297, i64 4607182418800017408, i64 4398181344403296026, i64 4607182418800017408, i64 4398150163065395754, i64 4607182418800017408, i64 4398118981727495483, i64 4607182418800017408, i64 4398087800389595212, i64 4607182418800017408, i64 4398056619051694940, i64 4607182418800017408, i64 4398025437713794669, i64 4607182418800017408, i64 4397994256375894397, i64 4607182418800017408, i64 4397963075037994126, i64 4607182418800017408, i64 4397931893700093854, i64 4607182418800017408, i64 4397900712362193583, i64 4607182418800017408, i64 4397869531024293312, i64 4607182418800017408, i64 4397838349686393040, i64 4607182418800017408, i64 4397807168348492769, i64 4607182418800017408, i64 4397775987010592497, i64 4607182418800017408, i64 4397744805672692226, i64 4607182418800017408, i64 4397713624334791955, i64 4607182418800017408, i64 4397682442996891683, i64 4607182418800017408, i64 4397651261658991412, i64 4607182418800017408, i64 4397620080321091140, i64 4607182418800017408, i64 4397588898983190869, i64 4607182418800017408, i64 4397557717645290597, i64 4607182418800017408, i64 4397526536307390326, i64 4607182418800017408, i64 4397495354969490055, i64 4607182418800017408, i64 4397464173631589783, i64 4607182418800017408, i64 4397432992293689512, i64 4607182418800017408, i64 4397401810955789240, i64 4607182418800017408, i64 4397370629617888969, i64 4607182418800017408, i64 4397339448279988698, i64 4607182418800017408, i64 4397308266942088426, i64 4607182418800017408, i64 4397277085604188155, i64 4607182418800017408, i64 4397245904266287883, i64 4607182418800017408, i64 4397214722928387612, i64 4607182418800017408, i64 4397183541590487340, i64 4607182418800017408, i64 4397152360252587069, i64 4607182418800017408, i64 4397121178914686798, i64 4607182418800017408, i64 4397089997576786526, i64 4607182418800017408, i64 4397058816238886255, i64 4607182418800017408, i64 4397027634900985983, i64 4607182418800017408, i64 4396996453563085712, i64 4607182418800017408, i64 4396965272225185441, i64 4607182418800017408, i64 4396934090887285169, i64 4607182418800017408, i64 4396902909549384898, i64 4607182418800017408, i64 4396871728211484626, i64 4607182418800017408, i64 4396840546873584355, i64 4607182418800017408, i64 4396809365535684083, i64 4607182418800017408, i64 4396778184197783812, i64 4607182418800017408, i64 4396747002859883541, i64 4607182418800017408, i64 4396715821521983269, i64 4607182418800017408, i64 4396684640184082998, i64 4607182418800017408, i64 4396653458846182726, i64 4607182418800017408, i64 4396622277508282455, i64 4607182418800017408, i64 4396591096170382184, i64 4607182418800017408, i64 4396559914832481912, i64 4607182418800017408, i64 4396528733494581641, i64 4607182418800017408, i64 4396497552156681369, i64 4607182418800017408, i64 4396466370818781098, i64 4607182418800017408, i64 4396435189480880826, i64 4607182418800017408, i64 4396404008142980555, i64 4607182418800017408, i64 4396372826805080284, i64 4607182418800017408, i64 4396341645467180012, i64 4607182418800017408, i64 4396310464129279741, i64 4607182418800017408, i64 4396279282791379469, i64 4607182418800017408, i64 4396248101453479198, i64 4607182418800017408, i64 4396216920115578927, i64 4607182418800017408, i64 4396185738777678655, i64 4607182418800017408, i64 4396154557439778384, i64 4607182418800017408, i64 4396123376101878112, i64 4607182418800017408, i64 4396092194763977841, i64 4607182418800017408, i64 4396061013426077569, i64 4607182418800017408, i64 4396029832088177298, i64 4607182418800017408, i64 4395998650750277027, i64 4607182418800017408, i64 4395967469412376755, i64 4607182418800017408, i64 4395936288074476484, i64 4607182418800017408, i64 4395905106736576212, i64 4607182418800017408, i64 4395873925398675941, i64 4607182418800017408, i64 4395842744060775670, i64 4607182418800017408, i64 4395811562722875398, i64 4607182418800017408, i64 4395780381384975127, i64 4607182418800017408, i64 4395749200047074855, i64 4607182418800017408, i64 4395718018709174584, i64 4607182418800017408, i64 4395686837371274312, i64 4607182418800017408, i64 4395655656033374041, i64 4607182418800017408, i64 4395624474695473770, i64 4607182418800017408, i64 4395593293357573498, i64 4607182418800017408, i64 4395562112019673227, i64 4607182418800017408, i64 4395530930681772955, i64 4607182418800017408, i64 4395486262374141272, i64 4607182418800017408, i64 4395423899698340729, i64 4607182418800017408, i64 4395361537022540186, i64 4607182418800017408, i64 4395299174346739643, i64 4607182418800017408, i64 4395236811670939101, i64 4607182418800017408, i64 4395174448995138558, i64 4607182418800017408, i64 4395112086319338015, i64 4607182418800017408, i64 4395049723643537472, i64 4607182418800017408, i64 4394987360967736929, i64 4607182418800017408, i64 4394924998291936386, i64 4607182418800017408, i64 4394862635616135844, i64 4607182418800017408, i64 4394800272940335301, i64 4607182418800017408, i64 4394737910264534758, i64 4607182418800017408, i64 4394675547588734215, i64 4607182418800017408, i64 4394613184912933672, i64 4607182418800017408, i64 4394550822237133129, i64 4607182418800017408, i64 4394488459561332587, i64 4607182418800017408, i64 4394457278223432315, i64 4607182418800017408, i64 4394426096885532044, i64 4607182418800017408, i64 4394394915547631772, i64 4607182418800017408, i64 4394363734209731501, i64 4607182418800017408, i64 4394332552871831230, i64 4607182418800017408, i64 4394301371533930958, i64 4607182418800017408, i64 4394270190196030687, i64 4607182418800017408, i64 4394239008858130415, i64 4607182418800017408, i64 4394207827520230144, i64 4607182418800017408, i64 4394176646182329872, i64 4607182418800017408, i64 4394145464844429601, i64 4607182418800017408, i64 4394114283506529330, i64 4607182418800017408, i64 4394083102168629058, i64 4607182418800017408, i64 4394051920830728787, i64 4607182418800017408, i64 4394020739492828515, i64 4607182418800017408, i64 4393989558154928244, i64 4607182418800017408, i64 4393958376817027973, i64 4607182418800017408, i64 4393927195479127701, i64 4607182418800017408, i64 4393896014141227430, i64 4607182418800017408, i64 4393864832803327158, i64 4607182418800017408, i64 4393833651465426887, i64 4607182418800017408, i64 4393802470127526615, i64 4607182418800017408, i64 4393771288789626344, i64 4607182418800017408, i64 4393740107451726073, i64 4607182418800017408, i64 4393708926113825801, i64 4607182418800017408, i64 4393677744775925530, i64 4607182418800017408, i64 4393646563438025258, i64 4607182418800017408, i64 4393615382100124987, i64 4607182418800017408, i64 4393584200762224716, i64 4607182418800017408, i64 4393553019424324444, i64 4607182418800017408, i64 4393521838086424173, i64 4607182418800017408, i64 4393490656748523901, i64 4607182418800017408, i64 4393459475410623630, i64 4607182418800017408, i64 4393428294072723358, i64 4607182418800017408, i64 4393397112734823087, i64 4607182418800017408, i64 4393365931396922816, i64 4607182418800017408, i64 4393334750059022544, i64 4607182418800017408, i64 4393303568721122273, i64 4607182418800017408, i64 4393272387383222001, i64 4607182418800017408, i64 4393241206045321730, i64 4607182418800017408, i64 4393210024707421459, i64 4607182418800017408, i64 4393178843369521187, i64 4607182418800017408, i64 4393147662031620916, i64 4607182418800017408, i64 4393116480693720644, i64 4607182418800017408, i64 4393085299355820373, i64 4607182418800017408, i64 4393054118017920101, i64 4607182418800017408, i64 4393022936680019830, i64 4607182418800017408, i64 4392991755342119559, i64 4607182418800017408, i64 4392960574004219287, i64 4607182418800017408, i64 4392929392666319016, i64 4607182418800017408, i64 4392898211328418744, i64 4607182418800017408, i64 4392867029990518473, i64 4607182418800017408, i64 4392835848652618202, i64 4607182418800017408, i64 4392804667314717930, i64 4607182418800017408, i64 4392773485976817659, i64 4607182418800017408, i64 4392742304638917387, i64 4607182418800017408, i64 4392711123301017116, i64 4607182418800017408, i64 4392679941963116844, i64 4607182418800017408, i64 4392648760625216573, i64 4607182418800017408, i64 4392617579287316302, i64 4607182418800017408, i64 4392586397949416030, i64 4607182418800017408, i64 4392555216611515759, i64 4607182418800017408, i64 4392524035273615487, i64 4607182418800017408, i64 4392492853935715216, i64 4607182418800017408, i64 4392461672597814945, i64 4607182418800017408, i64 4392430491259914673, i64 4607182418800017408, i64 4392399309922014402, i64 4607182418800017408, i64 4392368128584114130, i64 4607182418800017408, i64 4392336947246213859, i64 4607182418800017408, i64 4392305765908313587, i64 4607182418800017408, i64 4392274584570413316, i64 4607182418800017408, i64 4392243403232513045, i64 4607182418800017408, i64 4392212221894612773, i64 4607182418800017408, i64 4392181040556712502, i64 4607182418800017408, i64 4392149859218812230, i64 4607182418800017408, i64 4392118677880911959, i64 4607182418800017408, i64 4392087496543011688, i64 4607182418800017408, i64 4392056315205111416, i64 4607182418800017408, i64 4392025133867211145, i64 4607182418800017408, i64 4391993952529310873, i64 4607182418800017408, i64 4391962771191410602, i64 4607182418800017408, i64 4391931589853510330, i64 4607182418800017408, i64 4391900408515610059, i64 4607182418800017408, i64 4391869227177709788, i64 4607182418800017408, i64 4391838045839809516, i64 4607182418800017408, i64 4391806864501909245, i64 4607182418800017408, i64 4391775683164008973, i64 4607182418800017408, i64 4391744501826108702, i64 4607182418800017408, i64 4391713320488208431, i64 4607182418800017408, i64 4391682139150308159, i64 4607182418800017408, i64 4391650957812407888, i64 4607182418800017408, i64 4391619776474507616, i64 4607182418800017408, i64 4391588595136607345, i64 4607182418800017408, i64 4391557413798707073, i64 4607182418800017408, i64 4391526232460806802, i64 4607182418800017408, i64 4391495051122906531, i64 4607182418800017408, i64 4391463869785006259, i64 4607182418800017408, i64 4391432688447105988, i64 4607182418800017408, i64 4391401507109205716, i64 4607182418800017408, i64 4391370325771305445, i64 4607182418800017408, i64 4391339144433405174, i64 4607182418800017408, i64 4391307963095504902, i64 4607182418800017408, i64 4391276781757604631, i64 4607182418800017408, i64 4391245600419704359, i64 4607182418800017408, i64 4391214419081804088, i64 4607182418800017408, i64 4391183237743903816, i64 4607182418800017408, i64 4391152056406003545, i64 4607182418800017408, i64 4391120875068103274, i64 4607182418800017408, i64 4391089693730203002, i64 4607182418800017408, i64 4391058512392302731, i64 4607182418800017408, i64 4391027331054402459, i64 4607182418800017408, i64 4390982662746770776, i64 4607182418800017408, i64 4390920300070970233, i64 4607182418800017408, i64 4390857937395169690, i64 4607182418800017408, i64 4390795574719369147, i64 4607182418800017408, i64 4390733212043568605, i64 4607182418800017408, i64 4390670849367768062, i64 4607182418800017408, i64 4390608486691967519, i64 4607182418800017408, i64 4390546124016166976, i64 4607182418800017408, i64 4390483761340366433, i64 4607182418800017408, i64 4390421398664565890, i64 4607182418800017408, i64 4390359035988765348, i64 4607182418800017408, i64 4390296673312964805, i64 4607182418800017408, i64 4390234310637164262, i64 4607182418800017408, i64 4390171947961363719, i64 4607182418800017408, i64 4390109585285563176, i64 4607182418800017408, i64 4390047222609762633, i64 4607182418800017408, i64 4389984859933962091, i64 4607182418800017408, i64 4389953678596061819, i64 4607182418800017408, i64 4389922497258161548, i64 4607182418800017408, i64 4389891315920261276, i64 4607182418800017408, i64 4389860134582361005, i64 4607182418800017408, i64 4389828953244460734, i64 4607182418800017408, i64 4389797771906560462, i64 4607182418800017408, i64 4389766590568660191, i64 4607182418800017408, i64 4389735409230759919, i64 4607182418800017408, i64 4389704227892859648, i64 4607182418800017408, i64 4389673046554959376, i64 4607182418800017408, i64 4389641865217059105, i64 4607182418800017408, i64 4389610683879158834, i64 4607182418800017408, i64 4389579502541258562, i64 4607182418800017408, i64 4389548321203358291, i64 4607182418800017408, i64 4389517139865458019, i64 4607182418800017408, i64 4389485958527557748, i64 4607182418800017408, i64 4389454777189657477, i64 4607182418800017408, i64 4389423595851757205, i64 4607182418800017408, i64 4389392414513856934, i64 4607182418800017408, i64 4389361233175956662, i64 4607182418800017408, i64 4389330051838056391, i64 4607182418800017408, i64 4389298870500156119, i64 4607182418800017408, i64 4389267689162255848, i64 4607182418800017408, i64 4389236507824355577, i64 4607182418800017408, i64 4389205326486455305, i64 4607182418800017408, i64 4389174145148555034, i64 4607182418800017408, i64 4389142963810654762, i64 4607182418800017408, i64 4389111782472754491, i64 4607182418800017408, i64 4389080601134854220, i64 4607182418800017408, i64 4389049419796953948, i64 4607182418800017408, i64 4389018238459053677, i64 4607182418800017408, i64 4388987057121153405, i64 4607182418800017408, i64 4388955875783253134, i64 4607182418800017408, i64 4388924694445352862, i64 4607182418800017408, i64 4388893513107452591, i64 4607182418800017408, i64 4388862331769552320, i64 4607182418800017408, i64 4388831150431652048, i64 4607182418800017408, i64 4388799969093751777, i64 4607182418800017408, i64 4388768787755851505, i64 4607182418800017408, i64 4388737606417951234, i64 4607182418800017408, i64 4388706425080050963, i64 4607182418800017408, i64 4388675243742150691, i64 4607182418800017408, i64 4388644062404250420, i64 4607182418800017408, i64 4388612881066350148, i64 4607182418800017408, i64 4388581699728449877, i64 4607182418800017408, i64 4388550518390549605, i64 4607182418800017408, i64 4388519337052649334, i64 4607182418800017408, i64 4388488155714749063, i64 4607182418800017408, i64 4388456974376848791, i64 4607182418800017408, i64 4388425793038948520, i64 4607182418800017408, i64 4388394611701048248, i64 4607182418800017408, i64 4388363430363147977, i64 4607182418800017408, i64 4388332249025247706, i64 4607182418800017408, i64 4388301067687347434, i64 4607182418800017408, i64 4388269886349447163, i64 4607182418800017408, i64 4388238705011546891, i64 4607182418800017408, i64 4388207523673646620, i64 4607182418800017408, i64 4388176342335746348, i64 4607182418800017408, i64 4388145160997846077, i64 4607182418800017408, i64 4388113979659945806, i64 4607182418800017408, i64 4388082798322045534, i64 4607182418800017408, i64 4388051616984145263, i64 4607182418800017408, i64 4388020435646244991, i64 4607182418800017408, i64 4387989254308344720, i64 4607182418800017408, i64 4387958072970444449, i64 4607182418800017408, i64 4387926891632544177, i64 4607182418800017408, i64 4387895710294643906, i64 4607182418800017408, i64 4387864528956743634, i64 4607182418800017408, i64 4387833347618843363, i64 4607182418800017408, i64 4387802166280943091, i64 4607182418800017408, i64 4387770984943042820, i64 4607182418800017408, i64 4387739803605142549, i64 4607182418800017408, i64 4387708622267242277, i64 4607182418800017408, i64 4387677440929342006, i64 4607182418800017408, i64 4387646259591441734, i64 4607182418800017408, i64 4387615078253541463, i64 4607182418800017408, i64 4387583896915641192, i64 4607182418800017408, i64 4387552715577740920, i64 4607182418800017408, i64 4387521534239840649, i64 4607182418800017408, i64 4387490352901940377, i64 4607182418800017408, i64 4387459171564040106, i64 4607182418800017408, i64 4387427990226139834, i64 4607182418800017408, i64 4387396808888239563, i64 4607182418800017408, i64 4387365627550339292, i64 4607182418800017408, i64 4387334446212439020, i64 4607182418800017408, i64 4387303264874538749, i64 4607182418800017408, i64 4387272083536638477, i64 4607182418800017408, i64 4387240902198738206, i64 4607182418800017408, i64 4387209720860837935, i64 4607182418800017408, i64 4387178539522937663, i64 4607182418800017408, i64 4387147358185037392, i64 4607182418800017408, i64 4387116176847137120, i64 4607182418800017408, i64 4387084995509236849, i64 4607182418800017408, i64 4387053814171336577, i64 4607182418800017408, i64 4387022632833436306, i64 4607182418800017408, i64 4386991451495536035, i64 4607182418800017408, i64 4386960270157635763, i64 4607182418800017408, i64 4386929088819735492, i64 4607182418800017408, i64 4386897907481835220, i64 4607182418800017408, i64 4386866726143934949, i64 4607182418800017408, i64 4386835544806034678, i64 4607182418800017408, i64 4386804363468134406, i64 4607182418800017408, i64 4386773182130234135, i64 4607182418800017408, i64 4386742000792333863, i64 4607182418800017408, i64 4386710819454433592, i64 4607182418800017408, i64 4386679638116533320, i64 4607182418800017408, i64 4386648456778633049, i64 4607182418800017408, i64 4386617275440732778, i64 4607182418800017408, i64 4386586094102832506, i64 4607182418800017408, i64 4386554912764932235, i64 4607182418800017408, i64 4386523731427031963, i64 4607182418800017408, i64 4386479063119400280, i64 4607182418800017408, i64 4386416700443599737, i64 4607182418800017408, i64 4386354337767799194, i64 4607182418800017408, i64 4386291975091998651, i64 4607182418800017408, i64 4386229612416198109, i64 4607182418800017408, i64 4386167249740397566, i64 4607182418800017408, i64 4386104887064597023, i64 4607182418800017408, i64 4386042524388796480, i64 4607182418800017408, i64 4385980161712995937, i64 4607182418800017408, i64 4385917799037195394, i64 4607182418800017408, i64 4385855436361394852, i64 4607182418800017408, i64 4385793073685594309, i64 4607182418800017408, i64 4385730711009793766, i64 4607182418800017408, i64 4385668348333993223, i64 4607182418800017408, i64 4385605985658192680, i64 4607182418800017408, i64 4385543622982392137, i64 4607182418800017408, i64 4385481260306591595, i64 4607182418800017408, i64 4385450078968691323, i64 4607182418800017408, i64 4385418897630791052, i64 4607182418800017408, i64 4385387716292890780, i64 4607182418800017408, i64 4385356534954990509, i64 4607182418800017408, i64 4385325353617090238, i64 4607182418800017408, i64 4385294172279189966, i64 4607182418800017408, i64 4385262990941289695, i64 4607182418800017408, i64 4385231809603389423, i64 4607182418800017408, i64 4385200628265489152, i64 4607182418800017408, i64 4385169446927588880, i64 4607182418800017408, i64 4385138265589688609, i64 4607182418800017408, i64 4385107084251788338, i64 4607182418800017408, i64 4385075902913888066, i64 4607182418800017408, i64 4385044721575987795, i64 4607182418800017408, i64 4385013540238087523, i64 4607182418800017408, i64 4384982358900187252, i64 4607182418800017408, i64 4384951177562286981, i64 4607182418800017408, i64 4384919996224386709, i64 4607182418800017408, i64 4384888814886486438, i64 4607182418800017408, i64 4384857633548586166, i64 4607182418800017408, i64 4384826452210685895, i64 4607182418800017408, i64 4384795270872785623, i64 4607182418800017408, i64 4384764089534885352, i64 4607182418800017408, i64 4384732908196985081, i64 4607182418800017408, i64 4384701726859084809, i64 4607182418800017408, i64 4384670545521184538, i64 4607182418800017408, i64 4384639364183284266, i64 4607182418800017408, i64 4384608182845383995, i64 4607182418800017408, i64 4384577001507483724, i64 4607182418800017408, i64 4384545820169583452, i64 4607182418800017408, i64 4384514638831683181, i64 4607182418800017408, i64 4384483457493782909, i64 4607182418800017408, i64 4384452276155882638, i64 4607182418800017408, i64 4384421094817982366, i64 4607182418800017408, i64 4384389913480082095, i64 4607182418800017408, i64 4384358732142181824, i64 4607182418800017408, i64 4384327550804281552, i64 4607182418800017408, i64 4384296369466381281, i64 4607182418800017408, i64 4384265188128481009, i64 4607182418800017408, i64 4384234006790580738, i64 4607182418800017408, i64 4384202825452680467, i64 4607182418800017408, i64 4384171644114780195, i64 4607182418800017408, i64 4384140462776879924, i64 4607182418800017408, i64 4384109281438979652, i64 4607182418800017408, i64 4384078100101079381, i64 4607182418800017408, i64 4384046918763179109, i64 4607182418800017408, i64 4384015737425278838, i64 4607182418800017408, i64 4383984556087378567, i64 4607182418800017408, i64 4383953374749478295, i64 4607182418800017408, i64 4383922193411578024, i64 4607182418800017408, i64 4383891012073677752, i64 4607182418800017408, i64 4383859830735777481, i64 4607182418800017408, i64 4383828649397877210, i64 4607182418800017408, i64 4383797468059976938, i64 4607182418800017408, i64 4383766286722076667, i64 4607182418800017408, i64 4383735105384176395, i64 4607182418800017408, i64 4383703924046276124, i64 4607182418800017408, i64 4383672742708375852, i64 4607182418800017408, i64 4383641561370475581, i64 4607182418800017408, i64 4383610380032575310, i64 4607182418800017408, i64 4383579198694675038, i64 4607182418800017408, i64 4383548017356774767, i64 4607182418800017408, i64 4383516836018874495, i64 4607182418800017408, i64 4383485654680974224, i64 4607182418800017408, i64 4383454473343073953, i64 4607182418800017408, i64 4383423292005173681, i64 4607182418800017408, i64 4383392110667273410, i64 4607182418800017408, i64 4383360929329373138, i64 4607182418800017408, i64 4383329747991472867, i64 4607182418800017408, i64 4383298566653572595, i64 4607182418800017408, i64 4383267385315672324, i64 4607182418800017408, i64 4383236203977772053, i64 4607182418800017408, i64 4383205022639871781, i64 4607182418800017408, i64 4383173841301971510, i64 4607182418800017408, i64 4383142659964071238, i64 4607182418800017408, i64 4383111478626170967, i64 4607182418800017408, i64 4383080297288270696, i64 4607182418800017408, i64 4383049115950370424, i64 4607182418800017408, i64 4383017934612470153, i64 4607182418800017408, i64 4382986753274569881, i64 4607182418800017408, i64 4382955571936669610, i64 4607182418800017408, i64 4382924390598769338, i64 4607182418800017408, i64 4382893209260869067, i64 4607182418800017408, i64 4382862027922968796, i64 4607182418800017408, i64 4382830846585068524, i64 4607182418800017408, i64 4382799665247168253, i64 4607182418800017408, i64 4382768483909267981, i64 4607182418800017408, i64 4382737302571367710, i64 4607182418800017408, i64 4382706121233467439, i64 4607182418800017408, i64 4382674939895567167, i64 4607182418800017408, i64 4382643758557666896, i64 4607182418800017408, i64 4382612577219766624, i64 4607182418800017408, i64 4382581395881866353, i64 4607182418800017408, i64 4382550214543966081, i64 4607182418800017408, i64 4382519033206065810, i64 4607182418800017408, i64 4382487851868165539, i64 4607182418800017408, i64 4382456670530265267, i64 4607182418800017408, i64 4382425489192364996, i64 4607182418800017408, i64 4382394307854464724, i64 4607182418800017408, i64 4382363126516564453, i64 4607182418800017408, i64 4382331945178664182, i64 4607182418800017408, i64 4382300763840763910, i64 4607182418800017408, i64 4382269582502863639, i64 4607182418800017408, i64 4382238401164963367, i64 4607182418800017408, i64 4382207219827063096, i64 4607182418800017408, i64 4382176038489162824, i64 4607182418800017408, i64 4382144857151262553, i64 4607182418800017408, i64 4382113675813362282, i64 4607182418800017408, i64 4382082494475462010, i64 4607182418800017408, i64 4382051313137561739, i64 4607182418800017408, i64 4382020131799661467, i64 4607182418800017408, i64 4381975463492029784, i64 4607182418800017408, i64 4381913100816229241, i64 4607182418800017408, i64 4381850738140428698, i64 4607182418800017408, i64 4381788375464628155, i64 4607182418800017408, i64 4381726012788827613, i64 4607182418800017408, i64 4381663650113027070, i64 4607182418800017408, i64 4381601287437226527, i64 4607182418800017408, i64 4381538924761425984, i64 4607182418800017408, i64 4381476562085625441, i64 4607182418800017408, i64 4381414199409824898, i64 4607182418800017408, i64 4381351836734024356, i64 4607182418800017408, i64 4381289474058223813, i64 4607182418800017408, i64 4381227111382423270, i64 4607182418800017408, i64 4381164748706622727, i64 4607182418800017408, i64 4381102386030822184, i64 4607182418800017408, i64 4381040023355021641, i64 4607182418800017408, i64 4380977660679221099, i64 4607182418800017408, i64 4380946479341320827, i64 4607182418800017408, i64 4380915298003420556, i64 4607182418800017408, i64 4380884116665520284, i64 4607182418800017408, i64 4380852935327620013, i64 4607182418800017408, i64 4380821753989719742, i64 4607182418800017408, i64 4380790572651819470, i64 4607182418800017408, i64 4380759391313919199, i64 4607182418800017408, i64 4380728209976018927, i64 4607182418800017408, i64 4380697028638118656, i64 4607182418800017408, i64 4380665847300218384, i64 4607182418800017408, i64 4380634665962318113, i64 4607182418800017408, i64 4380603484624417842, i64 4607182418800017408, i64 4380572303286517570, i64 4607182418800017408, i64 4380541121948617299, i64 4607182418800017408, i64 4380509940610717027, i64 4607182418800017408, i64 4380478759272816756, i64 4607182418800017408, i64 4380447577934916485, i64 4607182418800017408, i64 4380416396597016213, i64 4607182418800017408, i64 4380385215259115942, i64 4607182418800017408, i64 4380354033921215670, i64 4607182418800017408, i64 4380322852583315399, i64 4607182418800017408, i64 4380291671245415127, i64 4607182418800017408, i64 4380260489907514856, i64 4607182418800017408, i64 4380229308569614585, i64 4607182418800017408, i64 4380198127231714313, i64 4607182418800017408, i64 4380166945893814042, i64 4607182418800017408, i64 4380135764555913770, i64 4607182418800017408, i64 4380104583218013499, i64 4607182418800017408, i64 4380073401880113228, i64 4607182418800017408, i64 4380042220542212956, i64 4607182418800017408, i64 4380011039204312685, i64 4607182418800017408, i64 4379979857866412413, i64 4607182418800017408, i64 4379948676528512142, i64 4607182418800017408, i64 4379917495190611870, i64 4607182418800017408, i64 4379886313852711599, i64 4607182418800017408, i64 4379855132514811328, i64 4607182418800017408, i64 4379823951176911056, i64 4607182418800017408, i64 4379792769839010785, i64 4607182418800017408, i64 4379761588501110513, i64 4607182418800017408, i64 4379730407163210242, i64 4607182418800017408, i64 4379699225825309971, i64 4607182418800017408, i64 4379668044487409699, i64 4607182418800017408, i64 4379636863149509428, i64 4607182418800017408, i64 4379605681811609156, i64 4607182418800017408, i64 4379574500473708885, i64 4607182418800017408, i64 4379543319135808613, i64 4607182418800017408, i64 4379512137797908342, i64 4607182418800017408, i64 4379480956460008071, i64 4607182418800017408, i64 4379449775122107799, i64 4607182418800017408, i64 4379418593784207528, i64 4607182418800017408, i64 4379387412446307256, i64 4607182418800017408, i64 4379356231108406985, i64 4607182418800017408, i64 4379325049770506714, i64 4607182418800017408, i64 4379293868432606442, i64 4607182418800017408, i64 4379262687094706171, i64 4607182418800017408, i64 4379231505756805899, i64 4607182418800017408, i64 4379200324418905628, i64 4607182418800017408, i64 4379169143081005356, i64 4607182418800017408, i64 4379137961743105085, i64 4607182418800017408, i64 4379106780405204814, i64 4607182418800017408, i64 4379075599067304542, i64 4607182418800017408, i64 4379044417729404271, i64 4607182418800017408, i64 4379013236391503999, i64 4607182418800017408, i64 4378982055053603728, i64 4607182418800017408, i64 4378950873715703457, i64 4607182418800017408, i64 4378919692377803185, i64 4607182418800017408, i64 4378888511039902914, i64 4607182418800017408, i64 4378857329702002642, i64 4607182418800017408, i64 4378826148364102371, i64 4607182418800017408, i64 4378794967026202099, i64 4607182418800017408, i64 4378763785688301828, i64 4607182418800017408, i64 4378732604350401557, i64 4607182418800017408, i64 4378701423012501285, i64 4607182418800017408, i64 4378670241674601014, i64 4607182418800017408, i64 4378639060336700742, i64 4607182418800017408, i64 4378607878998800471, i64 4607182418800017408, i64 4378576697660900200, i64 4607182418800017408, i64 4378545516322999928, i64 4607182418800017408, i64 4378514334985099657, i64 4607182418800017408, i64 4378483153647199385, i64 4607182418800017408, i64 4378451972309299114, i64 4607182418800017408, i64 4378420790971398842, i64 4607182418800017408, i64 4378389609633498571, i64 4607182418800017408, i64 4378358428295598300, i64 4607182418800017408, i64 4378327246957698028, i64 4607182418800017408, i64 4378296065619797757, i64 4607182418800017408, i64 4378264884281897485, i64 4607182418800017408, i64 4378233702943997214, i64 4607182418800017408, i64 4378202521606096943, i64 4607182418800017408, i64 4378171340268196671, i64 4607182418800017408, i64 4378140158930296400, i64 4607182418800017408, i64 4378108977592396128, i64 4607182418800017408, i64 4378077796254495857, i64 4607182418800017408, i64 4378046614916595585, i64 4607182418800017408, i64 4378015433578695314, i64 4607182418800017408, i64 4377984252240795043, i64 4607182418800017408, i64 4377953070902894771, i64 4607182418800017408, i64 4377921889564994500, i64 4607182418800017408, i64 4377890708227094228, i64 4607182418800017408, i64 4377859526889193957, i64 4607182418800017408, i64 4377828345551293686, i64 4607182418800017408, i64 4377797164213393414, i64 4607182418800017408, i64 4377765982875493143, i64 4607182418800017408, i64 4377734801537592871, i64 4607182418800017408, i64 4377703620199692600, i64 4607182418800017408, i64 4377672438861792328, i64 4607182418800017408, i64 4377641257523892057, i64 4607182418800017408, i64 4377610076185991786, i64 4607182418800017408, i64 4377578894848091514, i64 4607182418800017408, i64 4377547713510191243, i64 4607182418800017408, i64 4377516532172290971, i64 4607182418800017408, i64 4377471863864659288, i64 4607182418800017408, i64 4377409501188858745, i64 4607182418800017408, i64 4377347138513058202, i64 4607182418800017408, i64 4377284775837257659, i64 4607182418800017408, i64 4377222413161457117, i64 4607182418800017408, i64 4377160050485656574, i64 4607182418800017408, i64 4377097687809856031, i64 4607182418800017408, i64 4377035325134055488, i64 4607182418800017408, i64 4376972962458254945, i64 4607182418800017408, i64 4376910599782454402, i64 4607182418800017408, i64 4376848237106653860, i64 4607182418800017408, i64 4376785874430853317, i64 4607182418800017408, i64 4376723511755052774, i64 4607182418800017408, i64 4376661149079252231, i64 4607182418800017408, i64 4376598786403451688, i64 4607182418800017408, i64 4376536423727651145, i64 4607182418800017408, i64 4376474061051850603, i64 4607182418800017408, i64 4376442879713950331, i64 4607182418800017408, i64 4376411698376050060, i64 4607182418800017408, i64 4376380517038149788, i64 4607182418800017408, i64 4376349335700249517, i64 4607182418800017408, i64 4376318154362349246, i64 4607182418800017408, i64 4376286973024448974, i64 4607182418800017408, i64 4376255791686548703, i64 4607182418800017408, i64 4376224610348648431, i64 4607182418800017408, i64 4376193429010748160, i64 4607182418800017408, i64 4376162247672847888, i64 4607182418800017408, i64 4376131066334947617, i64 4607182418800017408, i64 4376099884997047346, i64 4607182418800017408, i64 4376068703659147074, i64 4607182418800017408, i64 4376037522321246803, i64 4607182418800017408, i64 4376006340983346531, i64 4607182418800017408, i64 4375975159645446260, i64 4607182418800017408, i64 4375943978307545989, i64 4607182418800017408, i64 4375912796969645717, i64 4607182418800017408, i64 4375881615631745446, i64 4607182418800017408, i64 4375850434293845174, i64 4607182418800017408, i64 4375819252955944903, i64 4607182418800017408, i64 4375788071618044631, i64 4607182418800017408, i64 4375756890280144360, i64 4607182418800017408, i64 4375725708942244089, i64 4607182418800017408, i64 4375694527604343817, i64 4607182418800017408, i64 4375663346266443546, i64 4607182418800017408, i64 4375632164928543274, i64 4607182418800017408, i64 4375600983590643003, i64 4607182418800017408, i64 4375569802252742732, i64 4607182418800017408, i64 4375538620914842460, i64 4607182418800017408, i64 4375507439576942189, i64 4607182418800017408, i64 4375476258239041917, i64 4607182418800017408, i64 4375445076901141646, i64 4607182418800017408, i64 4375413895563241374, i64 4607182418800017408, i64 4375382714225341103, i64 4607182418800017408, i64 4375351532887440832, i64 4607182418800017408, i64 4375320351549540560, i64 4607182418800017408, i64 4375289170211640289, i64 4607182418800017408, i64 4375257988873740017, i64 4607182418800017408, i64 4375226807535839746, i64 4607182418800017408, i64 4375195626197939475, i64 4607182418800017408, i64 4375164444860039203, i64 4607182418800017408, i64 4375133263522138932, i64 4607182418800017408, i64 4375102082184238660, i64 4607182418800017408, i64 4375070900846338389, i64 4607182418800017408, i64 4375039719508438117, i64 4607182418800017408, i64 4375008538170537846, i64 4607182418800017408, i64 4374977356832637575, i64 4607182418800017408, i64 4374946175494737303, i64 4607182418800017408, i64 4374914994156837032, i64 4607182418800017408, i64 4374883812818936760, i64 4607182418800017408, i64 4374852631481036489, i64 4607182418800017408, i64 4374821450143136218, i64 4607182418800017408, i64 4374790268805235946, i64 4607182418800017408, i64 4374759087467335675, i64 4607182418800017408, i64 4374727906129435403, i64 4607182418800017408, i64 4374696724791535132, i64 4607182418800017408, i64 4374665543453634860, i64 4607182418800017408, i64 4374634362115734589, i64 4607182418800017408, i64 4374603180777834318, i64 4607182418800017408, i64 4374571999439934046, i64 4607182418800017408, i64 4374540818102033775, i64 4607182418800017408, i64 4374509636764133503, i64 4607182418800017408, i64 4374478455426233232, i64 4607182418800017408, i64 4374447274088332961, i64 4607182418800017408, i64 4374416092750432689, i64 4607182418800017408, i64 4374384911412532418, i64 4607182418800017408, i64 4374353730074632146, i64 4607182418800017408, i64 4374322548736731875, i64 4607182418800017408, i64 4374291367398831603, i64 4607182418800017408, i64 4374260186060931332, i64 4607182418800017408, i64 4374229004723031061, i64 4607182418800017408, i64 4374197823385130789, i64 4607182418800017408, i64 4374166642047230518, i64 4607182418800017408, i64 4374135460709330246, i64 4607182418800017408, i64 4374104279371429975, i64 4607182418800017408, i64 4374073098033529704, i64 4607182418800017408, i64 4374041916695629432, i64 4607182418800017408, i64 4374010735357729161, i64 4607182418800017408, i64 4373979554019828889, i64 4607182418800017408, i64 4373948372681928618, i64 4607182418800017408, i64 4373917191344028346, i64 4607182418800017408, i64 4373886010006128075, i64 4607182418800017408, i64 4373854828668227804, i64 4607182418800017408, i64 4373823647330327532, i64 4607182418800017408, i64 4373792465992427261, i64 4607182418800017408, i64 4373761284654526989, i64 4607182418800017408, i64 4373730103316626718, i64 4607182418800017408, i64 4373698921978726447, i64 4607182418800017408, i64 4373667740640826175, i64 4607182418800017408, i64 4373636559302925904, i64 4607182418800017408, i64 4373605377965025632, i64 4607182418800017408, i64 4373574196627125361, i64 4607182418800017408, i64 4373543015289225089, i64 4607182418800017408, i64 4373511833951324818, i64 4607182418800017408, i64 4373480652613424547, i64 4607182418800017408, i64 4373449471275524275, i64 4607182418800017408, i64 4373418289937624004, i64 4607182418800017408, i64 4373387108599723732, i64 4607182418800017408, i64 4373355927261823461, i64 4607182418800017408, i64 4373324745923923190, i64 4607182418800017408, i64 4373293564586022918, i64 4607182418800017408, i64 4373262383248122647, i64 4607182418800017408, i64 4373231201910222375, i64 4607182418800017408, i64 4373200020572322104, i64 4607182418800017408, i64 4373168839234421832, i64 4607182418800017408, i64 4373137657896521561, i64 4607182418800017408, i64 4373106476558621290, i64 4607182418800017408, i64 4373075295220721018, i64 4607182418800017408, i64 4373044113882820747, i64 4607182418800017408, i64 4373012932544920475, i64 4607182418800017408, i64 4372968264237288792, i64 4607182418800017408, i64 4372905901561488249, i64 4607182418800017408, i64 4372843538885687706, i64 4607182418800017408, i64 4372781176209887163, i64 4607182418800017408, i64 4372718813534086621, i64 4607182418800017408, i64 4372656450858286078, i64 4607182418800017408, i64 4372594088182485535, i64 4607182418800017408, i64 4372531725506684992, i64 4607182418800017408, i64 4372469362830884449, i64 4607182418800017408, i64 4372407000155083906, i64 4607182418800017408, i64 4372344637479283364, i64 4607182418800017408, i64 4372282274803482821, i64 4607182418800017408, i64 4372219912127682278, i64 4607182418800017408, i64 4372157549451881735, i64 4607182418800017408, i64 4372095186776081192, i64 4607182418800017408, i64 4372032824100280649, i64 4607182418800017408, i64 4371970461424480107, i64 4607182418800017408, i64 4371939280086579835, i64 4607182418800017408, i64 4371908098748679564, i64 4607182418800017408, i64 4371876917410779292, i64 4607182418800017408, i64 4371845736072879021, i64 4607182418800017408, i64 4371814554734978750, i64 4607182418800017408, i64 4371783373397078478, i64 4607182418800017408, i64 4371752192059178207, i64 4607182418800017408, i64 4371721010721277935, i64 4607182418800017408, i64 4371689829383377664, i64 4607182418800017408, i64 4371658648045477392, i64 4607182418800017408, i64 4371627466707577121, i64 4607182418800017408, i64 4371596285369676850, i64 4607182418800017408, i64 4371565104031776578, i64 4607182418800017408, i64 4371533922693876307, i64 4607182418800017408, i64 4371502741355976035, i64 4607182418800017408, i64 4371471560018075764, i64 4607182418800017408, i64 4371440378680175493, i64 4607182418800017408, i64 4371409197342275221, i64 4607182418800017408, i64 4371378016004374950, i64 4607182418800017408, i64 4371346834666474678, i64 4607182418800017408, i64 4371315653328574407, i64 4607182418800017408, i64 4371284471990674135, i64 4607182418800017408, i64 4371253290652773864, i64 4607182418800017408, i64 4371222109314873593, i64 4607182418800017408, i64 4371190927976973321, i64 4607182418800017408, i64 4371159746639073050, i64 4607182418800017408, i64 4371128565301172778, i64 4607182418800017408, i64 4371097383963272507, i64 4607182418800017408, i64 4371066202625372236, i64 4607182418800017408, i64 4371035021287471964, i64 4607182418800017408, i64 4371003839949571693, i64 4607182418800017408, i64 4370972658611671421, i64 4607182418800017408, i64 4370941477273771150, i64 4607182418800017408, i64 4370910295935870878, i64 4607182418800017408, i64 4370879114597970607, i64 4607182418800017408, i64 4370847933260070336, i64 4607182418800017408, i64 4370816751922170064, i64 4607182418800017408, i64 4370785570584269793, i64 4607182418800017408, i64 4370754389246369521, i64 4607182418800017408, i64 4370723207908469250, i64 4607182418800017408, i64 4370692026570568979, i64 4607182418800017408, i64 4370660845232668707, i64 4607182418800017408, i64 4370629663894768436, i64 4607182418800017408, i64 4370598482556868164, i64 4607182418800017408, i64 4370567301218967893, i64 4607182418800017408, i64 4370536119881067621, i64 4607182418800017408, i64 4370504938543167350, i64 4607182418800017408, i64 4370473757205267079, i64 4607182418800017408, i64 4370442575867366807, i64 4607182418800017408, i64 4370411394529466536, i64 4607182418800017408, i64 4370380213191566264, i64 4607182418800017408, i64 4370349031853665993, i64 4607182418800017408, i64 4370317850515765722, i64 4607182418800017408, i64 4370286669177865450, i64 4607182418800017408, i64 4370255487839965179, i64 4607182418800017408, i64 4370224306502064907, i64 4607182418800017408, i64 4370193125164164636, i64 4607182418800017408, i64 4370161943826264364, i64 4607182418800017408, i64 4370130762488364093, i64 4607182418800017408, i64 4370099581150463822, i64 4607182418800017408, i64 4370068399812563550, i64 4607182418800017408, i64 4370037218474663279, i64 4607182418800017408, i64 4370006037136763007, i64 4607182418800017408, i64 4369974855798862736, i64 4607182418800017408, i64 4369943674460962465, i64 4607182418800017408, i64 4369912493123062193, i64 4607182418800017408, i64 4369881311785161922, i64 4607182418800017408, i64 4369850130447261650, i64 4607182418800017408, i64 4369818949109361379, i64 4607182418800017408, i64 4369787767771461107, i64 4607182418800017408, i64 4369756586433560836, i64 4607182418800017408, i64 4369725405095660565, i64 4607182418800017408, i64 4369694223757760293, i64 4607182418800017408, i64 4369663042419860022, i64 4607182418800017408, i64 4369631861081959750, i64 4607182418800017408, i64 4369600679744059479, i64 4607182418800017408, i64 4369569498406159208, i64 4607182418800017408, i64 4369538317068258936, i64 4607182418800017408, i64 4369507135730358665, i64 4607182418800017408, i64 4369475954392458393, i64 4607182418800017408, i64 4369444773054558122, i64 4607182418800017408, i64 4369413591716657850, i64 4607182418800017408, i64 4369382410378757579, i64 4607182418800017408, i64 4369351229040857308, i64 4607182418800017408, i64 4369320047702957036, i64 4607182418800017408, i64 4369288866365056765, i64 4607182418800017408, i64 4369257685027156493, i64 4607182418800017408, i64 4369226503689256222, i64 4607182418800017408, i64 4369195322351355951, i64 4607182418800017408, i64 4369164141013455679, i64 4607182418800017408, i64 4369132959675555408, i64 4607182418800017408, i64 4369101778337655136, i64 4607182418800017408, i64 4369070596999754865, i64 4607182418800017408, i64 4369039415661854593, i64 4607182418800017408, i64 4369008234323954322, i64 4607182418800017408, i64 4368977052986054051, i64 4607182418800017408, i64 4368945871648153779, i64 4607182418800017408, i64 4368914690310253508, i64 4607182418800017408, i64 4368883508972353236, i64 4607182418800017408, i64 4368852327634452965, i64 4607182418800017408, i64 4368821146296552694, i64 4607182418800017408, i64 4368789964958652422, i64 4607182418800017408, i64 4368758783620752151, i64 4607182418800017408, i64 4368727602282851879, i64 4607182418800017408, i64 4368696420944951608, i64 4607182418800017408, i64 4368665239607051336, i64 4607182418800017408, i64 4368634058269151065, i64 4607182418800017408, i64 4368602876931250794, i64 4607182418800017408, i64 4368571695593350522, i64 4607182418800017408, i64 4368540514255450251, i64 4607182418800017408, i64 4368509332917549979, i64 4607182418800017408, i64 4368464664609918296, i64 4607182418800017408, i64 4368402301934117753, i64 4607182418800017408, i64 4368339939258317210, i64 4607182418800017408, i64 4368277576582516667, i64 4607182418800017408, i64 4368215213906716125, i64 4607182418800017408, i64 4368152851230915582, i64 4607182418800017408, i64 4368090488555115039, i64 4607182418800017408, i64 4368028125879314496, i64 4607182418800017408, i64 4367965763203513953, i64 4607182418800017408, i64 4367903400527713410, i64 4607182418800017408, i64 4367841037851912868, i64 4607182418800017408, i64 4367778675176112325, i64 4607182418800017408, i64 4367716312500311782, i64 4607182418800017408, i64 4367653949824511239, i64 4607182418800017408, i64 4367591587148710696, i64 4607182418800017408, i64 4367529224472910153, i64 4607182418800017408, i64 4367466861797109611, i64 4607182418800017408], i64 9223372036854775807, i64 4449556431842050048, i64 0, i64 4607182418800017408, i64 4602678819172646912, i64 4598175219545276416, i64 9223336852482686976, i64 35184372088832, i64 135168, i64 1, i64 -288230376151711744, i64 4362862139015168000, i64 -4614324166009603123, i64 4612826843881809670, i64 -4606683776941202716, i64 4613093246923582920, i64 4622100446178323912, i64 -4598095276017173148, i64 -4594821316620406174, i64 4618185313400756779, i64 4635039123522137178, i64 4635271241199757495, i64 -4589466874597227293, i64 -4579075994574456239, i64 -4580939662859307906, i64 4625009697790863122, i64 4646260243524692680, i64 4653262090004787814, i64 4649461666025669762, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE = internal unnamed_addr addrspace(1) constant [2252 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 -1850413205, i32 1072454648] }, { [2 x i32] } { [2 x i32] [i32 -1006346511, i32 -1132062480] }, { [2 x i32] } { [2 x i32] [i32 -1291917852, i32 1070445215] }, { [2 x i32] } { [2 x i32] [i32 -441575267, i32 -1137289561] }, { [2 x i32] } { [2 x i32] [i32 -1062497843, i32 1069568962] }, { [2 x i32] } { [2 x i32] [i32 2125431403, i32 1011406677] }, { [2 x i32] } { [2 x i32] [i32 -998395668, i32 1068902471] }, { [2 x i32] } { [2 x i32] [i32 -480985973, i32 1012454148] }, { [2 x i32] } { [2 x i32] [i32 -1979973228, i32 1068540209] }, { [2 x i32] } { [2 x i32] [i32 1640550904, i32 1005730020] }, { [2 x i32] } { [2 x i32] [i32 2082886492, i32 1068137605] }, { [2 x i32] } { [2 x i32] [i32 1597164124, i32 -1136360483] }, { [2 x i32] } { [2 x i32] [i32 617668189, i32 1067839186] }, { [2 x i32] } { [2 x i32] [i32 760476234, i32 -1135767523] }, { [2 x i32] } { [2 x i32] [i32 -268552405, i32 1067623352] }, { [2 x i32] } { [2 x i32] [i32 76249107, i32 -1137929863] }, { [2 x i32] } { [2 x i32] [i32 2002800613, i32 1067533624] }, { [2 x i32] } { [2 x i32] [i32 227083111, i32 -1135683466] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1067533624] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 -1110182397] }, { [2 x i32] } { [2 x i32] [i32 148864492, i32 1072944651] }, { [2 x i32] } { [2 x i32] [i32 -1076509504, i32 1016788180] }, { [2 x i32] } { [2 x i32] [i32 -122714852, i32 -1070292254] }, { [2 x i32] } { [2 x i32] [i32 2048229555, i32 -1126841454] }, { [2 x i32] } { [2 x i32] [i32 -2004565049, i32 1080145834] }, { [2 x i32] } { [2 x i32] [i32 179387338, i32 -1124384000] }, { [2 x i32] } { [2 x i32] [i32 -1288082608, i32 -1065335693] }, { [2 x i32] } { [2 x i32] [i32 1257107192, i32 -1121626543] }, { [2 x i32] } { [2 x i32] [i32 -1760856247, i32 1083265838] }, { [2 x i32] } { [2 x i32] [i32 -1818860399, i32 1025207498] }, { [2 x i32] } { [2 x i32] [i32 667863272, i32 -1063927414] }, { [2 x i32] } { [2 x i32] [i32 1383567378, i32 -1122966856] }, { [2 x i32] } { [2 x i32] [i32 -1233553087, i32 1083140398] }, { [2 x i32] } { [2 x i32] [i32 342343907, i32 1026519371] }, { [2 x i32] } { [2 x i32] [i32 751392108, i32 -1065854118] }, { [2 x i32] } { [2 x i32] [i32 -619236532, i32 -1122196091] }, { [2 x i32] } { [2 x i32] [i32 1019588352, i32 1079099894] }, { [2 x i32] } { [2 x i32] [i32 566900822, i32 1023028517] }, { [2 x i32] } { [2 x i32] [i32 -383236041, i32 -1072531269] }, { [2 x i32] } { [2 x i32] [i32 -897981801, i32 -1129241972] }, { [2 x i32] } { [2 x i32] [i32 -1960821719, i32 1067983371] }, { [2 x i32] } { [2 x i32] [i32 -169404137, i32 1011641801] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1067983371] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1039729121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 2100197358, i32 -1070497353] }, { [2 x i32] } { [2 x i32] [i32 -1659420669, i32 1019558388] }, { [2 x i32] } { [2 x i32] [i32 -2131604366, i32 1080025937] }, { [2 x i32] } { [2 x i32] [i32 911451104, i32 -1126617252] }, { [2 x i32] } { [2 x i32] [i32 1752461254, i32 -1065392379] }, { [2 x i32] } { [2 x i32] [i32 -621393892, i32 1023074480] }, { [2 x i32] } { [2 x i32] [i32 -1232669512, i32 1083323159] }, { [2 x i32] } { [2 x i32] [i32 1978139564, i32 1025827328] }, { [2 x i32] } { [2 x i32] [i32 -1757609428, i32 -1063690120] }, { [2 x i32] } { [2 x i32] [i32 833723557, i32 1026754431] }, { [2 x i32] } { [2 x i32] [i32 2077070738, i32 1083502208] }, { [2 x i32] } { [2 x i32] [i32 1738394989, i32 -1121025882] }, { [2 x i32] } { [2 x i32] [i32 -2072209515, i32 -1065132192] }, { [2 x i32] } { [2 x i32] [i32 -40561026, i32 -1121229592] }, { [2 x i32] } { [2 x i32] [i32 -820290386, i32 1080174106] }, { [2 x i32] } { [2 x i32] [i32 1316890121, i32 1021510048] }, { [2 x i32] } { [2 x i32] [i32 1764995085, i32 -1070843824] }, { [2 x i32] } { [2 x i32] [i32 1433954987, i32 1020193490] }, { [2 x i32] } { [2 x i32] [i32 -2009034911, i32 1071039456] }, { [2 x i32] } { [2 x i32] [i32 1854942612, i32 1013489120] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1071039456] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1039147992] }, { [2 x i32] } { [2 x i32] [i32 654795864, i32 -1089561097] }, { [2 x i32] } { [2 x i32] [i32 1919104869, i32 1000371671] }, { [2 x i32] } { [2 x i32] [i32 -124281782, i32 1072455860] }, { [2 x i32] } { [2 x i32] [i32 -430215357, i32 -1132114844] }, { [2 x i32] } { [2 x i32] [i32 -785522369, i32 1074229541] }, { [2 x i32] } { [2 x i32] [i32 -53795573, i32 1016078832] }, { [2 x i32] } { [2 x i32] [i32 115976104, i32 1075432335] }, { [2 x i32] } { [2 x i32] [i32 -49724415, i32 1016184159] }, { [2 x i32] } { [2 x i32] [i32 -936942995, i32 1076017538] }, { [2 x i32] } { [2 x i32] [i32 -447611791, i32 1019731860] }, { [2 x i32] } { [2 x i32] [i32 -661955378, i32 1076087511] }, { [2 x i32] } { [2 x i32] [i32 -1412024772, i32 -1132808820] }, { [2 x i32] } { [2 x i32] [i32 -1087536662, i32 1075689530] }, { [2 x i32] } { [2 x i32] [i32 1789831668, i32 -1129947350] }, { [2 x i32] } { [2 x i32] [i32 -907302011, i32 1074523607] }, { [2 x i32] } { [2 x i32] [i32 -217508829, i32 1017281255] }, { [2 x i32] } { [2 x i32] [i32 167906560, i32 1072584871] }, { [2 x i32] } { [2 x i32] [i32 1006427236, i32 1015824222] }, { [2 x i32] } { [2 x i32] [i32 -1665057021, i32 1069541741] }, { [2 x i32] } { [2 x i32] [i32 -1715792124, i32 -1136407650] }, { [2 x i32] } { [2 x i32] [i32 77633347, i32 1064987091] }, { [2 x i32] } { [2 x i32] [i32 -829739469, i32 1006576331] }, { [2 x i32] } { [2 x i32] [i32 1662141866, i32 1058560648] }, { [2 x i32] } { [2 x i32] [i32 157070368, i32 1002255421] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1058560648] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1030263341] }, { [2 x i32] } { [2 x i32] [i32 -558201220, i32 1067908800] }, { [2 x i32] } { [2 x i32] [i32 -1602223769, i32 1008387278] }, { [2 x i32] } { [2 x i32] [i32 -2126114872, i32 1071968203] }, { [2 x i32] } { [2 x i32] [i32 -830458049, i32 -1133095925] }, { [2 x i32] } { [2 x i32] [i32 -1003826710, i32 1073775692] }, { [2 x i32] } { [2 x i32] [i32 246132211, i32 -1129488856] }, { [2 x i32] } { [2 x i32] [i32 -1879570205, i32 1073494832] }, { [2 x i32] } { [2 x i32] [i32 -619025767, i32 -1132130103] }, { [2 x i32] } { [2 x i32] [i32 -669224106, i32 1073857989] }, { [2 x i32] } { [2 x i32] [i32 912314248, i32 1017589501] }, { [2 x i32] } { [2 x i32] [i32 188226579, i32 1072884447] }, { [2 x i32] } { [2 x i32] [i32 -540201084, i32 1017018926] }, { [2 x i32] } { [2 x i32] [i32 -1637510617, i32 1070593969] }, { [2 x i32] } { [2 x i32] [i32 1393943292, i32 1009890248] }, { [2 x i32] } { [2 x i32] [i32 -1624119268, i32 1066931654] }, { [2 x i32] } { [2 x i32] [i32 -669015581, i32 1009710509] }, { [2 x i32] } { [2 x i32] [i32 871100639, i32 1062265959] }, { [2 x i32] } { [2 x i32] [i32 -4083827, i32 1006087675] }, { [2 x i32] } { [2 x i32] [i32 1774035250, i32 1056276817] }, { [2 x i32] } { [2 x i32] [i32 -2001717096, i32 998357684] }, { [2 x i32] } { [2 x i32] [i32 833393274, i32 1048982948] }, { [2 x i32] } { [2 x i32] [i32 688851015, i32 -1155334525] }, { [2 x i32] } { [2 x i32] [i32 2047496935, i32 1039864008] }, { [2 x i32] } { [2 x i32] [i32 428901529, i32 982523974] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1039864008] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1010848407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -497390049, i32 1074428174] }, { [2 x i32] } { [2 x i32] [i32 -2116978032, i32 1015381114] }, { [2 x i32] } { [2 x i32] [i32 -2000967651, i32 1075779167] }, { [2 x i32] } { [2 x i32] [i32 -735534922, i32 -1129476158] }, { [2 x i32] } { [2 x i32] [i32 1981157540, i32 1076391590] }, { [2 x i32] } { [2 x i32] [i32 763638500, i32 1018049058] }, { [2 x i32] } { [2 x i32] [i32 1195781901, i32 1076712041] }, { [2 x i32] } { [2 x i32] [i32 -726086109, i32 -1127897485] }, { [2 x i32] } { [2 x i32] [i32 1825625435, i32 1076491341] }, { [2 x i32] } { [2 x i32] [i32 535467216, i32 1019393982] }, { [2 x i32] } { [2 x i32] [i32 1735397714, i32 1075905574] }, { [2 x i32] } { [2 x i32] [i32 -895936810, i32 1017241906] }, { [2 x i32] } { [2 x i32] [i32 -1755506874, i32 1074623128] }, { [2 x i32] } { [2 x i32] [i32 591104994, i32 1017648688] }, { [2 x i32] } { [2 x i32] [i32 -1356758068, i32 1072612513] }, { [2 x i32] } { [2 x i32] [i32 -1384323578, i32 -1132364377] }, { [2 x i32] } { [2 x i32] [i32 421614208, i32 1069546188] }, { [2 x i32] } { [2 x i32] [i32 -781864625, i32 1012547125] }, { [2 x i32] } { [2 x i32] [i32 1572567036, i32 1064987182] }, { [2 x i32] } { [2 x i32] [i32 1452624855, i32 -1139306647] }, { [2 x i32] } { [2 x i32] [i32 -1810526161, i32 1058560631] }, { [2 x i32] } { [2 x i32] [i32 1693335727, i32 -1145051245] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1058560631] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 -1116777602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 -1614553673, i32 -1492866958] }, { [2 x i32] } { [2 x i32] [i32 -1413092810, i32 1073446113] }, { [2 x i32] } { [2 x i32] [i32 317447375, i32 -1131454303] }, { [2 x i32] } { [2 x i32] [i32 -1505741550, i32 1074416586] }, { [2 x i32] } { [2 x i32] [i32 -512538025, i32 1017688192] }, { [2 x i32] } { [2 x i32] [i32 -1187107443, i32 1074182672] }, { [2 x i32] } { [2 x i32] [i32 -1138435477, i32 1017533104] }, { [2 x i32] } { [2 x i32] [i32 1278569347, i32 1074027370] }, { [2 x i32] } { [2 x i32] [i32 366826632, i32 1015273854] }, { [2 x i32] } { [2 x i32] [i32 1874768324, i32 1072925538] }, { [2 x i32] } { [2 x i32] [i32 332254730, i32 1015862841] }, { [2 x i32] } { [2 x i32] [i32 -1531134353, i32 1070603872] }, { [2 x i32] } { [2 x i32] [i32 -976901510, i32 -1132835205] }, { [2 x i32] } { [2 x i32] [i32 -1752019972, i32 1066935035] }, { [2 x i32] } { [2 x i32] [i32 -614116946, i32 -1137391300] }, { [2 x i32] } { [2 x i32] [i32 -391289782, i32 1062266484] }, { [2 x i32] } { [2 x i32] [i32 -351029795, i32 -1142782313] }, { [2 x i32] } { [2 x i32] [i32 -1736427831, i32 1056276918] }, { [2 x i32] } { [2 x i32] [i32 1257513179, i32 -1147518663] }, { [2 x i32] } { [2 x i32] [i32 1772514876, i32 1048982950] }, { [2 x i32] } { [2 x i32] [i32 538293425, i32 -1157760609] }, { [2 x i32] } { [2 x i32] [i32 -526363140, i32 1039864007] }, { [2 x i32] } { [2 x i32] [i32 -65741763, i32 -1166581933] }, { [2 x i32] } { [2 x i32] [i32 -536870912, i32 1039864007] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1008995007] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072689160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072681032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072672966] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072664963] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072657021] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072649140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072641319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072633557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072625854] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072618209] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072610621] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072603090] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072595615] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072588196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072580831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072573521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072566264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072559061] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072551910] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072544811] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072537763] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072530766] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072523819] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072516922] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072510074] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072503275] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072496524] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072489821] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072483164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072476555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072469991] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072463473] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072457000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072450572] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072444189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072437849] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072431552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072425298] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072419087] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072412918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072406790] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072400704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072394659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072388653] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072382688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072376762] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072370876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072365028] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072359219] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072353448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072347714] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072342018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072336358] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072330735] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072325149] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072319598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072314083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072308603] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072303158] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072297747] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072292371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072287028] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072281719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072276443] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072271200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072265990] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072260812] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072255666] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072250552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072245469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072240417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072235396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072230406] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072225446] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072220516] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072215616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072210745] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072205904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072201091] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072196307] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072191552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072186825] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072182125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072177454] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072172809] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072168192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072163602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072159039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072154502] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072149992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072145507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072141048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072136615] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072132207] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072127825] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072123467] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072119134] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072114826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072110541] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072106281] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072102045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072097833] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072093644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072089478] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072085336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072081216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072077119] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072073045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072068993] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072064963] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072060955] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072056969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072053005] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072049062] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072045140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072041240] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072037360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072033501] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072029663] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072025845] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072022048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072018271] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072014513] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072010776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072007058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072003359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071999680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071996020] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071992379] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071988757] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071985154] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071981569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071978003] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071974455] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071970925] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071967414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071963920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071960444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071956986] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071953545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071950121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071946715] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071943325] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071939953] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071936598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071933259] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071929937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071926631] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071923342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071920069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071916812] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071913571] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071910345] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071907136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071903942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071900764] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071897601] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071894454] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071891321] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071888204] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071885102] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071882014] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071878942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071875884] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071872840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071869811] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071866796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071863796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071860810] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071857837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071854879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071851934] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071849004] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071846086] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071843183] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071840293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071837416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071834553] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071831702] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071828865] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071826041] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071823230] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071820431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071817645] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071814872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071812112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071809364] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071806628] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071803905] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071801193] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071798494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071795808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071793133] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071790470] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071787818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071785179] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071782551] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071779935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071777330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071774737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071772155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071769584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071764477] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071761939] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071759413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071756898] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071754394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071751900] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071749417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071746945] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071744483] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071739591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071737161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071732331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071729931] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071727542] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071725162] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071722793] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071720433] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071718083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071715743] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071713413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071711093] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071708782] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071706481] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071704189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071701906] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071699633] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071697370] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695115] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071692870] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071690634] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071688407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071686189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071683980] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071681780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071679589] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071677407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071675234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071673069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071670913] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071668765] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071666626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071664496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071662374] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071660260] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071658155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071656058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071653970] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071651889] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071649817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071647753] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071645697] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071640584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071632456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071624390] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071616387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071608445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071600564] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071592743] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071584981] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071577278] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071569633] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071562045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071554514] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071547039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071539620] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071532255] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071524945] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071517688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071510485] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071503334] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071496235] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071489187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071482190] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071475243] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071468346] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071461498] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071454699] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071447948] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071441245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071434588] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071427979] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071421415] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071414897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071408424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071401996] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071395613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071389273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071382976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071376722] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071370511] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071364342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071358214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071352128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071346083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071340077] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071334112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071328186] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071322300] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071316452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071310643] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071304872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071299138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071293442] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071287782] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071282159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071276573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071271022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071265507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071260027] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071254582] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071249171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071243795] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071238452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071233143] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071227867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071222624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071217414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071212236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071207090] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071201976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071196893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071191841] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071186820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071181830] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071176870] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071171940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071167040] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071162169] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071157328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071152515] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071147731] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071142976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071138249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071133549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071128878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071124233] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071119616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071115026] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071110463] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071105926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071101416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071096931] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071092472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071088039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071083631] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071079249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071074891] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071070558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071066250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071061965] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071057705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071053469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071049257] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071045068] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071040902] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071036760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071032640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071028543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071024469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071020417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071016387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071012379] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071008393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071004429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071000486] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070996564] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070992664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070988784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070984925] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070981087] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070977269] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070973472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070969695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070965937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070962200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070958482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070954783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070951104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070947444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070943803] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070940181] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070936578] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070932993] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070929427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070925879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070922349] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070918838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070915344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070911868] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070908410] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070904969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070901545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070898139] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070894749] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070891377] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070888022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070884683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070881361] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070878055] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070874766] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070871493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070868236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070864995] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070861769] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070858560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070855366] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070852188] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070849025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070845878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070842745] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070839628] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070836526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070833438] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070830366] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070827308] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070824264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070821235] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070818220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070815220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070812234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070809261] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070806303] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070803358] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070800428] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070797510] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070794607] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070791717] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070788840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070785977] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070783126] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070780289] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070777465] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070774654] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070771855] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070769069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070766296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070763536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070760788] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070758052] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070755329] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070752617] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070749918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070747232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070744557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070741894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070739242] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070736603] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070733975] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070731359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070728754] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070726161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070723579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070721008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070718449] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070715901] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070713363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070710837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070708322] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070705818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070703324] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070700841] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070698369] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070695907] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070693456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070691015] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070688585] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070686165] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070683755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070681355] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070678966] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070676586] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070674217] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070671857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070669507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070667167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070664837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070662517] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070660206] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070657905] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070655613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070653330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070651057] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070648794] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070646539] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070644294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070642058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070639831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070637613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070635404] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070633204] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070631013] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070628831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070626658] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070624493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070622337] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070620189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070618050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070615920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070613798] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070611684] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070609579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070607482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070605394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070603313] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070601241] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070599177] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070597121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1063254011] }, { [2 x i32] } { [2 x i32] [i32 -1503537633, i32 -1107978949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1064824284] }, { [2 x i32] } { [2 x i32] [i32 1280919396, i32 -1108072586] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1065609006] }, { [2 x i32] } { [2 x i32] [i32 -1048445168, i32 -1104628075] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066127199] }, { [2 x i32] } { [2 x i32] [i32 -2122335093, i32 -1104354580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066522610] }, { [2 x i32] } { [2 x i32] [i32 -947477937, i32 -1103554493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066779727] }, { [2 x i32] } { [2 x i32] [i32 -849667798, i32 -1103392314] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067035864] }, { [2 x i32] } { [2 x i32] [i32 170185599, i32 -1103710009] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067291039] }, { [2 x i32] } { [2 x i32] [i32 -163623017, i32 -1104090386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067497803] }, { [2 x i32] } { [2 x i32] [i32 475160131, i32 -1102251610] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067624423] }, { [2 x i32] } { [2 x i32] [i32 -292167094, i32 -1102218557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067750573] }, { [2 x i32] } { [2 x i32] [i32 -1193421148, i32 -1103024997] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067876246] }, { [2 x i32] } { [2 x i32] [i32 265265863, i32 1037211580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068001452] }, { [2 x i32] } { [2 x i32] [i32 2016679056, i32 -1106382826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068126184] }, { [2 x i32] } { [2 x i32] [i32 411193448, i32 -1102571765] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068250468] }, { [2 x i32] } { [2 x i32] [i32 111727877, i32 -1102980234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068374281] }, { [2 x i32] } { [2 x i32] [i32 -720529146, i32 -1102383577] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068497649] }, { [2 x i32] } { [2 x i32] [i32 30268491, i32 1044670185] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068559747] }, { [2 x i32] } { [2 x i32] [i32 471044782, i32 1044337959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068620977] }, { [2 x i32] } { [2 x i32] [i32 1864095636, i32 1046148806] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068681984] }, { [2 x i32] } { [2 x i32] [i32 587903413, i32 1045691768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068742773] }, { [2 x i32] } { [2 x i32] [i32 -2107729198, i32 1044797659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068803341] }, { [2 x i32] } { [2 x i32] [i32 -714585051, i32 -1102663897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068863693] }, { [2 x i32] } { [2 x i32] [i32 609506180, i32 -1102116879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068923826] }, { [2 x i32] } { [2 x i32] [i32 61264354, i32 -1102919521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068983746] }, { [2 x i32] } { [2 x i32] [i32 -1545142429, i32 -1101982129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069043449] }, { [2 x i32] } { [2 x i32] [i32 466532078, i32 1045772810] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069102942] }, { [2 x i32] } { [2 x i32] [i32 -1215243040, i32 1046042199] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069162222] }, { [2 x i32] } { [2 x i32] [i32 2065737250, i32 -1103889957] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069221303] }, { [2 x i32] } { [2 x i32] [i32 2018418301, i32 -1101724562] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069280164] }, { [2 x i32] } { [2 x i32] [i32 299998482, i32 -1104685280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069338830] }, { [2 x i32] } { [2 x i32] [i32 112890557, i32 -1101325061] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069397288] }, { [2 x i32] } { [2 x i32] [i32 1186976918, i32 -1102234605] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069455545] }, { [2 x i32] } { [2 x i32] [i32 2040715867, i32 -1101683143] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069513597] }, { [2 x i32] } { [2 x i32] [i32 -237779938, i32 1046196448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069559482] }, { [2 x i32] } { [2 x i32] [i32 44487770, i32 -1100492752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069588309] }, { [2 x i32] } { [2 x i32] [i32 790540255, i32 -1101034382] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069617039] }, { [2 x i32] } { [2 x i32] [i32 124192850, i32 -1101075101] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069645670] }, { [2 x i32] } { [2 x i32] [i32 2019798917, i32 1046691626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069674202] }, { [2 x i32] } { [2 x i32] [i32 1839259298, i32 1043356551] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069702637] }, { [2 x i32] } { [2 x i32] [i32 1823036359, i32 1046175285] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069730979] }, { [2 x i32] } { [2 x i32] [i32 -1786010955, i32 1045756667] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069759222] }, { [2 x i32] } { [2 x i32] [i32 -516727636, i32 -1103818270] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069787369] }, { [2 x i32] } { [2 x i32] [i32 -2096816292, i32 -1103049129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069815428] }, { [2 x i32] } { [2 x i32] [i32 -538369825, i32 1045739838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069843389] }, { [2 x i32] } { [2 x i32] [i32 -627794789, i32 1043975623] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069871260] }, { [2 x i32] } { [2 x i32] [i32 200957322, i32 -1100884109] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069899034] }, { [2 x i32] } { [2 x i32] [i32 -461031610, i32 1046352278] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069926721] }, { [2 x i32] } { [2 x i32] [i32 1430594275, i32 -1101507770] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069954314] }, { [2 x i32] } { [2 x i32] [i32 254473567, i32 -1099999914] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069981816] }, { [2 x i32] } { [2 x i32] [i32 1828972396, i32 -1102116783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070009232] }, { [2 x i32] } { [2 x i32] [i32 1649369387, i32 -1100015723] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070036554] }, { [2 x i32] } { [2 x i32] [i32 -275366034, i32 1047372744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070063793] }, { [2 x i32] } { [2 x i32] [i32 464503657, i32 1045764194] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070090942] }, { [2 x i32] } { [2 x i32] [i32 2027706448, i32 -1100669334] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070117999] }, { [2 x i32] } { [2 x i32] [i32 -1803624649, i32 -1101533618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070144973] }, { [2 x i32] } { [2 x i32] [i32 513978270, i32 1045699078] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070171859] }, { [2 x i32] } { [2 x i32] [i32 -1017097366, i32 -1100947553] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070198659] }, { [2 x i32] } { [2 x i32] [i32 -1653242699, i32 1046748582] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070225374] }, { [2 x i32] } { [2 x i32] [i32 755355429, i32 -1101402664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070252006] }, { [2 x i32] } { [2 x i32] [i32 -1582985866, i32 1042356297] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070278550] }, { [2 x i32] } { [2 x i32] [i32 1871005969, i32 -1104222424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070305014] }, { [2 x i32] } { [2 x i32] [i32 246834755, i32 1047400579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070331394] }, { [2 x i32] } { [2 x i32] [i32 -994284667, i32 -1100039058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070357691] }, { [2 x i32] } { [2 x i32] [i32 1276573519, i32 1043625417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070383906] }, { [2 x i32] } { [2 x i32] [i32 1089025017, i32 1036478098] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070410037] }, { [2 x i32] } { [2 x i32] [i32 -84542034, i32 1046965676] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070436089] }, { [2 x i32] } { [2 x i32] [i32 -1357249590, i32 1045526926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070462060] }, { [2 x i32] } { [2 x i32] [i32 1347704345, i32 1046748299] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070487950] }, { [2 x i32] } { [2 x i32] [i32 -264978933, i32 -1102424192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070513762] }, { [2 x i32] } { [2 x i32] [i32 -366897025, i32 -1104001783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070539496] }, { [2 x i32] } { [2 x i32] [i32 985719045, i32 -1100172229] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070565150] }, { [2 x i32] } { [2 x i32] [i32 1420797922, i32 -1100752214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070590723] }, { [2 x i32] } { [2 x i32] [i32 1337648066, i32 1047132546] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070606158] }, { [2 x i32] } { [2 x i32] [i32 116475219, i32 1048304393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070618869] }, { [2 x i32] } { [2 x i32] [i32 -1119982816, i32 -1099219196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070631540] }, { [2 x i32] } { [2 x i32] [i32 205401070, i32 -1099538198] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070644174] }, { [2 x i32] } { [2 x i32] [i32 -1032231863, i32 -1100285588] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070656768] }, { [2 x i32] } { [2 x i32] [i32 -108092034, i32 -1102013823] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070669327] }, { [2 x i32] } { [2 x i32] [i32 888047672, i32 -1100699343] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070681847] }, { [2 x i32] } { [2 x i32] [i32 -1982194876, i32 1048355354] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070694329] }, { [2 x i32] } { [2 x i32] [i32 1599554950, i32 1047758146] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070706775] }, { [2 x i32] } { [2 x i32] [i32 -1295521762, i32 -1099283488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070719186] }, { [2 x i32] } { [2 x i32] [i32 154162391, i32 -1098943942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070731556] }, { [2 x i32] } { [2 x i32] [i32 82414149, i32 1047912838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070743895] }, { [2 x i32] } { [2 x i32] [i32 1871678281, i32 -1099349830] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070756195] }, { [2 x i32] } { [2 x i32] [i32 816897865, i32 -1099190242] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070768458] }, { [2 x i32] } { [2 x i32] [i32 1270221736, i32 1048403339] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070780686] }, { [2 x i32] } { [2 x i32] [i32 1028833567, i32 -1100851267] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070792879] }, { [2 x i32] } { [2 x i32] [i32 745966691, i32 1044125909] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070805035] }, { [2 x i32] } { [2 x i32] [i32 -1081062273, i32 -1100950581] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070817158] }, { [2 x i32] } { [2 x i32] [i32 1333959446, i32 1048011978] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070829246] }, { [2 x i32] } { [2 x i32] [i32 172758963, i32 1048241077] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070841299] }, { [2 x i32] } { [2 x i32] [i32 413845862, i32 -1099426899] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070853317] }, { [2 x i32] } { [2 x i32] [i32 1071084729, i32 1047722968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070865299] }, { [2 x i32] } { [2 x i32] [i32 1303084562, i32 1047786371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070877250] }, { [2 x i32] } { [2 x i32] [i32 -522129208, i32 -1099946226] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070889165] }, { [2 x i32] } { [2 x i32] [i32 -125378681, i32 1048499820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070901046] }, { [2 x i32] } { [2 x i32] [i32 377142675, i32 1046408444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070912897] }, { [2 x i32] } { [2 x i32] [i32 854364890, i32 -1100445683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070924712] }, { [2 x i32] } { [2 x i32] [i32 807781792, i32 -1099494088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070936493] }, { [2 x i32] } { [2 x i32] [i32 -801612228, i32 1040169507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070948241] }, { [2 x i32] } { [2 x i32] [i32 638885393, i32 -1098983696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070959957] }, { [2 x i32] } { [2 x i32] [i32 854091708, i32 -1099373441] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070971641] }, { [2 x i32] } { [2 x i32] [i32 259144873, i32 -1101834780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070983290] }, { [2 x i32] } { [2 x i32] [i32 -1382213590, i32 1047670949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070994910] }, { [2 x i32] } { [2 x i32] [i32 1191620030, i32 -1102675331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071006497] }, { [2 x i32] } { [2 x i32] [i32 -913919943, i32 -1100128805] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071018050] }, { [2 x i32] } { [2 x i32] [i32 -1622303896, i32 1048012303] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071029573] }, { [2 x i32] } { [2 x i32] [i32 891860950, i32 1047318555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071041065] }, { [2 x i32] } { [2 x i32] [i32 1789249196, i32 1042166937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071052525] }, { [2 x i32] } { [2 x i32] [i32 -508344224, i32 1048027848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071063954] }, { [2 x i32] } { [2 x i32] [i32 2145833234, i32 -1103022596] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071075350] }, { [2 x i32] } { [2 x i32] [i32 -1347029908, i32 1048377518] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071086717] }, { [2 x i32] } { [2 x i32] [i32 1239803578, i32 1048020718] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071098054] }, { [2 x i32] } { [2 x i32] [i32 -1349527685, i32 1048097661] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071109358] }, { [2 x i32] } { [2 x i32] [i32 1386166232, i32 1047648187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071120635] }, { [2 x i32] } { [2 x i32] [i32 -1530724011, i32 -1098970918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071131880] }, { [2 x i32] } { [2 x i32] [i32 -346946339, i32 -1100971817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071143094] }, { [2 x i32] } { [2 x i32] [i32 2013157676, i32 1043371827] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071154280] }, { [2 x i32] } { [2 x i32] [i32 -1464541358, i32 -1099126787] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071165433] }, { [2 x i32] } { [2 x i32] [i32 -1007389445, i32 1047343883] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071176558] }, { [2 x i32] } { [2 x i32] [i32 -2082365200, i32 -1099573131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071187655] }, { [2 x i32] } { [2 x i32] [i32 64231733, i32 1048528658] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071198720] }, { [2 x i32] } { [2 x i32] [i32 2026400359, i32 1048570069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071209758] }, { [2 x i32] } { [2 x i32] [i32 76144771, i32 1047718259] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071220769] }, { [2 x i32] } { [2 x i32] [i32 353391663, i32 -1099272618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071231748] }, { [2 x i32] } { [2 x i32] [i32 1058848061, i32 1045912118] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071242699] }, { [2 x i32] } { [2 x i32] [i32 -357630780, i32 1048517049] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071253622] }, { [2 x i32] } { [2 x i32] [i32 -1852862165, i32 1048471943] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071264517] }, { [2 x i32] } { [2 x i32] [i32 1019566476, i32 -1100055166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071275382] }, { [2 x i32] } { [2 x i32] [i32 1874345042, i32 1044925016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071286221] }, { [2 x i32] } { [2 x i32] [i32 -83865678, i32 1045347174] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071297030] }, { [2 x i32] } { [2 x i32] [i32 906422266, i32 1048522472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071307813] }, { [2 x i32] } { [2 x i32] [i32 -826481163, i32 1045562089] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071318569] }, { [2 x i32] } { [2 x i32] [i32 -427694029, i32 -1099033543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071329294] }, { [2 x i32] } { [2 x i32] [i32 515741166, i32 -1099021569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071339994] }, { [2 x i32] } { [2 x i32] [i32 1000165771, i32 -1101250216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071350666] }, { [2 x i32] } { [2 x i32] [i32 -2126538114, i32 1047670128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071361310] }, { [2 x i32] } { [2 x i32] [i32 2086574179, i32 1048268453] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071371929] }, { [2 x i32] } { [2 x i32] [i32 -1277651276, i32 1046440335] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071382522] }, { [2 x i32] } { [2 x i32] [i32 -2075215479, i32 1046223632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071393086] }, { [2 x i32] } { [2 x i32] [i32 -1825299689, i32 1043566679] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071403627] }, { [2 x i32] } { [2 x i32] [i32 -794087667, i32 -1100286826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071414138] }, { [2 x i32] } { [2 x i32] [i32 490481955, i32 -1102037871] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071424622] }, { [2 x i32] } { [2 x i32] [i32 -795668669, i32 1047735853] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071435083] }, { [2 x i32] } { [2 x i32] [i32 2079550009, i32 -1099948330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071445516] }, { [2 x i32] } { [2 x i32] [i32 646588016, i32 -1101296940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071455925] }, { [2 x i32] } { [2 x i32] [i32 -1049172207, i32 -1099392558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071466306] }, { [2 x i32] } { [2 x i32] [i32 1142643558, i32 -1098952632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071476661] }, { [2 x i32] } { [2 x i32] [i32 -1836080767, i32 1048469058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071486992] }, { [2 x i32] } { [2 x i32] [i32 185940719, i32 1047561919] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071497298] }, { [2 x i32] } { [2 x i32] [i32 -468993452, i32 -1099378400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071507580] }, { [2 x i32] } { [2 x i32] [i32 -247947665, i32 1048481082] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071517834] }, { [2 x i32] } { [2 x i32] [i32 -1004577093, i32 1047335656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071528065] }, { [2 x i32] } { [2 x i32] [i32 1685787938, i32 -1110646524] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071538269] }, { [2 x i32] } { [2 x i32] [i32 1388552547, i32 1047949362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071548450] }, { [2 x i32] } { [2 x i32] [i32 1133083637, i32 1047511311] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071558604] }, { [2 x i32] } { [2 x i32] [i32 -1655200122, i32 1047360847] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071568738] }, { [2 x i32] } { [2 x i32] [i32 -1030793632, i32 -1098980763] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071578843] }, { [2 x i32] } { [2 x i32] [i32 -1924634282, i32 1048189514] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071588925] }, { [2 x i32] } { [2 x i32] [i32 1545540390, i32 -1101385405] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071598985] }, { [2 x i32] } { [2 x i32] [i32 1236653318, i32 1043061972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071609017] }, { [2 x i32] } { [2 x i32] [i32 -1972209865, i32 1041290989] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071619027] }, { [2 x i32] } { [2 x i32] [i32 -999702330, i32 1046803920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071629015] }, { [2 x i32] } { [2 x i32] [i32 -492504810, i32 1047646707] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071638978] }, { [2 x i32] } { [2 x i32] [i32 1746213909, i32 -1100713775] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071646795] }, { [2 x i32] } { [2 x i32] [i32 -1072817226, i32 -1101608683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071651752] }, { [2 x i32] } { [2 x i32] [i32 397018598, i32 -1102989719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071656698] }, { [2 x i32] } { [2 x i32] [i32 -652096597, i32 -1098025206] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661633] }, { [2 x i32] } { [2 x i32] [i32 270088784, i32 1047982835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071666555] }, { [2 x i32] } { [2 x i32] [i32 -655780502, i32 1049507160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071671468] }, { [2 x i32] } { [2 x i32] [i32 478700949, i32 -1098429819] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071676366] }, { [2 x i32] } { [2 x i32] [i32 -704661387, i32 1048369429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071681256] }, { [2 x i32] } { [2 x i32] [i32 1480934732, i32 1047744019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071686132] }, { [2 x i32] } { [2 x i32] [i32 -1423734552, i32 1048701784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071690998] }, { [2 x i32] } { [2 x i32] [i32 -1489501012, i32 -1099838363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695853] }, { [2 x i32] } { [2 x i32] [i32 1702160875, i32 -1099274611] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071700695] }, { [2 x i32] } { [2 x i32] [i32 -1223712699, i32 1048721534] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071705529] }, { [2 x i32] } { [2 x i32] [i32 -42872500, i32 -1098345369] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071710349] }, { [2 x i32] } { [2 x i32] [i32 1378075748, i32 1048768172] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071715159] }, { [2 x i32] } { [2 x i32] [i32 423305009, i32 -1100649059] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071719957] }, { [2 x i32] } { [2 x i32] [i32 1338728653, i32 1049102975] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071724746] }, { [2 x i32] } { [2 x i32] [i32 1420377925, i32 1048721362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071729524] }, { [2 x i32] } { [2 x i32] [i32 443661523, i32 -1099627727] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734290] }, { [2 x i32] } { [2 x i32] [i32 -1374755065, i32 -1100818934] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071739044] }, { [2 x i32] } { [2 x i32] [i32 749984806, i32 1049428686] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071743789] }, { [2 x i32] } { [2 x i32] [i32 -1882107602, i32 1045775561] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071748524] }, { [2 x i32] } { [2 x i32] [i32 1981411387, i32 -1098274737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753246] }, { [2 x i32] } { [2 x i32] [i32 -529887191, i32 1048774279] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071757961] }, { [2 x i32] } { [2 x i32] [i32 1600617836, i32 -1097909820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071762663] }, { [2 x i32] } { [2 x i32] [i32 -750534366, i32 -1098588835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767353] }, { [2 x i32] } { [2 x i32] [i32 1733995816, i32 -1098605142] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071772034] }, { [2 x i32] } { [2 x i32] [i32 1194001992, i32 -1100749568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071776705] }, { [2 x i32] } { [2 x i32] [i32 1136186766, i32 -1098148904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071781366] }, { [2 x i32] } { [2 x i32] [i32 593243686, i32 1048717754] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071786015] }, { [2 x i32] } { [2 x i32] [i32 1997945118, i32 1049440664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071790656] }, { [2 x i32] } { [2 x i32] [i32 1759973301, i32 -1097920739] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071795285] }, { [2 x i32] } { [2 x i32] [i32 94199092, i32 -1098297282] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071799904] }, { [2 x i32] } { [2 x i32] [i32 527731518, i32 1049227637] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071804513] }, { [2 x i32] } { [2 x i32] [i32 -297729506, i32 1046192856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071809112] }, { [2 x i32] } { [2 x i32] [i32 -317480997, i32 1048470523] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071813702] }, { [2 x i32] } { [2 x i32] [i32 -1905822683, i32 -1099923005] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071818280] }, { [2 x i32] } { [2 x i32] [i32 1806448012, i32 1046753006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071822849] }, { [2 x i32] } { [2 x i32] [i32 1861165381, i32 -1098105636] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071827409] }, { [2 x i32] } { [2 x i32] [i32 236146699, i32 1044954995] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071831958] }, { [2 x i32] } { [2 x i32] [i32 -2070653151, i32 -1099288688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071836497] }, { [2 x i32] } { [2 x i32] [i32 1760344807, i32 -1098200403] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071841025] }, { [2 x i32] } { [2 x i32] [i32 907328524, i32 1048767529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071845546] }, { [2 x i32] } { [2 x i32] [i32 858897087, i32 -1098555673] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071850056] }, { [2 x i32] } { [2 x i32] [i32 -1418247735, i32 -1099319319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071854556] }, { [2 x i32] } { [2 x i32] [i32 -828324700, i32 -1098309755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071859047] }, { [2 x i32] } { [2 x i32] [i32 -182735744, i32 -1099578103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071863528] }, { [2 x i32] } { [2 x i32] [i32 2007097037, i32 -1098112459] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071868000] }, { [2 x i32] } { [2 x i32] [i32 1039272885, i32 -1098047443] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071872461] }, { [2 x i32] } { [2 x i32] [i32 127930479, i32 -1099905904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071876913] }, { [2 x i32] } { [2 x i32] [i32 -2005750052, i32 1048726878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071881357] }, { [2 x i32] } { [2 x i32] [i32 -949011626, i32 -1098776695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071885791] }, { [2 x i32] } { [2 x i32] [i32 -1749143896, i32 1046942224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071890214] }, { [2 x i32] } { [2 x i32] [i32 2008928735, i32 1049494250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071894630] }, { [2 x i32] } { [2 x i32] [i32 1728986996, i32 1049542894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071899035] }, { [2 x i32] } { [2 x i32] [i32 173141860, i32 1048936393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071903433] }, { [2 x i32] } { [2 x i32] [i32 1282246781, i32 -1098595494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071907821] }, { [2 x i32] } { [2 x i32] [i32 635647981, i32 -1098125493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071912199] }, { [2 x i32] } { [2 x i32] [i32 -228327301, i32 -1100727475] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071916568] }, { [2 x i32] } { [2 x i32] [i32 -2077236696, i32 -1098567509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071920927] }, { [2 x i32] } { [2 x i32] [i32 1212996535, i32 -1098815632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071925278] }, { [2 x i32] } { [2 x i32] [i32 -2032469775, i32 -1100437893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071929619] }, { [2 x i32] } { [2 x i32] [i32 -446101773, i32 1048485103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071933953] }, { [2 x i32] } { [2 x i32] [i32 -623551235, i32 -1098056371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938278] }, { [2 x i32] } { [2 x i32] [i32 490376793, i32 -1098981976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071942593] }, { [2 x i32] } { [2 x i32] [i32 -1874073255, i32 -1100468486] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071946898] }, { [2 x i32] } { [2 x i32] [i32 -1561828790, i32 -1100483173] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071951196] }, { [2 x i32] } { [2 x i32] [i32 -1958630787, i32 1049612075] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071955485] }, { [2 x i32] } { [2 x i32] [i32 943475400, i32 -1099289238] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071959765] }, { [2 x i32] } { [2 x i32] [i32 1090533296, i32 -1098431659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071964036] }, { [2 x i32] } { [2 x i32] [i32 254340656, i32 -1101433656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071968299] }, { [2 x i32] } { [2 x i32] [i32 262392641, i32 -1098558476] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071972553] }, { [2 x i32] } { [2 x i32] [i32 -1855662525, i32 -1098763678] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071976798] }, { [2 x i32] } { [2 x i32] [i32 -760071946, i32 1045117409] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071981035] }, { [2 x i32] } { [2 x i32] [i32 743608227, i32 -1097979927] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071985262] }, { [2 x i32] } { [2 x i32] [i32 1447326565, i32 1047749436] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071989481] }, { [2 x i32] } { [2 x i32] [i32 -1692690572, i32 -1099523777] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071993692] }, { [2 x i32] } { [2 x i32] [i32 -1971226063, i32 1049292064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071997895] }, { [2 x i32] } { [2 x i32] [i32 1023765836, i32 -1100918058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072002090] }, { [2 x i32] } { [2 x i32] [i32 188535770, i32 1048505821] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072006276] }, { [2 x i32] } { [2 x i32] [i32 1182594950, i32 1048909264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072010453] }, { [2 x i32] } { [2 x i32] [i32 -148322514, i32 1047505312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072014623] }, { [2 x i32] } { [2 x i32] [i32 1955123642, i32 -1097937902] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072018784] }, { [2 x i32] } { [2 x i32] [i32 -1056594661, i32 1049431643] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072022937] }, { [2 x i32] } { [2 x i32] [i32 -1431176132, i32 -1100270047] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072027082] }, { [2 x i32] } { [2 x i32] [i32 1631037714, i32 -1098880474] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072031217] }, { [2 x i32] } { [2 x i32] [i32 835822376, i32 -1101748095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072035346] }, { [2 x i32] } { [2 x i32] [i32 -625719172, i32 1049379079] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072039466] }, { [2 x i32] } { [2 x i32] [i32 -1656916662, i32 1047808164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072043578] }, { [2 x i32] } { [2 x i32] [i32 -1321713845, i32 1045421761] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072047682] }, { [2 x i32] } { [2 x i32] [i32 -1580986898, i32 -1105850601] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072694271] }, { [2 x i32] } { [2 x i32] [i32 -2098909751, i32 1050658797] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072696315] }, { [2 x i32] } { [2 x i32] [i32 1231651949, i32 1050284584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072698356] }, { [2 x i32] } { [2 x i32] [i32 -1198849653, i32 -1097134916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072700392] }, { [2 x i32] } { [2 x i32] [i32 -2046749919, i32 -1097199784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072702424] }, { [2 x i32] } { [2 x i32] [i32 -1181781868, i32 -1098298182] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072704452] }, { [2 x i32] } { [2 x i32] [i32 861607976, i32 1047058570] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072706476] }, { [2 x i32] } { [2 x i32] [i32 -550622081, i32 1050387613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072708497] }, { [2 x i32] } { [2 x i32] [i32 1936587891, i32 1047357903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072710514] }, { [2 x i32] } { [2 x i32] [i32 -1271002023, i32 -1098042394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072712527] }, { [2 x i32] } { [2 x i32] [i32 626983247, i32 -1097583916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072714536] }, { [2 x i32] } { [2 x i32] [i32 322333361, i32 -1099474445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072716541] }, { [2 x i32] } { [2 x i32] [i32 -1735668927, i32 1049818203] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072718543] }, { [2 x i32] } { [2 x i32] [i32 -582537409, i32 -1100870535] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072720541] }, { [2 x i32] } { [2 x i32] [i32 -1612482139, i32 -1098003776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072722535] }, { [2 x i32] } { [2 x i32] [i32 1701631187, i32 1048123294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072724526] }, { [2 x i32] } { [2 x i32] [i32 -1499262680, i32 -1096990363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072726513] }, { [2 x i32] } { [2 x i32] [i32 -710151991, i32 -1096826935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072728496] }, { [2 x i32] } { [2 x i32] [i32 -233500340, i32 -1097086015] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072730475] }, { [2 x i32] } { [2 x i32] [i32 -380335786, i32 1048685767] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072732451] }, { [2 x i32] } { [2 x i32] [i32 265669271, i32 1047881025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072734424] }, { [2 x i32] } { [2 x i32] [i32 -1435056708, i32 -1096994722] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072736392] }, { [2 x i32] } { [2 x i32] [i32 1681801313, i32 1050184574] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072738358] }, { [2 x i32] } { [2 x i32] [i32 2035310036, i32 -1097855362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072740320] }, { [2 x i32] } { [2 x i32] [i32 -1969273879, i32 -1096840348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072742278] }, { [2 x i32] } { [2 x i32] [i32 1727739703, i32 -1098357170] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072744233] }, { [2 x i32] } { [2 x i32] [i32 -719405131, i32 -1096912699] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072746184] }, { [2 x i32] } { [2 x i32] [i32 -2053830217, i32 -1098355042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072748132] }, { [2 x i32] } { [2 x i32] [i32 -584266125, i32 -1096954256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072750076] }, { [2 x i32] } { [2 x i32] [i32 -1289894524, i32 1048827797] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072752017] }, { [2 x i32] } { [2 x i32] [i32 571454029, i32 -1100710300] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072753955] }, { [2 x i32] } { [2 x i32] [i32 1758903399, i32 -1097666710] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072755889] }, { [2 x i32] } { [2 x i32] [i32 -1487076263, i32 -1101074616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072757820] }, { [2 x i32] } { [2 x i32] [i32 -413913182, i32 -1099831125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072759747] }, { [2 x i32] } { [2 x i32] [i32 -1951653932, i32 1050515644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072761671] }, { [2 x i32] } { [2 x i32] [i32 -1779248102, i32 1050435893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072763592] }, { [2 x i32] } { [2 x i32] [i32 1489918542, i32 1050068540] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072765510] }, { [2 x i32] } { [2 x i32] [i32 1028565755, i32 1047876273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072767425] }, { [2 x i32] } { [2 x i32] [i32 -1453345928, i32 -1096845276] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072769336] }, { [2 x i32] } { [2 x i32] [i32 382926292, i32 -1096862129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072771243] }, { [2 x i32] } { [2 x i32] [i32 1359661770, i32 1049774700] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072773148] }, { [2 x i32] } { [2 x i32] [i32 1345549980, i32 1046021247] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072775049] }, { [2 x i32] } { [2 x i32] [i32 1917751890, i32 1049846099] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072776947] }, { [2 x i32] } { [2 x i32] [i32 -1283024077, i32 1049908725] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072778843] }, { [2 x i32] } { [2 x i32] [i32 -339389841, i32 -1097178312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072780734] }, { [2 x i32] } { [2 x i32] [i32 -1791876519, i32 1050132289] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072782623] }, { [2 x i32] } { [2 x i32] [i32 -572640619, i32 1049126705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072784509] }, { [2 x i32] } { [2 x i32] [i32 -863777043, i32 -1097304222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072786391] }, { [2 x i32] } { [2 x i32] [i32 1345191716, i32 1049073214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072788270] }, { [2 x i32] } { [2 x i32] [i32 -531314118, i32 1050510557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072790147] }, { [2 x i32] } { [2 x i32] [i32 -551947894, i32 -1097498374] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072792020] }, { [2 x i32] } { [2 x i32] [i32 1256629546, i32 1045138134] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072793890] }, { [2 x i32] } { [2 x i32] [i32 -455153021, i32 1047782638] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072795757] }, { [2 x i32] } { [2 x i32] [i32 1629753409, i32 1050294719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072797622] }, { [2 x i32] } { [2 x i32] [i32 -464123762, i32 -1097135935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072799482] }, { [2 x i32] } { [2 x i32] [i32 595803948, i32 1050571382] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072801341] }, { [2 x i32] } { [2 x i32] [i32 -1595152782, i32 -1097519417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072803196] }, { [2 x i32] } { [2 x i32] [i32 614484511, i32 -1097744914] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072805048] }, { [2 x i32] } { [2 x i32] [i32 -323813821, i32 -1098887783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072806897] }, { [2 x i32] } { [2 x i32] [i32 -424490049, i32 1045683050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072808743] }, { [2 x i32] } { [2 x i32] [i32 206027828, i32 1050275081] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072810587] }, { [2 x i32] } { [2 x i32] [i32 775549112, i32 -1097188421] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072812427] }, { [2 x i32] } { [2 x i32] [i32 -996326747, i32 1048897808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072814265] }, { [2 x i32] } { [2 x i32] [i32 1061254449, i32 -1097587469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072816099] }, { [2 x i32] } { [2 x i32] [i32 -942290766, i32 1050278604] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072817931] }, { [2 x i32] } { [2 x i32] [i32 575747378, i32 1049466484] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072819760] }, { [2 x i32] } { [2 x i32] [i32 -820499365, i32 1047583719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072821586] }, { [2 x i32] } { [2 x i32] [i32 1245904344, i32 1048934147] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072823409] }, { [2 x i32] } { [2 x i32] [i32 -2109858252, i32 1050442477] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072825230] }, { [2 x i32] } { [2 x i32] [i32 1294744872, i32 -1098323450] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072827048] }, { [2 x i32] } { [2 x i32] [i32 247630748, i32 -1096869293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072828862] }, { [2 x i32] } { [2 x i32] [i32 1065087501, i32 1050597744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072830675] }, { [2 x i32] } { [2 x i32] [i32 1302929525, i32 -1097312457] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072832484] }, { [2 x i32] } { [2 x i32] [i32 -2111160222, i32 -1098585261] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072834290] }, { [2 x i32] } { [2 x i32] [i32 -198368632, i32 1050281478] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072836094] }, { [2 x i32] } { [2 x i32] [i32 -552902922, i32 1049565506] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072837895] }, { [2 x i32] } { [2 x i32] [i32 -1600723328, i32 1049658228] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072839694] }, { [2 x i32] } { [2 x i32] [i32 -2122373733, i32 -1097790310] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072841489] }, { [2 x i32] } { [2 x i32] [i32 43062731, i32 1049322871] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072843282] }, { [2 x i32] } { [2 x i32] [i32 491415853, i32 1050071138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072845073] }, { [2 x i32] } { [2 x i32] [i32 -382486578, i32 -1097672687] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072846860] }, { [2 x i32] } { [2 x i32] [i32 -1861674211, i32 1048998396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072848645] }, { [2 x i32] } { [2 x i32] [i32 -1477636810, i32 1047364726] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072850428] }, { [2 x i32] } { [2 x i32] [i32 -1976479117, i32 -1097441039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072852207] }, { [2 x i32] } { [2 x i32] [i32 1356923175, i32 1048357307] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072853985] }, { [2 x i32] } { [2 x i32] [i32 -1270499776, i32 -1096829111] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072855759] }, { [2 x i32] } { [2 x i32] [i32 -1801296190, i32 -1101985706] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072857531] }, { [2 x i32] } { [2 x i32] [i32 -999359686, i32 -1098704977] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072859300] }, { [2 x i32] } { [2 x i32] [i32 -290328521, i32 1046161702] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072861067] }, { [2 x i32] } { [2 x i32] [i32 -1697149404, i32 -1098444100] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072862831] }, { [2 x i32] } { [2 x i32] [i32 1771874898, i32 -1097960241] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072864593] }, { [2 x i32] } { [2 x i32] [i32 931325628, i32 -1097056549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072866352] }, { [2 x i32] } { [2 x i32] [i32 -1662479083, i32 -1097823985] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072868108] }, { [2 x i32] } { [2 x i32] [i32 -880934461, i32 1049479750] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072869862] }, { [2 x i32] } { [2 x i32] [i32 653610561, i32 1050052135] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072871614] }, { [2 x i32] } { [2 x i32] [i32 -2129752776, i32 -1097332529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072873363] }, { [2 x i32] } { [2 x i32] [i32 -946852003, i32 -1098066876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072875109] }, { [2 x i32] } { [2 x i32] [i32 501101881, i32 1049954534] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072876853] }, { [2 x i32] } { [2 x i32] [i32 -1574586256, i32 1049290580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072878595] }, { [2 x i32] } { [2 x i32] [i32 2001180821, i32 1048849171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072880334] }, { [2 x i32] } { [2 x i32] [i32 -1431028919, i32 1049774965] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072882071] }, { [2 x i32] } { [2 x i32] [i32 425253141, i32 -1099801386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072883805] }, { [2 x i32] } { [2 x i32] [i32 1716212194, i32 1044920002] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072885537] }, { [2 x i32] } { [2 x i32] [i32 -1524846324, i32 -1098946042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072887266] }, { [2 x i32] } { [2 x i32] [i32 290278520, i32 1050487823] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072888993] }, { [2 x i32] } { [2 x i32] [i32 1252466368, i32 1049667611] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072890718] }, { [2 x i32] } { [2 x i32] [i32 -589441703, i32 1047260509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072892440] }, { [2 x i32] } { [2 x i32] [i32 -890838024, i32 1050053398] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072894160] }, { [2 x i32] } { [2 x i32] [i32 1736092905, i32 1047861897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072895878] }, { [2 x i32] } { [2 x i32] [i32 450091948, i32 -1097223488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072897593] }, { [2 x i32] } { [2 x i32] [i32 -618393169, i32 -1098560806] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072899306] }, { [2 x i32] } { [2 x i32] [i32 -1924394315, i32 -1097736762] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072901016] }, { [2 x i32] } { [2 x i32] [i32 -278474088, i32 1049141167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072902724] }, { [2 x i32] } { [2 x i32] [i32 -654444511, i32 1049038397] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072904430] }, { [2 x i32] } { [2 x i32] [i32 621934517, i32 1047073796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072906134] }, { [2 x i32] } { [2 x i32] [i32 938438313, i32 -1097796721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072907835] }, { [2 x i32] } { [2 x i32] [i32 1789377736, i32 -1097805660] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072909534] }, { [2 x i32] } { [2 x i32] [i32 -1399898334, i32 -1098806482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072911231] }, { [2 x i32] } { [2 x i32] [i32 -435343139, i32 -1097278919] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072912925] }, { [2 x i32] } { [2 x i32] [i32 1277921259, i32 -1099626122] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072914617] }, { [2 x i32] } { [2 x i32] [i32 1060593096, i32 1048864286] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072916307] }, { [2 x i32] } { [2 x i32] [i32 1715654436, i32 -1098523178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072917994] }, { [2 x i32] } { [2 x i32] [i32 293509621, i32 1049867318] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072919680] }, { [2 x i32] } { [2 x i32] [i32 -1286114930, i32 -1101947741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072921363] }, { [2 x i32] } { [2 x i32] [i32 1519513281, i32 -1099230894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072923044] }, { [2 x i32] } { [2 x i32] [i32 -1385381811, i32 -1098990730] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072924723] }, { [2 x i32] } { [2 x i32] [i32 957730885, i32 -1099021452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072926399] }, { [2 x i32] } { [2 x i32] [i32 470028159, i32 1050189467] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072928074] }, { [2 x i32] } { [2 x i32] [i32 1012739935, i32 -1098133780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072929746] }, { [2 x i32] } { [2 x i32] [i32 775453334, i32 1045499818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072931416] }, { [2 x i32] } { [2 x i32] [i32 203421052, i32 1046172614] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072933084] }, { [2 x i32] } { [2 x i32] [i32 1570461335, i32 -1097881554] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072934750] }, { [2 x i32] } { [2 x i32] [i32 -1766027147, i32 -1097228510] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072936413] }, { [2 x i32] } { [2 x i32] [i32 -1927107673, i32 1046930458] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072938074] }, { [2 x i32] } { [2 x i32] [i32 1885630823, i32 1050654894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072939734] }, { [2 x i32] } { [2 x i32] [i32 -1356478053, i32 -1099262348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072941391] }, { [2 x i32] } { [2 x i32] [i32 1380482335, i32 -1097719279] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072943046] }, { [2 x i32] } { [2 x i32] [i32 1369571436, i32 -1098646880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072944699] }, { [2 x i32] } { [2 x i32] [i32 -55987563, i32 -1097856512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072946349] }, { [2 x i32] } { [2 x i32] [i32 611512446, i32 1050149794] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072947998] }, { [2 x i32] } { [2 x i32] [i32 930496036, i32 1048728832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072949645] }, { [2 x i32] } { [2 x i32] [i32 -1291544907, i32 1038848549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072951289] }, { [2 x i32] } { [2 x i32] [i32 -584468688, i32 1050291258] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072952932] }, { [2 x i32] } { [2 x i32] [i32 782099201, i32 1049755157] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072954573] }, { [2 x i32] } { [2 x i32] [i32 -574718737, i32 -1097201605] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072956211] }, { [2 x i32] } { [2 x i32] [i32 -154656541, i32 -1098063555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072957847] }, { [2 x i32] } { [2 x i32] [i32 1377129783, i32 1049668879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072959482] }, { [2 x i32] } { [2 x i32] [i32 1970814356, i32 -1096848681] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072961114] }, { [2 x i32] } { [2 x i32] [i32 647541107, i32 -1100677979] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072962744] }, { [2 x i32] } { [2 x i32] [i32 862605254, i32 1047539319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072964372] }, { [2 x i32] } { [2 x i32] [i32 -1681422729, i32 1049682006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072965999] }, { [2 x i32] } { [2 x i32] [i32 1165956690, i32 -1096849283] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072967623] }, { [2 x i32] } { [2 x i32] [i32 303918222, i32 -1097852041] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072969245] }, { [2 x i32] } { [2 x i32] [i32 -1653457949, i32 1050391976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072970866] }, { [2 x i32] } { [2 x i32] [i32 -962942187, i32 -1096831215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072972484] }, { [2 x i32] } { [2 x i32] [i32 500994149, i32 -1099686314] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072974100] }, { [2 x i32] } { [2 x i32] [i32 -63124813, i32 1048580804] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072975715] }, { [2 x i32] } { [2 x i32] [i32 -1511152715, i32 -1097127413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072977327] }, { [2 x i32] } { [2 x i32] [i32 -825995579, i32 -1097692155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072978938] }, { [2 x i32] } { [2 x i32] [i32 -707815329, i32 -1096834771] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072980546] }, { [2 x i32] } { [2 x i32] [i32 1457818143, i32 -1099082799] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072982152] }, { [2 x i32] } { [2 x i32] [i32 2094021637, i32 1049890757] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072983757] }, { [2 x i32] } { [2 x i32] [i32 1873770911, i32 1049672017] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072985360] }, { [2 x i32] } { [2 x i32] [i32 1210116041, i32 -1097397629] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072986960] }, { [2 x i32] } { [2 x i32] [i32 833227968, i32 1050433509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072988560] }, { [2 x i32] } { [2 x i32] [i32 -941635991, i32 -1097336626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072990157] }, { [2 x i32] } { [2 x i32] [i32 845338699, i32 -1097291682] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072991752] }, { [2 x i32] } { [2 x i32] [i32 -1840071415, i32 -1099159791] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072993345] }, { [2 x i32] } { [2 x i32] [i32 2138666670, i32 -1098899411] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072994936] }, { [2 x i32] } { [2 x i32] [i32 1356030677, i32 1047080084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072996526] }, { [2 x i32] } { [2 x i32] [i32 -1999691881, i32 -1099414380] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072998113] }, { [2 x i32] } { [2 x i32] [i32 817816405, i32 1049944690] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072999699] }, { [2 x i32] } { [2 x i32] [i32 -1685552274, i32 1049999018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073001283] }, { [2 x i32] } { [2 x i32] [i32 1211022958, i32 -1098447348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073002865] }, { [2 x i32] } { [2 x i32] [i32 1076326844, i32 1050026867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073004445] }, { [2 x i32] } { [2 x i32] [i32 333572456, i32 1049583201] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073006024] }, { [2 x i32] } { [2 x i32] [i32 -1656096149, i32 -1097055296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073007600] }, { [2 x i32] } { [2 x i32] [i32 -1796782968, i32 1049570388] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073009175] }, { [2 x i32] } { [2 x i32] [i32 -1685538667, i32 -1097679449] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073010748] }, { [2 x i32] } { [2 x i32] [i32 -1479199058, i32 1043985857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073012319] }, { [2 x i32] } { [2 x i32] [i32 52248539, i32 -1103663151] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073013888] }, { [2 x i32] } { [2 x i32] [i32 -1844727752, i32 1049025194] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073015456] }, { [2 x i32] } { [2 x i32] [i32 -1485785913, i32 -1096875713] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073017022] }, { [2 x i32] } { [2 x i32] [i32 914426002, i32 -1096902203] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073018586] }, { [2 x i32] } { [2 x i32] [i32 -518902438, i32 -1097216344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073020148] }, { [2 x i32] } { [2 x i32] [i32 -797339923, i32 -1097631997] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073021708] }, { [2 x i32] } { [2 x i32] [i32 9598204, i32 -1098064798] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073023266] }, { [2 x i32] } { [2 x i32] [i32 926311218, i32 1050069119] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073024823] }, { [2 x i32] } { [2 x i32] [i32 -1014838755, i32 1050257389] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073026378] }, { [2 x i32] } { [2 x i32] [i32 -501005439, i32 1049824131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073027932] }, { [2 x i32] } { [2 x i32] [i32 -680254488, i32 1048771294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073029484] }, { [2 x i32] } { [2 x i32] [i32 -1650605722, i32 -1098001384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073031033] }, { [2 x i32] } { [2 x i32] [i32 942161091, i32 1048281985] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073032581] }, { [2 x i32] } { [2 x i32] [i32 -1314497018, i32 1049762396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073034128] }, { [2 x i32] } { [2 x i32] [i32 -298136008, i32 -1097550487] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073035673] }, { [2 x i32] } { [2 x i32] [i32 2021331400, i32 -1098536166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073037216] }, { [2 x i32] } { [2 x i32] [i32 -961289798, i32 -1096974652] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073038757] }, { [2 x i32] } { [2 x i32] [i32 -136538491, i32 -1099818824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073040296] }, { [2 x i32] } { [2 x i32] [i32 503374068, i32 1050152404] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073041834] }, { [2 x i32] } { [2 x i32] [i32 895454281, i32 1050371674] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073043370] }, { [2 x i32] } { [2 x i32] [i32 -971950153, i32 1050490277] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073044905] }, { [2 x i32] } { [2 x i32] [i32 -1205094287, i32 1045145572] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073046438] }, { [2 x i32] } { [2 x i32] [i32 1244687635, i32 1047529000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073047969] }, { [2 x i32] } { [2 x i32] [i32 -560884443, i32 -1100958976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073049498] }, { [2 x i32] } { [2 x i32] [i32 2069834962, i32 1049775131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073051027] }, { [2 x i32] } { [2 x i32] [i32 118537074, i32 -1097161852] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073052553] }, { [2 x i32] } { [2 x i32] [i32 109037468, i32 -1097309419] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073054077] }, { [2 x i32] } { [2 x i32] [i32 2135196624, i32 -1100532969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073055600] }, { [2 x i32] } { [2 x i32] [i32 1611202273, i32 -1097032042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073057121] }, { [2 x i32] } { [2 x i32] [i32 -897256276, i32 -1102271651] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073058641] }, { [2 x i32] } { [2 x i32] [i32 1552219380, i32 -1097265861] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073060158] }, { [2 x i32] } { [2 x i32] [i32 -1843214607, i32 1050177066] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073061675] }, { [2 x i32] } { [2 x i32] [i32 -1917690414, i32 -1099048850] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073063189] }, { [2 x i32] } { [2 x i32] [i32 179528874, i32 1050511381] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073064703] }, { [2 x i32] } { [2 x i32] [i32 -2065967218, i32 -1097637855] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073066214] }, { [2 x i32] } { [2 x i32] [i32 1839905049, i32 -1099902731] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073067724] }, { [2 x i32] } { [2 x i32] [i32 -796965804, i32 -1097923150] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073069232] }, { [2 x i32] } { [2 x i32] [i32 -401228193, i32 1048644395] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073070739] }, { [2 x i32] } { [2 x i32] [i32 1702093213, i32 1046165056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073072244] }, { [2 x i32] } { [2 x i32] [i32 1984273681, i32 -1098048326] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073073748] }, { [2 x i32] } { [2 x i32] [i32 -1777815221, i32 -1097213856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073075249] }, { [2 x i32] } { [2 x i32] [i32 -1062857069, i32 1049195125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073076750] }, { [2 x i32] } { [2 x i32] [i32 -1256851409, i32 -1098388560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073078249] }, { [2 x i32] } { [2 x i32] [i32 -559463554, i32 -1098035220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073079746] }, { [2 x i32] } { [2 x i32] [i32 2011785725, i32 1046671537] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073081242] }, { [2 x i32] } { [2 x i32] [i32 -414344051, i32 -1097127006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073082735] }, { [2 x i32] } { [2 x i32] [i32 238179521, i32 1050046411] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073084228] }, { [2 x i32] } { [2 x i32] [i32 -696155999, i32 -1101302602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073085719] }, { [2 x i32] } { [2 x i32] [i32 -1784710946, i32 -1097978456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073087208] }, { [2 x i32] } { [2 x i32] [i32 1313879480, i32 1049994587] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073088697] }, { [2 x i32] } { [2 x i32] [i32 458460127, i32 -1097500912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073090183] }, { [2 x i32] } { [2 x i32] [i32 2002850349, i32 1047367862] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073091667] }, { [2 x i32] } { [2 x i32] [i32 1000709626, i32 1050592106] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073093151] }, { [2 x i32] } { [2 x i32] [i32 1142188894, i32 1049324613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073094633] }, { [2 x i32] } { [2 x i32] [i32 -2091989227, i32 -1099515609] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073096113] }, { [2 x i32] } { [2 x i32] [i32 983061285, i32 1049181688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073097592] }, { [2 x i32] } { [2 x i32] [i32 -1757843506, i32 1046790652] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073099069] }, { [2 x i32] } { [2 x i32] [i32 300424458, i32 1050293495] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073100545] }, { [2 x i32] } { [2 x i32] [i32 -321228597, i32 1049717190] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073102020] }, { [2 x i32] } { [2 x i32] [i32 -1970413947, i32 -1097214084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073103492] }, { [2 x i32] } { [2 x i32] [i32 1420301880, i32 1050042419] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073104963] }, { [2 x i32] } { [2 x i32] [i32 -55891630, i32 1050672401] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073106433] }, { [2 x i32] } { [2 x i32] [i32 -1666629069, i32 1045238342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073107902] }, { [2 x i32] } { [2 x i32] [i32 1424329094, i32 -1096975215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073109368] }, { [2 x i32] } { [2 x i32] [i32 -240832446, i32 1050114689] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073110834] }, { [2 x i32] } { [2 x i32] [i32 1349822780, i32 1048762444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073112298] }, { [2 x i32] } { [2 x i32] [i32 -981665772, i32 1048934851] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073113760] }, { [2 x i32] } { [2 x i32] [i32 1366930054, i32 1050232973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073115221] }, { [2 x i32] } { [2 x i32] [i32 1108190204, i32 1050610229] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073116681] }, { [2 x i32] } { [2 x i32] [i32 -1746229526, i32 1050295618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073118139] }, { [2 x i32] } { [2 x i32] [i32 1214823431, i32 1050457414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073119596] }, { [2 x i32] } { [2 x i32] [i32 288626203, i32 1049676409] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073121051] }, { [2 x i32] } { [2 x i32] [i32 -925790768, i32 1048579989] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073122505] }, { [2 x i32] } { [2 x i32] [i32 -239531767, i32 1050267234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073123958] }, { [2 x i32] } { [2 x i32] [i32 -1669188362, i32 -1097521536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073125409] }, { [2 x i32] } { [2 x i32] [i32 173338922, i32 -1097203247] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073126858] }, { [2 x i32] } { [2 x i32] [i32 -785500168, i32 1048759392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073129030] }, { [2 x i32] } { [2 x i32] [i32 1816559715, i32 -1098640220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073131920] }, { [2 x i32] } { [2 x i32] [i32 -561385853, i32 1050125653] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073134806] }, { [2 x i32] } { [2 x i32] [i32 705405499, i32 -1097253141] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073137685] }, { [2 x i32] } { [2 x i32] [i32 -217295754, i32 -1100919897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073140559] }, { [2 x i32] } { [2 x i32] [i32 1587391555, i32 -1100191178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073143427] }, { [2 x i32] } { [2 x i32] [i32 -2118358941, i32 1049908779] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073146290] }, { [2 x i32] } { [2 x i32] [i32 1778304494, i32 1049441809] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073149148] }, { [2 x i32] } { [2 x i32] [i32 1884157487, i32 -1098481802] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073152000] }, { [2 x i32] } { [2 x i32] [i32 -881928084, i32 -1099144193] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073154847] }, { [2 x i32] } { [2 x i32] [i32 1642480530, i32 -1097134795] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157688] }, { [2 x i32] } { [2 x i32] [i32 1404146161, i32 1047097774] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073160524] }, { [2 x i32] } { [2 x i32] [i32 -377777265, i32 1048084880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073163355] }, { [2 x i32] } { [2 x i32] [i32 1475438996, i32 -1099034922] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073166180] }, { [2 x i32] } { [2 x i32] [i32 -377749901, i32 1049221742] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073169001] }, { [2 x i32] } { [2 x i32] [i32 -600198112, i32 -1097278567] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073171816] }, { [2 x i32] } { [2 x i32] [i32 910352101, i32 -1096918384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073174626] }, { [2 x i32] } { [2 x i32] [i32 1520942007, i32 -1096864884] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073177430] }, { [2 x i32] } { [2 x i32] [i32 777026528, i32 -1102246840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073180230] }, { [2 x i32] } { [2 x i32] [i32 -1762159981, i32 -1096910940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073183024] }, { [2 x i32] } { [2 x i32] [i32 2146570200, i32 -1099878367] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073185813] }, { [2 x i32] } { [2 x i32] [i32 543039258, i32 1050308384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073188598] }, { [2 x i32] } { [2 x i32] [i32 302934745, i32 -1098049365] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073191377] }, { [2 x i32] } { [2 x i32] [i32 181467601, i32 1049367659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073194152] }, { [2 x i32] } { [2 x i32] [i32 -148427745, i32 -1097079542] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073196921] }, { [2 x i32] } { [2 x i32] [i32 -564140288, i32 1045842096] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073199685] }, { [2 x i32] } { [2 x i32] [i32 513175950, i32 1050279767] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073202445] }, { [2 x i32] } { [2 x i32] [i32 -582291285, i32 -1100025935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073205199] }, { [2 x i32] } { [2 x i32] [i32 -610755537, i32 1050416885] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073207950] }, { [2 x i32] } { [2 x i32] [i32 230474168, i32 -1097011521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073210694] }, { [2 x i32] } { [2 x i32] [i32 -571630496, i32 1049669117] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073213435] }, { [2 x i32] } { [2 x i32] [i32 -1013125823, i32 -1097417399] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073216170] }, { [2 x i32] } { [2 x i32] [i32 1016402876, i32 1048314554] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073218901] }, { [2 x i32] } { [2 x i32] [i32 1240570498, i32 -1099320284] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073221627] }, { [2 x i32] } { [2 x i32] [i32 2007168900, i32 -1098631348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073224348] }, { [2 x i32] } { [2 x i32] [i32 -1662493027, i32 -1097960293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073227064] }, { [2 x i32] } { [2 x i32] [i32 -976264993, i32 1050012370] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073229776] }, { [2 x i32] } { [2 x i32] [i32 474150073, i32 1050331808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073232484] }, { [2 x i32] } { [2 x i32] [i32 -1655791142, i32 -1098483311] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073235186] }, { [2 x i32] } { [2 x i32] [i32 1031011410, i32 1050221070] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073237884] }, { [2 x i32] } { [2 x i32] [i32 1775657115, i32 1050217431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073240578] }, { [2 x i32] } { [2 x i32] [i32 643013225, i32 1048132469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073243267] }, { [2 x i32] } { [2 x i32] [i32 1715083499, i32 -1099532434] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073245951] }, { [2 x i32] } { [2 x i32] [i32 -414833965, i32 1048336043] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073248631] }, { [2 x i32] } { [2 x i32] [i32 -169919456, i32 1050367644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073251307] }, { [2 x i32] } { [2 x i32] [i32 92768735, i32 -1098386198] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073253978] }, { [2 x i32] } { [2 x i32] [i32 448355392, i32 1044199774] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073256644] }, { [2 x i32] } { [2 x i32] [i32 -211212478, i32 1050269070] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073259307] }, { [2 x i32] } { [2 x i32] [i32 -2073842738, i32 -1097899504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073261964] }, { [2 x i32] } { [2 x i32] [i32 698197088, i32 1050479320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073264618] }, { [2 x i32] } { [2 x i32] [i32 -733145649, i32 -1098322018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073267267] }, { [2 x i32] } { [2 x i32] [i32 -411106231, i32 1048515275] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073269912] }, { [2 x i32] } { [2 x i32] [i32 976873675, i32 -1098208245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073272553] }, { [2 x i32] } { [2 x i32] [i32 80473786, i32 -1097221341] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073275189] }, { [2 x i32] } { [2 x i32] [i32 221263660, i32 -1099819671] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073277821] }, { [2 x i32] } { [2 x i32] [i32 628423071, i32 -1097384095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073280449] }, { [2 x i32] } { [2 x i32] [i32 1753061689, i32 -1096889768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073283072] }, { [2 x i32] } { [2 x i32] [i32 -199756792, i32 -1100747777] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073285691] }, { [2 x i32] } { [2 x i32] [i32 -526980078, i32 1049819721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073288306] }, { [2 x i32] } { [2 x i32] [i32 942677081, i32 1050190610] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073290918] }, { [2 x i32] } { [2 x i32] [i32 -2017340282, i32 -1097098446] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073293524] }, { [2 x i32] } { [2 x i32] [i32 -1653428357, i32 1049422361] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073296127] }, { [2 x i32] } { [2 x i32] [i32 -1251433630, i32 1049117556] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073298726] }, { [2 x i32] } { [2 x i32] [i32 -1562546423, i32 -1098596645] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073301321] }, { [2 x i32] } { [2 x i32] [i32 2019345755, i32 -1096914538] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073303911] }, { [2 x i32] } { [2 x i32] [i32 935608808, i32 1048439725] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073306497] }, { [2 x i32] } { [2 x i32] [i32 348014703, i32 1050588073] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073309080] }, { [2 x i32] } { [2 x i32] [i32 1568229475, i32 -1101605598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073311658] }, { [2 x i32] } { [2 x i32] [i32 -1527196557, i32 1050594299] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073314233] }, { [2 x i32] } { [2 x i32] [i32 712177618, i32 -1098777649] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073316803] }, { [2 x i32] } { [2 x i32] [i32 1657480411, i32 1050621740] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073319370] }, { [2 x i32] } { [2 x i32] [i32 326857124, i32 1049541594] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073321933] }, { [2 x i32] } { [2 x i32] [i32 843733628, i32 -1102775721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073324492] }, { [2 x i32] } { [2 x i32] [i32 3191684, i32 -1097266930] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073327046] }, { [2 x i32] } { [2 x i32] [i32 1705383420, i32 1050608927] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073329597] }, { [2 x i32] } { [2 x i32] [i32 1217606551, i32 1050650103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073332145] }, { [2 x i32] } { [2 x i32] [i32 873003614, i32 -1096871044] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073334688] }, { [2 x i32] } { [2 x i32] [i32 -84960695, i32 -1100140635] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073337227] }, { [2 x i32] } { [2 x i32] [i32 -17402310, i32 1048666331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073339763] }, { [2 x i32] } { [2 x i32] [i32 -1124112119, i32 1045866069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073342295] }, { [2 x i32] } { [2 x i32] [i32 2034163765, i32 -1100647050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073344823] }, { [2 x i32] } { [2 x i32] [i32 -1371039702, i32 -1098463972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073347347] }, { [2 x i32] } { [2 x i32] [i32 152032567, i32 1046184387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073349868] }, { [2 x i32] } { [2 x i32] [i32 1291771260, i32 -1103483526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073352385] }, { [2 x i32] } { [2 x i32] [i32 224746575, i32 -1096946318] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073354898] }, { [2 x i32] } { [2 x i32] [i32 611763659, i32 1048743131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073357408] }, { [2 x i32] } { [2 x i32] [i32 1372458844, i32 -1097385496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073359913] }, { [2 x i32] } { [2 x i32] [i32 -103417665, i32 1050405142] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073362415] }, { [2 x i32] } { [2 x i32] [i32 -1245512462, i32 1050372625] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073364914] }, { [2 x i32] } { [2 x i32] [i32 1018428853, i32 1047150865] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073367409] }, { [2 x i32] } { [2 x i32] [i32 -1650623795, i32 -1097407888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073369900] }, { [2 x i32] } { [2 x i32] [i32 372895842, i32 1049197426] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073372388] }, { [2 x i32] } { [2 x i32] [i32 -1756689565, i32 1047426623] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073374872] }, { [2 x i32] } { [2 x i32] [i32 80551737, i32 1048375230] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073377353] }, { [2 x i32] } { [2 x i32] [i32 862303213, i32 -1098380839] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073379829] }, { [2 x i32] } { [2 x i32] [i32 -1984473784, i32 1050612563] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073382303] }, { [2 x i32] } { [2 x i32] [i32 1030845439, i32 1048849849] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073384773] }, { [2 x i32] } { [2 x i32] [i32 -1335818440, i32 1048851587] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073387239] }, { [2 x i32] } { [2 x i32] [i32 1098141104, i32 1050164569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073389703] }, { [2 x i32] } { [2 x i32] [i32 -1550359580, i32 -1098818344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073392162] }, { [2 x i32] } { [2 x i32] [i32 -1602139920, i32 1050099245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073394618] }, { [2 x i32] } { [2 x i32] [i32 -781845495, i32 1050029018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073397071] }, { [2 x i32] } { [2 x i32] [i32 267045085, i32 -1097695094] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073399520] }, { [2 x i32] } { [2 x i32] [i32 1473810722, i32 -1099990910] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073401966] }, { [2 x i32] } { [2 x i32] [i32 1062241652, i32 -1099862976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073404408] }, { [2 x i32] } { [2 x i32] [i32 -1321069449, i32 1042422161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073406847] }, { [2 x i32] } { [2 x i32] [i32 1377739008, i32 1049454115] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073409283] }, { [2 x i32] } { [2 x i32] [i32 361017126, i32 -1099770614] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073411715] }, { [2 x i32] } { [2 x i32] [i32 449916960, i32 -1103106591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073414144] }, { [2 x i32] } { [2 x i32] [i32 -328499689, i32 -1099774465] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073416570] }, { [2 x i32] } { [2 x i32] [i32 1957187000, i32 -1097378959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073418992] }, { [2 x i32] } { [2 x i32] [i32 -194560332, i32 1045980294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073421411] }, { [2 x i32] } { [2 x i32] [i32 1419087278, i32 -1104088573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073423826] }, { [2 x i32] } { [2 x i32] [i32 -382188499, i32 1050485673] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073426239] }, { [2 x i32] } { [2 x i32] [i32 -170840262, i32 -1099632045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073428648] }, { [2 x i32] } { [2 x i32] [i32 -487188841, i32 1049810138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073431054] }, { [2 x i32] } { [2 x i32] [i32 518367882, i32 -1098903665] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073433457] }, { [2 x i32] } { [2 x i32] [i32 -324551149, i32 -1098287716] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073435856] }, { [2 x i32] } { [2 x i32] [i32 1027843506, i32 1050111866] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073438252] }, { [2 x i32] } { [2 x i32] [i32 -1149282633, i32 1050576290] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073440646] }, { [2 x i32] } { [2 x i32] [i32 -1047836341, i32 -1097514494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073443035] }, { [2 x i32] } { [2 x i32] [i32 1017092707, i32 1049387973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073445422] }, { [2 x i32] } { [2 x i32] [i32 1169002840, i32 -1097553173] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073447806] }, { [2 x i32] } { [2 x i32] [i32 -2116123467, i32 -1097151959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073450186] }, { [2 x i32] } { [2 x i32] [i32 -441220719, i32 -1097136103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073452563] }, { [2 x i32] } { [2 x i32] [i32 1376691771, i32 -1098701159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073454937] }, { [2 x i32] } { [2 x i32] [i32 1342469394, i32 1049907882] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073457308] }, { [2 x i32] } { [2 x i32] [i32 45061853, i32 1049627429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073459676] }, { [2 x i32] } { [2 x i32] [i32 -1690058940, i32 1049265003] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073462041] }, { [2 x i32] } { [2 x i32] [i32 -1082116568, i32 1048207164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073464403] }, { [2 x i32] } { [2 x i32] [i32 -285534658, i32 -1098730171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073466761] }, { [2 x i32] } { [2 x i32] [i32 -1760051427, i32 1050147022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073469117] }, { [2 x i32] } { [2 x i32] [i32 1153388962, i32 1049523543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073471470] }, { [2 x i32] } { [2 x i32] [i32 1970561607, i32 -1097668238] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073473819] }, { [2 x i32] } { [2 x i32] [i32 1496195158, i32 1050047996] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073476166] }, { [2 x i32] } { [2 x i32] [i32 1711114186, i32 1048116912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073478509] }, { [2 x i32] } { [2 x i32] [i32 -1253014680, i32 1049169063] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073480850] }, { [2 x i32] } { [2 x i32] [i32 2107603643, i32 -1099311873] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073483187] }, { [2 x i32] } { [2 x i32] [i32 2133394946, i32 1050507201] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073485522] }, { [2 x i32] } { [2 x i32] [i32 -1727209168, i32 -1098260659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073487854] }, { [2 x i32] } { [2 x i32] [i32 99089929, i32 -1096843781] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073490183] }, { [2 x i32] } { [2 x i32] [i32 -2114438450, i32 -1096875207] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073492508] }, { [2 x i32] } { [2 x i32] [i32 568250694, i32 1047462640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073494831] }, { [2 x i32] } { [2 x i32] [i32 161607409, i32 1050390843] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073497151] }, { [2 x i32] } { [2 x i32] [i32 1479788044, i32 1049073705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073499468] }, { [2 x i32] } { [2 x i32] [i32 -1073789069, i32 -1099701227] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073501782] }, { [2 x i32] } { [2 x i32] [i32 711219506, i32 1049680195] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073504093] }, { [2 x i32] } { [2 x i32] [i32 780407382, i32 1050420285] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073506402] }, { [2 x i32] } { [2 x i32] [i32 -1767100659, i32 1047695345] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073508707] }, { [2 x i32] } { [2 x i32] [i32 942681162, i32 1050203286] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073511010] }, { [2 x i32] } { [2 x i32] [i32 66034265, i32 1044833851] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073513310] }, { [2 x i32] } { [2 x i32] [i32 1020095656, i32 -1098863196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073515607] }, { [2 x i32] } { [2 x i32] [i32 171775954, i32 -1099169892] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073517902] }, { [2 x i32] } { [2 x i32] [i32 -1041229316, i32 -1097704952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073520193] }, { [2 x i32] } { [2 x i32] [i32 -2013423052, i32 -1098622576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073522482] }, { [2 x i32] } { [2 x i32] [i32 1902913530, i32 -1097345445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073524767] }, { [2 x i32] } { [2 x i32] [i32 -1369143950, i32 1049772992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073527050] }, { [2 x i32] } { [2 x i32] [i32 -457895732, i32 1050515660] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073529330] }, { [2 x i32] } { [2 x i32] [i32 458574808, i32 1050107468] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073531608] }, { [2 x i32] } { [2 x i32] [i32 123365756, i32 1050145052] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073533883] }, { [2 x i32] } { [2 x i32] [i32 54740831, i32 -1100926249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073536155] }, { [2 x i32] } { [2 x i32] [i32 -1014154052, i32 -1098267647] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073538425] }, { [2 x i32] } { [2 x i32] [i32 -1733625005, i32 -1096968705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073540691] }, { [2 x i32] } { [2 x i32] [i32 -698673247, i32 -1097411836] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073542955] }, { [2 x i32] } { [2 x i32] [i32 -128485932, i32 -1096896547] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073545216] }, { [2 x i32] } { [2 x i32] [i32 641433660, i32 1048260608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073547475] }, { [2 x i32] } { [2 x i32] [i32 -298111781, i32 -1097188431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073549731] }, { [2 x i32] } { [2 x i32] [i32 -1757325536, i32 -1097439973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073551983] }, { [2 x i32] } { [2 x i32] [i32 96911446, i32 1050545817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073554234] }, { [2 x i32] } { [2 x i32] [i32 -1692042248, i32 -1097779878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073556482] }, { [2 x i32] } { [2 x i32] [i32 -1180998088, i32 1048593497] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073558727] }, { [2 x i32] } { [2 x i32] [i32 349495128, i32 1047813637] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073560970] }, { [2 x i32] } { [2 x i32] [i32 296139530, i32 1046792170] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073563209] }, { [2 x i32] } { [2 x i32] [i32 834365108, i32 1050340489] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073565447] }, { [2 x i32] } { [2 x i32] [i32 -1777730125, i32 1050463923] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073567682] }, { [2 x i32] } { [2 x i32] [i32 2146177276, i32 -1097984288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073569914] }, { [2 x i32] } { [2 x i32] [i32 501172731, i32 -1098588857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073572144] }, { [2 x i32] } { [2 x i32] [i32 1162041460, i32 -1097257425] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073574370] }, { [2 x i32] } { [2 x i32] [i32 -300763924, i32 1049493552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073576595] }, { [2 x i32] } { [2 x i32] [i32 -1999434224, i32 1049334292] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073578817] }, { [2 x i32] } { [2 x i32] [i32 -1469212983, i32 -1099794273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073581036] }, { [2 x i32] } { [2 x i32] [i32 -1237882380, i32 1047980802] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073583253] }, { [2 x i32] } { [2 x i32] [i32 -720249525, i32 -1097392526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073585467] }, { [2 x i32] } { [2 x i32] [i32 1213218903, i32 1049860032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073587679] }, { [2 x i32] } { [2 x i32] [i32 631385988, i32 1049558045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073589888] }, { [2 x i32] } { [2 x i32] [i32 1471385599, i32 1050185778] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073592095] }, { [2 x i32] } { [2 x i32] [i32 1496608178, i32 -1097516001] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073594299] }, { [2 x i32] } { [2 x i32] [i32 769855612, i32 -1098574187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073596501] }, { [2 x i32] } { [2 x i32] [i32 -1999659203, i32 -1098523828] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073598700] }, { [2 x i32] } { [2 x i32] [i32 693008625, i32 -1098154778] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073600897] }, { [2 x i32] } { [2 x i32] [i32 621556562, i32 1049674862] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073603092] }, { [2 x i32] } { [2 x i32] [i32 -578098553, i32 -1097155166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073605283] }, { [2 x i32] } { [2 x i32] [i32 -925804859, i32 -1097567729] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073607472] }, { [2 x i32] } { [2 x i32] [i32 -1037545730, i32 1048627696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073609659] }, { [2 x i32] } { [2 x i32] [i32 -1871404397, i32 1047507958] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073611844] }, { [2 x i32] } { [2 x i32] [i32 -28925408, i32 1049541281] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073614026] }, { [2 x i32] } { [2 x i32] [i32 764376936, i32 -1100685815] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073616206] }, { [2 x i32] } { [2 x i32] [i32 1141552630, i32 -1098397038] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073618383] }, { [2 x i32] } { [2 x i32] [i32 -1896733013, i32 -1099667608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073620558] }, { [2 x i32] } { [2 x i32] [i32 -738473320, i32 1047265309] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073622730] }, { [2 x i32] } { [2 x i32] [i32 1834483210, i32 1049946322] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073624901] }, { [2 x i32] } { [2 x i32] [i32 -62582080, i32 -1096886748] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073627069] }, { [2 x i32] } { [2 x i32] [i32 -817510648, i32 -1097133436] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073629234] }, { [2 x i32] } { [2 x i32] [i32 1549669126, i32 -1097243818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073631396] }, { [2 x i32] } { [2 x i32] [i32 -298269707, i32 1050196222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073633558] }, { [2 x i32] } { [2 x i32] [i32 -961745357, i32 -1097757876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073635716] }, { [2 x i32] } { [2 x i32] [i32 920821107, i32 -1098828165] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073637872] }, { [2 x i32] } { [2 x i32] [i32 1488656152, i32 -1097237460] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073640025] }, { [2 x i32] } { [2 x i32] [i32 1695724135, i32 -1099003694] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073642177] }, { [2 x i32] } { [2 x i32] [i32 736982768, i32 -1096861512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073644326] }, { [2 x i32] } { [2 x i32] [i32 1584977878, i32 -1097158648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073646472] }, { [2 x i32] } { [2 x i32] [i32 587487114, i32 1046718377] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073648617] }, { [2 x i32] } { [2 x i32] [i32 1577643861, i32 -1097631108] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073650759] }, { [2 x i32] } { [2 x i32] [i32 -1697268769, i32 -1097365900] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073652899] }, { [2 x i32] } { [2 x i32] [i32 1046460223, i32 -1097527923] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073655036] }, { [2 x i32] } { [2 x i32] [i32 352407933, i32 -1099041622] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073657171] }, { [2 x i32] } { [2 x i32] [i32 -1488615996, i32 1048082940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073659304] }, { [2 x i32] } { [2 x i32] [i32 -1518054790, i32 1049669545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073661435] }, { [2 x i32] } { [2 x i32] [i32 -451063, i32 1049959424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073663563] }, { [2 x i32] } { [2 x i32] [i32 266592604, i32 1050094407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073665690] }, { [2 x i32] } { [2 x i32] [i32 -258644690, i32 1047984732] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073667814] }, { [2 x i32] } { [2 x i32] [i32 964972695, i32 -1097551095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073669936] }, { [2 x i32] } { [2 x i32] [i32 -747360683, i32 -1098829531] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073672056] }, { [2 x i32] } { [2 x i32] [i32 2000630531, i32 -1097700733] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073674173] }, { [2 x i32] } { [2 x i32] [i32 -1023888366, i32 1048920976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073676288] }, { [2 x i32] } { [2 x i32] [i32 832542073, i32 1049011456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073678401] }, { [2 x i32] } { [2 x i32] [i32 1027807618, i32 -1097623908] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073680512] }, { [2 x i32] } { [2 x i32] [i32 346274734, i32 -1097150558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073682620] }, { [2 x i32] } { [2 x i32] [i32 -1701294490, i32 -1098957816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073684726] }, { [2 x i32] } { [2 x i32] [i32 2109092534, i32 1050479053] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073686831] }, { [2 x i32] } { [2 x i32] [i32 1974416289, i32 1049687867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073688933] }, { [2 x i32] } { [2 x i32] [i32 1857055638, i32 1050012225] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073691033] }, { [2 x i32] } { [2 x i32] [i32 -86429704, i32 -1097370295] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073693131] }, { [2 x i32] } { [2 x i32] [i32 563954814, i32 -1100362101] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073695226] }, { [2 x i32] } { [2 x i32] [i32 -1592438416, i32 1050193250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073697320] }, { [2 x i32] } { [2 x i32] [i32 -302848819, i32 -1098497215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073699411] }, { [2 x i32] } { [2 x i32] [i32 -1648733363, i32 1049426427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073701501] }, { [2 x i32] } { [2 x i32] [i32 -2073781455, i32 -1096984857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073703588] }, { [2 x i32] } { [2 x i32] [i32 -783842948, i32 -1097760396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073705673] }, { [2 x i32] } { [2 x i32] [i32 895292416, i32 -1097798968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073707756] }, { [2 x i32] } { [2 x i32] [i32 -1164952749, i32 -1096909066] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073709836] }, { [2 x i32] } { [2 x i32] [i32 -259114778, i32 1046908856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073711914] }, { [2 x i32] } { [2 x i32] [i32 -160312888, i32 1049629704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073713991] }, { [2 x i32] } { [2 x i32] [i32 1684107943, i32 1047420163] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073716065] }, { [2 x i32] } { [2 x i32] [i32 -605503118, i32 1050533737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073718138] }, { [2 x i32] } { [2 x i32] [i32 -1145849850, i32 1050225388] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073720209] }, { [2 x i32] } { [2 x i32] [i32 1423251692, i32 -1098538264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073722277] }, { [2 x i32] } { [2 x i32] [i32 1424806669, i32 -1097786130] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073724343] }, { [2 x i32] } { [2 x i32] [i32 805532460, i32 1046114783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073726408] }, { [2 x i32] } { [2 x i32] [i32 -2119295020, i32 -1097530018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073728470] }, { [2 x i32] } { [2 x i32] [i32 -694394493, i32 -1097437439] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073730530] }, { [2 x i32] } { [2 x i32] [i32 1686528792, i32 -1099248222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073732587] }, { [2 x i32] } { [2 x i32] [i32 -1786532568, i32 1050180120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073734644] }, { [2 x i32] } { [2 x i32] [i32 1867845012, i32 1046831649] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073736698] }, { [2 x i32] } { [2 x i32] [i32 -278764431, i32 -1098752178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073738750] }, { [2 x i32] } { [2 x i32] [i32 -160901793, i32 -1098052234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073740800] }, { [2 x i32] } { [2 x i32] [i32 -1604604594, i32 -1097866236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072049731] }, { [2 x i32] } { [2 x i32] [i32 212364345, i32 -1105175455] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }, { [2 x i32] } { [2 x i32] [i32 1431639746, i32 1070945621] }, { [2 x i32] } { [2 x i32] [i32 -36437, i32 -1076887553] }, { [2 x i32] } { [2 x i32] [i32 -246297237, i32 1070176671] }, { [2 x i32] } { [2 x i32] [i32 1991081892, i32 -1077586597] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 -17279, i32 1068498943] }, { [2 x i32] } { [2 x i32] [i32 -47923, i32 -1079771137] }, { [2 x i32] } { [2 x i32] [i32 515387228, i32 1067188230] }, { [2 x i32] } { [2 x i32] [i32 314873814, i32 -1080754168] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1069547520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072431104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075052544] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } { [2 x i32] [i32 1048576, i32 1106247680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073741824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -2147483648] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 330458198, i32 -1130635980] }, { [2 x i32] } { [2 x i32] [i32 1744830464, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 -1103623101] }], align 8 +@_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dcosh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_cosh_d_ha::(anonymous namespace)::__devicelib_imf_internal_dcosh_data_t" { [16 x i64] [i64 4602678819172646912, i64 4602878210562689295, i64 4603086429763752315, i64 4603303867616420408, i64 4603530932265269013, i64 4603768049924977698, i64 4604015665680362023, i64 4604274244321825833, i64 4604544271217802189, i64 4604826253225820551, i64 4605120719643910363, i64 4605428223204126864, i64 4605749341110064045, i64 4606084676120302236, i64 4606434857679824007, i64 4606800543101522138], [16 x i64] [i64 0, i64 4361918956862988555, i64 -4867951110245610890, i64 4362211772363900275, i64 4356938429157704420, i64 4358035321924918972, i64 4354210733507756770, i64 4361228591242299309, i64 -4860548157077822378, i64 -4867241692442093265, i64 4361430511902935847, i64 4353991582810239678, i64 4361632666850544769, i64 4355280342925461725, i64 4355804386079487751, i64 -4859775273352288109], [16 x i64] [i64 4602678819172646912, i64 4602296943474151642, i64 4601931258052453511, i64 4601581076492931740, i64 4601245741482693549, i64 4600924623576756368, i64 4600617120016539867, i64 4600322653598450055, i64 4600040671590431693, i64 4599770644694455337, i64 4599512066052991527, i64 4599264450297607202, i64 4599027332637898517, i64 4598800267989049912, i64 4598582830136381819, i64 4598374610935318799], i64 4825607000727486464, i64 15, i64 4602678819172646916, i64 4595172819793696067, i64 4586165620538101559, i64 4575957461385112076, i64 4564048044429472022, i64 4551452080507323354, [128 x [3 x i64]] [[3 x i64] [i64 4602678819172646912, i64 0, i64 4602678819172646912], [3 x i64] [i64 4602703273273275189, i64 4362687495355813303, i64 4602630175103873521], [3 x i64] [i64 4602727860157251681, i64 -4872454428124575651, i64 4602581793741115608], [3 x i64] [i64 4602752580545576837, i64 -4863708256478443154, i64 4602533673665609236], [3 x i64] [i64 4602777435163166068, i64 4358767431623488613, i64 4602485813466252608], [3 x i64] [i64 4602802424738871006, i64 -4864853106699977689, i64 4602438211739564695], [3 x i64] [i64 4602827550005500872, i64 4346403267261138175, i64 4602390867089644071], [3 x i64] [i64 4602852811699843971, i64 4359845594910515510, i64 4602343778128127985], [3 x i64] [i64 4602878210562689295, i64 4361918956862988555, i64 4602296943474151642], [3 x i64] [i64 4602903747338848247, i64 4359518369920208753, i64 4602250361754307715], [3 x i64] [i64 4602929422777176482, i64 4337030312283700051, i64 4602204031602606070], [3 x i64] [i64 4602955237630595867, i64 -4874130726195380869, i64 4602157951660433705], [3 x i64] [i64 4602981192656116561, i64 -4861982074228925638, i64 4602112120576514911], [3 x i64] [i64 4603007288614859212, i64 -4881421420578691641, i64 4602066537006871648], [3 x i64] [i64 4603033526272077280, i64 -4862990672645245282, i64 4602021199614784133], [3 x i64] [i64 4603059906397179473, i64 4355614616750828298, i64 4601976107070751640], [3 x i64] [i64 4603086429763752315, i64 -4867951110245610890, i64 4601931258052453511], [3 x i64] [i64 4603113097149582826, i64 -4863588376557187220, i64 4601886651244710386], [3 x i64] [i64 4603139909336681333, i64 4359021873385269476, i64 4601842285339445628], [3 x i64] [i64 4603166867111304404, i64 -4861262486886746617, i64 4601798159035646970], [3 x i64] [i64 4603193971263977898, i64 4363426660937262140, i64 4601754271039328361], [3 x i64] [i64 4603221222589520157, i64 -4863360278613739636, i64 4601710620063492021], [3 x i64] [i64 4603248621887065302, i64 4358859321858753685, i64 4601667204828090699], [3 x i64] [i64 4603276169960086678, i64 4355730150744434158, i64 4601624024059990138], [3 x i64] [i64 4603303867616420408, i64 4362211772363900275, i64 4601581076492931740], [3 x i64] [i64 4603331715668289087, i64 4358008163454481572, i64 4601538360867495433], [3 x i64] [i64 4603359714932325597, i64 4355751818932840921, i64 4601495875931062738], [3 x i64] [i64 4603387866229597057, i64 -4860989033448272514, i64 4601453620437780042], [3 x i64] [i64 4603416170385628897, i64 4356690480116601429, i64 4601411593148522055], [3 x i64] [i64 4603444628230429072, i64 -4886112177117193564, i64 4601369792830855482], [3 x i64] [i64 4603473240598512395, i64 4359486944684229077, i64 4601328218259002875], [3 x i64] [i64 4603502008328925014, i64 4350980881961526147, i64 4601286868213806694], [3 x i64] [i64 4603530932265269013, i64 4356938429157704420, i64 4601245741482693549], [3 x i64] [i64 4603560013255727153, i64 4357968107769693308, i64 4601204836859638650], [3 x i64] [i64 4603589252153087743, i64 4360371889130330534, i64 4601164153145130431], [3 x i64] [i64 4603618649814769649, i64 -4865192793623083480, i64 4601123689146135384], [3 x i64] [i64 4603648207102847435, i64 -4862133967794279710, i64 4601083443676063069], [3 x i64] [i64 4603677924884076646, i64 -4859782514046597955, i64 4601043415554731315], [3 x i64] [i64 4603707804029919223, i64 -4871236497755212317, i64 4601003603608331621], [3 x i64] [i64 4603737845416569061, i64 -4859665506340361789, i64 4600964006669394723], [3 x i64] [i64 4603768049924977698, i64 4358035321924918972, i64 4600924623576756368], [3 x i64] [i64 4603798418440880156, i64 -4861688419797501453, i64 4600885453175523258], [3 x i64] [i64 4603828951854820906, i64 -4877693713625607560, i64 4600846494317039184], [3 x i64] [i64 4603859651062179991, i64 -4867889966394410599, i64 4600807745858851343], [3 x i64] [i64 4603890516963199277, i64 4339389189342593232, i64 4600769206664676837], [3 x i64] [i64 4603921550463008855, i64 4363025192371653238, i64 4600730875604369350], [3 x i64] [i64 4603952752471653584, i64 4351534573856776944, i64 4600692751553886006], [3 x i64] [i64 4603984123904119774, i64 4362241339942878806, i64 4600654833395254412], [3 x i64] [i64 4604015665680362023, i64 4354210733507756770, i64 4600617120016539867], [3 x i64] [i64 4604047378725330189, i64 4361996667611412531, i64 4600579610311812761], [3 x i64] [i64 4604079263968996519, i64 -4862564842888144925, i64 4600542303181116141], [3 x i64] [i64 4604111322346382914, i64 -4864038757160086545, i64 4600505197530433453], [3 x i64] [i64 4604143554797588354, i64 -4868256240226976595, i64 4600468292271656467], [3 x i64] [i64 4604175962267816463, i64 -4864616999240735333, i64 4600431586322553362], [3 x i64] [i64 4604208545707403226, i64 4362223511756706733, i64 4600395078606736994], [3 x i64] [i64 4604241306071844861, i64 4355708584757698024, i64 4600358768053633330], [3 x i64] [i64 4604274244321825833, i64 4361228591242299309, i64 4600322653598450055], [3 x i64] [i64 4604307361423247031, i64 4335923122758321826, i64 4600286734182145343], [3 x i64] [i64 4604340658347254088, i64 4362764253229278814, i64 4600251008751396809], [3 x i64] [i64 4604374136070265865, i64 -4862794396928123321, i64 4600215476258570612], [3 x i64] [i64 4604407795574003077, i64 -4862898305559907177, i64 4600180135661690740], [3 x i64] [i64 4604441637845517088, i64 -4864934072958482125, i64 4600144985924408452], [3 x i64] [i64 4604475663877218853, i64 -4860591220774593484, i64 4600110026015971887], [3 x i64] [i64 4604509874666908019, i64 4346035961545047653, i64 4600075254911195839], [3 x i64] [i64 4604544271217802189, i64 -4860548157077822378, i64 4600040671590431693], [3 x i64] [i64 4604578854538566335, i64 -4872180842656494835, i64 4600006275039537523], [3 x i64] [i64 4604613625643342383, i64 -4874093013632251733, i64 4599972064249848357], [3 x i64] [i64 4604648585551778948, i64 -4866073361622102282, i64 4599938038218146592], [3 x i64] [i64 4604683735289061236, i64 -4867988468731970919, i64 4599904195946632581], [3 x i64] [i64 4604719075885941108, i64 -4863701945780153028, i64 4599870536442895369], [3 x i64] [i64 4604754608378767305, i64 -4863847631426589229, i64 4599837058719883592], [3 x i64] [i64 4604790333809515839, i64 4361849179736249901, i64 4599803761795876535], [3 x i64] [i64 4604826253225820551, i64 -4867241692442093265, i64 4599770644694455337], [3 x i64] [i64 4604862367681003826, i64 4363726685080014294, i64 4599737706444474365], [3 x i64] [i64 4604898678234107490, i64 4350579506333186430, i64 4599704946080032730], [3 x i64] [i64 4604935185949923858, i64 -4863187730987903189, i64 4599672362640445967], [3 x i64] [i64 4604971891899026963, i64 -4860144731866975528, i64 4599639955170217858], [3 x i64] [i64 4605008797157803949, i64 -4865903532210795013, i64 4599607722719012418], [3 x i64] [i64 4605045902808486637, i64 -4859446701840861510, i64 4599575664341626023], [3 x i64] [i64 4605083209939183257, i64 4362181279114638650, i64 4599543779097959693], [3 x i64] [i64 4605120719643910363, i64 4361430511902935847, i64 4599512066052991527], [3 x i64] [i64 4605158433022624908, i64 -4872660196257045590, i64 4599480524276749278], [3 x i64] [i64 4605196351181256502, i64 4356612599260092268, i64 4599449152844283088], [3 x i64] [i64 4605234475231739846, i64 -4859992606905981660, i64 4599417950835638359], [3 x i64] [i64 4605272806292047333, i64 -4875322761125986628, i64 4599386917335828781], [3 x i64] [i64 4605311345486221839, i64 -4871122948479127495, i64 4599356051434809495], [3 x i64] [i64 4605350093944409680, i64 -4860201641659628079, i64 4599325352227450410], [3 x i64] [i64 4605389052802893754, i64 -4863478864551156174, i64 4599294818813509660], [3 x i64] [i64 4605428223204126864, i64 4353991582810239678, i64 4599264450297607202], [3 x i64] [i64 4605467606296765219, i64 4352769491883936878, i64 4599234245789198565], [3 x i64] [i64 4605507203235702117, i64 -4862945001000348365, i64 4599204204402548727], [3 x i64] [i64 4605547015182101811, i64 4361226462961612459, i64 4599174325256706150], [3 x i64] [i64 4605587043303433565, i64 -4860176269686521375, i64 4599144607475476939], [3 x i64] [i64 4605627288773505880, i64 4362804409466708935, i64 4599115050187399153], [3 x i64] [i64 4605667752772500927, i64 4359760180741143857, i64 4599085652525717247], [3 x i64] [i64 4605708436487009146, i64 -4864008317096727344, i64 4599056413628356657], [3 x i64] [i64 4605749341110064045, i64 4361632666850544769, i64 4599027332637898517], [3 x i64] [i64 4605790467841177190, i64 -4860546227684449243, i64 4598998408701554518], [3 x i64] [i64 4605831817886373371, i64 -4876694304459532536, i64 4598969640971141899], [3 x i64] [i64 4605873392458225978, i64 -4860384692098404893, i64 4598941028603058576], [3 x i64] [i64 4605915192775892551, i64 -4871390323486184389, i64 4598912570758258401], [3 x i64] [i64 4605957220065150538, i64 -4859668964477490898, i64 4598884266602226561], [3 x i64] [i64 4605999475558433234, i64 4355611755232992900, i64 4598856115304955101], [3 x i64] [i64 4606041960494865929, i64 -4859667902796948365, i64 4598828116040918591], [3 x i64] [i64 4606084676120302236, i64 4355280342925461725, i64 4598800267989049912], [3 x i64] [i64 4606127623687360634, i64 4362656770330707466, i64 4598772570332716182], [3 x i64] [i64 4606170804455461195, i64 4360197257824844973, i64 4598745022259694806], [3 x i64] [i64 4606214219690862517, i64 4350948639686810692, i64 4598717622962149661], [3 x i64] [i64 4606257870666698857, i64 4351888788858423771, i64 4598690371636607402], [3 x i64] [i64 4606301758663017466, i64 -4864494273174528654, i64 4598663267483933908], [3 x i64] [i64 4606345884966816124, i64 -4860302952298349924, i64 4598636309709310837], [3 x i64] [i64 4606390250872080882, i64 -4860148727838571144, i64 4598609497522212330], [3 x i64] [i64 4606434857679824007, i64 4355804386079487751, i64 4598582830136381819], [3 x i64] [i64 4606479706698122136, i64 -4863572305958281240, i64 4598556306769808977], [3 x i64] [i64 4606524799242154629, i64 4362900623690937650, i64 4598529926644706784], [3 x i64] [i64 4606570136634242144, i64 4360287458474072259, i64 4598503688987488716], [3 x i64] [i64 4606615720203885407, i64 -4863423821369554084, i64 4598477593028746065], [3 x i64] [i64 4606661551287804201, i64 -4861716991930919786, i64 4598451638003225371], [3 x i64] [i64 4606707631229976566, i64 4355999578003721359, i64 4598425823149805986], [3 x i64] [i64 4606753961381678211, i64 4360281734643486178, i64 4598400147711477751], [3 x i64] [i64 4606800543101522138, i64 -4859775273352288109, i64 4598374610935318799], [3 x i64] [i64 4606847377755498481, i64 -4860347222932214388, i64 4598349212072473475], [3 x i64] [i64 4606894466717014567, i64 4363363467036767920, i64 4598323950378130376], [3 x i64] [i64 4606941811366935191, i64 4360506597471784515, i64 4598298825111500510], [3 x i64] [i64 4606989413093623104, i64 4362250678175310219, i64 4598273835535795572], [3 x i64] [i64 4607037273292979732, i64 -4860022733389023990, i64 4598248980918206341], [3 x i64] [i64 4607085393368486104, i64 4357030689911444254, i64 4598224260529881185], [3 x i64] [i64 4607133774731244017, i64 4346795476337916391, i64 4598199673645904693]], i64 4609176140021203710, i64 4604418534313426944, i64 4430688377387236154, i64 4812096201845374976, i32 127, i64 4607182418800017408, i64 4602678819172646744, i64 4595172819793696230, i64 4586165622006224669, i64 4575957461661503335, i64 9218868437227405312, i64 -9223372036854775808, i32 1082531225 }, align 8 +@_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE = internal unnamed_addr addrspace(1) constant [144 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1048019041, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 1398474845, i32 -1133408125] }, { [2 x i32] } { [2 x i32] [i32 -753564300, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1535789979, i32 1015903202] }, { [2 x i32] } { [2 x i32] [i32 410360776, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 1269990655, i32 1013024446] }, { [2 x i32] } { [2 x i32] [i32 1828292879, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1255956747, i32 1016636974] }, { [2 x i32] } { [2 x i32] [i32 852742562, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 667253587, i32 1010842135] }, { [2 x i32] } { [2 x i32] [i32 -804103343, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 960797498, i32 -1130969840] }, { [2 x i32] } { [2 x i32] [i32 -1364644384, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 -1695467874, i32 -1131204673] }, { [2 x i32] } { [2 x i32] [i32 1014845819, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -1177056650, i32 -1132359615] }, { [2 x i32] } { [2 x i32] [i32 -344994955, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 2068408548, i32 1015962444] }, { [2 x i32] } { [2 x i32] [i32 828946858, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 10642492, i32 1016988014] }, { [2 x i32] } { [2 x i32] [i32 -2006807338, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -2125822827, i32 1015924597] }, { [2 x i32] } { [2 x i32] [i32 1853186616, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -1228470925, i32 1016705150] }, { [2 x i32] } { [2 x i32] [i32 1709341917, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 -1723799079, i32 1015201075] }, { [2 x i32] } { [2 x i32] [i32 -182460703, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -1347612075, i32 1015419624] }, { [2 x i32] } { [2 x i32] [i32 -1495006453, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 1423655381, i32 1016070727] }, { [2 x i32] } { [2 x i32] [i32 171030293, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -768507164, i32 1015477354] }, { [2 x i32] } { [2 x i32] [i32 -1302063361, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -2076812890, i32 1016276769] }, { [2 x i32] } { [2 x i32] [i32 926591435, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 -1086133534, i32 -1131005206] }, { [2 x i32] } { [2 x i32] [i32 887463927, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -698223133, i32 -1133124554] }, { [2 x i32] } { [2 x i32] [i32 1276261410, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 300981948, i32 1015732745] }, { [2 x i32] } { [2 x i32] [i32 569847338, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 472945272, i32 -1134627991] }, { [2 x i32] } { [2 x i32] [i32 1617004845, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 82804944, i32 1011391354] }, { [2 x i32] } { [2 x i32] [i32 -1245627184, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 -1232051472, i32 1014219171] }, { [2 x i32] } { [2 x i32] [i32 -717870553, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1343470878, i32 1014842263] }, { [2 x i32] } { [2 x i32] [i32 1990012071, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -765896733, i32 -1131105527] }, { [2 x i32] } { [2 x i32] [i32 1453150082, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 498154669, i32 -1132430658] }, { [2 x i32] } { [2 x i32] [i32 917841882, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 18715565, i32 1016707884] }, { [2 x i32] } { [2 x i32] [i32 -582462423, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 88491949, i32 1016476236] }, { [2 x i32] } { [2 x i32] [i32 363667784, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 813753950, i32 1016833785] }, { [2 x i32] } { [2 x i32] [i32 -1338354299, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 2118169751, i32 -1131183167] }, { [2 x i32] } { [2 x i32] [i32 -2108349915, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 -2024203212, i32 -1130646007] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 330458198, i32 -1130635980] }, { [2 x i32] } { [2 x i32] [i32 1013258799, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 1748797611, i32 -1133789638] }, { [2 x i32] } { [2 x i32] [i32 -387162252, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 -2037876071, i32 -1132368313] }, { [2 x i32] } { [2 x i32] [i32 1447192521, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 1462857171, i32 -1131404199] }, { [2 x i32] } { [2 x i32] [i32 1944781191, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 -301688529, i32 -1132194441] }, { [2 x i32] } { [2 x i32] [i32 919555682, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -1172997762, i32 1013996802] }, { [2 x i32] } { [2 x i32] [i32 -1723019757, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 -736808232, i32 -1130542051] }, { [2 x i32] } { [2 x i32] [i32 -1690004755, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 -1680542022, i32 -1130379528] }, { [2 x i32] } { [2 x i32] [i32 1110089947, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 1451641639, i32 1016523249] }, { [2 x i32] } { [2 x i32] [i32 -1726646474, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 -1562142868, i32 1015401491] }, { [2 x i32] } { [2 x i32] [i32 -1328691739, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -2118811972, i32 -1134075961] }, { [2 x i32] } { [2 x i32] [i32 -1612820912, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 2082178513, i32 -1130555301] }, { [2 x i32] } { [2 x i32] [i32 -2103185264, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -1334709570, i32 1014791238] }, { [2 x i32] } { [2 x i32] [i32 2069751141, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 1562170675, i32 -1131194039] }, { [2 x i32] } { [2 x i32] [i32 -1304550051, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -611499551, i32 -1130549394] }, { [2 x i32] } { [2 x i32] [i32 1434058175, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 251133233, i32 1016134345] }, { [2 x i32] } { [2 x i32] [i32 -1722100819, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 878562433, i32 1016570317] }, { [2 x i32] } { [2 x i32] [i32 -1202776581, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 814012168, i32 -1134395298] }, { [2 x i32] } { [2 x i32] [i32 -218407353, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 2119478331, i32 -1133160369] }, { [2 x i32] } { [2 x i32] [i32 -1874083374, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 2049810052, i32 1015168464] }, { [2 x i32] } { [2 x i32] [i32 -578465124, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 -1991227171, i32 1015091301] }, { [2 x i32] } { [2 x i32] [i32 777507147, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 -12043091, i32 1016236109] }, { [2 x i32] } { [2 x i32] [i32 -588279703, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -773240357, i32 1014301643] }, { [2 x i32] } { [2 x i32] [i32 1242007932, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 1132034716, i32 -1130578889] }, { [2 x i32] } { [2 x i32] [i32 -587488121, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 -681887993, i32 1015213314] }, { [2 x i32] } { [2 x i32] [i32 64696965, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 1768797490, i32 1016865536] }, { [2 x i32] } { [2 x i32] [i32 863738719, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 1326992220, i32 -1131305523] }, { [2 x i32] } { [2 x i32] [i32 -410304522, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -2136355697, i32 1015258761] }, { [2 x i32] } { [2 x i32] [i32 -1566273318, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 396109971, i32 -1130456029] }, { [2 x i32] } { [2 x i32] [i32 -295609817, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -2036025680, i32 1016973300] }, { [2 x i32] } { [2 x i32] [i32 1533953344, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 769171851, i32 1016714209] }, { [2 x i32] } { [2 x i32] [i32 -2120314664, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -207252706, i32 1015498835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1697350398, i32 1079448903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1127743488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 1431652600, i32 1069897045] }, { [2 x i32] } { [2 x i32] [i32 1431670732, i32 1067799893] }, { [2 x i32] } { [2 x i32] [i32 984555731, i32 1065423122] }, { [2 x i32] } { [2 x i32] [i32 472530941, i32 1062650218] }, { [2 x i32] } { [2 x i32] [i32 -1883637634, i32 1082536910] }, { [2 x i32] } { [2 x i32] [i32 -17170432, i32 1065758274] }, { [2 x i32] } { [2 x i32] [i32 -1130480838, i32 1025308570] }, { [2 x i32] } { [2 x i32] [i32 -1, i32 2146435071] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 -419272672, i32 1077247184] }], align 8 +@_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_135__devicelib_imf_internal_derfc_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_erfc_d_la::(anonymous namespace)::__devicelib_imf_internal_derfc_data_t" { [6976 x i64] [i64 5183643171103440896, i64 5184221339472534381, i64 5183563770093917107, i64 5184221029315496029, i64 5183484378776209219, i64 5184220098957955783, i64 5183405006838584281, i64 5184218548740568769, i64 5183325663962213805, i64 5184216379230862543, i64 5183246359817631406, i64 5184213591222890824, i64 5183167104061196940, i64 5184210185736749139, i64 5183087906331569278, i64 5184206164017952772, i64 5183008776246189877, i64 5184201527536677587, i64 5182929723397779278, i64 5184196277986864328, i64 5182850757350848660, i64 5184190417285187199, i64 5182771887638228572, i64 5184183947569887579, i64 5182693123757616921, i64 5184176871199473876, i64 5182614475168148330, i64 5184169190751288617, i64 5182535951286986902, i64 5184160909019944010, i64 5182457561485944455, i64 5184152029015627292, i64 5182379315088126238, i64 5184142553962277302, i64 5182301221364606139, i64 5184132487295633836, i64 5182223289531133354, i64 5184121832661161429, i64 5182145528744872462, i64 5184110593911849317, i64 5182067948101178840, i64 5184098775105889451, i64 5181990556630411288, i64 5184086380504234500, i64 5181913363294783745, i64 5184073414568037924, i64 5181836376985257901, i64 5184059881955978256, i64 5181759606518478518, i64 5184045787521469836, i64 5181683060633753198, i64 5184031136309762351, i64 5181606747990078322, i64 5184015933554931585, i64 5181530677163212850, i64 5184000184676763916, i64 5181454856642801608, i64 5183983895277537131, i64 5181379294829549666, i64 5183967071138700254, i64 5181304000032449372, i64 5183949718217455128, i64 5181228980466061543, i64 5183931842643242590, i64 5181154244247852284, i64 5183913450714136129, i64 5181079799395586863, i64 5183894548893146001, i64 5181005653824782017, i64 5183875143804436840, i64 5180931815346218003, i64 5183855242229461849, i64 5180858291663511699, i64 5183834851103016739, i64 5180785090370751951, i64 5183813977509216619, i64 5180712218950198377, i64 5183792628677399111, i64 5180639684770044729, i64 5183770811977956988, i64 5180567495082247905, i64 5183748534918103704, i64 5180495657020423623, i64 5183725805137575216, i64 5180424177597809735, i64 5183702630404271535, i64 5180353063705298080, i64 5183679018609841477, i64 5180282322109535758, i64 5183654977765214121, i64 5180211959451096608, i64 5183617860888720135, i64 5180141982242723658, i64 5183568111973217458, i64 5180072396867643229, i64 5183517554363437048, i64 5180003209577951332, i64 5183466204944225043, i64 5179934426493072950, i64 5183414080792952857, i64 5179866053598294717, i64 5183361199170090459, i64 5179798096743371468, i64 5183307577509723304, i64 5179730561641207076, i64 5183253233410020174, i64 5179663453866609922, i64 5183198184623659193, i64 5179596778855123306, i64 5183142449048219250, i64 5179530541901931032, i64 5183086044716544066, i64 5179464748160838364, i64 5183028989787086122, i64 5179399402643328468, i64 5182971302534237615, i64 5179334510217694424, i64 5182913001338655592, i64 5179270075608246824, i64 5182854104677588361, i64 5179206103394596913, i64 5182794631115210233, i64 5179142598011015192, i64 5182734599292971584, i64 5179019556015660231, i64 5182674027919971176, i64 5178894438006155825, i64 5182612935763357597, i64 5178770278507750492, i64 5182551341638766609, i64 5178647085216436853, i64 5182489264400801118, i64 5178524865533361622, i64 5182426722933560374, i64 5178403626564438359, i64 5182363736141224952, i64 5178283375120106847, i64 5182300322938703918, i64 5178164117715238094, i64 5182236502242350526, i64 5178045860569183812, i64 5182172292960752657, i64 5177928609605969184, i64 5182107713985604105, i64 5177812370454627585, i64 5182042784182662688, i64 5177697148449675878, i64 5181977522382801054, i64 5177582948631728766, i64 5181911947373155906, i64 5177469775748250647, i64 5181846077888381247, i64 5177357634254443274, i64 5181779932602011107, i64 5177246528314267494, i64 5181713530117937066, i64 5177136461801597214, i64 5181646888962005752, i64 5177027438301503684, i64 5181580027573741341, i64 5176919461111668118, i64 5181512964298197918, i64 5176812533243920564, i64 5181445717377946429, i64 5176706657425902901, i64 5181378304945200777, i64 5176601836102853756, i64 5181310745014087449, i64 5176498071439513050, i64 5181243055473062915, i64 5176395365322143847, i64 5181175254077482851, i64 5176293719360669097, i64 5181107358442327092, i64 5176193134890920803, i64 5181039386035084021, i64 5176093612976999114, i64 5180971354168797956, i64 5175995154413738746, i64 5180903279995282900, i64 5175897759729280122, i64 5180835180498505851, i64 5175801429187742553, i64 5180767072488142695, i64 5175706162791996741, i64 5180698972593309516, i64 5175611960286533841, i64 5180630897256471984, i64 5175518821160428285, i64 5180562862727535305, i64 5175426744650391519, i64 5180494885058117023, i64 5175335729743913793, i64 5180426980096004805, i64 5175245775182491083, i64 5180359163479801124, i64 5175156879464934219, i64 5180291450633756624, i64 5175069040850757264, i64 5180223856762793717, i64 5174982257363642145, i64 5180156396847721818, i64 5174896526794976546, i64 5180089085640645437, i64 5174811846707462035, i64 5180021937660566162, i64 5174728214438789387, i64 5179954967189179388, i64 5174645627105378064, i64 5179888188266866491, i64 5174492191363653651, i64 5179821614688882943, i64 5174331177404344268, i64 5179755260001742715, i64 5174172233435403994, i64 5179689137499799130, i64 5174015351996642431, i64 5179623260222022167, i64 5173860525224431398, i64 5179557640948972050, i64 5173707744859824969, i64 5179492292199968775, i64 5173557002256764910, i64 5179427226230457107, i64 5173408288390365417, i64 5179362455029566355, i64 5173261593865271072, i64 5179297990317864154, i64 5173116908924081979, i64 5179233843545303255, i64 5172974223455840062, i64 5179170025889360232, i64 5172833527004570542, i64 5179073525030659248, i64 5172694808777872665, i64 5178947271053966634, i64 5172558057655553785, i64 5178821739074131224, i64 5172423262198300967, i64 5178696949236652581, i64 5172290410656384324, i64 5178572921129123720, i64 5172159490978386360, i64 5178449673779748451, i64 5172030490819951663, i64 5178327225656219028, i64 5171903397552551348, i64 5178205594664949687, i64 5171778198272256718, i64 5178084798150661448, i64 5171654879808516712, i64 5177964852896313307, i64 5171533428732933748, i64 5177845775123374723, i64 5171413831368032671, i64 5177727580492434102, i64 5171296073796017621, i64 5177610284104137766, i64 5171180141867511664, i64 5177493900500453692, i64 5171066021210274193, i64 5177378443666254150, i64 5170953697237891146, i64 5177263927031211131, i64 5170843155158433195, i64 5177150363471998355, i64 5170734379983077191, i64 5177037765314793425, i64 5170627356534686194, i64 5176926144338073575, i64 5170522069456343584, i64 5176815511775698313, i64 5170418503219836797, i64 5176705878320272109, i64 5170316642134086386, i64 5176597254126780152, i64 5170216470353516176, i64 5176489648816490110, i64 5170103571551391461, i64 5176383071481112671, i64 5169909888984478689, i64 5176277530687213589, i64 5169719488265974296, i64 5176173034480869827, i64 5169532336633517278, i64 5176069590392562339, i64 5169348401097408887, i64 5175967205442297932, i64 5169167648456482033, i64 5175865886144952597, i64 5168990045313800329, i64 5175765638515828642, i64 5168815558092180252, i64 5175666468076417900, i64 5168644153049530075, i64 5175568379860363249, i64 5168475796293999510, i64 5175471378419610659, i64 5168310453798934216, i64 5175375467830743937, i64 5168148091417629606, i64 5175280651701494329, i64 5167988674897878585, i64 5175186933177417160, i64 5167832169896308149, i64 5175094314948727629, i64 5167678541992499969, i64 5175002799257287956, i64 5167527756702890371, i64 5174912387903738031, i64 5167379779494445338, i64 5174823082254761771, i64 5167234575798106425, i64 5174734883250481414, i64 5167092111022003698, i64 5174647791411972003, i64 5166952350564432071, i64 5174487641849076827, i64 5166815259826587640, i64 5174317886685693989, i64 5166680804225060860, i64 5174150344105309874, i64 5166548949204083641, i64 5173985011952257796, i64 5166419660247527676, i64 5173821887310992240, i64 5166292902890651545, i64 5173660966522240759, i64 5166168642731594373, i64 5173502245199291001, i64 5166046845442614041, i64 5173345718244398415, i64 5165927476781068180, i64 5173191379865300373, i64 5165810502600136384, i64 5173039223591822630, i64 5165695888859282324, i64 5172889242292564241, i64 5165538430674950355, i64 5172741428191647280, i64 5165318441662092412, i64 5172595772885517906, i64 5165102970762975875, i64 5172452267359785562, i64 5164891950945569177, i64 5172310902006087324, i64 5164685315487163167, i64 5172171666638964663, i64 5164482997992141632, i64 5172034550512740128, i64 5164284932409224586, i64 5171899542338381729, i64 5164091053048184894, i64 5171766630300343050, i64 5163901294596039175, i64 5171635802073367394, i64 5163715592132714284, i64 5171507044839244549, i64 5163533881146191033, i64 5171380345303509042, i64 5163356097547127147, i64 5171255689712069012, i64 5163182177682961793, i64 5171133063867755165, i64 5163012058351504328, i64 5171012453146779527, i64 5162845676814010261, i64 5170893842515094044, i64 5162682970807747691, i64 5170777216544639345, i64 5162523878558057819, i64 5170662559429474323, i64 5162368338789913380, i64 5170549855001777461, i64 5162216290738979161, i64 5170439086747711180, i64 5162067674162179006, i64 5170330237823140739, i64 5161922429347773982, i64 5170223291069199594, i64 5161780497124956630, i64 5170104085834057344, i64 5161641818872966464, i64 5169897695691340599, i64 5161506336529732101, i64 5169695003466278057, i64 5161373992600045638, i64 5169495972627913136, i64 5161244730163275098, i64 5169300566166347388, i64 5161111812794653497, i64 5169108746621722228, i64 5160865277037257523, i64 5168920476112797264, i64 5160624569777458959, i64 5168735716365113988, i64 5160389581906802027, i64 5168554428738734135, i64 5160160205529683560, i64 5168376574255542712, i64 5159936333973500193, i64 5168202113626106213, i64 5159717861797963302, i64 5168031007276077219, i64 5159504684803595995, i64 5167863215372137108, i64 5159296700039426713, i64 5167698697847469242, i64 5159093805809894223, i64 5167537414426755531, i64 5158895901680978995, i64 5167379324650689899, i64 5158702888485576170, i64 5167224387900002680, i64 5158514668328125466, i64 5167072563418990603, i64 5158331144588513573, i64 5166923810338547509, i64 5158152221925264686, i64 5166778087698691523, i64 5157977806278034987, i64 5166635354470584922, i64 5157807804869426973, i64 5166495569578043463, i64 5157642126206139630, i64 5166358691918532451, i64 5157480680079470533, i64 5166224680383647315, i64 5157323377565186003, i64 5166093493879076975, i64 5157170131022775506, i64 5165965091344048733, i64 5157020854094106514, i64 5165839431770253924, i64 5156875461701496055, i64 5165716474220253985, i64 5156733870045215192, i64 5165563583096775257, i64 5156570419861667388, i64 5165328231212112788, i64 5156301946888149723, i64 5165098038953395466, i64 5156040587858124538, i64 5164872925360072271, i64 5155786185324307480, i64 5164652809781844487, i64 5155538584354488414, i64 5164437611909277748, i64 5155297632520414388, i64 5164227251803394069, i64 5155063179885763705, i64 5164021649924249726, i64 5154835078993242709, i64 5163820727158505470, i64 5154613184850836641, i64 5163624404845996307, i64 5154397354917245731, i64 5163432604805308686, i64 5154187449086537393, i64 5163245249358373553, i64 5153983329672045154, i64 5163062261354084363, i64 5153784861389544626, i64 5162883564190949691, i64 5153591911339736539, i64 5162709081838790624, i64 5153404348990066516, i64 5162538738859493673, i64 5153222046155910930, i64 5162372460426830400, i64 5153044876981157829, i64 5162210172345355470, i64 5152872717918211544, i64 5162051801068395262, i64 5152705447707449189, i64 5161897273715139605, i64 5152542947356156904, i64 5161746518086849609, i64 5152385100116973226, i64 5161599462682194934, i64 5152231791465866607, i64 5161456036711734211, i64 5152047844447499810, i64 5161316170111552629, i64 5151758711914600497, i64 5161179793556071033, i64 5151477995640308496, i64 5160968503973493922, i64 5151205483905956002, i64 5160709301112895475, i64 5150940969207161881, i64 5160456671480195295, i64 5150684248205280113, i64 5160210482554997387, i64 5150435121678269095, i64 5159970603397854713, i64 5150193394471028390, i64 5159736904666576695, i64 5149958875445248474, i64 5159509258631094019, i64 5149731377428818105, i64 5159287539186912795, i64 5149510717164832852, i64 5159071621867190334, i64 5149296715260247380, i64 5158861383853465032, i64 5149089196134213031, i64 5158656703985072965, i64 5148887987966141226, i64 5158457462767283987, i64 5148692922643532198, i64 5158263542378190138, i64 5148503835709607527, i64 5158074826674379294, i64 5148320566310783924, i64 5157891201195426961, i64 5148142957144024691, i64 5157712553167239134, i64 5147970854404104231, i64 5157538771504279083, i64 5147804107730819990, i64 5157369746810710870, i64 5147642570156185161, i64 5157205371380492283, i64 5147357822018792021, i64 5157045539196449757, i64 5147054728066071845, i64 5156890145928367689, i64 5146761210153938969, i64 5156739088930124373, i64 5146477000429450400, i64 5156562961132595196, i64 5146201837297636319, i64 5156277589771850948, i64 5145935465316941502, i64 5156000295198639176, i64 5145677635095038580, i64 5155730885500281906, i64 5145428103185063803, i64 5155469172077270587, i64 5145186631982324128, i64 5155214969627424117, i64 5144952989621522477, i64 5154968096128576974, i64 5144726949874546191, i64 5154728372819857327, i64 5144508292048861795, i64 5154495624181614238, i64 5144296800886557387, i64 5154269677914052299, i64 5144092266464072148, i64 5154050364914631216, i64 5143894484092650659, i64 5153837519254287031, i64 5143703254219558005, i64 5153630978152530797, i64 5143518382330089857, i64 5153430581951479628, i64 5143339678850410065, i64 5153236174088874126, i64 5143166959051246606, i64 5153047601070135269, i64 5142889311447843713, i64 5152864712439512852, i64 5142566736000128197, i64 5152687360750376633, i64 5142255075773455984, i64 5152515401534700326, i64 5141953998176025632, i64 5152348693271787565, i64 5141663179369806306, i64 5152187097356287982, i64 5141382304089345530, i64 5151942982419253490, i64 5141111065462636881, i64 5151639431340871781, i64 5140849164834084740, i64 5151345307650353509, i64 5140596311589600480, i64 5151060356794943356, i64 5140352222983861723, i64 5150784329714664360, i64 5140116623969763664, i64 5150516982771735333, i64 5139889247030088895, i64 5150258077679183396, i64 5139669832011419623, i64 5150007381428730934, i64 5139458125960313749, i64 5149764666218034149, i64 5139253882961763895, i64 5149529709377348195, i64 5139056863979956157, i64 5149302293295691808, i64 5138866836701343109, i64 5149082205346582108, i64 5138683575380043408, i64 5148869237813408220, i64 5138406546541420577, i64 5148663187814510143, i64 5138065784276169886, i64 5148463857228027263, i64 5137737275240442992, i64 5148271052616578751, i64 5137420617485494458, i64 5148084585151836041, i64 5137115420722282021, i64 5147904270539045486, i64 5136821306040476804, i64 5147729928941557284, i64 5136537905632188864, i64 5147508395726352437, i64 5136264862520402669, i64 5147182560483634105, i64 5136001830292113915, i64 5146867644241875312, i64 5135748472836156013, i64 5146563321487134475, i64 5135504464085701641, i64 5146269274870797748, i64 5135269487765421941, i64 5145985195060842751, i64 5135043237143283204, i64 5145710780593788773, i64 5134825414786958333, i64 5145445737727414480, i64 5134615732324827870, i64 5145189780294320527, i64 5134413910211543018, i64 5144942629556410883, i64 5134219677498120862, i64 5144704014060363155, i64 5133961968010714156, i64 5144473669494154749, i64 5133602301015236963, i64 5144251338544708311, i64 5133256285818477357, i64 5144036770756716575, i64 5132923444874266927, i64 5143829722392703467, i64 5132603315663711390, i64 5143629956294375163, i64 5132295450288289690, i64 5143437241745311640, i64 5131999415071491751, i64 5143251354335046239, i64 5131714790168906710, i64 5143033377192049121, i64 5131441169186670786, i64 5142687613569607216, i64 5131178158808181418, i64 5142354230758463464, i64 5130925378428981980, i64 5142032827725419455, i64 5130682459799719197, i64 5141723014734536370, i64 5130449046677073398, i64 5141424413093622205, i64 5130224794482559891, i64 5141136654904001461, i64 5130009369969098077, i64 5140859382813618671, i64 5129802450895243371, i64 5140592249773522394, i64 5129603725706975627, i64 5140334918797771589, i64 5129225810878878102, i64 5140087062726801799, i64 5128859349127019562, i64 5139848363994284203, i64 5128507527929238900, i64 5139618514397506325, i64 5128169803607347431, i64 5139397214871299150, i64 5127845650894985038, i64 5139184175265531387, i64 5127534562387290323, i64 5138979114126187847, i64 5127236048004140999, i64 5138781758480045207, i64 5126949634466739360, i64 5138576512416173806, i64 5126674864787317189, i64 5138211050993742598, i64 5126411297771734128, i64 5137859460289673250, i64 5126158507534743493, i64 5137521258041803898, i64 5125916083027699575, i64 5137195976904683026, i64 5125683627578480788, i64 5136883164062268445, i64 5125460758443403471, i64 5136582380847823008, i64 5125247106370901792, i64 5136293202370984183, i64 5124988254405875541, i64 5136015217151979497, i64 5124595706713583899, i64 5135748026762955067, i64 5124219531159659312, i64 5135491245476379840, i64 5123859088906533694, i64 5135244499920483766, i64 5123513764075066155, i64 5135007428741684026, i64 5123182963003774665, i64 5134779682273949466, i64 5122866113528516999, i64 5134560922215049695, i64 5122562664282192451, i64 5134350821309631774, i64 5122272084014039458, i64 5134149063039064136, i64 5121993860928108136, i64 5133807107433603041, i64 5121727502040490835, i64 5133435145192601681, i64 5121472532554898000, i64 5133078091947356077, i64 5121228495256171061, i64 5132735394617377296, i64 5120994949921328630, i64 5132406518692434369, i64 5120771472747746972, i64 5132090947690590853, i64 5120522535275907137, i64 5131788182628777118, i64 5120113436602812784, i64 5131497741505738016, i64 5119722117541940141, i64 5131219158797192138, i64 5119347851072498891, i64 5130951984963035765, i64 5118989937783004278, i64 5130695785966421763, i64 5118647704917047140, i64 5130450142804541133, i64 5118320505448028938, i64 5130214651050932670, i64 5118007717182146763, i64 5129988920409144144, i64 5117708741888924428, i64 5129772574277566719, i64 5117423004458596925, i64 5129530523075530577, i64 5117149952085666808, i64 5129133214582217013, i64 5116889053477962428, i64 5128752571462108608, i64 5116639798090539337, i64 5128387941801714789, i64 5116401695383777642, i64 5128038697048106325, i64 5116174274105039568, i64 5127704231265037625, i64 5115824986493642565, i64 5127383960408860325, i64 5115410189518873215, i64 5127077321623859804, i64 5115014145642011003, i64 5126783772556646583, i64 5114636053185984283, i64 5126502790689235202, i64 5114275142528176858, i64 5126233872690444126, i64 5113930674921052943, i64 5125976533785251513, i64 5113601941351645738, i64 5125730307141743231, i64 5113288261438821421, i64 5125494743275291338, i64 5112988982367252910, i64 5125269409469603369, i64 5112703477857060138, i64 5125011402480945698, i64 5112431147168095864, i64 5124599187369499285, i64 5112171414137878096, i64 5124205026213989637, i64 5111923726252192148, i64 5123828176799431132, i64 5111687553747407019, i64 5123467925139302109, i64 5111339200421631658, i64 5123123584505280441, i64 5110909911749253430, i64 5122794494485840889, i64 5110500731222731023, i64 5122480020073044041, i64 5110110764569898468, i64 5122179550776854344, i64 5109739154930466210, i64 5121892499766332737, i64 5109385081403480615, i64 5121618303037057614, i64 5109047757646016655, i64 5121356418604136325, i64 5108726430521524075, i64 5121106325720178106, i64 5108420378796286392, i64 5120867524117608159, i64 5108128911882490532, i64 5120639533274711698, i64 5107851368626442866, i64 5120251007089357897, i64 5107587116140504696, i64 5119835536215640557, i64 5107335548677357043, i64 5119439026688927146, i64 5107096086545240678, i64 5119060661660999414, i64 5106654372687563461, i64 5118699657106214875, i64 5106220589667093433, i64 5118355260613730511, i64 5105807831304018692, i64 5118026750219157397, i64 5105415126512276560, i64 5117713433274576850, i64 5105041546608710043, i64 5117414645355868412, i64 5104686203582278945, i64 5117129749206319794, i64 5104348248428187914, i64 5116858133715508662, i64 5104026869544757970, i64 5116599212932465965, i64 5103721291190929351, i64 5116352425112150270, i64 5103430772002343557, i64 5116117231794282294, i64 5103154603564011278, i64 5115697057134333559, i64 5102892109037630478, i64 5115269995188481050, i64 5102642641841675270, i64 5114863153411657219, i64 5102232790954090741, i64 5114475623968141381, i64 5101782315857643530, i64 5114106537287076109, i64 5101354354123242560, i64 5113755060570714934, i64 5100947830229207503, i64 5113420396355169519, i64 5100561717427452824, i64 5113101781122063176, i64 5100195035663989979, i64 5112798483959534834, i64 5099846849581614301, i64 5112509805271074391, i64 5099516266601833667, i64 5112235075530706819, i64 5099202435083187514, i64 5111973654083078419, i64 5098904542553194112, i64 5111724927987034180, i64 5098621814011251083, i64 5111391044737107722, i64 5098353510299899040, i64 5110940906956488796, i64 5098098926541941028, i64 5110512792921468750, i64 5097640003098580582, i64 5110105676979653470, i64 5097181745502805275, i64 5109718578553644612, i64 5096747080531021381, i64 5109350560294690891, i64 5096334843880955071, i64 5109000726305479780, i64 5095943925993267989, i64 5108668220429781956, i64 5095573269619499475, i64 5108352224606722959, i64 5095221867490903721, i64 5108051957287517594, i64 5094888760084344031, i64 5107766671912562558, i64 5094573033481536022, i64 5107495655446841616, i64 5094273817318057649, i64 5107238226971655405, i64 5093990282818666415, i64 5106905495223346692, i64 5093721640915583081, i64 5106441148219718541, i64 5093363102337002486, i64 5106000250524761818, i64 5092880954302605449, i64 5105581671186319580, i64 5092424298264484669, i64 5105184330960554280, i64 5091991839210026603, i64 5104807200093996622, i64 5091582344995330135, i64 5104449296193459162, i64 5091194643449539581, i64 5104109682180682515, i64 5090827619604443742, i64 5103787464328677506, i64 5090480213044327460, i64 5103481790376819938, i64 5090151415371243241, i64 5103191847721845795, i64 5089840267781045979, i64 5102916861681983709, i64 5089545858745703772, i64 5102656093831548396, i64 5089267321797562452, i64 5102239302996035138, i64 5088940087894141150, i64 5101770483702798795, i64 5088441643031875096, i64 5101326074005345140, i64 5087970242833823739, i64 5100904856433338076, i64 5087524474326138535, i64 5100505671312673337, i64 5087102995276163708, i64 5100127414176998611, i64 5086704530820019160, i64 5099769033287204988, i64 5086327870241948455, i64 5099429527254779641, i64 5085971863899065401, i64 5099107942765047328, i64 5085635420285376817, i64 5098803372396462163, i64 5085317503229194887, i64 5098514952532241394, i64 5085017129218280328, i64 5098241861360759493, i64 5084733364847277536, i64 5097891855739086485, i64 5084366669463140676, i64 5097402372759466460, i64 5083860355572813862, i64 5096939080484555694, i64 5083382214213591323, i64 5096500633053528978, i64 5082930732912877887, i64 5096085750648752777, i64 5082504477203164187, i64 5095693216424570517, i64 5082102086778752692, i64 5095321873569975812, i64 5081722271832023335, i64 5094970622499791466, i64 5081363809561370250, i64 5094638418169166112, i64 5081025540843259484, i64 5094324267506388408, i64 5080706367061164324, i64 5094027226959201005, i64 5080405247084430453, i64 5093746400149973111, i64 5080121194390407831, i64 5093390692714492120, i64 5079646168973001286, i64 5092888870974880821, i64 5079140823295537687, i64 5092414620724696410, i64 5078664294819628670, i64 5091966483757462771, i64 5078214995101040839, i64 5091543075731910956, i64 5077791420001714979, i64 5091143082612116460, i64 5077392145402697870, i64 5090765257269370044, i64 5077015823124581664, i64 5090408416238948500, i64 5076661177045976245, i64 5090071436625214462, i64 5076326999410942722, i64 5089753253148728279, i64 5076012147316703296, i64 5089452855329300248, i64 5075715539373314773, i64 5089169284799148481, i64 5075315525008151982, i64 5088735686552452405, i64 5074789258037408606, i64 5088230495956629873, i64 5074293667205763473, i64 5087753785015516310, i64 5073827021365391092, i64 5087304004976948372, i64 5073387683616389355, i64 5086879687971054493, i64 5072974106378680012, i64 5086479442977323997, i64 5072584826709969919, i64 5086101951982159961, i64 5072218461858132961, i64 5085745966318489000, i64 5071873705036888469, i64 5085410303179344315, i64 5071549321414146781, i64 5085093842297668968, i64 5071244144302867125, i64 5084795522784904951, i64 5070860962670277559, i64 5084464700941190834, i64 5070320943735514759, i64 5083934707280075798, i64 5069813084933224161, i64 5083435284807531880, i64 5069335529306447222, i64 5082964729410970250, i64 5068886523523066771, i64 5082521428405556511, i64 5068464412309571435, i64 5082103855837385529, i64 5068067633171145200, i64 5081710568016104756, i64 5067694711384073853, i64 5081340199266429041, i64 5067344255247105721, i64 5080991457888440906, i64 5067014951579022073, i64 5080663122317003727, i64 5066705561450264039, i64 5080354037471031861, i64 5066280251482249448, i64 5080063111283762086, i64 5065734245781769332, i64 5079518243137190967, i64 5065221445777605063, i64 5079002944468332907, i64 5064739890830016398, i64 5078518102572991144, i64 5064287732366357677, i64 5078061974700029021, i64 5063863227702630482, i64 5077632914291973989, i64 5063464734192080526, i64 5077229365886636033, i64 5063090703684317384, i64 5076849860276652361, i64 5062739677279225647, i64 5076493009914604877, i64 5062410280360690779, i64 5076157504551910504, i64 5062101217895883740, i64 5075842107100215273, i64 5061576558808635984, i64 5075534519362514858, i64 5061032594154161837, i64 5074977279989147975, i64 5060522396601350532, i64 5074453635288256228, i64 5060043928436322404, i64 5073961621759979645, i64 5059595271166409345, i64 5073499386794047968, i64 5059174618779553173, i64 5073065182643429623, i64 5058780271370472221, i64 5072657360711455552, i64 5058410629114492046, i64 5072274366136921747, i64 5058064186570881999, i64 5071914732662395000, i64 5057739527298441152, i64 5071577077771635960, i64 5057328255996806348, i64 5071260098082713365, i64 5056758233560567083, i64 5070871949548850303, i64 5056224248015739132, i64 5070313460582740823, i64 5055724082163940373, i64 5069789366344438107, i64 5055255651237156664, i64 5069297610363802760, i64 5054816995241954186, i64 5068836255186686830, i64 5054406271730457988, i64 5068403475732503814, i64 5054021748975265973, i64 5067997553007619246, i64 5053661799526632346, i64 5067616868156381393, i64 5053324894131363198, i64 5067259896832489985, i64 5052980410078147132, i64 5066925203874239735, i64 5052390328812793746, i64 5066611438267976188, i64 5051838226917758164, i64 5066085075977923704, i64 5051321722981774048, i64 5065533774161816035, i64 5050838580730070023, i64 5065017138044279478, i64 5050386700450536681, i64 5064533048567330930, i64 5049964110909170171, i64 5064079512256832263, i64 5049568961727935529, i64 5063654654031013060, i64 5049199516199603022, i64 5063256710405239191, i64 5048854144515450639, i64 5062884023072134455, i64 5048527452483671312, i64 5062535032837208899, i64 5047924017741976552, i64 5062208273891144607, i64 5047360110616210597, i64 5061758755637241955, i64 5046833206197234546, i64 5061186061639995623, i64 5046340936519664525, i64 5060650050792885163, i64 5045881081093129905, i64 5060148436255130692, i64 5045451557986302247, i64 5059679069587499581, i64 5045050415432590457, i64 5059239932645412944, i64 5044675823928076311, i64 5058829129929901865, i64 5044326068793856915, i64 5058444881371603296, i64 5043967503697986226, i64 5058085515524267210, i64 5043357900268078658, i64 5057749463145465601, i64 5042788923498910283, i64 5057328120749639641, i64 5042257930672415269, i64 5056740612201799303, i64 5041762446530743866, i64 5056191423939583897, i64 5041300152963452686, i64 5055678120776011036, i64 5040868879310179203, i64 5055198417949305955, i64 5040466593243326348, i64 5054750172115906974, i64 5040091392197248872, i64 5054331372864440615, i64 5039741495312294774, i64 5053940134721684808, i64 5039302488700050723, i64 5053574689623080407, i64 5038694125268307802, i64 5053233379821815200, i64 5038126998567359541, i64 5052790520514092413, i64 5037598377977855945, i64 5052195312174166014, i64 5037105709199761308, i64 5051639622085586971, i64 5036646603174337025, i64 5051120891354740431, i64 5036218825681617063, i64 5050636722340067578, i64 5035820287573529089, i64 5050184868788263430, i64 5035449035605079188, i64 5049763226554335085, i64 5035103243828159633, i64 5049369824872208752, i64 5034538027628912833, i64 5049002818144396623, i64 5033938267753195360, i64 5048660478220962284, i64 5033379843512480206, i64 5048147191996995444, i64 5032859969506506739, i64 5047551678319035079, i64 5032376043536046044, i64 5046996397819445325, i64 5031925634865339121, i64 5046478697025366891, i64 5031506473215342248, i64 5045996092964210826, i64 5031116438443688856, i64 5045546262515025338, i64 5030753550869845653, i64 5045127032404450194, i64 5030311140639886363, i64 5044736369809574975, i64 5029683110346007183, i64 5044372373532135604, i64 5029099006155171344, i64 5044033265710487925, i64 5028555822069351075, i64 5043403185420431361, i64 5028050753039606542, i64 5042814766256736929, i64 5027581181868083161, i64 5042266785941977784, i64 5027144666940597446, i64 5041756529053828539, i64 5026738930738705421, i64 5041281458001266830, i64 5026361849083188835, i64 5040839201690892556, i64 5026005697982048889, i64 5040427544894370208, i64 5025354535079522371, i64 5040044418275029060, i64 5024749581216608694, i64 5039687889034076555, i64 5024187625822584377, i64 5039184321250748710, i64 5023665676401448027, i64 5038567061172868064, i64 5023180944076200289, i64 5037992867491372791, i64 5022730830066364458, i64 5037458802101484829, i64 5022312913040214976, i64 5036962122562888289, i64 5021924937286736957, i64 5036500269405726411, i64 5021564801655687333, i64 5036070854236953358, i64 5020947513916454954, i64 5035671648598142740, i64 5020327130673845739, i64 5035300573528739087, i64 5019751475353227029, i64 5034886996182704087, i64 5019217388394173605, i64 5034245994038020166, i64 5018721928608300806, i64 5033650383888915847, i64 5018262358436213718, i64 5033097020355235430, i64 5017836130174909224, i64 5032582970991461494, i64 5017440873113489741, i64 5032105502229952633, i64 5017074381518907750, i64 5031662066227048268, i64 5016459221943444704, i64 5031250288555768277, i64 5015829275345645942, i64 5030867956692227217, i64 5015245387985175494, i64 5030505234719311889, i64 5014704258249548157, i64 5029846268003773400, i64 5014202816244894051, i64 5029234652092257760, i64 5013738207897197945, i64 5028667055284602074, i64 5013307780118088408, i64 5028140375087850668, i64 5012909066965760319, i64 5027651722825633234, i64 5012539776736011387, i64 5027198409254136752, i64 5011889174581639193, i64 5026777931120705343, i64 5011255810715058541, i64 5026387958605039716, i64 5010669400540093493, i64 5026026323586671517, i64 5010126529471385723, i64 5025364833226268359, i64 5009624026211445602, i64 5024743089911368787, i64 5009158945791652094, i64 5024166741230070534, i64 5008728553767932185, i64 5023632539376487085, i64 5008330311494478556, i64 5023137463929653200, i64 5007920939171632182, i64 5022678706300426816, i64 5007239252816272326, i64 5022253655215755908, i64 5006608718534506297, i64 5021859883172993432, i64 5006025569188926598, i64 5021476683084260704, i64 5005486309611101227, i64 5020801035622315585, i64 5004987697379342562, i64 5020175342066849757, i64 5004526724924454113, i64 5019595981212341693, i64 5004100602873940876, i64 5019059588891800895, i64 5003706744551043549, i64 5018563040138889561, i64 5003186317092292987, i64 5018103432558179517, i64 5002513614626863815, i64 5017678070823855068, i64 5001892073319901780, i64 5017284452232278528, i64 5001317872299321504, i64 5016830521586516656, i64 5000787470596659393, i64 5016156648933829797, i64 5000297587059358929, i64 5015533297609118578, i64 4999845181673312625, i64 5014956751687534570, i64 4999427438198971475, i64 5014423563047426524, i64 4999041748030793781, i64 5013930532485976781, i64 4998375804010442524, i64 5013474692135628638, i64 4997718498444790398, i64 5013053289093950318, i64 4997111849897947807, i64 5012663770185287063, i64 4996552022692463571, i64 5012101150292432410, i64 4996035466200692773, i64 5011435787907184604, i64 4995558894078437503, i64 5010820997506708814, i64 4995119264979640446, i64 5010253005922981973, i64 4994713764648886639, i64 5009728316007658576, i64 4994187591837100979, i64 5009243686860922822, i64 4993497873565124710, i64 5008796115444898683, i64 4992861931618300283, i64 5008382819486995735, i64 4992275644707054932, i64 5007999657533739982, i64 4991735201687865948, i64 5007295083225079051, i64 4991237078670288382, i64 5006644708517583823, i64 4990778017779308395, i64 5006044438712047185, i64 4990355007455946447, i64 5005490482585229794, i64 4989942141247730330, i64 5004979330352714909, i64 4989224044000123063, i64 5004507733197375831, i64 4988562582012810616, i64 5004072684254819293, i64 4987953362918521288, i64 5003671400954516087, i64 4987392329013247899, i64 5003103431235768556, i64 4986875732232520873, i64 5002420864502352413, i64 4986400110961699419, i64 5001791508772976022, i64 4985962268548710561, i64 5001211287961342120, i64 4985559253396889587, i64 5000676432472554885, i64 4984891893549198149, i64 5000183456608133849, i64 4984209241466589511, i64 4999729137601957052, i64 4983581119584402193, i64 4999310496172052362, i64 4983003242579270655, i64 4998853970580908139, i64 4982471656145097135, i64 4998143292430222346, i64 4981982711885660546, i64 4997488667663197317, i64 4981533044075073036, i64 4996885750061398879, i64 4981119548149969792, i64 4996330524364075198, i64 4980497533742269628, i64 4995819281545333580, i64 4979798495304963417, i64 4995348595900708540, i64 4979155923820270978, i64 4994915303813572112, i64 4978565330096243751, i64 4994516484080895813, i64 4978022575896968509, i64 4993806892618749557, i64 4977523846987945889, i64 4993131375078739082, i64 4977065628213082537, i64 4992509832691413651, i64 4976644680453210149, i64 4991938023728212275, i64 4976038450409395920, i64 4991412034010906393, i64 4975328202764408068, i64 4990928252083599774, i64 4974675964785604967, i64 4990483346229799800, i64 4974077071628794203, i64 4990074243200316406, i64 4973527227484907586, i64 4989407829928075287, i64 4973022476885553117, i64 4988716269490598672, i64 4972559178199270502, i64 4988080597582966134, i64 4972133979154461225, i64 4987496370072171059, i64 4971513599856958901, i64 4986959490231478537, i64 4970797579026265815, i64 4986466182069338877, i64 4970140681196834759, i64 4986012965666951018, i64 4969538098047818449, i64 4985596634376270036, i64 4968985406116364251, i64 4984943679982761275, i64 4968478536507367367, i64 4984241296526177170, i64 4968013746945182873, i64 4983596316789725605, i64 4967587595989610607, i64 4983004122803563740, i64 4966923449513701438, i64 4982460461974366635, i64 4966207225924356841, i64 4981961418680172182, i64 4965550783442089584, i64 4981503388032708246, i64 4964949205749675755, i64 4981083051645063786, i64 4964397974596594504, i64 4980413522637109754, i64 4963892938092034927, i64 4979705788249700383, i64 4963430281480109515, i64 4979056539432167220, i64 4963006500206485083, i64 4978461016922259382, i64 4962269960837759580, i64 4977914842518164002, i64 4961559109650394633, i64 4977413989085446143, i64 4960908227082789058, i64 4976954752882345127, i64 4960312326825230030, i64 4976533728027646241, i64 4959766830923357406, i64 4975817977652408219, i64 4959267536865628305, i64 4975110489069390250, i64 4958810587279150666, i64 4974462109190446038, i64 4958321694326726068, i64 4973867973303551878, i64 4957556515357512786, i64 4973323610794429109, i64 4956856486611131484, i64 4972824913747184001, i64 4956216139123331154, i64 4972368108002998026, i64 4955630456240298486, i64 4971925464358987861, i64 4955094836790089536, i64 4971159180654447884, i64 4954605061203822446, i64 4970457526868225193, i64 4954157260354445552, i64 4969815131597743925, i64 4953536183690128776, i64 4969227063015448076, i64 4952787787743606422, i64 4968688793476033697, i64 4952103781344543553, i64 4968196166924818842, i64 4951478700933829910, i64 4967745368889558671, i64 4950907539863110654, i64 4967195408719555513, i64 4950385710761500772, i64 4966440700673691736, i64 4949909010952671447, i64 4965750330921660284, i64 4949473590679207118, i64 4965118892904594418, i64 4948695857340148922, i64 4964541427600790276, i64 4947969572570451769, i64 4964013387062371611, i64 4947306422891476978, i64 4963530600873586238, i64 4946700993951841977, i64 4963089245300742742, i64 4946148329189137463, i64 4962404840480840997, i64 4945643891694259159, i64 4961667403714023058, i64 4945183529203375207, i64 4960993501023640568, i64 4944574493077611920, i64 4960377734879972745, i64 4943807915649827390, i64 4959815159608872151, i64 4943108573738198188, i64 4959301244144091972, i64 4942470648078182949, i64 4958831837800506465, i64 4941888816118640775, i64 4958343087919877621, i64 4941358210236118764, i64 4957560141304738015, i64 4940874379411077834, i64 4956845269632160151, i64 4940417716942184426, i64 4956192634794797420, i64 4939613436635402596, i64 4955596892208966645, i64 4938880325414754440, i64 4955053149719831191, i64 4938212167242735387, i64 4954556929874543566, i64 4937603281663519310, i64 4954104135291913538, i64 4937048478308902744, i64 4953422443649771103, i64 4936543015211390020, i64 4952668699216679349, i64 4936082560610784907, i64 4951981171947559763, i64 4935381124334070910, i64 4951354122222749927, i64 4934617196217381952, i64 4950782300986613723, i64 4933921546176372918, i64 4950260908431864479, i64 4933288149002176341, i64 4949785556110107358, i64 4932711504157083189, i64 4949248473897960633, i64 4932186590717183227, i64 4948458548718603915, i64 4931708826128475584, i64 4947738643188894454, i64 4931106464946490703, i64 4947082631892517388, i64 4930315171733996697, i64 4946484917952513290, i64 4929595217875873300, i64 4945940388077766616, i64 4928940251700239238, i64 4945444371375517018, i64 4928344479729151933, i64 4944992601619374289, i64 4927802618287039856, i64 4944209974522183465, i64 4927309849244997106, i64 4943460722964679850, i64 4926785566762092669, i64 4942778561299194211, i64 4925970816133936550, i64 4942157558957943773, i64 4925230152827837262, i64 4941592302623484052, i64 4924556922083089289, i64 4941077851744886392, i64 4923945059299045217, i64 4940609697823588800, i64 4923389038391698383, i64 4939918663083325315, i64 4922883824606861709, i64 4939143582240154139, i64 4922415270105927188, i64 4938438514902442039, i64 4921581369508108651, i64 4937797216033717990, i64 4920823945070487833, i64 4937213990355302632, i64 4920136067217351358, i64 4936683644611711124, i64 4919511426446980477, i64 4936201443921473795, i64 4918944278566431130, i64 4935580952139880649, i64 4918429394697611397, i64 4934783996444859760, i64 4917962015644868909, i64 4934059657565329263, i64 4917144827409361216, i64 4933401400223271996, i64 4916374881679712333, i64 4932803269756132394, i64 4915676229479383310, i64 4932259841223217033, i64 4915042346728775046, i64 4931766172910704795, i64 4914467299092663719, i64 4931193935750680802, i64 4913945689346745505, i64 4930379438191434283, i64 4913472609379405544, i64 4929639796273185441, i64 4912659999391104019, i64 4928968213490494363, i64 4911881992876096091, i64 4928358502672021391, i64 4911176629262213264, i64 4927805032067211754, i64 4910537203900189272, i64 4927302676137833787, i64 4909957623554884051, i64 4926755548956048174, i64 4909432351342550105, i64 4925928151044812080, i64 4908956356562614101, i64 4925177444256772423, i64 4908126544155754872, i64 4924496404311361241, i64 4907345080705160002, i64 4923878642368740092, i64 4906637188072767581, i64 4923318348283707198, i64 4905996018211178419, i64 4922810238859189396, i64 4905415353018158814, i64 4922264628614079434, i64 4904889547095560004, i64 4921429201333730214, i64 4904406957080412825, i64 4920671864900301289, i64 4903544979863173667, i64 4919985404674550997, i64 4902764725105854871, i64 4919363264508772416, i64 4902058531063441404, i64 4918799487401415519, i64 4901419446011400777, i64 4918288661429888137, i64 4900841163236946455, i64 4917720947908497600, i64 4900317961908080900, i64 4916882505869138478, i64 4899772912012705583, i64 4916123093622515494, i64 4898916669164560715, i64 4915435346962621856, i64 4898142267108018426, i64 4914812579767839608, i64 4897441968885032515, i64 4914248722333960219, i64 4896808760675153534, i64 4913738265243275681, i64 4896236285002689507, i64 4913125223097634913, i64 4895718780037669429, i64 4912288834419749872, i64 4895089253931752202, i64 4911531936822679953, i64 4894243779566089115, i64 4910847060012758689, i64 4893479769839339022, i64 4910227427566833608, i64 4892789459597446842, i64 4909666893261949764, i64 4892165815620714124, i64 4909159883173911197, i64 4891602468429164724, i64 4908479092223959597, i64 4891093650365362009, i64 4907649786841801426, i64 4890359083443741565, i64 4906899947935301069, i64 4889529220734012708, i64 4906222044520869386, i64 4888779958926822061, i64 4905609251179725919, i64 4888103552185606952, i64 4905055382738302188, i64 4887492990925449461, i64 4904554834921170336, i64 4886941932624363303, i64 4903785066668379247, i64 4886444639060004569, i64 4902967745812420488, i64 4885586243067810243, i64 4902229381587049789, i64 4884776561276324016, i64 4901562428808847862, i64 4884046144699494888, i64 4900960055248808384, i64 4883387313958309136, i64 4900416075047457491, i64 4882793125686187899, i64 4899924888273335601, i64 4882257302772018253, i64 4899046457551250482, i64 4881646346206795830, i64 4898245807117745209, i64 4880775208828155630, i64 4897523127746116666, i64 4879989928327772976, i64 4896870906776599327, i64 4879282129296054996, i64 4896282347454579929, i64 4878644244720173428, i64 4895751301487612512, i64 4878069438811375728, i64 4895131620809682168, i64 4877551537115839670, i64 4894267279993570553, i64 4876771530017282064, i64 4893487690345352742, i64 4875930966561693655, i64 4892784628550977395, i64 4875173893886076574, i64 4892150660565944367, i64 4874492102319200019, i64 4891579066711340753, i64 4873878181071556576, i64 4891063773795650538, i64 4873325441331616529, i64 4890289391898303461, i64 4872760896550490796, i64 4889452139105059464, i64 4871865103488233625, i64 4888697633579504825, i64 4871058877713553864, i64 4888017781161626114, i64 4870333352269020362, i64 4887405271036987040, i64 4869680529033242382, i64 4886853500759650412, i64 4869093194487799458, i64 4886307421041930376, i64 4868564843560990505, i64 4885412226183773584, i64 4867788024378004353, i64 4884606102218742963, i64 4866933218926178987, i64 4883880276260688092, i64 4866164539655265443, i64 4883226830460060886, i64 4865473393268697244, i64 4882638619571569201, i64 4864852035260308143, i64 4882109196379671471, i64 4864293486947192476, i64 4881363492413605440, i64 4863695323490156774, i64 4880506036083562899, i64 4862792985199053744, i64 4879734562314855920, i64 4861982156354683684, i64 4879040534723087219, i64 4861253645581357452, i64 4878416255717334279, i64 4860599175567095707, i64 4877854784955654408, i64 4860011293091677995, i64 4877301334839116913, i64 4859483287816924238, i64 4876393319378072058, i64 4858634240057703876, i64 4875576960852199963, i64 4857782700732790760, i64 4874843097755266288, i64 4857018172700283326, i64 4874183475053176234, i64 4856331848827746106, i64 4873590655432847524, i64 4855715804756075149, i64 4873057939146340589, i64 4855162911304772341, i64 4872263786439502324, i64 4854453112651820254, i64 4871403759452661018, i64 4853562740174901524, i64 4870631212675406887, i64 4852763932280387503, i64 4869937333382792922, i64 4852047360079333765, i64 4869314187821096485, i64 4851404636031198856, i64 4868754634440875954, i64 4850828219895468975, i64 4868113294020564256, i64 4850245869288625355, i64 4867211276705336640, i64 4849318974920882487, i64 4866401610123751553, i64 4848488009826281265, i64 4865674928801408562, i64 4847743136700972961, i64 4865022807741618280, i64 4847075517504652370, i64 4864437668938216264, i64 4846477212945915651, i64 4863912697084084576, i64 4845941091976385176, i64 4862995929601215400, i64 4845048301564082678, i64 4862151118519670276, i64 4844187675067238987, i64 4861393455535172056, i64 4843416778425863411, i64 4860714034497157397, i64 4842726340593791232, i64 4860104850672099043, i64 4842108039531026143, i64 4859558710414842345, i64 4841554405991892461, i64 4858754301664296818, i64 4840747874518273961, i64 4857876724715407959, i64 4839860436268677308, i64 4857090257898248378, i64 4839066105289653273, i64 4856385529035965935, i64 4838355199839820143, i64 4855754120900452454, i64 4837719035717251799, i64 4855188474862728765, i64 4837149824450106241, i64 4854483210027016127, i64 4836415163757489613, i64 4853575633438209278, i64 4835504090975291711, i64 4852762882928356703, i64 4834689202180503288, i64 4852035140522388217, i64 4833960431980592995, i64 4851383595275846110, i64 4833308758795228907, i64 4850800340978921730, i64 4832726097616579098, i64 4850179769618837611, i64 4832048007194452677, i64 4849245323889428673, i64 4831116771744053234, i64 4848409130248738104, i64 4830284458720316390, i64 4847660950222957038, i64 4829540650683787423, i64 4846991602435148364, i64 4828876017488356735, i64 4846392854498520569, i64 4828282203838049354, i64 4845841452663608772, i64 4827644656183336804, i64 4844883601902681589, i64 4826696985540812000, i64 4844027097742934236, i64 4825850603317110109, i64 4843261311458783135, i64 4825094775927251344, i64 4842576718905657010, i64 4824419897253637037, i64 4841964786800692557, i64 4823817371285573084, i64 4841417870598095934, i64 4823203812808791000, i64 4840488646154295265, i64 4822243645639125730, i64 4839615221718478396, i64 4821386730382301630, i64 4838834884462442597, i64 4820622057156360533, i64 4838137799309474788, i64 4819939779923791433, i64 4837515161038588887, i64 4819331094558152646, i64 4836959087436689498, i64 4818724657849838112, i64 4836059047066323550, i64 4817756095068737359, i64 4835172310374526056, i64 4816892319898626316, i64 4834380665108317742, i64 4816122089524343417, i64 4833674000970503068, i64 4815435357100968349, i64 4833043273162392055, i64 4814823145647584087, i64 4832480391110379182, i64 4814206868576453294, i64 4831593837240731795, i64 4813234120906445830, i64 4830697569572238706, i64 4812367248747632831, i64 4829898006655234473, i64 4811594822724348297, i64 4829184802185111546, i64 4810906636896372459, i64 4828548707203057784, i64 4810293578931984163, i64 4827981454748312526, i64 4809650625838386753, i64 4827092512506202605, i64 4808677958974819747, i64 4826190620128966166, i64 4807811793451839766, i64 4825386633843260375, i64 4807040562143921923, i64 4824670013602711544, i64 4806353943809944419, i64 4824031344352939259, i64 4805742730045143147, i64 4823462217011503522, i64 4805056610228621965, i64 4822555042937447920, i64 4804088288803872370, i64 4821651506109730913, i64 4803226624246262885, i64 4820846648915123929, i64 4802459962305005417, i64 4820129782369178314, i64 4801777911752086175, i64 4819491365566176027, i64 4801171208654541069, i64 4818922883435587110, i64 4800425987435261255, i64 4817981873510341676, i64 4799466219006217911, i64 4817080693862554086, i64 4798612790657048943, i64 4816278529378114679, i64 4797854012786499248, i64 4815564588906373099, i64 4797179470417280113, i64 4814929247599281926, i64 4796579885365333108, i64 4814363921935050697, i64 4795760383222697745, i64 4813373914372823060, i64 4794813263505855949, i64 4812479061827146185, i64 4793971699021135930, i64 4811683117574953236, i64 4793224017052793243, i64 4810975236426298945, i64 4792559825419199228, i64 4810345752613043836, i64 4791969873143680960, i64 4809727703181139828, i64 4791061848792960404, i64 4808732521028944014, i64 4790131309333346254, i64 4807847881428308796, i64 4789305082620276719, i64 4807061602382058212, i64 4788571564821648558, i64 4806362833499837038, i64 4787920432780843129, i64 4805741911652764448, i64 4787342503813703675, i64 4805039661877683478, i64 4786332817559205415, i64 4804059465039188948, i64 4785422576945306156, i64 4803188789635005519, i64 4784614965316280575, i64 4802415493591093491, i64 4783898498790475293, i64 4801728770208889856, i64 4783262968534398533, i64 4801119002507393766, i64 4782575796376494402, i64 4800318063860943295, i64 4781576054604932130, i64 4799356896122381518, i64 4780689574234742862, i64 4798503754012993694, i64 4779903619754027892, i64 4797746589745459504, i64 4779206876694532317, i64 4797074688599040222, i64 4778589294318017605, i64 4796478522612134917, i64 4777764686513685689, i64 4795565637248030900, i64 4776794600295929363, i64 4794627296792338499, i64 4775935045563285741, i64 4793795031313776898, i64 4775173521338355224, i64 4793056940389333780, i64 4774498929788493765, i64 4792402448310436718, i64 4773901419955966709, i64 4791814312072879245, i64 4772928892493810403, i64 4790785435950140139, i64 4771991709650735755, i64 4789873430866785624, i64 4771161917261498736, i64 4789065120817570648, i64 4770427299285792713, i64 4788348803836214571, i64 4769777018920464106, i64 4787714088391755410, i64 4769090922757794433, i64 4786977091697229938, i64 4768072214621445460, i64 4785980777417151115, i64 4767170789155538291, i64 4785098287339802974, i64 4766373241105960591, i64 4784316713776965419, i64 4765667686099883660, i64 4783624601671628314, i64 4765043589402978241, i64 4783011786391541186, i64 4764174821857386369, i64 4782115694713617801, i64 4763198563306640847, i64 4781155176659965412, i64 4762335332729557383, i64 4780305021207441216, i64 4761572137290862423, i64 4779552640387131267, i64 4760897466819026173, i64 4778886871267588987, i64 4760297445626877778, i64 4778276427100900492, i64 4759243363303620512, i64 4777234193215752190, i64 4758311887827284722, i64 4776312278377493300, i64 4757488858508295921, i64 4775496892876874566, i64 4756761738368952337, i64 4774775815736092955, i64 4756119429340085728, i64 4774138217603418251, i64 4755303010160039221, i64 4773333401960627551, i64 4754300957172319297, i64 4772336741229455236, i64 4753416107491154116, i64 4771455789007117181, i64 4752634848018240035, i64 4770677207772805662, i64 4751945135545375491, i64 4769989186165430419, i64 4751336317032960953, i64 4769381265659528454, i64 4750300333742325243, i64 4768376368162761137, i64 4749351918897829170, i64 4767427499875010372, i64 4748515046833641750, i64 4766589410447322864, i64 4747776689173560532, i64 4765849257683535206, i64 4747125328573840485, i64 4765195677400500750, i64 4746307562223539259, i64 4764428823403039816, i64 4745294113362490500, i64 4763409941575085537, i64 4744400401551934943, i64 4762510565935735974, i64 4743612376287054827, i64 4761716777074189549, i64 4742917624340774090, i64 4761016265268111846, i64 4742305180334682222, i64 4760398145694656309, i64 4741240310511647704, i64 4759400783261074600, i64 4740288806605359994, i64 4758438603305156711, i64 4739450335404629537, i64 4757589905491427369, i64 4738711559519060764, i64 4756841397496939765, i64 4738060704500267818, i64 4756181332982151290, i64 4737187945960330270, i64 4755397459657388119, i64 4736177999606086599, i64 4754371250189891567, i64 4735288571578206860, i64 4753466631175827039, i64 4734505375864220466, i64 4752669294038692398, i64 4733815808372384086, i64 4751966602280919456, i64 4733134292221712763, i64 4751347397481627035, i64 4732065580216748957, i64 4750306048401671584, i64 4731124973396576150, i64 4749344783727063726, i64 4730297217000931313, i64 4748498039580056634, i64 4729568860580823969, i64 4747752264247964551, i64 4728928046056844623, i64 4747095498619608446, i64 4727949032255885555, i64 4746240373432687256, i64 4726957332770668693, i64 4745222051749059453, i64 4726085146110941910, i64 4744325599479695182, i64 4725318163040666951, i64 4743536528730415638, i64 4724643776177270931, i64 4742842062211492107, i64 4723825748808027550, i64 4742171457722186701, i64 4722783367286242008, i64 4741096003739611824, i64 4721867165811656694, i64 4740149838499219100, i64 4721061968613801057, i64 4739317521539921722, i64 4720354413116809853, i64 4738585443976120140, i64 4719693060030358984, i64 4737941612730518851, i64 4718600744842531724, i64 4736964112017805611, i64 4717641239968974116, i64 4735968542134525869, i64 4716798500403823138, i64 4735093303449982196, i64 4716058406940142575, i64 4734323946535764422, i64 4715408536565235990, i64 4733647745517556814, i64 4714407110231586317, i64 4732823779404615208, i64 4713405317133184894, i64 4731779440286429489, i64 4712525972404351932, i64 4730861891177439809, i64 4711754203493627048, i64 4730055837997785540, i64 4711076932647728377, i64 4729347819377283851, i64 4710200113254560243, i64 4728672368297115697, i64 4709157355237003210, i64 4727580232944968083, i64 4708242611178541352, i64 4726621280053890957, i64 4707440263421414975, i64 4725779371950750021, i64 4706736587525641750, i64 4725040313621117685, i64 4705977437920086441, i64 4724391620409270524, i64 4704895347151726565, i64 4723368617502116109, i64 4703946678211399677, i64 4722369468041884193, i64 4703115081701644308, i64 4721492808566300759, i64 4702386199039218062, i64 4720723717054919235, i64 4701736832227723920, i64 4720049077627522441, i64 4700617346662587522, i64 4719142317254758624, i64 4699636492547669686, i64 4718104480706125018, i64 4698777207361420409, i64 4717194436460451417, i64 4698024515505094966, i64 4716396547103933561, i64 4697365274677674132, i64 4715697076522945642, i64 4696321494398872082, i64 4714899110615488945, i64 4695310453307598144, i64 4713824396713008777, i64 4694425263013081546, i64 4712882594937352830, i64 4693650352654405465, i64 4712057369202469914, i64 4692972065995141324, i64 4711334378616907112, i64 4692006043239394734, i64 4710636860514664993, i64 4690967061661796491, i64 4709527373404014220, i64 4690057963846249813, i64 4708555696216097506, i64 4689262610033301649, i64 4707704816097604644, i64 4688566853798630934, i64 4706959807354364770, i64 4687669382710214600, i64 4706307577028359165, i64 4686604941845189303, i64 4705211671970930664, i64 4685674135710890314, i64 4704212247227719621, i64 4684860286549404310, i64 4703337606706176477, i64 4684148785426155670, i64 4702572264404130255, i64 4683310061899505492, i64 4701902644320554243, i64 4682222860799100616, i64 4700875681754408861, i64 4681272731936281238, i64 4699850870565897949, i64 4680442494857671622, i64 4698954564162915990, i64 4679717109599552421, i64 4698170745192447516, i64 4678926810434364439, i64 4697485380585632726, i64 4677819746049873512, i64 4696517943192453838, i64 4676852848549409899, i64 4695470324181384951, i64 4676008474296914819, i64 4694554632705013087, i64 4675271187405678337, i64 4693754353363341232, i64 4674518557095808215, i64 4693055025752576917, i64 4673394701461774968, i64 4692137168962409379, i64 4672413737583555985, i64 4691069519426972761, i64 4671557602113359069, i64 4690136893054816261, i64 4670810501743665511, i64 4689322313874994904, i64 4670084445690656030, i64 4688610927477286142, i64 4668947020540713395, i64 4687732262888552987, i64 4667954818203134003, i64 4686647537086658969, i64 4667089402739712306, i64 4685700575987440109, i64 4666334665042917224, i64 4684873984464722150, i64 4665623847851471894, i64 4684152550813652730, i64 4664476197012599328, i64 4683302336227100196, i64 4663475685413416748, i64 4682203641059070729, i64 4662603554936402353, i64 4681245073803325508, i64 4661843425090754340, i64 4680408865245408025, i64 4661136372496963351, i64 4679679486220364721, i64 4659981932454844724, i64 4678846720990328942, i64 4658976116172491327, i64 4677737289410320505, i64 4658099896645013680, i64 4676769949466481541, i64 4657336668847164134, i64 4675926606232907510, i64 4656621871753641824, i64 4675191455735843472, i64 4655464140820118231, i64 4674364980030470550, i64 4654456072776448330, i64 4673248142564195189, i64 4653578427451371111, i64 4672274943216231484, i64 4652814424165957400, i64 4671427012645879220, i64 4652080443213345047, i64 4670688317191106544, i64 4650922949756451821, i64 4669856913670471742, i64 4649915703445950710, i64 4668736068456568290, i64 4649039308605916896, i64 4667759976512569094, i64 4648276859385685577, i64 4666910047865810932, i64 4647512428478428125, i64 4666170066371255028, i64 4646358698695383545, i64 4665322562740963023, i64 4645355340101433767, i64 4664201144544612377, i64 4644482860600655870, i64 4663225153231317036, i64 4643724280798717705, i64 4662375833994325306, i64 4642918408024956938, i64 4661636837079624471, i64 4641771933748190403, i64 4660762207958832356, i64 4640775493373647972, i64 4659643656628060013, i64 4639909558353599313, i64 4658670758083651572, i64 4639157128051703692, i64 4657824649995903407, i64 4638299192491952432, i64 4657088899103233882, i64 4637163399517556578, i64 4656176365660631737, i64 4636176844954456819, i64 4655064094507600874, i64 4635320024101918838, i64 4654097252293625150, i64 4634575967574039040, i64 4653256927465537074, i64 4633655810579529594, i64 4652526654122799858, i64 4632534027996413247, i64 4651565779981511198, i64 4631560237448168590, i64 4650463144572656392, i64 4630715018152569699, i64 4649505266625466854, i64 4629981484171727856, i64 4648673244111115120, i64 4628989493808639871, i64 4647950629654033717, i64 4627884924785450176, i64 4646931411645365602, i64 4626926661934733365, i64 4645841679475409744, i64 4626095427682691021, i64 4644895591908086004, i64 4625374470961132449, i64 4644074315088194722, i64 4624301658458212079, i64 4643361471148028712, i64 4623217352914361929, i64 4642274423602362138, i64 4622277243501536199, i64 4641200745108340980, i64 4621462253820502612, i64 4640269167255845947, i64 4620755817849536967, i64 4639460982368921789, i64 4619593885050167987, i64 4638759932416170916, i64 4618532714597881169, i64 4637596163814108589, i64 4617613225039110189, i64 4636541545157018542, i64 4616816597269725675, i64 4635627066230945644, i64 4616063379538099009, i64 4634834202366079812, i64 4614867895797711687, i64 4634089712592128353, i64 4613832531294942329, i64 4632898145542752971, i64 4612935949626945394, i64 4631865423547117226, i64 4612159642765986639, i64 4630970481232455101, i64 4611289097793170582, i64 4630195032066563953, i64 4610125530466416930, i64 4629345990582746375, i64 4609118422467063888, i64 4628182025546867315, i64 4608246841857995420, i64 4627173845143394778, i64 4607492642671667486, i64 4626300706429220635, i64 4606497773299878646, i64 4625544613955186368, i64 4605368721120267102, i64 4624583098267563323, i64 4604392083449691662, i64 4623449580622962273, i64 4603547388464062364, i64 4622468375087764527, i64 4602816900025923780, i64 4621619119577754059, i64 4601691688842147380, i64 4620884160029026446, i64 4600599466235599729, i64 4619803166620481234, i64 4599655262857577138, i64 4618702682956143532, i64 4598839118608826077, i64 4617750657183047959, i64 4598092283192769557, i64 4616927163081376130, i64 4596873179553063414, i64 4616214935214183631, i64 4595819804664893995, i64 4615008412919105785, i64 4594909739942355861, i64 4613943274756350812, i64 4594123584211000200, i64 4613022391738189575, i64 4593217479391925724, i64 4612226324653101905, i64 4592044603258538511, i64 4611390462573906142, i64 4591031789919889264, i64 4610201111348298962, i64 4590157302307725367, i64 4609173342657772394, i64 4589402340647330388, i64 4608285313289691618, i64 4588333274816306406, i64 4607518117942109869, i64 4587208311600607129, i64 4606528373414338288, i64 4586237465220336783, i64 4605383563762659432, i64 4585399724365665184, i64 4604394892348713382, i64 4584676928164524307, i64 4603541168603108690, i64 4583442342185156832, i64 4602804063472466710, i64 4582366622423599185, i64 4601656630781247339, i64 4581438839721762481, i64 4600558071126214689, i64 4580638746886907761, i64 4599609923878058170, i64 4579736887567314413, i64 4598791695338247338, i64 4578547291402599959, i64 4597996120902059692, i64 4577521793860679946, i64 4596777854228180744, i64 4576637866294204903, i64 4595726906114149118, i64 4575876057961484952, i64 4594820408053452257, i64 4574781933771807717, i64 4594038601733114928, i64 4573650641673736045, i64 4593057216394697948, i64 4572676000504065989, i64 4591894606938986813, i64 4571836421175439433, i64 4590892287317672266, i64 4571072929502810702, i64 4590028264306641097, i64 4569827363743949087, i64 4589283547625745135, i64 4568754796316499873, i64 4588115463616921154, i64 4567831311981414943, i64 4587009367894867274, i64 4567036285768305134, i64 4586056355440734935, i64 4566053842834397769, i64 4585235340354460096, i64 4564875813154350126, i64 4584391833518951085, i64 4563862020579843500, i64 4583173611763274981, i64 4562989674195368059, i64 4582124506637932858, i64 4562239130794098946, i64 4581221151818002352, i64 4561040501932457870, i64 4580443393931342067, i64 4559929741358873450, i64 4579386884810766215, i64 4558974422700853032, i64 4578234263521715026, i64 4558152893414966692, i64 4577242260950917262, i64 4557250183009674374, i64 4576388599519194343, i64 4556035554184483937, i64 4575650932216708050, i64 4554991412746569015, i64 4574387064880818318, i64 4554093938354098470, i64 4573299852319308946, i64 4553322623338615767, i64 4572364717695868104, i64 4552180405114234741, i64 4571560487237560987, i64 4551041409162635516, i64 4570584220795990728, i64 4550062882060097726, i64 4569394997557657820, i64 4549222318568026246, i64 4568372623354845843, i64 4548365086716394289, i64 4567493796976098756, i64 4547125043541027155, i64 4566738456091828834, i64 4546060225429826406, i64 4565528636227721938, i64 4545145983704696420, i64 4564413076247677225, i64 4544361121107560018, i64 4563454618535178310, i64 4543242797514329421, i64 4562631239707632063, i64 4542086339748266624, i64 4561701556280299505, i64 4541093901873402743, i64 4560486704496809211, i64 4540242324978981914, i64 4559443450247787761, i64 4539394986112739810, i64 4558547665344607045, i64 4538141452736857313, i64 4557778598610840564, i64 4537066232575492681, i64 4556593987990506456, i64 4536144073419302875, i64 4555460662309688049, i64 4535353283084970429, i64 4554488015534021996, i64 4534225634888667092, i64 4553653369593725988, i64 4533063000283019633, i64 4552735241852106119, i64 4532066357162374047, i64 4551506482921218779, i64 4531212110899962302, i64 4550452450521475839, i64 4530338786279587707, i64 4549548409893646664, i64 4529084083474148164, i64 4548773111917785031, i64 4528009041945707336, i64 4547580984711838992, i64 4527088048372964893, i64 4546440996935236235, i64 4526299124780370615, i64 4545463712363788992, i64 4525129204277699683, i64 4544626012187993021, i64 4523971859953221641, i64 4543684071635952390, i64 4522980841163536402, i64 4542453536891733608, i64 4522132348332324386, i64 4541399146121394314, i64 4521197918899326080, i64 4540495796163554103, i64 4519954401951890815, i64 4539721945463349842, i64 4518890114466828060, i64 4538489797705560771, i64 4517979335089804329, i64 4537354448044503278, i64 4517200017628301790, i64 4536382213734279259, i64 4515956110269306327, i64 4535549762173492935, i64 4514815367304487632, i64 4534549342375953768, i64 4513839636589627165, i64 4533329214958167339, i64 4513005150427134082, i64 4532284895482312989, i64 4511976272758208527, i64 4531391161461629803, i64 4510755967675843455, i64 4530626393079325865, i64 4509712693297913310, i64 4529322896656715693, i64 4508820876498255893, i64 4528203347009551324, i64 4508014017890663830, i64 4527245700653093022, i64 4506711148688306449, i64 4526426644480592299, i64 4505597831577135641, i64 4525334789907708132, i64 4504646605087588253, i64 4524136944120809010, i64 4503833969244576982, i64 4523112827038910202, i64 4502680005780417566, i64 4522237349444837607, i64 4501494261594875202, i64 4521364033579825547, i64 4500481647426008104, i64 4520084928981314499, i64 4499616990186246608, i64 4518991874864559488, i64 4498661495143262730, i64 4518057924071626183, i64 4497401076261275194, i64 4517260015641822238, i64 4496325216062711465, i64 4516046407361595963, i64 4495407002363998767, i64 4514882063255935997, i64 4494623430775911360, i64 4513887687352698121, i64 4493317251273391343, i64 4513038572255051229, i64 4492176425144465971, i64 4512020347075107855, i64 4491203240314842860, i64 4510782495169205247, i64 4490373163684045514, i64 4509725860514705269, i64 4489241646334032672, i64 4508824024154649090, i64 4488034291695132076, i64 4508005577704027440, i64 4487004857310411750, i64 4506692157442417109, i64 4486127231329351554, i64 4505571567303448346, i64 4485173007600349166, i64 4504615614143355360, i64 4483897737939107285, i64 4503800209533527851, i64 4482810927534766332, i64 4502609922016139379, i64 4481884838945854197, i64 4501423835263710554, i64 4481095800318556072, i64 4500412504533169844, i64 4479765594700293108, i64 4499550287324017044, i64 4478620449171542204, i64 4498534548378021821, i64 4477645128629017301, i64 4497281598058049184, i64 4476814549435671631, i64 4496213779318161762, i64 4475636605894939479, i64 4495303849366343024, i64 4474432348412948339, i64 4494464687272237493, i64 4473407182901148126, i64 4493143698855844185, i64 4472534582099501856, i64 4492018447252128929, i64 4471509434122456971, i64 4491060046802473920, i64 4470245484390943936, i64 4490243857093855052, i64 4469170029050658862, i64 4489008894810651664, i64 4468255069394328438, i64 4487825445843358060, i64 4467382667343204182, i64 4486817971824815833, i64 4466058655018093350, i64 4485960411038144271, i64 4464932644231912291, i64 4484875862629643294, i64 4463975141416729924, i64 4483633646266552204, i64 4463161028670372492, i64 4482576661998200142, i64 4461870603712326663, i64 4481677399377305223, i64 4460693961301151791, i64 4480743205223831395, i64 4459693892333397588, i64 4479441859179167691, i64 4458844002976777360, i64 4478335105337971336, i64 4457680026966330377, i64 4477393961460448833, i64 4456452875352642500, i64 4476593744509193046, i64 4455410386018721786, i64 4475248841416138570, i64 4454524879008342411, i64 4474092246119468179, i64 4453485582708789195, i64 4473109201169918581, i64 4452208250907826737, i64 4472273767307534911, i64 4451123662230107046, i64 4471053303523477713, i64 4450202845090906387, i64 4469846991382831094, i64 4449285899391436809, i64 4468822192531477797, i64 4447958929699226754, i64 4467951701489354796, i64 4446832743269746145, i64 4466853918077761894, i64 4445877076330901224, i64 4465598218085764796, i64 4445066208968888676, i64 4464531985857938341, i64 4443703738980219855, i64 4463626744336837910, i64 4442536641072787573, i64 4462649328725275076, i64 4441546740656692531, i64 4461344780845842316, i64 4440707236773585449, i64 4460237614374844000, i64 4439441500281872366, i64 4459298080213990262, i64 4438234364653641167, i64 4458438159861847465, i64 4437211005145725580, i64 4457085520203363322, i64 4436343549304703420, i64 4455938101268057176, i64 4435171038528952616, i64 4454964886572903304, i64 4433924927834751950, i64 4454139529165928125, i64 4432869042572405208, i64 4452819271325884247, i64 4431974453025347395, i64 4451632467084945768, i64 4430891191419241939, i64 4450626340242003761, i64 4429607357175692073, i64 4449773489300267644, i64 4428520038106405187, i64 4448544873066522896, i64 4427599266242386378, i64 4447319737413497551, i64 4426600818963505688, i64 4446281623931225165, i64 4425280700015022090, i64 4445402090733005919, i64 4424163196086807956, i64 4444261177280199062, i64 4423217324808602436, i64 4442998950757261371, i64 4422298813078133699, i64 4441929932883850040, i64 4420944032533186021, i64 4441024660264433166, i64 4419797746794225032, i64 4439967058295283656, i64 4418827987806458737, i64 4438669166518674650, i64 4417984107118649353, i64 4437570481600527928, i64 4416596467741840430, i64 4436640542303714255, i64 4415422953140930186, i64 4435661422432851956, i64 4414430643145952670, i64 4434329472999214993, i64 4413591660031607984, i64 4433202510557779675, i64 4412237163303563778, i64 4432249104506863439, i64 4411038117198120490, i64 4431343217462008426, i64 4410024713008508335, i64 4429978995322019780, i64 4409168313332937804, i64 4428825292841240421, i64 4407865329085911275, i64 4427849743326105587, i64 4406642586479751377, i64 4427011441877681818, i64 4405609659069407309, i64 4425616903181238431, i64 4404737186974825699, i64 4424438140613040235, i64 4403480234355307310, i64 4423441889402830597, i64 4402235759903994670, i64 4422599993982393659, i64 4401184987432872431, i64 4421242418322478597, i64 4400297875597120971, i64 4420040411333118223, i64 4399081214519308824, i64 4419025012736947912, i64 4397817093356242175, i64 4418167357220975949, i64 4396750253216600455, i64 4416854821660313705, i64 4395850015966705159, i64 4415631513655935388, i64 4394667677330305471, i64 4414598627567120017, i64 4393386104781696360, i64 4413726628939926185, i64 4392305064726258872, i64 4412453459941939523, i64 4391393290394242944, i64 4411210912926991448, i64 4390239108469693379, i64 4410162296899090234, i64 4388942378740903139, i64 4409277452479877222, i64 4387849087165172473, i64 4408037751870677009, i64 4386927429749272174, i64 4406778136207733765, i64 4385795076438886887, i64 4405715636623092870, i64 4384485570368015233, i64 4404819516457983786, i64 4383382045830058358, i64 4403607193609062715, i64 4382452216033607548, i64 4402332776762820479, i64 4381335236692107365, i64 4401258319166093777, i64 4380015408679030196, i64 4400352557734704000, i64 4378903728750137452, i64 4399161363588662784, i64 4377967484478635178, i64 4397874497950188317, i64 4376859334955574650, i64 4396790076630287397, i64 4375531699185606087, i64 4395876363939194082, i64 4374413988734151881, i64 4394699926562380491, i64 4373473125138269445, i64 4393403036461879062, i64 4372367209688366309, i64 4392310703375784256, i64 4371034325779182164, i64 4391390775519410075, i64 4369912744797631440, i64 4390222636844763076, i64 4368969083956025965, i64 4388918204871976693, i64 4367858793651624265, i64 4387820058012655090, i64 4366523251859867920, i64 4386895687289228900, i64 4365399982951046269, i64 4385729340696490925, i64 4364455363291721252, i64 4384419893457160625, i64 4363334114564782319, i64 4383318064775333667, i64 4361998520694744454, i64 4382391049451599912, i64 4360875756338114369, i64 4381219977820670770, i64 4359932021900619325, i64 4379908071265133779, i64 4358793294839854511, i64 4378804714260686358, i64 4357460255000671238, i64 4377876868083802867, i64 4356340184722351709, i64 4376694581950558068, i64 4355399174365280825, i64 4375382786416369676, i64 4354236550397347844, i64 4374280063519689132, i64 4352908655757226700, i64 4373353205078196426, i64 4351793453328805895, i64 4372153280520693729, i64 4350856989987801612, i64 4370844165635062865, i64 4349664188579825091, i64 4369744235501461473, i64 4348344000265848901, i64 4368820177539265420, i64 4347235811056646889, i64 4367596293425940747, i64 4346305691157425537, i64 4366292413015679380, i64 4345076605191326888, i64 4365197417857237356, i64 4343766639481400948, i64 4364277956645185053, i64 4342667568086748359, i64 4363023930885328141, i64 4341745551215553370, i64 4361727808041904083, i64 4340474280702555698, i64 4360639861120551403, i64 4339176994652088907, i64 4359726765989386236, i64 4338089092916434556, i64 4358436590439735409, i64 4337176891846825379, i64 4357150702884888130, i64 4335857775672726602, i64 4356071876288331537, i64 4334575553312741474, i64 4355166879424601649, i64 4333500808861052973, i64 4353834753124069538, i64 4332600080031115658, i64 4352561519017336666, i64 4331227725449114796, i64 4351493831835572277, i64 4329962864684767498, i64 4350598618438476061, i64 4328903190068836799, i64 4349218978865498205, i64 4328015524596839121, i64 4347960743188978791, i64 4326584834214409317, i64 4346906150203678555, i64 4325339534543502809, i64 4346022349095924268, i64 4324296757101532106, i64 4344589901169321962, i64 4323391702566017779, i64 4343348922817176802, i64 4321929868459870821, i64 4342309303809293983, i64 4320706219620023777, i64 4341406916392669544, i64 4319682072138388095, i64 4339948221163028583, i64 4318697966000289151, i64 4338726660853724138, i64 4317263649968866980, i64 4337703810626349864, i64 4316063621609745305, i64 4336728461720509646, i64 4315059733865268109, i64 4335294701076830336, i64 4313991618413415269, i64 4334094610195135419, i64 4312587048400527808, i64 4333090229399098645, i64 4311412480864161972, i64 4332036649275898702, i64 4310430372113777839, i64 4330630157245420554, i64 4309273730699541661, i64 4329453467708852757, i64 4307900973566959298, i64 4328469154547953223, i64 4306753569844883688, i64 4327332492361945892, i64 4305794642317389042, i64 4325955452720707795, i64 4304545414444233748, i64 4324803967951709004, i64 4303206367499640823, i64 4323841210832986711, i64 4302087686420637298, i64 4322617053012503253, i64 4301153219852547018, i64 4321271489588831068, i64 4299807812376927381, i64 4320146876659653873, i64 4298504196401303230, i64 4319207047841921779, i64 4297415647088153573, i64 4317891432666091478, i64 4296506794332693778, i64 4316579201086794562, i64 4295062088772533933, i64 4315482984089141181, i64 4293795442578763034, i64 4314567334370341466, i64 4292738280196860165, i64 4313156762687069063, i64 4291781682960001982, i64 4311879543614581531, i64 4290309419913877199, i64 4310813098290697911, i64 4289081096449924291, i64 4309900662129819693, i64 4288056419255103522, i64 4308414194847342256, i64 4286976614210980133, i64 4307173488737639948, i64 4285550984722719265, i64 4306138038394075892, i64 4284362148714530670, i64 4305106742780711209, i64 4283370896392296612, i64 4303664891879475963, i64 4282165735120427977, i64 4302462015272230858, i64 4280787955661676491, i64 4301458627982075426, i64 4279639582773356856, i64 4300305852928491259, i64 4278682536047024127, i64 4298910018207990822, i64 4277350427386051403, i64 4297746101542373866, i64 4276021490002474089, i64 4296775688626699382, i64 4274914367474493057, i64 4295499371786254853, i64 4273992148945839547, i64 4294150730960035349, i64 4272532047201341914, i64 4293026717892116373, i64 4271252721547900337, i64 4292090033656837946, i64 4270187450258339258, i64 4290688662157162361, i64 4269188606115530311, i64 4289388171349646724, i64 4267711915877601456, i64 4288304819530718638, i64 4266482752885679336, i64 4287378079185901755, i64 4265459750765041655, i64 4285875060589461888, i64 4264308023263421320, i64 4284623456521623556, i64 4262891311160533010, i64 4283581339781227672, i64 4261712648242478386, i64 4282504261780437616, i64 4260732154959537929, i64 4281059868147670931, i64 4259427977377347397, i64 4279857671931810973, i64 4258071459313071958, i64 4278857183794965575, i64 4256943426995605949, i64 4277629679094420410, i64 4256005509820303073, i64 4276244341882356285, i64 4254549875229355482, i64 4275091864330538231, i64 4253253528023032248, i64 4274133222785849021, i64 4252176057888846897, i64 4272755780654994030, i64 4251163189019209273, i64 4271429687068399896, i64 4249675048284420788, i64 4270327035405255912, i64 4248438620180692278, i64 4269408130911488122, i64 4247411453987531590, i64 4267883948135508091, i64 4246222025158624828, i64 4266617050268520421, i64 4244804746102129178, i64 4265564136127302566, i64 4243627768557892860, i64 4264469493403282254, i64 4242650468396548639, i64 4263015487877356311, i64 4241287288756566256, i64 4261807513265383834, i64 4239940130828111537, i64 4260804061836397322, i64 4238821931406799382, i64 4259535967915715977, i64 4237893890753783832, i64 4258151624472846536, i64 4236360280367660707, i64 4257002087892125620, i64 4235082272785110711, i64 4256047648085109405, i64 4234021988983415341, i64 4254608933597537164, i64 4232901239272901158, i64 4253293495432627596, i64 4231442188272867383, i64 4252201711777756521, i64 4230232147158503159, i64 4251193286271036494, i64 4229228740988430245, i64 4249689662135995680, i64 4227913519740045151, i64 4248442146945638226, i64 4226534085499765593, i64 4247407245010954724, i64 4225390631756873430, i64 4246203203270567434, i64 4224442904906226461, i64 4244779313684475197, i64 4222938545381727153, i64 4243598530724620392, i64 4221636928093629528, i64 4242619467713362871, i64 4220558505815049245, i64 4241224677223223540, i64 4219457379577882284, i64 4239878934063840785, i64 4217977348309343802, i64 4238763501916176973, i64 4216751554589695643, i64 4237790907648144888, i64 4215736449795017767, i64 4236258848555774367, i64 4214422595595796575, i64 4234989453200775505, i64 4213030821312960402, i64 4233937818041347393, i64 4211878686623955879, i64 4232749737889399490, i64 4210925046129497142, i64 4231306719409336010, i64 4209405946078667464, i64 4230111684751985234, i64 4208099719546000569, i64 4229122138920890145, i64 4207018930608428682, i64 4227725645937052312, i64 4205887509723429310, i64 4226369154201014156, i64 4204408208473799728, i64 4225246326850332233, i64 4203184663402169426, i64 4224257604584537451, i64 4202172780387264790, i64 4222719538275251423, i64 4200813639630190405, i64 4221446881453935728, i64 4199430003391774089, i64 4220393963897843660, i64 4198286142478019138, i64 4219173052574772993, i64 4197326388855280909, i64 4217732162334648555, i64 4195763432831738252, i64 4216540496797897665, i64 4194471800198354996, i64 4215555069321220876, i64 4193404520507004289, i64 4214111322157073903, i64 4192194210779480447, i64 4212764111021715616, i64 4190737317726155820, i64 4211650467033419226, i64 4189533923655561712, i64 4210594366804584487, i64 4188540041145512077, i64 4209072984972220364, i64 4187090935172586716, i64 4207815828411255116, i64 4185735557385934981, i64 4206777135144750336, i64 4184616561466672004, i64 4205476041347731883, i64 4183541615149081900, i64 4204058441553724848, i64 4182016734915865807, i64 4202887616461263604, i64 4180758259221909646, i64 4201920726142345535, i64 4179719772577950862, i64 4200386241551394050, i64 4178385394176792413, i64 4199067930112088963, i64 4176971607007191046, i64 4197979642605221712, i64 4175805385415936465, i64 4196807854515504688, i64 4174843496090261959, i64 4195325113436586056, i64 4173263615549869428, i64 4194101536231816837, i64 4171955385518351136, i64 4193091948075255920, i64 4170876763949730904, i64 4191666800618471871, i64 4169641866327435556, i64 4190292630757036351, i64 4168175947151147686, i64 4189159203307266990, i64 4166967755110977072, i64 4188101260166049003, i64 4165972100062068997, i64 4186559663455440403, i64 4164473732848998252, i64 4185288607934679941, i64 4163121891535833595, i64 4184240743546174613, i64 4162008264917532287, i64 4182909915785319493, i64 4160855920256702421, i64 4181486090706996049, i64 4159345011167591836, i64 4180312713521416245, i64 4158100802620469584, i64 4179345849374795801, i64 4157076342603786084, i64 4177758045339726954, i64 4155643389390448777, i64 4176445568864117497, i64 4154254813461537996, i64 4175364483995895882, i64 4153111902433194243, i64 4174111355599258590, i64 4152023760446675568, i64 4172644907315679585, i64 4150475767565414799, i64 4171437439792234079, i64 4149202109915780575, i64 4170443337714360625, i64 4148154297733129537, i64 4168916742213976826, i64 4146769521653194989, i64 4167569603020368680, i64 4145351718728325718, i64 4166460917326463452, i64 4144185748231394171, i64 4165267522375760527, i64 4143142335467181308, i64 4163766210798908964, i64 4141565806691138288, i64 4162531096196425214, i64 4140269778185030423, i64 4161515103709386855, i64 4139204472629881827, i64 4160032866595458536, i64 4137849788257947322, i64 4158658421406444213, i64 4136410776239491176, i64 4157528232294602352, i64 4135228374616643787, i64 4156375555337359314, i64 4134209426440651584, i64 4154847746715056913, i64 4132613410726656274, i64 4153591910203073598, i64 4131302483096141517, i64 4152559757217351074, i64 4130225851161590148, i64 4151104243969098829, i64 4128882638351663276, i64 4149710328423499082, i64 4127430809937062086, i64 4148565111157678935, i64 4126238896295054094, i64 4147433413929593571, i64 4125223712151255441, i64 4145887941745870823, i64 4123617604165617790, i64 4144618674485757309, i64 4122299513761921042, i64 4143576376776650858, i64 4121217923817416699, i64 4142129476560722106, i64 4119867357346185230, i64 4140724271674487322, i64 4118411333524176881, i64 4139570768434525759, i64 4117216996538417862, i64 4138439937924189283, i64 4116184808128999102, i64 4136885950096213431, i64 4114578182696158494, i64 4135610782570653450, i64 4113260793805372855, i64 4134564536843968197, i64 4112180702818076629, i64 4133107984695518451, i64 4110804088126243207, i64 4131699873132266092, i64 4109352564909177583, i64 4130544974188165218, i64 4108162936600202826, i64 4129394881836040122, i64 4107093278093353838, i64 4127841678600786030, i64 4105495719295136344, i64 4126568246849983804, i64 4104186883653070401, i64 4125524320440260179, i64 4103114721775773732, i64 4124040024031898225, i64 4101693826847379611, i64 4122637440382397163, i64 4100255419771983918, i64 4121488060866164774, i64 4099077547992339876, i64 4120298922227497872, i64 4097950617280507925, i64 4118755789496522257, i64 4096371547279900208, i64 4117491698213238881, i64 4095078963960395620, i64 4116456316680294263, i64 4094021019917306573, i64 4114926677954843751, i64 4092538393496466928, i64 4113537957473458065, i64 4091121484518162610, i64 4112400913414299697, i64 4089962207941827699, i64 4111153637596307133, i64 4088759208343270984, i64 4109629680745381324, i64 4087207721018073972, i64 4108382367311513847, i64 4085938800853598130, i64 4107361603288443271, i64 4084901111522128312, i64 4105769825444979755, i64 4083340378430498638, i64 4104403055755150259, i64 4081952969736903333, i64 4103284943074306911, i64 4080818799039402288, i64 4101961461682539398, i64 4079522251641050893, i64 4100465444724460278, i64 4078006955913141204, i64 4099242048232367587, i64 4076768694418455498, i64 4098207768744395054, i64 4075756220892102915, i64 4096572085754827075, i64 4074103067087924081, i64 4095234965911685368, i64 4072752646070795860, i64 4094142045949719738, i64 4071649654732174204, i64 4092725612124381168, i64 4070243672769604031, i64 4091265806989016635, i64 4068772550115438852, i64 4090073046083301965, i64 4067571412534669852, i64 4088928734221981088, i64 4066431198925085831, i64 4087336742168149211, i64 4064830345929820010, i64 4086036453160969481, i64 4063523765096626351, i64 4084974548039436298, i64 4062457492865014234, i64 4083449997384782625, i64 4060928011063057929, i64 4082034047612304620, i64 4059508291111694317, i64 4080878110623366614, i64 4058350112714728733, i64 4079607848486373355, i64 4057067555490807665, i64 4078067647942611342, i64 4055526593371920026, i64 4076810738249274719, i64 4054269968372569460, i64 4075785138964878457, i64 4053245339913926022, i64 4074139105709572159, i64 4051580293490215060, i64 4072773908273078594, i64 4050218350886846657, i64 4071660358611757000, i64 4049108255028499970, i64 4070250299878079375, i64 4047671026073107235, i64 4068769118198543991, i64 4046196559979356403, i64 4067561407393349553, i64 4044995188201914460, i64 4066403130538784118, i64 4043800432337856466, i64 4064797880521324789, i64 4042205898831768752, i64 4063489488764610206, i64 4040907173705223466, i64 4062423187933978696, i64 4039849509461647653, i64 4060861717057514978, i64 4038247668429660028, i64 4059445811986127024, i64 4036845242492367875, i64 4058292314682930591, i64 4035703543880660703, i64 4056962152752913725, i64 4034323161467211628, i64 4055431587072995573, i64 4032810417247139226, i64 4054185136915842904, i64 4031579360711416515, i64 4053100708973042588, i64 4030433655819337420, i64 4051448019332295632, i64 4028803707089292622, i64 4050102609020546729, i64 4027477756324765678, i64 4049007480642090076, i64 4026399237230599958, i64 4047496303493647076, i64 4024826101949420677, i64 4046045675365928161, i64 4023399510316167577, i64 4044865336035111583, i64 4022239555503664245, i64 4043577617440923903, i64 4020878566625575832, i64 4042015265223209661, i64 4019345380706999719, i64 4040744485613359578, i64 4018099211032420935, i64 4039693115557018505, i64 4016962034538144214, i64 4038012287383954336, i64 4015316098911371881, i64 4036645644277583380, i64 4013978776383214951, i64 4035534593910756758, i64 4012892334595108528, i64 4034037624488495329, i64 4011312364485402581, i64 4032569504622963239, i64 4009878797411815573, i64 4031376394155079456, i64 4008714592903634606, i64 4030092127081833146, i64 4007334839678883512, i64 4028516732152645483, i64 4005799788890714038, i64 4027236911558410097, i64 4004553625563650277, i64 4026176607417479274, i64 4003384143812260469, i64 4024487960297256236, i64 4001742230004372140, i64 4023116639486820188, i64 4000409802678456993, i64 4022003150137539935, i64 3999328658304934697, i64 4020483785260361535, i64 3997706559733802300, i64 4019016040367885236, i64 3996283461204454063, i64 4017824693870425314, i64 3995129168130489357, i64 4016504760712653791, i64 3993693172154217927, i64 4014935541443838973, i64 3992174901200387452, i64 4013662297373264588, i64 3990943863476176092, i64 4012551392360449114, i64 3989702411671798381, i64 4010875530432227240, i64 3988084382035560561, i64 4009516257145324202, i64 3986772938766657377, i64 4008413900388294767, i64 3985710119225363683, i64 4006836351117286613, i64 3984012118580015722, i64 4005386833640815943, i64 3982616552099723534, i64 4004211721369492038, i64 3981485971548094041, i64 4002818298897392893, i64 3979958277401342353, i64 4001274247728033517, i64 3978474822234012384, i64 4000022957321708483, i64 3977273481052935367, i64 3998821616315956816, i64 3975922972994298957, i64 3997178677142937719, i64 3974347825609953055, i64 3995847737279105817, i64 3973072696696346331, i64 3994769679041346177, i64 3971906264070828355, i64 3993100252960925567, i64 3970235593426164394, i64 3991686152314500624, i64 3968883630765788080, i64 3990541154561589772, i64 3967789710826341428, i64 3989039056111886816, i64 3966138108794468112, i64 3987538252789414885, i64 3964706256646650847, i64 3986323497995352063, i64 3963548119544351299, i64 3984995113964878508, i64 3962055303997454226, i64 3983404045666543266, i64 3960540506677023761, i64 3982116702924081745, i64 3959315728932699727, i64 3980968397009813306, i64 3957987057873144561, i64 3979283491906631566, i64 3956386270109918594, i64 3977920725746738935, i64 3955092439350154963, i64 3976818643316293778, i64 3953933193351722711, i64 3975176503972408914, i64 3952243391202841960, i64 3973735483731051538, i64 3950878114962300335, i64 3972570544288174035, i64 3949775174186723056, i64 3971082943462698471, i64 3948111667454731251, i64 3969560853174272967, i64 3946672582384704106, i64 3968330827388692247, i64 3945510440681009186, i64 3967002618900132751, i64 3943990848010217152, i64 3965396667692080497, i64 3942475629464143930, i64 3964099348984308080, i64 3941252453737064854, i64 3962935283696006815, i64 3939880632250940690, i64 3961242716654285010, i64 3938287004213448618, i64 3959875929938097218, i64 3937001002648743328, i64 3958772353387184737, i64 3935780668593228019, i64 3957098743785887781, i64 3934106413915131496, i64 3955660354546385647, i64 3932755844176869037, i64 3954499390749552272, i64 3931666514102624386, i64 3952964445951710477, i64 3929933524408444677, i64 3951452369625828904, i64 3928516702034386628, i64 3950232378971710993, i64 3927374352933746144, i64 3948839472142334486, i64 3925767959573779589, i64 3947251683764851292, i64 3924283266531681940, i64 3945971076538269769, i64 3923086633273450438, i64 3944723422678410596, i64 3921609301027475176, i64 3943057966752774743, i64 3920055194392184999, i64 3941715211021023344, i64 3918803073768857073, i64 3940615848649537198, i64 3917457088039072131, i64 3938870849199232266, i64 3915832108747511533, i64 3937464478829327182, i64 3914523366436786404, i64 3936331162962333685, i64 3913310817681872113, i64 3934689922355576864, i64 3911613599320422672, i64 3933218545123718247, i64 3910247176859977675, i64 3932033279094850954, i64 3909147210891960004, i64 3930514738148964949, i64 3907399222802786690, i64 3928977043900959095, i64 3905974144539772224, i64 3927738810994405044, i64 3904827380857273223, i64 3926344809438617271, i64 3903188503434517515, i64 3924739578257711884, i64 3901703883409664720, i64 3923447435535195231, i64 3900509643756808981, i64 3922179610502445142, i64 3898980933788149301, i64 3920505720838969386, i64 3897435982513054959, i64 3919158805573848686, i64 3896193666971337895, i64 3918018577760782494, i64 3894775975762293445, i64 3916275014476187923, i64 3893170006847387170, i64 3914872550506794736, i64 3891879099049183725, i64 3913744593463677343, i64 3890573061785724016, i64 3912046973018789709, i64 3888905498375651805, i64 3910588276981849441, i64 3887565570553330456, i64 3909415524926916977, i64 3886371596232261244, i64 3907821082361338221, i64 3884641977204955729, i64 3906305569765464148, i64 3883252695040823397, i64 3905087585990475966, i64 3882136917919175395, i64 3903596801667250132, i64 3880378942930551243, i64 3902023992765930501, i64 3878940070172832093, i64 3900760425211537909, i64 3877784888366302313, i64 3899373564788402389, i64 3876115876142363774, i64 3897743090211624925, i64 3874627278952663720, i64 3896433675866129374, i64 3873432614054894167, i64 3895150781878435859, i64 3871852240089684694, i64 3893462387982128259, i64 3870313891087921814, i64 3892106957045519843, i64 3869079750200788676, i64 3890927841195961302, i64 3867587482498312422, i64 3889181395088782049, i64 3865999464471907006, i64 3887779874870092851, i64 3864725943054968641, i64 3886655294756495932, i64 3863321037533045374, i64 3884899605299953925, i64 3861683546778264864, i64 3883452023816594020, i64 3860370831197990925, i64 3882290910484880663, i64 3859052327897068250, i64 3880616498904992785, i64 3857365677161811996, i64 3879122988153638061, i64 3856014046916633319, i64 3877925474407594412, i64 3854780767058442867, i64 3876331544609573203, i64 3853045388057426687, i64 3874792343479344907, i64 3851655217656049609, i64 3873558647667132548, i64 3850505761592630570, i64 3872044201553870650, i64 3848722207067885747, i64 3870459658353985360, i64 3847293967539938559, i64 3869190086267660665, i64 3846150397701576459, i64 3867753921443788214, i64 3844395658930576314, i64 3866124496019559727, i64 3842929918950491704, i64 3864819442461293650, i64 3841756752766576084, i64 3863460150784284816, i64 3840065267552120945, i64 3861786416197319409, i64 3838562694159196632, i64 3860446366193705655, i64 3837360487153124767, i64 3859162333202747765, i64 3835730558099137159, i64 3857444976953381686, i64 3834191916998945001, i64 3856070506601036697, i64 3832961303009727686, i64 3854859911849321629, i64 3831391059132618743, i64 3853099736621792217, i64 3829817214567335796, i64 3851691513549448605, i64 3828558905530786382, i64 3850552331860163353, i64 3827046304772784947, i64 3848750255773667617, i64 3825438218950581530, i64 3847309039208131052, i64 3824153004328389738, i64 3846156562321577802, i64 3822695836880703916, i64 3844396099220411099, i64 3821054568957024872, i64 3842922739646074286, i64 3819743314808765936, i64 3841744991848342292, i64 3818339207242565999, i64 3840036838038445982, i64 3816665911848961419, i64 3838532276442515616, i64 3815329559544356979, i64 3837330028349089089, i64 3813975979742167598, i64 3835672051602462448, i64 3812271905061245978, i64 3834137318300637355, i64 3810911469632329571, i64 3832911411041969449, i64 3809605732506972581, i64 3831301329613829080, i64 3807872217895038962, i64 3829737542653849978, i64 3806488786030266671, i64 3828488886496500483, i64 3805228060013050286, i64 3826924274110588033, i64 3803466533175029300, i64 3825332637253839821, i64 3802061260859795046, i64 3824062209887255835, i64 3800842575134249717, i64 3822540501445335767, i64 3799054548858552792, i64 3820922301729499168, i64 3797628658668996993, i64 3819631146221568798, i64 3796448911121160496, i64 3818149644217293552, i64 3794635979585210918, i64 3816506249105890264, i64 3793190757644629541, i64 3815195471532663392, i64 3792038804870845095, i64 3813751353144995429, i64 3790210558155884635, i64 3812084207272525133, i64 3788747350765431392, i64 3810754974029757986, i64 3787581489233232245, i64 3809345298866266933, i64 3785778036930429279, i64 3807655920390470273, i64 3784298246888135281, i64 3806309455196891934, i64 3783119604256083736, i64 3804931173652535072, i64 3781338189133827891, i64 3803221150228108588, i64 3779843271758219075, i64 3801858730832507423, i64 3778653016268782333, i64 3800508693024996885, i64 3776890810061167519, i64 3798779677415808538, i64 3775382268937919589, i64 3797402632022174672, i64 3774181605971848016, i64 3796077597260777317, i64 3772435718172481503, i64 3794331302610259423, i64 3770915100644594832, i64 3792941006037276070, i64 3769705269077492870, i64 3791637652777922386, i64 3767972756069264847, i64 3789875847559828066, i64 3766441648493148269, i64 3788473717152960472, i64 3765223916872485974, i64 3787188653388895069, i64 3763501791345312545, i64 3785413156062971022, i64 3761961814136917149, i64 3784000647379238468, i64 3760737476699077165, i64 3782730421413161738, i64 3759022717305444685, i64 3780943094812491733, i64 3757475519802169681, i64 3779521697099708019, i64 3756245892350331203, i64 3778262808640468244, i64 3754535453546658613, i64 3776465554119257167, i64 3752982708712145802, i64 3775036785613071848, i64 3751749124376862056, i64 3773785697137497524, i64 3750039946397278227, i64 3771980448509875556, i64 3748483345397405991, i64 3770545851573327042, i64 3747247150302624708, i64 3769298999891764626, i64 3745536169210743647, i64 3767487717193777684, i64 3743977415890114059, i64 3766048853325266692, i64 3742739964748112516, i64 3764802661287829215, i64 3741024122511790697, i64 3762987324396129653, i64 3739464927800764600, i64 3761545769132725706, i64 3738227579460015103, i64 3760296657412178138, i64 3736503833993897904, i64 3758479259554025646, i64 3734945910276765278, i64 3757036597297820535, i64 3733710023247107961, i64 3755780996184438978, i64 3731975358368018157, i64 3753963537374454903, i64 3730420413843189395, i64 3752521356170267367, i64 3729187341822863449, i64 3751255717313917030, i64 3727438777063751388, i64 3749440197753597738, i64 3725888510126916388, i64 3748000084046707224, i64 3724659597555986581, i64 3746720892081789502, i64 3722894197785242529, i64 3744909305558070364, i64 3721350291466268159, i64 3743472838960810970, i64 3720126869130780836, i64 3742176622950628857, i64 3718341753925194455, i64 3740370950269797153, i64 3716805870409118629, i64 3738939698365774171, i64 3715589251119932396, i64 3737623043004248842, i64 3713781603841457788, i64 3735825245497231259, i64 3712255379103294321, i64 3734400758711632838, i64 3711046853472959033, i64 3733060315222158848, i64 3709213930001687987, i64 3731272328356660030, i64 3707698968583886715, i64 3729856134920628238, i64 3706499800924195967, i64 3728488631594162218, i64 3704638938002535100, i64 3726712358728310420, i64 3703136807962855194, i64 3725305959764614388, i64 3701937570951011184, i64 3723908212081829838, i64 3700056855470743713, i64 3722145518392902242, i64 3698569083527005194, i64 3720750383149228296, i64 3697329305736090888, i64 3719319303434710235, i64 3695467930854381504, i64 3717572010055174561, i64 3693995997751073302, i64 3716189571310223370, i64 3692712642482126738, i64 3714722177870190894, i64 3690872432113176621, i64 3712992056261724708, i64 3689417768233233615, i64 3711623705927994490, i64 3688087934211993757, i64 3710117131626892654, i64 3686270645317620314, i64 3708405898221242578, i64 3684834626560852622, i64 3707052983166893174, i64 3683455555532503380, i64 3705504483402351192, i64 3681662873167075886, i64 3703813794535888577, i64 3680246817114758845, i64 3702477612646438032, i64 3678815900706784732, i64 3700884572686509046, i64 3677049433437623640, i64 3699216019853145924, i64 3675654595820655157, i64 3697897816351964980, i64 3674169381647431203, i64 3696257758003201874, i64 3672430657370760283, i64 3694612863447972203, i64 3671058228856583462, i64 3693313827492629902, i64 3669516425844675976, i64 3691624415072368565, i64 3667806888014357990, i64 3690004627745477355, i64 3666457991325551630, i64 3688725889314970918, i64 3664857474244134525, i64 3686984934906142470, i64 3663178478527471487, i64 3685391626794662959, i64 3661854165902550597, i64 3684134253880456198, i64 3660192979088795849, i64 3682339721852287863, i64 3658545790460661140, i64 3680774184703968936, i64 3657247041465225365, i64 3679539180815585371, i64 3655523401739958027, i64 3677689191598630615, i64 3653909192023476934, i64 3676152634049488280, i64 3652636911717418513, i64 3674940936043177796, i64 3650849210491689709, i64 3673033769152195061, i64 3649269056350624568, i64 3671527314266728362, i64 3648024073814680569, i64 3670245884699985675, i64 3646170878393160988, i64 3668373886806701679, i64 3644625759778113730, i64 3666898570036720423, i64 3643405555458550613, i64 3665541941067533126, i64 3641488881092829339, i64 3663709982111905211, i64 3639979680140374086, i64 3662266749677109537, i64 3638674443610358443, i64 3660833299534920076, i64 3636803694717995100, i64 3659042495857964237, i64 3635331195098921674, i64 3657632203548599012, i64 3633939712744885165, i64 3656120516790528950, i64 3632115793802663234, i64 3654371870087636062, i64 3630680680512673058, i64 3652995282486780358, i64 3629201957985898832, i64 3651404149458421470, i64 3627425649275972024, i64 3649698546148591351, i64 3626028508859443509, i64 3648356336268957704, i64 3624461768275295107, i64 3646684751686347616, i64 3622733726522683775, i64 3645022962797548385, i64 3621375047717535855, i64 3643715712125079859, i64 3619719723997520814, i64 3641962872808399696, i64 3618040483526387247, i64 3640345554367245164, i64 3616720658315636369, i64 3639073753301330693, i64 3614976394716517466, i64 3637239055095565568, i64 3613346369105146768, i64 3635666749006507663, i64 3612065694158491504, i64 3634430797684306263, i64 3610232337036639714, i64 3632513831606418391, i64 3608651821248359404, i64 3630986967002843727, i64 3607410499735053029, i64 3629673053325445862, i64 3605488092597735479, i64 3627787724149085130, i64 3603957265562560537, i64 3626306619196104363, i64 3602631116733519274, i64 3624888726057473563, i64 3600744186213256043, i64 3623061241364475180, i64 3599263113832860763, i64 3621626105490817745, i64 3597825389407700757, i64 3620104342803162427, i64 3596001124158909585, i64 3618334876939537151, i64 3594569762705614757, i64 3616945813473826670, i64 3593021137164927350, i64 3615320511843145354, i64 3591259392617995016, i64 3613609107958059319, i64 3589877592496826780, i64 3612266117142858110, i64 3588218954693253919, i64 3610537819254365337, i64 3586519456288168476, i64 3608884393395250984, i64 3585186966129698978, i64 3607587375750634417, i64 3583419408555444579, i64 3605756827137698020, i64 3581781757153016109, i64 3604161172761051134, i64 3580498228203638202, i64 3602909932768110216, i64 3578623035781193905, i64 3600978072036209712, i64 3577046713420447013, i64 3599439864895820372, i64 3575765304259756371, i64 3598092127669767935, i64 3573830342670287112, i64 3596202063547581251, i64 3572314718628591919, i64 3594720866920794555, i64 3570900895088247347, i64 3593247960638204077, i64 3569041803806476558, i64 3591429283132637796, i64 3567586140918607979, i64 3590004553344425863, i64 3566042095871359500, i64 3588408244802599623, i64 3564257861280276599, i64 3586660183120375133, i64 3562861322472558797, i64 3585291275324520455, i64 3561189435899778169, i64 3583573525017818324, i64 3559478924117379775, i64 3581895185908377914, i64 3558140579113371383, i64 3580581360084911777, i64 3556343402466089462, i64 3578744307891163443, i64 3554705367907986185, i64 3577134683356096949, i64 3553424200062776700, i64 3575875110484294593, i64 3551504440562403035, i64 3573921061177328962, i64 3549937534631024640, i64 3572379036367102275, i64 3548588389336300471, i64 3570991104962787716, i64 3546672952817612125, i64 3569104213407292736, i64 3545175732666037464, i64 3567628574655166424, i64 3543678210019507999, i64 3566098487640324646, i64 3541849299664249515, i64 3564294153743675194, i64 3540420236984407821, i64 3562883596687866419, i64 3538778175106898967, i64 3561214722150511823, i64 3537033799723620468, i64 3559491232053704611, i64 3535671289510634599, i64 3558144369800331085, i64 3533888651315258354, i64 3556340216473116918, i64 3532226730396769892, i64 3554695759189683250, i64 3530929099643509513, i64 3553411130470807704, i64 3529009954059255068, i64 3551475329806076083, i64 3527428328647875095, i64 3549908007465743803, i64 3526069181621554643, i64 3548531663129816267, i64 3524142348590186921, i64 3546620373322591889, i64 3522638791965849227, i64 3545128211318726899, i64 3521116435105584281, i64 3543593910912372036, i64 3519286051346852567, i64 3541775611149409259, i64 3517858279489294354, i64 3540356568140200604, i64 3516178084643135347, i64 3538669192368996139, i64 3514441231499394964, i64 3536941261549341212, i64 3513086913279455331, i64 3535593239265982455, i64 3511254304861547370, i64 3533757744915072756, i64 3509608012666477454, i64 3532117498290409425, i64 3508324779725493290, i64 3530838351109013054, i64 3506345214548162284, i64 3528859751175413739, i64 3504786474785862105, i64 3527304452183443581, i64 3503343352038185738, i64 3525865484611031819, i64 3501450879121929416, i64 3523975341050079927, i64 3499976656118353532, i64 3522502212769643767, i64 3498359863557852540, i64 3520893562733370376, i64 3496571313256246383, i64 3519104593953480493, i64 3495178555365141420, i64 3517710830139446120, i64 3493394962067808689, i64 3515938888038827203, i64 3491706483628055433, i64 3514247541203220817, i64 3490392133878811326, i64 3512930316864035728, i64 3488448567257912785, i64 3511001461338237613, i64 3486856311768644433, i64 3509404168535309232, i64 3485448524312605615, i64 3508017190320411341, i64 3483520544388843827, i64 3506081228199940049, i64 3482020676992216686, i64 3504574418722664972, i64 3480425490325974201, i64 3503003036497831078, i64 3478610708030915222, i64 3501178082319826470, i64 3477199419379077570, i64 3499758194274380092, i64 3475425181031135878, i64 3498010287818538191, i64 3473718825852899316, i64 3496291868974657741, i64 3472392342791221755, i64 3494955360193862137, i64 3470447266981871786, i64 3493038711127543287, i64 3468844622433752917, i64 3491422388531756454, i64 3467426722723067146, i64 3490041782337478254, i64 3465491367643829439, i64 3488088019658849371, i64 3463987783071582133, i64 3486569399989338027, i64 3462371456952341750, i64 3484992193245035003, i64 3460557056174213070, i64 3483157877504509530, i64 3459147957565763400, i64 3481732624523040853, i64 3457343002196828974, i64 3479968180899058167, i64 3455643864148597509, i64 3478247904071959273, i64 3454324763949823927, i64 3476911749015646384, i64 3452340736612681264, i64 3474969231346999097, i64 3450751286208125084, i64 3473357678501912741, i64 3449278269743112200, i64 3471937546394384969, i64 3447363995653919070, i64 3469994783570520187, i64 3445878784602632494, i64 3468486744021126781, i64 3444199500225319033, i64 3466860876594555968, i64 3442412077693341627, i64 3465044234898247494, i64 3441025793607603029, i64 3463634612206443902, i64 3439151393838137689, i64 3461813785706173136, i64 3437484249467567547, i64 3460116946288445526, i64 3436136931906756639, i64 3458800767138698302, i64 3434133003843598828, i64 3456795441640184209, i64 3432579751323367772, i64 3455212247456488079, i64 3431009016228102458, i64 3453708424661396691, i64 3429143354509671997, i64 3451804977128098916, i64 3427697802245459567, i64 3450329441824806805, i64 3425916475490000469, i64 3448614205611024844, i64 3424181447249297786, i64 3446841495795551817, i64 3422837604648900548, i64 3445467811275809853, i64 3420858036460391185, i64 3443553213586221647, i64 3419246266450714225, i64 3441904077973191188, i64 3417764580670054348, i64 3440503126071039875, i64 3415832409128885705, i64 3438524274202756657, i64 3414336784983883872, i64 3436991786226134620, i64 3412629917872227246, i64 3435363728841620382, i64 3410838293363903187, i64 3433526195130960592, i64 3409451969371299415, i64 3432103670586623642, i64 3407533861930730858, i64 3430262203075102852, i64 3405874385139443861, i64 3428557772430452797, i64 3404460250937440729, i64 3427238230526639591, i64 3402474770690695371, i64 3425197026336736436, i64 3400939382323587407, i64 3423617796487766256, i64 3399286678681126902, i64 3422056551837676497, i64 3397451008936166908, i64 3420166673747856451, i64 3396031990024623022, i64 3418705057548159949, i64 3394156254137051153, i64 3416917470448111173, i64 3392460954753611262, i64 3415169624610849401, i64 3391091331578587453, i64 3413818350836548325, i64 3389066949103444484, i64 3411819078224836730, i64 3387503005339298524, i64 3410204368514587277, i64 3385882925399138169, i64 3408688044612317567, i64 3384016763947615864, i64 3406759484759680907, i64 3382575582256652647, i64 3405269410920943504, i64 3380722151460902898, i64 3403515217177029148, i64 3379003733774301540, i64 3401736823974911441, i64 3377654551778587430, i64 3400363278236787931, i64 3375606567228113800, i64 3398387375369520289, i64 3374025933923587926, i64 3396749260086625599, i64 3372416180999914900, i64 3395254925721278629, i64 3370533785018511258, i64 3393302235473854106, i64 3369081484817090702, i64 3391794992938591819, i64 3367229773767132731, i64 3390052930281402668, i64 3365501477576867994, i64 3388257562711555297, i64 3364148190702978128, i64 3386872262722762941, i64 3362092452096524741, i64 3384900080818930635, i64 3360507382875547799, i64 3383251176687302265, i64 3358885419230414938, i64 3381755388056569345, i64 3357001423697774566, i64 3379793679242967846, i64 3355549308175458524, i64 3378280956104699853, i64 3353678691087692166, i64 3376529479041319142, i64 3351953986494255014, i64 3374731105391268471, i64 3350572144003209147, i64 3373344842782225661, i64 3348524680276054815, i64 3371356646085913598, i64 3346947532288671755, i64 3369709821524942818, i64 3345291104352093123, i64 3368189168731089420, i64 3343420181588761684, i64 3366233763709928441, i64 3341979549623608824, i64 3364727376011787673, i64 3340069840304588560, i64 3362945158808402992, i64 3338362113574657264, i64 3361157817474651310, i64 3336927927894849875, i64 3359781406243738079, i64 3334904574930933340, i64 3357757832424812433, i64 3333347520595744886, i64 3356125907048508911, i64 3331635173192227769, i64 3354557559280362912, i64 3329791690951432348, i64 3352623632839892829, i64 3328373574045219941, i64 3351135248407652424, i64 3326405488928102060, i64 3349301679544668294, i64 3324727731612644674, i64 3347539151133152316, i64 3323218620586001547, i64 3346183175233404270, i64 3321234654737611559, i64 3344105681313517259, i64 3319709400645822233, i64 3342501127333623766, i64 3317920960474357683, i64 3340863355628575449, i64 3316118651828422046, i64 3338965582628882946, i64 3314733561390711469, i64 3337506450668103322, i64 3312689147925805989, i64 3335602099710267320, i64 3311053661233041847, i64 3333877589150187540, i64 3309448744215462611, i64 3332440593757471978, i64 3307518537408303127, i64 3330403435739020731, i64 3306036061179702982, i64 3328838092833429643, i64 3304153071447669735, i64 3327110750525530542, i64 3302404729076941566, i64 3325262972883657558, i64 3300986320497789045, i64 3323843669757647616, i64 3298925438281949792, i64 3321850709069417910, i64 3297343563883863985, i64 3320176549928817100, i64 3295624093623709538, i64 3318629229010713787, i64 3293760802982979069, i64 3316655416524528123, i64 3292331117898136885, i64 3315140231003549686, i64 3290337208608513393, i64 3313305174232810405, i64 3288654414789561895, i64 3311520099806094696, i64 3287099663912749633, i64 3310150300538061634, i64 3285119918368629240, i64 3308052866684920243, i64 3283601805406443880, i64 3306440258680793230, i64 3281751521008988469, i64 3304764388617642599, i64 3279966824102335164, i64 3302866860283350819, i64 3278577030989359727, i64 3301411658083125816, i64 3276479961615945019, i64 3299453091911033481, i64 3274872863313663629, i64 3297742036128351136, i64 3273165884542456358, i64 3296225712360658672, i64 3271278881130150924, i64 3294214802642580069, i64 3269833297277730623, i64 3292673591572778051, i64 3267838687636419528, i64 3290853699638488170, i64 3266142572038585930, i64 3289043727482366647, i64 3264577666319297190, i64 3287657028726614732, i64 3262588571198974170, i64 3285561768258774861, i64 3261065707321681392, i64 3283934447100091780, i64 3259193740510294105, i64 3282252156697704391, i64 3257409131400342148, i64 3280343393740419359, i64 3255984116558469507, i64 3278881900849572192, i64 3253893795141349718, i64 3276905488236216927, i64 3252294408243662195, i64 3275192490426169433, i64 3250542676987257330, i64 3273645813193043936, i64 3248670678837958470, i64 3271639011348257259, i64 3247238864071952771, i64 3270103391631691468, i64 3245192391133572948, i64 3268243605854605898, i64 3243517754318507353, i64 3266445924394217201, i64 3241882992561353238, i64 3265031929495525921, i64 3239925309530710226, i64 3262928493099197962, i64 3238428871528731896, i64 3261319911659107168, i64 3236482158593945170, i64 3259573701555318859, i64 3234734074235348585, i64 3257692908221382158, i64 3233212149761999389, i64 3256255118297857358, i64 3231171098137575335, i64 3254209711074692733, i64 3229611885765855889, i64 3252529844305647344, i64 3227760883795448853, i64 3250893320128600609, i64 3225941690733070744, i64 3248931578401151912, i64 3224527608237457675, i64 3247432823304357220, i64 3222406121825406449, i64 3245480521296414270, i64 3220786452089033140, i64 3243731564641457830, i64 3219026366792786086, i64 3242199999697936042, i64 3217138941166855465, i64 3240160070901136534, i64 3215698495045764146, i64 3238602534023340897, i64 3213628484212716517, i64 3236738789707481352, i64 3211951139536211417, i64 3234923459286620294, i64 3210276449217859335, i64 3233491302040302193, i64 3208324198661710319, i64 3231376544298674265, i64 3206835188516530146, i64 3229762860490242670, i64 3204836339820658568, i64 3227982419054798419, i64 3203104559445788145, i64 3226103946879222030, i64 3201509042461041471, i64 3224671088464820707, i64 3199495893482559862, i64 3222579203461362823, i64 3197961372091000010, i64 3220912451433085499, i64 3196027918596167994, i64 3219209376207551361, i64 3194245384011790637, i64 3217271498800792630, i64 3192722155729371358, i64 3215794230758628880, i64 3190652534232314643, i64 3213766323352597416, i64 3189075929270496921, i64 3212050012293155383, i64 3187201550055397504, i64 3210417719420045343, i64 3185372364481967605, i64 3208424659783307225, i64 3183913923458239646, i64 3206906254204113017, i64 3181792728480136037, i64 3204936272524569467, i64 3180177821606982482, i64 3203174322941565382, i64 3178355686589321909, i64 3201605625031420903, i64 3176484348651652995, i64 3199562068011876823, i64 3175060184423597448, i64 3198006142677307648, i64 3172915202422431752, i64 3196087535853770252, i64 3171266103421090687, i64 3194284254754341834, i64 3169488925478233707, i64 3192771413091159965, i64 3167580297311641164, i64 3190682474336373883, i64 3166128639986552888, i64 3189092968243657901, i64 3164018819189226303, i64 3187218736077387817, i64 3162339935436410162, i64 3185378786712857748, i64 3160600029177976992, i64 3183913571408168231, i64 3158659299322238407, i64 3181784760213880378, i64 3157184126853117589, i64 3180165904530180655, i64 3155102595428437329, i64 3178328653703305058, i64 3153398597055411463, i64 3176457020208952230, i64 3151687943468020792, i64 3175030777542698545, i64 3149720585007959533, i64 3172867954022017107, i64 3148226084251479128, i64 3171224238810703951, i64 3146165715829936064, i64 3169416244891591785, i64 3144441497026042720, i64 3167518192254775806, i64 3142751813089352984, i64 3166076228167819319, i64 3140763537597588401, i64 3163931245410645017, i64 3139254068829406078, i64 3162267382557156191, i64 3137207545289465666, i64 3160480656940987205, i64 3135468182278229887, i64 3158561686825900408, i64 3133790994547845664, i64 3157104722535095466, i64 3131787702471834581, i64 3154973997395559654, i64 3130267761311581120, i64 3153294880238506828, i64 3128227638458638976, i64 3151521241059115828, i64 3126478344745597691, i64 3149587044101893297, i64 3124805065815051280, i64 3148119416408062780, i64 3122792794024677602, i64 3145995755941788760, i64 3121266971323410000, i64 3144306416183395020, i64 3119225746480184681, i64 3142537562148983855, i64 3117471826028764414, i64 3140593967410509351, i64 3115793832721904152, i64 3139120110149966624, i64 3113778699993571486, i64 3136996256834856225, i64 3112251640279377524, i64 3135301819361856962, i64 3110201820765982580, i64 3133529405405300974, i64 3108448619801485691, i64 3131582327728833829, i64 3106757331909855552, i64 3130106731631475458, i64 3104745483166689846, i64 3127975429694577805, i64 3103221842274662053, i64 3126281065984849534, i64 3101156013737670528, i64 3124496779580764326, i64 3099408871908528973, i64 3122552165645864223, i64 3097695830276710997, i64 3121079337328142691, i64 3095693380430900148, i64 3118933399046109785, i64 3094177782961030579, i64 3117244279866311328, i64 3092088676514035175, i64 3115439916852842178, i64 3090352878153161731, i64 3113503690744779308, i64 3088609820928891467, i64 3112038111461013801, i64 3086622799180656036, i64 3109870482425454783, i64 3085119796430865914, i64 3108191730540054263, i64 3083000353594260364, i64 3106359269293893011, i64 3081281079821196612, i64 3104437278418043945, i64 3079500015725974952, i64 3102983363198668583, i64 3077534311163946940, i64 3100787185559735052, i64 3076048340175356957, i64 3099123829171541846, i64 3073891774649631335, i64 3097255502019676329, i64 3072194057036317665, i64 3095353464183039088, i64 3070367334575170310, i64 3093858099956732966, i64 3068428643895321160, i64 3091684194724548129, i64 3066963988223265138, i64 3090041122351278640, i64 3064763843596754253, i64 3088129483161482323, i64 3063092520086617818, i64 3086252935618599636, i64 3061212891700889164, i64 3084704517366426212, i64 3059306669816347352, i64 3082562366439934511, i64 3057790698223788348, i64 3080944283900841020, i64 3055617625181125573, i64 3078982270873324490, i64 3053977298903699005, i64 3077136522092261355, i64 3052037979176012619, i64 3075527133295606005, i64 3050169393429362375, i64 3073422714721316924, i64 3048581898897730253, i64 3071834104863331969, i64 3046454329349505685, i64 3069815097646130053, i64 3044849330912237647, i64 3068005182492844300, i64 3042844048055197842, i64 3066327437940609897, i64 3041017936669793106, i64 3064266396150765954, i64 3039351965500007800, i64 3062711481886170035, i64 3037275293731749646, i64 3060629352254044206, i64 3035709647498674167, i64 3058859991222067472, i64 3033632687495286188, i64 3057107092056797136, i64 3031853522814756242, i64 3055094693075849460, i64 3030102779805105316, i64 3053577404234704512, i64 3028081964586499651, i64 3051426559702492663, i64 3026559359371908610, i64 3049702122731220267, i64 3024405602282503506, i64 3047867903135015839, i64 3022677459250280008, i64 3045908995277107117, i64 3020836345686061435, i64 3044432531296435627, i64 3018875876589695649, i64 3042208359582460388, i64 3017387531873862661, i64 3040532834913751317, i64 3015164589209950686, i64 3038611799941658091, i64 3013491119435850023, i64 3036710780470091979, i64 3011554761597384875, i64 3035132290506627698, i64 3009658631859749974, i64 3032976483259792171, i64 3008058879246597688, i64 3031353451681454737, i64 3005911512761474985, i64 3029340805922571281, i64 3004295924412812244, i64 3027501594023455961, i64 3002260192471920110, i64 3025815897840033910, i64 3000431878618297170, i64 3023732730341782364, i64 2998716319594115189, i64 3022165345060470079, i64 2996648280559342028, i64 3020057011981506972, i64 2995093324202484610, i64 3018283028280535392, i64 2992954841554150592, i64 3016485777305032660, i64 2991197289880807205, i64 3014478944865812889, i64 2989362392418802129, i64 3012969917143552582, i64 2987376819023484489, i64 3010762549141669068, i64 2985883005915171194, i64 3009056701868417314, i64 2983640922676483502, i64 3007144386524148916, i64 2981956542557460697, i64 3005216991646567343, i64 2979999636913990930, i64 3003636212998380249, i64 2978099049670094870, i64 3001459561584701826, i64 2976464133309069556, i64 2999824239365918070, i64 2974320633457585306, i64 2997794186090245011, i64 2972711297322212612, i64 2995948733199954848, i64 2970630561745305291, i64 2994231746693052909, i64 2968816866447853710, i64 2992150180535913895, i64 2967039136773149391, i64 2990587251680922643, i64 2964996129863982485, i64 2988437610099285177, i64 2963463179577832135, i64 2986676007634165007, i64 2961257616586172966, i64 2984821059458476338, i64 2959532114472287332, i64 2982836499428757209, i64 2957610794529225782, i64 2981311681598702429, i64 2955669502529323597, i64 2979077038337691100, i64 2954066168060974107, i64 2977400607862337254, i64 2951883165836564567, i64 2975406851571631196, i64 2950246570473979590, i64 2973520550736923167, i64 2948181775568481363, i64 2971836177555556184, i64 2946342755171542810, i64 2969714770547421277, i64 2944574938830948200, i64 2968124262448458603, i64 2942509464889000240, i64 2965991720301524805, i64 2940961925226118768, i64 2964204284810447364, i64 2938754613657774081, i64 2962360766389690084, i64 2937017785388444263, i64 2960353003129390686, i64 2935086957555123018, i64 2958832281517083148, i64 2933138639235302017, i64 2956578134367433299, i64 2931516178907281811, i64 2954889550994642043, i64 2929331684720298416, i64 2952888217460093538, i64 2927696368048796777, i64 2950993808577717103, i64 2925604874569598886, i64 2949292695605330882, i64 2923772666633607844, i64 2947168411645530076, i64 2921966990521809493, i64 2945578081249303910, i64 2919915187808234138, i64 2943421117713879409, i64 2918380141430764077, i64 2941639117865625297, i64 2916131129488758172, i64 2939760493838453075, i64 2914413362479945288, i64 2937764700344050651, i64 2912428428805161415, i64 2936195995799036429, i64 2910507129798708314, i64 2933961851705118250, i64 2908815833107115489, i64 2932290705930749521, i64 2906667935356702924, i64 2930238317000309515, i64 2905062368454253663, i64 2928368963783181861, i64 2902902927790558995, i64 2926602632745387538, i64 2901109313859924589, i64 2924512585790302490, i64 2899219974393443777, i64 2922950180335069086, i64 2897217267124781239, i64 2920728549322962677, i64 2895627728478907730, i64 2918982968833464046, i64 2893392644095836522, i64 2917024533943620829, i64 2891723331653808438, i64 2915075256525416716, i64 2889642495645857771, i64 2913408987300654413, i64 2887780854381328272, i64 2911233307074061318, i64 2885974566139256094, i64 2909608277987753101, i64 2883899450480578325, i64 2907464004767664484, i64 2882350559166863684, i64 2905651563201436029, i64 2880085416797286094, i64 2903774911723593228, i64 2878360178177215484, i64 2901754431842407013, i64 2876345659691991214, i64 2900174329910534812, i64 2874424934012001414, i64 2897923033445932741, i64 2872687749725081813, i64 2896242964374028980, i64 2870550430172923250, i64 2894164113434771331, i64 2868956471717454480, i64 2892293488321527859, i64 2866742803804738718, i64 2890485066641187114, i64 2864970398545269978, i64 2888403290497021922, i64 2863008772671238696, i64 2886850678170983456, i64 2861038905209327989, i64 2884578366417551949, i64 2859355685872226269, i64 2882851766312564312, i64 2857167425843811930, i64 2880825279418524065, i64 2855536871156863617, i64 2878906132861881810, i64 2853361900162180757, i64 2877151210307678333, i64 2851551897530194317, i64 2875019087751892028, i64 2849628816757285153, i64 2873430286601328600, i64 2847620598144425025, i64 2871196435458235753, i64 2845975259733725733, i64 2869432612309600825, i64 2843748205907137825, i64 2867444517401106496, i64 2842090161881776875, i64 2865487349082853950, i64 2839940429038320761, i64 2863770257614189049, i64 2838103054472400668, i64 2861599611810580568, i64 2836203490634059824, i64 2859983487638624872, i64 2834168383452251059, i64 2857774980459741958, i64 2832544171166919109, i64 2855983892215395273, i64 2830291152355828225, i64 2854019538829351552, i64 2828615210048040023, i64 2852035514976145116, i64 2826476808101191704, i64 2850339916185194536, i64 2824622770610387840, i64 2848143248082646664, i64 2822731276817331414, i64 2846509148226975022, i64 2820681219972768054, i64 2844312417660538423, i64 2819061002231043237, i64 2842504504274970123, i64 2816795308310225180, i64 2840548818904237688, i64 2815111376935856542, i64 2838549581820849365, i64 2812970196139686468, i64 2836858753692822869, i64 2811110501492683129, i64 2834649026664118374, i64 2809211486467591780, i64 2833006618241058668, i64 2807158685528786070, i64 2830807886343172770, i64 2805525259142480776, i64 2828993887652346048, i64 2803260406355432923, i64 2827031641643600098, i64 2801578537879892291, i64 2825029105208383639, i64 2799420518012767609, i64 2823326240270264016, i64 2797566273135949750, i64 2821116651082552065, i64 2795644279845197461, i64 2819475749768898259, i64 2793600989469264378, i64 2817261274380973641, i64 2791937386953140117, i64 2815452039086759557, i64 2789686876495094457, i64 2813468121157321800, i64 2788017085980385351, i64 2811474258253892506, i64 2785828466892460473, i64 2809742764269483519, i64 2783990681259239617, i64 2807546507116359624, i64 2782030661559071609, i64 2805916901512782984, i64 2780008966457360646, i64 2803673221574646820, i64 2778298756342311549, i64 2801879512989699034, i64 2776075833391056288, i64 2799859198251699935, i64 2774427920440904967, i64 2797885826445369603, i64 2772195483707083158, i64 2796109620708476373, i64 2770384873625881159, i64 2793939651321837830, i64 2768372450805786421, i64 2792330928125393485, i64 2766384051760774748, i64 2790045100640038469, i64 2764611623069700410, i64 2788277404978724456, i64 2762429043418002754, i64 2786206612504170573, i64 2760812420016187140, i64 2784265184344633204, i64 2758523714636517268, i64 2782428972888247763, i64 2756750516224340222, i64 2780297779744637287, i64 2754672227830901585, i64 2778717339760572634, i64 2752728239066487138, i64 2776378976636447997, i64 2750879061765551640, i64 2774647319531383417, i64 2748748872893614368, i64 2772512850966531002, i64 2747149032635085770, i64 2770614255105765988, i64 2744815948411382768, i64 2768703788769048051, i64 2743089744680373534, i64 2766623178110291935, i64 2740933258814059940, i64 2764956506851686768, i64 2739044022552293950, i64 2762677546510927530, i64 2737104876773107706, i64 2760991323093497748, i64 2735038219604179249, i64 2758781075610121945, i64 2733335172308944053, i64 2756935454476750650, i64 2731075535975388934, i64 2754937754720264420, i64 2729405102880222846, i64 2752918655537578083, i64 2727159402232808574, i64 2751151864705117998, i64 2725334325566555141, i64 2748944061231279903, i64 2723293493655090842, i64 2747311884556433727, i64 2721300430393574580, i64 2745015032470024489, i64 2719481745208581127, i64 2743231621562206825, i64 2717306295743508832, i64 2741135170145400865, i64 2715699471268527784, i64 2739187464460019282, i64 2713355000454169435, i64 2737308329830945765, i64 2711602418764128755, i64 2735182233647976821, i64 2709449835684648948, i64 2733538637182121984, i64 2707539208087986600, i64 2731218946134293546, i64 2705594317310920750, i64 2729505939118428009, i64 2703512408195146366, i64 2727300827188246858, i64 2701792198861142122, i64 2725433209942845332, i64 2699524760804520880, i64 2723431322512217056, i64 2697851830897172202, i64 2721396135730283938, i64 2695579190129327384, i64 2719614110944495173, i64 2693758511366580426, i64 2717397403725558819, i64 2691678813003047010, i64 2715761846502963738, i64 2689698303858813476, i64 2713439880215710849, i64 2687826949404845059, i64 2711659751922039922, i64 2685673630656316345, i64 2709526620475505252, i64 2684027133387313928, i64 2707590089142067509, i64 2681687069384934410, i64 2705660879105902797, i64 2679962451346831829, i64 2703555232814718574, i64 2677741361169667045, i64 2701846120768357488, i64 2675868548862353536, i64 2699557710027379294, i64 2673839419076138408, i64 2697871104055780284, i64 2671806671136575983, i64 2695600208315248911, i64 2669984336836538911, i64 2693768553247060702, i64 2667779072020027304, i64 2691685583954615548, i64 2666155188630503244, i64 2689697377781493685, i64 2663788142742318288, i64 2687816870536113797, i64 2662027732141753626, i64 2685659787756451642, i64 2659836418575999192, i64 2683997287815670077, i64 2657928933912106697, i64 2681658128110228074, i64 2655926585691856891, i64 2679936014562551859, i64 2653860748560880864, i64 2677694885170245215, i64 2652061488200729092, i64 2675828778998798014, i64 2649825244925696786, i64 2673772693389767534, i64 2648180358134846290, i64 2671751543210226662, i64 2645824611231426083, i64 2669894342268302213, i64 2644045345157507341, i64 2667706336362503844, i64 2641861160378910298, i64 2666062783449813986, i64 2639937476404082242, i64 2663695304829976694, i64 2637937335347117955, i64 2661954258883863849, i64 2635858526767275314, i64 2659720717393943527, i64 2634055714701490866, i64 2657838241972699399, i64 2631810368987770888, i64 2655784970552721943, i64 2630160600292319405, i64 2653750571859468328, i64 2627794977650746291, i64 2651890593936401218, i64 2626014347623288975, i64 2649693085789345707, i64 2623814433241614833, i64 2648040255818219089, i64 2621893500003322827, i64 2645667721015232890, i64 2619870926253358635, i64 2643924874989997272, i64 2617799646337319176, i64 2641676518785150030, i64 2615966761337025878, i64 2639796238347638806, i64 2613734457728968540, i64 2637721628380577473, i64 2612096072680520986, i64 2635694067476565625, i64 2609699690448948376, i64 2633805311197468516, i64 2607935228246280501, i64 2631620002153475059, i64 2605697188916191014, i64 2629929944860855973, i64 2603797875275042525, i64 2627575765802910662, i64 2601728888684177973, i64 2625848305060074163, i64 2599685415422033735, i64 2623563168429042733, i64 2597796819423580500, i64 2621703582172498445, i64 2595599317944894913, i64 2619584109552564924, i64 2593903107891919872, i64 2617583270550974640, i64 2591541121796340599, i64 2615640581144173558, i64 2589809883309149325, i64 2613488812192842486, i64 2587512437696874271, i64 2611734670545459835, i64 2585652977118485315, i64 2609421717560050626, i64 2583514950179790416, i64 2607726373807457392, i64 2581518745832903056, i64 2605383567618027722, i64 2579550419600217078, i64 2603562565488049770, i64 2577408461541621149, i64 2601376015847426466, i64 2575620684099472736, i64 2599420997603227129, i64 2573323452017635900, i64 2597400790220629847, i64 2571641524372042475, i64 2595302918865446443, i64 2569265102047024231, i64 2593459695134436485, i64 2567462569415548915, i64 2591209632697086876, i64 2565234854709743405, i64 2589554613289869354, i64 2563304011957331537, i64 2587142498538475304, i64 2561234212604580831, i64 2585376846810123316, i64 2559166935849261848, i64 2583102933108294829, i64 2557264739010581122, i64 2581211504483082104, i64 2555052468242657973, i64 2579092411609148105, i64 2553328058976959276, i64 2577067236641881126, i64 2550961780331498241, i64 2575112468870725950, i64 2549231624712450555, i64 2572945149944188448, i64 2546896088036184542, i64 2571164700422718078, i64 2545046842037539947, i64 2568846394327957747, i64 2542856652621675847, i64 2567151275545240764, i64 2540881083852187018, i64 2564772163684677876, i64 2538844781243618095, i64 2562960282935270272, i64 2536735290807460703, i64 2560723696468120474, i64 2534861827415914869, i64 2558787957615886667, i64 2532610436477666993, i64 2556702276232312774, i64 2530909191393015515, i64 2554635223267963080, i64 2528507527598698671, i64 2552709232092283512, i64 2526753855707446808, i64 2550503035929828173, i64 2524427604238752276, i64 2548745939100964469, i64 2522558250225622967, i64 2546392384232344018, i64 2520371739896413061, i64 2544673803999905265, i64 2518380045448681533, i64 2542304289567483196, i64 2516341041521034546, i64 2540472263961443165, i64 2514220035921891277, i64 2538239806185484162, i64 2512336649450280614, i64 2536287801074605943, i64 2510079039754431382, i64 2534200021215590683, i64 2508359737259656313, i64 2532121195667975463, i64 2505957898480499279, i64 2530186054605323342, i64 2504206452168412806, i64 2527973251231961774, i64 2501857476852670260, i64 2526199058973189754, i64 2499995502320084564, i64 2523844794282693204, i64 2497778662563834519, i64 2522128005348597250, i64 2495800151021592748, i64 2519736674159269204, i64 2493722365894056476, i64 2517911472320895291, i64 2491621049812984311, i64 2515649762750758549, i64 2489689519278736327, i64 2513710250283593094, i64 2487458865726158288, i64 2511584954149344380, i64 2485681076794505598, i64 2509524979196339505, i64 2483314280891322304, i64 2507543164226052016, i64 2481590704120250592, i64 2505356314247441134, i64 2479187992081589594, i64 2503525330125546504, i64 2477360560048688223, i64 2501204925467100161, i64 2475080710193340529, i64 2499515101433590214, i64 2473144110857373450, i64 2497071497279794170, i64 2470993159660055023, i64 2495279787138905680, i64 2468941873413660847, i64 2492956727993458696, i64 2466926077797418731, i64 2491057917124683667, i64 2464754373443772018, i64 2488861329223214316, i64 2462880214077617081, i64 2486849999115910468, i64 2460582144994082415, i64 2484786025247475210, i64 2458856329330857214, i64 2482656549545835969, i64 2456425729840294355, i64 2480731552294385501, i64 2454658495894609756, i64 2478478093026257570, i64 2452285676843264322, i64 2476698657756653899, i64 2450417894421142215, i64 2474315161766528098, i64 2448162541250369012, i64 2472582147379699294, i64 2446189453196851249, i64 2470168294940074999, i64 2444056883941422108, i64 2468336619946791071, i64 2441973570602647497, i64 2466038037997332724, i64 2439969270618292471, i64 2464103031823228755, i64 2437770648127548957, i64 2461924941924115894, i64 2435900270937524363, i64 2459881774362996709, i64 2433581089735048871, i64 2457829562444597425, i64 2431850457585421358, i64 2455673241973969628, i64 2429405301188654108, i64 2453752459168203535, i64 2427630302223962530, i64 2451477831494700136, i64 2425243689336398836, i64 2449694194679896203, i64 2423373644665775409, i64 2447295941531032575, i64 2421096661354271428, i64 2445554965617831281, i64 2419127443331351716, i64 2443127971752351329, i64 2416964623948633137, i64 2441293719731292580, i64 2414891985418967679, i64 2438974322147403225, i64 2412847982517854872, i64 2437042741066523340, i64 2410667556894870374, i64 2434835392239772076, i64 2408747140273553075, i64 2432802311747994861, i64 2406454441857750278, i64 2430711580263229032, i64 2404662497321966985, i64 2428572712686024714, i64 2402252921875265382, i64 2426603282297334803, i64 2400506525547330686, i64 2424354222951636783, i64 2398063275293179472, i64 2422510891363828715, i64 2396229195085610488, i64 2420147119123926033, i64 2393885776517801553, i64 2418433898191230435, i64 2391960550229483028, i64 2415951674610482775, i64 2389720695272541336, i64 2414152390986014689, i64 2387700779843870673, i64 2411768158941553741, i64 2385568295829526771, i64 2409879412851933410, i64 2383450068661015441, i64 2407596837038743326, i64 2381428836217363378, i64 2405615149288085429, i64 2379208596712161432, i64 2403437968459187453, i64 2377302567406251181, i64 2401359781726820340, i64 2374976538743692974, i64 2399291806616264349, i64 2373189732471812792, i64 2397113486974714108, i64 2370754063618734655, i64 2395158597978040477, i64 2368991984868003047, i64 2392876436638260631, i64 2366541333705317959, i64 2391038581244785602, i64 2364697548139048901, i64 2388648796535270845, i64 2362338504252318016, i64 2386919894506695375, i64 2360410164953767818, i64 2384430726093068012, i64 2358145722754462583, i64 2382621618632374832, i64 2356129936694653585, i64 2380222377734665173, i64 2353963128307813369, i64 2378330269204072695, i64 2351856958575376238, i64 2376023896254207820, i64 2349790850957216645, i64 2374045945741781179, i64 2347591319176938732, i64 2371835418183061371, i64 2345629011037315382, i64 2369768741696545388, i64 2343333099979868674, i64 2367657071148018382, i64 2341477718508808344, i64 2365498743994273088, i64 2339082374893669186, i64 2363488973223194259, i64 2337337072291732130, i64 2361236032575660629, i64 2334839209784815923, i64 2359331232277271973, i64 2333035883287773284, i64 2356980679933440980, i64 2330603662004647919, i64 2355183945317845461, i64 2328724531306549336, i64 2352732750648221794, i64 2326375779918557730, i64 2350963101661048185, i64 2324418614403049249, i64 2348492300924241103, i64 2322155602437941059, i64 2346648234501979220, i64 2320118156626082601, i64 2344259378126425126, i64 2317943158556417209, i64 2342338703983801152, i64 2315823174849036847, i64 2340034020320186510, i64 2313738466891878983, i64 2338034533613813879, i64 2311533678448541641, i64 2335816255815451633, i64 2309541535235973644, i64 2333735739841395526, i64 2307249668988964354, i64 2331606102716452081, i64 2305352360112654943, i64 2329442331742111406, i64 2302971139913908709, i64 2327403568478857689, i64 2301170926347479557, i64 2325154310707582158, i64 2298698076245910160, i64 2323208649475866225, i64 2296916508304151156, i64 2320871670142265111, i64 2294430454295539535, i64 2319021330574897548, i64 2292581685769002844, i64 2316594395168324288, i64 2290168241381140123, i64 2314841584726567595, i64 2288250674001075308, i64 2312322462339781930, i64 2285911395560432825, i64 2310507990704351935, i64 2283923440000267306, i64 2308055839367157882, i64 2281659865375228758, i64 2306173825626679246, i64 2279599943951205163, i64 2303794484853812261, i64 2277413589610488813, i64 2301843368805680488, i64 2275280139058272299, i64 2299538348045211531, i64 2273172497068964828, i64 2297516580980571582, i64 2270963971392090748, i64 2295287368592338034, i64 2268936506362647102, i64 2293193416026615401, i64 2266651379748315781, i64 2291041476330458149, i64 2264705525722227877, i64 2288873820804437512, i64 2262342295519592225, i64 2286800591074454389, i64 2260479452825769938, i64 2284557735021476775, i64 2258036642581504667, i64 2282564622431911686, i64 2256258174647743630, i64 2280245091106405715, i64 2253734337193333495, i64 2278333469635127838, i64 2251920690507406089, i64 2275935814097339410, i64 2249435287914404621, i64 2274107021393192496, i64 2247562855065300918, i64 2271629821544631555, i64 2245139395536792620, i64 2269849683979988975, i64 2243207214743040935, i64 2267327023429032531, i64 2240846553035105062, i64 2265489176311684078, i64 2238853691088946953, i64 2263027322095956526, i64 2236556645534039886, i64 2261130821837281525, i64 2234502200094003301, i64 2258730612206573154, i64 2232269550294367867, i64 2256774543345070444, i64 2230152652188623555, i64 2254436780706403530, i64 2227985136717948627, i64 2252420258161233926, i64 2225804952253077740, i64 2250145706812061469, i64 2223703266372341250, i64 2248067878147049365, i64 2221458999641959994, i64 2245857262016737392, i64 2219423793035519549, i64 2243717309709540944, i64 2217114688223038401, i64 2241571310114975775, i64 2215146562761147473, i64 2239368453825956265, i64 2212771906430788835, i64 2237287707247246606, i64 2210871413964812178, i64 2235021206082402266, i64 2208430537334872579, i64 2233006301964757475, i64 2206598177531551091, i64 2230675456726936320, i64 2204090458723773066, i64 2228726935314895739, i64 2202293447364558791, i64 2226331090737366816, i64 2199751543203760656, i64 2224449440947629846, i64 2197906673297392224, i64 2221987987903973765, i64 2195413658313305916, i64 2220173645243135488, i64 2193520579847630517, i64 2217646022927314130, i64 2191076666653011713, i64 2215835192063565069, i64 2189135068151315613, i64 2213305065531228879, i64 2186740426031082614, i64 2211446918474486001, i64 2184750036011297080, i64 2208964980591119202, i64 2182404789624296838, i64 2207059212776847961, i64 2180365378016516258, i64 2204625628277508354, i64 2178069606154391623, i64 2202671974474293495, i64 2175980985672143119, i64 2200286864214853023, i64 2173734720079717357, i64 2198285099916084289, i64 2171596747540443780, i64 2195948539655514577, i64 2169399971801959622, i64 2193898482425441387, i64 2167212549392216572, i64 2191610501668745793, i64 2165065197887671506, i64 2189512012438437275, i64 2162828274368594316, i64 2187272593344493354, i64 2160730231304301388, i64 2185125577653278850, i64 2158443803152969996, i64 2182934654011760395, i64 2156394901670344268, i64 2180739063189780576, i64 2154059014152762651, i64 2178596519471217137, i64 2152059035519187664, i64 2176352351758787341, i64 2149673783690700091, i64 2174258022241691348, i64 2147722456576166550, i64 2171965323841266725, i64 2145287986205255314, i64 2169918991820114226, i64 2143384986048285938, i64 2167577857876750846, i64 2140901494459834264, i64 2165579254954441614, i64 2139046442926014779, i64 2163189830460768798, i64 2136514179760274182, i64 2161238635929015471, i64 2134706433835058147, i64 2158801116550872121, i64 2132125912180174326, i64 2156896956861776484, i64 2130284014706875704, i64 2154411589680817945, i64 2127736560793544507, i64 2152554038012685889, i64 2125860782710090819, i64 2150021122182437592, i64 2123345993914221935, i64 2148209698102663227, i64 2121436644524631656, i64 2145629585414682723, i64 2118954079341473311, i64 2143788588635326616, i64 2117011506554908647, i64 2141236849999306690, i64 2114560684611167379, i64 2139362923635262137, i64 2112585275109220041, i64 2136842786062605857, i64 2110165677251873133, i64 2134936273234578177, i64 2108157856582404970, i64 2132447263482614411, i64 2105768925045210978, i64 2130508545402006465, i64 2103729157641259031, i64 2128050152141116754, i64 2101370296289758373, i64 2126079648199161973, i64 2099299085412209998, i64 2123651322179814180, i64 2096969660067788057, i64 2121649489962967327, i64 2094867547670735581, i64 2119250644259957239, i64 2092566886514095998, i64 2117217979490278201, i64 2090434453031991199, i64 2114847989824732257, i64 2088161847086157837, i64 2112785026224199059, i64 2085999711142103746, i64 2110443231363669937, i64 2083754414834836948, i64 2108350540441565016, i64 2081563232869577211, i64 2106036242678325991, i64 2079344464674854427, i64 2103914433441053813, i64 2077124930496247995, i64 2101626899148468499, i64 2074931873654221415, i64 2099476617731382087, i64 2072684717907221843, i64 2097215077997994184, i64 2070516521221827281, i64 2095037007219032270, i64 2068242510779220476, i64 2092800658559786185, i64 2066098289492373374, i64 2090595517394950744, i64 2063798226766764462, i64 2088383522538719286, i64 2061677063507841367, i64 2086152065519654210, i64 2059351785685619474, i64 2083963554272014946, i64 2057252731494687726, i64 2081706570806179794, i64 2054903109692935985, i64 2079540640986147953, i64 2052825185115961508, i64 2077258954600315156, i64 2050452123463517609, i64 2075114673049509164, i64 2048394319717551611, i64 2072809140557547790, i64 2045998754361660725, i64 2070685544220034516, i64 2043960034567781693, i64 2068357054816177964, i64 2041542932608017703, i64 2066253151887019466, i64 2039522233089586268, i64 2063902626166047105, i64 2037084591440947990, i64 2061817397306350069, i64 2035080823084519929, i64 2059445786212343142, i64 2032623667271835435, i64 2057378185828397129, i64 2030635716947873156, i64 2054986469533956161, i64 2028160099833866539, i64 2052935427117838191, i64 2026186831874192754, i64 2050524613835871756, i64 2023693832323782725, i64 2048489035364693473, i64 2021734090052532424, i64 2046060160095105630, i64 2019224811536140178, i64 2044038929485886199, i64 2017277418850789339, i64 2041593052699701235, i64 2014752987989633242, i64 2039585033316665016, i64 2012816750988515658, i64 2037123239580332507, i64 2010278316045061661, i64 2035127275791256201, i64 2008352024697629578, i64 2032650672334075921, i64 2005800754014548087, i64 2030665591112146093, i64 2003883183870488662, i64 2028175306339940151, i64 2001320264261640040, i64 2026199918907429423, i64 1999410178194828639, i64 2023697100865767439, i64 1996836813291959900, i64 2021730204375696937, i64 1994932963275113436, i64 2019216019166148210, i64 1992350371834097339, i64 2017256398417975619, i64 1990451500739886768, i64 2014732028571019497, i64 1987860914910470715, i64 2012778457756276922, i64 1985965758334761937, i64 2010245100564648177, i64 1983368421897917338, i64 2008296345038352336, i64 1981475710000734412, i64 2005755210854731730, i64 1978872876577806848, i64 2003810028928301393, i64 1976981335937551021, i64 2001262339431382143, i64 1974374267175507275, i64 1999319484182724438, i64 1972482622651920075, i64 1996766470615792484, i64 1969872586389069326, i64 1994824691712161123, i64 1967979562990398092, i64 1992267593098420469, i64 1965367831407031120, i64 1990325638627605313, i64 1963472156156840946, i64 1987765699966558849, i64 1960860003915282562, i64 1985822318271937749, i64 1958960407714359830, i64 1983260788721198547, i64 1956349110092965929, i64 1981314730236169165, i64 1954444329571775323, i64 1978752861283126954, i64 1951835160597426603, i64 1976802880360438394, i64 1949923939954615712, i64 1974241923988240559, i64 1947318170538265264, i64 1972286780719762042, i64 1945399263360758459, i64 1969727987572087922, i64 1942798159440579966, i64 1967766449594584403, i64 1940870330500865906, i64 1965211067143695773, i64 1938275151197523286, i64 1963241911426228164, i64 1936337178223817972, i64 1960691182148767565, i64 1933749174012335889, i64 1958713196757397863, i64 1931799849427395247, i64 1956168356322379953, i64 1929220260330053373, i64 1954180342157938826, i64 1927258392954515543, i64 1951642617631338262, i64 1924688446759117868, i64 1949643390136104190, i64 1922712863475375219, i64 1947113998206386928, i64 1920153773983159486, i64 1945102389035631377, i64 1918163321355893337, i64 1942582534264504894, i64 1915616286663245174, i64 1940557392918976840, i64 1913609832512901782, i64 1938048266021549010, i64 1911076033330923723, i64 1936008461437103843, i64 1909052468256567521, i64 1933511237595540363, i64 1906533066272425414, i64 1931455659686262232, i64 1904491305120574233, i64 1928971496900919063, i64 1901987441404403005, i64 1926899058052241494, i64 1899926424680629263, i64 1924429095534122238, i64 1897439218141627312, i64 1922338732042618621, i64 1895357913361898177, i64 1919884088650867625, i64 1892888459257075427, i64 1917774762107560287, i64 1890785862236002934, i64 1915336534835551223, i64 1888335230734872515, i64 1913207233449774453, i64 1886210366808250747, i64 1910786495963191690, i64 1883779601616569134, i64 1908636235824239549, i64 1881631526795788948, i64 1906234037054376684, i64 1879221643841254937, i64 1904061863328369783, i64 1877049445897406463, i64 1901679226123686787, i64 1874661432080026462, i64 1899484214183302716, i64 1872464231555724838, i64 1897122134022091201, i64 1870099043565341429, i64 1894903390507019985, i64 1867875994712540958, i64 1892562834273825840, i64 1865534557915804418, i64 1890319498080033780, i64 1863284849558099738, i64 1888001402908278737, i64 1860968056956939115, i64 1885732646104390433, i64 1858690913275087934, i64 1883437918287419855, i64 1856399624538510268, i64 1881142946956758069, i64 1854094305778149992, i64 1878872460929322313, i64 1851829346348964271, i64 1876550515936377792, i64 1849495149449733324, i64 1874305113328329781, i64 1847257309727560740, i64 1871955471008667202, i64 1844893568873073732, i64 1869735959772430275, i64 1842683603474768673, i64 1867357932545271230, i64 1840289690563131819, i64 1865165086158399828, i64 1838108317661499747, i64 1862758023061358291, i64 1835683642696288194, i64 1860592579805280559, i64 1833531543437748080, i64 1858155866950959657, i64 1831075554839599192, i64 1856018529266756476, i64 1828953372841200372, i64 1853551590221146740, i64 1826465557680405675, i64 1851443024142986993, i64 1824373898606372858, i64 1848945320225834742, i64 1821853782757075382, i64 1846866154892452705, i64 1819793213974821910, i64 1844337185399991900, i64 1817240362191644404, i64 1842288012644360361, i64 1815211412506963607, i64 1839727314995021430, i64 1812625428425105618, i64 1837708689012144449, i64 1810628587896024120, i64 1835115838816068379, i64 1808009113956071631, i64 1833128275908591282, i64 1806044833784627527, i64 1830502886961985943, i64 1803391551083516974, i64 1828546865363098064, i64 1801460243584510665, i64 1825888589568675634, i64 1798772871654279065, i64 1823964549341564307, i64 1796813569278844156, i64 1821273076556493003, i64 1794153206815970108, i64 1819308589681111739, i64 1792145201015649847, i64 1816656477382385678, i64 1789532686775922607, i64 1814644484885860148, i64 1787475714782395387, i64 1812038920797403306, i64 1784911440566759829, i64 1809979116668669831, i64 1782805292106941732, i64 1807420534610189847, i64 1780289595819149472, i64 1805312664989319021, i64 1778134112377840680, i64 1802801445457037641, i64 1775667278542264160, i64 1800645307990757456, i64 1773462352539570527, i64 1798181778579049973, i64 1771044612912436377, i64 1795977221689268030, i64 1768790186799685571, i64 1793561657606924653, i64 1766421721070458262, i64 1791308579675749811, i64 1764117786348489606, i64 1788941204353835537, i64 1761798722927938483, i64 1786639552828771194, i64 1759445319091788923, i64 1784320538616852259, i64 1757175735983089399, i64 1781970309039989255, i64 1754772949397224643, i64 1779699777987300699, i64 1752552875146278034, i64 1777301012952477541, i64 1750100837854627804, i64 1775079037670428276, i64 1747930252575634339, i64 1772631825712449617, i64 1745429141050783687, i64 1770458430314699052, i64 1743307977522969802, i64 1767962904734810081, i64 1740758011358934681, i64 1765838065851004102, i64 1738686156190219040, i64 1763294403482908689, i64 1736087596743293838, i64 1761218051342032885, i64 1734064891596576666, i64 1758626471262816912, i64 1731418040578784346, i64 1756598490842011494, i64 1729444283456461607, i64 1753959253032389977, i64 1726749481486163736, i64 1751979485266973948, i64 1724770198853902881, i64 1749292889225321446, i64 1722082053182635952, i64 1747325609131634106, i64 1720035778774250743, i64 1744627515590341874, i64 1717415884347999709, i64 1742593996530338271, i64 1715303228118310086, i64 1739963263045658368, i64 1712751098506327945, i64 1737864059343104790, i64 1710572717873946188, i64 1735300257548678034, i64 1708087813923121053, i64 1733135972130455040, i64 1705844411527717272, i64 1730638619981005691, i64 1703426143517825885, i64 1728409902201399347, i64 1701118464951943969, i64 1725978466048654980, i64 1698766194791563663, i64 1723686009483017312, i64 1696395026313151406, i64 1721319906197362258, i64 1694108069769862948, i64 1718964446411292907, i64 1691674236001563471, i64 1716663045542844716, i64 1689451864960148864, i64 1714245357842947153, i64 1686956226581266818, i64 1712007983815798073, i64 1684797671323697086, i64 1709528880987947434, i64 1682241122760603333, i64 1707354815321385124, i64 1680145574261720642, i64 1704815145362311724, i64 1677529041382294382, i64 1702703628912924590, i64 1675495653615219642, i64 1700104272760768405, i64 1672820091432748146, i64 1698054507979450108, i64 1670847983678188555, i64 1695396377248778046, i64 1668114374069953113, i64 1693407530446772055, i64 1666073404320402114, i64 1690691565173372707, i64 1663411982669316131, i64 1688675677319344357, i64 1661291068585679699, i64 1685989935192221095, i64 1658713002886762701, i64 1683894319500580414, i64 1656513614115845850, i64 1681291578320284314, i64 1654017512738380255, i64 1679117650888585157, i64 1651741145889386723, i64 1676596577993387201, i64 1649325582695852174, i64 1674345784161090818, i64 1646973758290902442, i64 1671905010147994200, i64 1644637275796901224, i64 1669578821454809483, i64 1642211535277485300, i64 1667216943316446660, i64 1639952647769935969, i64 1664816854510645023, i64 1637454550564602130, i64 1662532438736890135, i64 1635271747172072472, i64 1660059964839121099, i64 1632702867830297413, i64 1657851550477095930, i64 1630594615539686265, i64 1655308223904884665, i64 1627956540936511806, i64 1653174325571360553, i64 1625921287550636011, i64 1650561693329118003, i64 1623215614166294356, i64 1648500804169650069, i64 1621207716541202531, i64 1645820425108671419, i64 1618480122475675402, i64 1643831019698143337, i64 1616380029712961585, i64 1641084461850712947, i64 1613750091758961095, i64 1639019733697777217, i64 1611560079494417995, i64 1636353837021680910, i64 1609025539126209296, i64 1634198860599958816, i64 1606747884023504917, i64 1631628575209319623, i64 1604306473191650259, i64 1629385584751012551, i64 1601943449632445974, i64 1626908692396577885, i64 1599592894371823767, i64 1624579922819760750, i64 1597146771275609329, i64 1622194196246153929, i64 1594884795192217015, i64 1619781879914729955, i64 1592357832968532577, i64 1617485086394479087, i64 1590182160601204396, i64 1614991450005945727, i64 1587576608236437053, i64 1612781354753945262, i64 1585484968290111100, i64 1610208616357549694, i64 1582803060570582181, i64 1608082985822198313, i64 1580793189018246978, i64 1605433351969587118, i64 1578037143890847677, i64 1603389956997340259, i64 1575953704303896522, i64 1600665620027345311, i64 1573278803012973294, i64 1598626610079289409, i64 1571095169938477610, i64 1595905374356660327, i64 1568527974118932035, i64 1593765323283888483, i64 1566247209626144705, i64 1591152559883651030, i64 1563784585228963011, i64 1588914502330488618, i64 1561409716051441774, i64 1586407113097385596, i64 1559048556673843974, i64 1584074051681273998, i64 1556582571357840884, i64 1581668962514035354, i64 1554319801566040663, i64 1579243864851426923, i64 1551765647812557369, i64 1576938029141124237, i64 1549598226268430051, i64 1574423825065030045, i64 1546958808467045607, i64 1572214226940538654, i64 1544883730859357052, i64 1569613805908302662, i64 1542161907811466467, i64 1567497463289021891, i64 1540121346624987969, i64 1564813671978409962, i64 1537374792421510087, i64 1562787639434938881, i64 1535223629772414727, i64 1560023279526172877, i64 1532597301596052486, i64 1557923830830130258, i64 1530339406895283391, i64 1555242477091097652, i64 1527829267984221054, i64 1553034904909149900, i64 1525468436948991914, i64 1550471106127237826, i64 1523070518200541757, i64 1548159201508695008, i64 1520610470782828746, i64 1545709001618496475, i64 1518320873426939399, i64 1543296483006817742, i64 1515765251981425580, i64 1540955992682073005, i64 1513580150000461134, i64 1538446503904677240, i64 1510932517685273195, i64 1536211903158855776, i64 1508848159985692120, i64 1533609011651657498, i64 1506111999388911711, i64 1531476552189659195, i64 1504047147920114936, i64 1528783747449739062, i64 1501303423715544736, i64 1526749754776301008, i64 1499120544900193931, i64 1523970447035772672, i64 1496506513166963437, i64 1521845970601996525, i64 1494210240772907755, i64 1519168841440438955, i64 1491720986847801066, i64 1516929051941275898, i64 1489315836262482452, i64 1514378657722812445, i64 1486946561163270254, i64 1512028091465141593, i64 1484436928754574030, i64 1509599619679580398, i64 1482182950489664238, i64 1507142696620863490, i64 1479573113224915967, i64 1504831448528096281, i64 1477429867817028533, i64 1502272471676784768, i64 1474723983128254931, i64 1500073863562574358, i64 1472687025363531103, i64 1497417018631015775, i64 1469889131246991047, i64 1495326582782854740, i64 1467734791799571239, i64 1492575938080996803, i64 1465068150499101986, i64 1490487170330940917, i64 1462791940329833077, i64 1487748830053373569, i64 1460260634705086541, i64 1485535728738536095, i64 1457867844769887297, i64 1482935294793788908, i64 1455466179313813008, i64 1480603199719346971, i64 1452961934516250875, i64 1478134933516347440, i64 1450684382087300130, i64 1475689020369356319, i64 1448073642699228289, i64 1473347349112656502, i64 1445914843744593490, i64 1470792630636835194, i64 1443202407064709520, i64 1468572146820486081, i64 1441157168565027759, i64 1465913474239498695, i64 1438347670798800564, i64 1463808934852222667, i64 1436173648771381803, i64 1461050999524992224, i64 1433508883295947136, i64 1458948370698792558, i64 1431207010401724894, i64 1456204660275216082, i64 1428685500871365051, i64 1453971186563009396, i64 1426261777623428306, i64 1451373916455156365, i64 1423876987418732310, i64 1449015679421858819, i64 1421337197951460374, i64 1446558234907039258, i64 1419082815014228305, i64 1444081100483660692, i64 1416432530871786567, i64 1441757089990763899, i64 1414302464468124759, i64 1439166712013165969, i64 1411547048585037594, i64 1436969964171696089, i64 1409444168283517061, i64 1434271788126226878, i64 1406680036678841752, i64 1432196348557021172, i64 1404439313891754523, i64 1429395615512622872, i64 1401830794730878587, i64 1427230404887471996, i64 1399459102402377505, i64 1424537494088954531, i64 1396998636844825771, i64 1422237834645409883, i64 1394502574338382987, i64 1419696737583643653, i64 1392182892121471280, i64 1417269344396962761, i64 1389568791731665464, i64 1414872674056189143, i64 1387382905067348886, i64 1412323994255549978, i64 1384656838658020206, i64 1410064646352925223, i64 1382590986283911753, i64 1407400865535954365, i64 1379765821688978400, i64 1405272012501611435, i64 1377553836135907780, i64 1402499061270371073, i64 1374894870264028524, i64 1400368807982282227, i64 1372544459635788574, i64 1397617706643071123, i64 1370043136986834517, i64 1395344988178362910, i64 1367561674888623231, i64 1392755949347184802, i64 1365209797849100441, i64 1390348292580271629, i64 1362604333196711852, i64 1387912959867163198, i64 1360394052385754432, i64 1385377564310107543, i64 1357671319232436232, i64 1383087931690512846, i64 1355595123765132516, i64 1380431679135010591, i64 1352761551121786787, i64 1378280081452419232, i64 1350544629424523789, i64 1375509545626156230, i64 1347873980443749624, i64 1373379411685760417, i64 1345513167432058543, i64 1370610105230520303, i64 1343007592150700238, i64 1368331508275303798, i64 1340510961743626419, i64 1365732332260511460, i64 1338161404414895680, i64 1363313539356326887, i64 1335536647222995851, i64 1360875233806529552, i64 1333334468406086531, i64 1358324123841648779, i64 1330588905207843608, i64 1356037849577452632, i64 1328489845936073611, i64 1353361926624752349, i64 1325666463062180145, i64 1351219251673983935, i64 1323411148470727649, i64 1348425658214351550, i64 1320768093648549622, i64 1346260800015631220, i64 1318365651139553580, i64 1343514074284236990, i64 1315892614726606116, i64 1341197037872753657, i64 1313351713400271563, i64 1338625975145037810, i64 1311038888284488962, i64 1336165663342080104, i64 1308367756753462765, i64 1333760205144374383, i64 1306205819809228749, i64 1331165072875875178, i64 1303412263670871627, i64 1328915652001698899, i64 1301244422694352663, i64 1326193723761170482, i64 1298483776450162201, i64 1324091246083930980, i64 1296158290208354026, i64 1321250133056645104, i64 1293580896004200520, i64 1319017228436034300, i64 1291107412394220691, i64 1316332876458196593, i64 1288702280592618704, i64 1313946520636923958, i64 1286089931599502940, i64 1311440587101105978, i64 1283846644503091956, i64 1308910185240437270, i64 1281104068451379059, i64 1306571954306387847, i64 1279003219205636425, i64 1303906407709199247, i64 1276148119903703460, i64 1301725722278596095, i64 1273880184200625966, i64 1298933450179432766, i64 1271220457237150115, i64 1296764684841356143, i64 1268796038312726091, i64 1293989649534667167, i64 1266319524021299566, i64 1291658314268568589, i64 1263748630438573916, i64 1289073415434467803, i64 1261443834047037567, i64 1286589841846232476, i64 1258735907308482150, i64 1284183228306831621, i64 1256591969237154714, i64 1281557167538277926, i64 1253755910520140143, i64 1279317637312421160, i64 1251524458676124224, i64 1276558287060293547, i64 1248806773556964062, i64 1274431822030826536, i64 1246411644880491725, i64 1271591288960993627, i64 1243886718800587325, i64 1269294448438865994, i64 1241338748396060925, i64 1266654351689850644, i64 1238994054546332729, i64 1264198345626081473, i64 1236303435963015839, i64 1261745740660147054, i64 1234127172029870724, i64 1259141120452891336, i64 1231303489523751826, i64 1256863805316062295, i64 1229086386673146205, i64 1254120496549170875, i64 1226336802061500566, i64 1252006976211785706, i64 1223950329661318173, i64 1249134310195964678, i64 1221401373479980538, i64 1246850427438443096, i64 1218857120002007262, i64 1244180506239544419, i64 1216495306532698418, i64 1241731997059277397, i64 1213804145175461761, i64 1239257134046996280, i64 1211616802809734185, i64 1236655278049682298, i64 1208788929633831317, i64 1234362343511718648, i64 1206563617442864544, i64 1231617722953269430, i64 1203809129265983160, i64 1229494381116434238, i64 1201410423409794588, i64 1226616918161283788, i64 1198862525966670953, i64 1224324073476370201, i64 1196302673151604066, i64 1221650578484728779, i64 1193947022317538550, i64 1219189273898915265, i64 1191237483040495932, i64 1216716541830175657, i64 1189060636386512507, i64 1214098691833296301, i64 1186212129158893884, i64 1211812763986492370, i64 1183956291304067790, i64 1209049516970523292, i64 1181224040210477395, i64 1206909926922345082, i64 1178792571731938370, i64 1204039094966688516, i64 1176270790616492144, i64 1201715633182585181, i64 1173676481605023749, i64 1199064920498941528, i64 1171350093802515222, i64 1196570905701238945, i64 1168604882035253350, i64 1194124630504443948, i64 1166459795679830934, i64 1191472499693046165, i64 1163574816992947954, i64 1189215997607257230, i64 1161267032787637818, i64 1186417357716575228, i64 1158583504508998197, i64 1184227145475794965, i64 1156099703480203822, i64 1181402600787172797, i64 1153628328161210015, i64 1179027765515163392, i64 1150981712439159312, i64 1176425519767215387, i64 1148706828846326043, i64 1173879838065157371, i64 1145909688971534812, i64 1171483567036106812, i64 1143719088324247526, i64 1168779870162500108, i64 1140880468171293520, i64 1166574348441355659, i64 1138500822538148371, i64 1163724580338396721, i64 1135891080293057199, i64 1161462527200491456, i64 1133336888041853635, i64 1158710887832290687, i64 1130938740526308580, i64 1156265411899817389, i64 1128223472039806700, i64 1153735902201736582, i64 1126020839166378788, i64 1151121089027908502, i64 1123157002631760545, i64 1148796913325681249, i64 1120873557139804792, i64 1146025848272175326, i64 1118134135741321800, i64 1143868458242644676, i64 1115664756697189537, i64 1140976214157859043, i64 1113151742586703984, i64 1138623153679599704, i64 1110511091224254321, i64 1135968933275107742, i64 1108206897684121475, i64 1133435557451758546, i64 1105408561084748627, i64 1131000962038014885, i64 1103211826040838456, i64 1128301507386275859, i64 1100353430080075913, i64 1126069454966063476, i64 1097959888629171975, i64 1123217113459828874, i64 1095342210299082743, i64 1120947199739747661, i64 1092767709988730761, i64 1118178742306128487, i64 1090371647664238915, i64 1115718042778843832, i64 1087630846139688107, i64 1113183002423105764, i64 1085438708155882273, i64 1110546899379855404, i64 1082545154921346317, i64 1108226730062405704, i64 1080217218822158065, i64 1105429449184473431, i64 1077506777898071739, i64 1103232042860335217, i64 1074988858396032370, i64 1100361665746764462, i64 1072512123155650730, i64 1097963674222645790, i64 1069819924821327208, i64 1095339798876104450, i64 1067557848959626308, i64 1092757728672837253, i64 1064705860778996080, i64 1090360357851734773, i64 1062432184434191356, i64 1087609444531721560, i64 1059642430288175425, i64 1085420095480896272, i64 1057170555409882501, i64 1082514393682955046, i64 1054625698464307164, i64 1080168075375406253, i64 1051972337042344550, i64 1077468460741989010, i64 1049652012352740740, i64 1074930180249241137, i64 1046832552923006584, i64 1072467823317211910, i64 1044600852043521609, i64 1069753786885146675, i64 1041746587419141081, i64 1067508933322767737, i64 1039309420675532587, i64 1064634062034222942, i64 1036710162117560514, i64 1062327486545889998, i64 1034085193378136587, i64 1059566523396826193, i64 1031719313587907398, i64 1057061027020026483, i64 1028922776509529382, i64 1054547016664134833, i64 1026720029778437501, i64 1051859721623154031, i64 1023817178035666460, i64 1049571693849144540, i64 1021402771399412402, i64 1046718334138901803, i64 1018763780404172560, i64 1044438872154126183, i64 1016156258287311692, i64 1041632018837626326, i64 1013758315012904524, i64 1039147722489054997, i64 1010974687608117353, i64 1036596294052920099, i64 1008787359867240454, i64 1033925131602937535, i64 1005852699857679977, i64 1031607017315233014, i64 1003448700450349106, i64 1028765468480175652, i64 1000785347940245932, i64 1026500008899549866, i64 998184015430123882, i64 1023663532957444624, i64 995768068147162319, i64 1021188475006022093, i64 992987107255499763, i64 1018614525619003195, i64 990796652940595263, i64 1015948599113766692, i64 987852263748538242, i64 1013614019546214583, i64 985446132505993533, i64 1010774369810862259, i64 982774223200672493, i64 1008509551125189485, i64 980167712418522070, i64 1005660247177093770, i64 977748141703736977, i64 1003182300581584344, i64 974959556322053307, i64 1000601128819896504, i64 972761605680465412, i64 997929447766763143, i64 969815620056796294, i64 995592318089630179, i64 967394855934948014, i64 992744621580033167, i64 964730347552712459, i64 990467070692982708, i64 962107383152580543, i64 987621962721008993, i64 959698634399973539, i64 985129052089374920, i64 956892269750248021, i64 982556085734259338, i64 954668466734154772, i64 979867762591786007, i64 951743166041147317, i64 977542043584096613, i64 949295529093841656, i64 974676498320077605, i64 946654247002674423, i64 972373069719250091, i64 944003846816797107, i64 969549106531366295, i64 941620172025186670, i64 967029423644026727, i64 938786189573863284, i64 964479943595212442, i64 936523372434029031, i64 961764387507117150, i64 933635934069987951, i64 959463835872171142, i64 931149660777557605, i64 956570957479534110, i64 928547016582994020, i64 954228965641014757, i64 925858683577780487, i64 951442718574597095, i64 923513888887061031, i64 948884929973178443, i64 920642937007784401, i64 946373798535722089, i64 918328630714131406, i64 943620900267152865, i64 915495561085376814, i64 941358825018968483, i64 912959565633741197, i64 938429611041170135, i64 910410288027219431, i64 936037049233743671, i64 907674187990679645, i64 933304421067599905, i64 905381394405364056, i64 930697861640005211, i64 902464764763766940, i64 928239263220654714, i64 900087388240613028, i64 925439565927210866, i64 897324240593381771, i64 923219272435651312, i64 894728296382458341, i64 920254678100839711, i64 892246182066164327, i64 917800417317882891, i64 889453302033958953, i64 915136370895999635, i64 887224726227599729, i64 912471217965744616, i64 884254491551759605, i64 910078419700953561, i64 881803539104281781, i64 907223270743159753, i64 879124659148114587, i64 904926780081406147, i64 876459555614084383, i64 902048920356223567, i64 874057247293678771, i64 899522882916098243, i64 871199530502895207, i64 896941197174353547, i64 868897855466868615, i64 894208620396597235, i64 866015421427249356, i64 891893759415539258, i64 863481613695571429, i64 888975439200771412, i64 860899919898617743, i64 886592553117073908, i64 858157590725142627, i64 883815563125336740, i64 855846388063567248, i64 881208866502223073, i64 852916842160109602, i64 878721926473223532, i64 850517271544120687, i64 875914209810223756, i64 847751251207323054, i64 873677897801679016, i64 845126652189978149, i64 870699937505925034, i64 842653456236318995, i64 868221868564575763, i64 839827076154156892, i64 865558205048969604, i64 837564037839344480, i64 862863272672707911, i64 834609560534308002, i64 860481898682076814, i64 832104448790794154, i64 857592531827015929, i64 829465969575228342, i64 855245212743467117, i64 826744067572581327, i64 852400967331487655, i64 824388938894562494, i64 849820433767831216, i64 821472987470547303, i64 847280720003977175, i64 819088479951744770, i64 844491357040016586, i64 816282248554941691, i64 842224676769876381, i64 813665561589949590, i64 839248414554980350, i64 811163751708979070, i64 836783276159086656, i64 808339503384882641, i64 834082953890062570, i64 806076026698537745, i64 831394235115111509, i64 803100472035179131, i64 828987154950600030, i64 800589119938488240, i64 826098588376837613, i64 797939591301541114, i64 823749175863580802, i64 795206926306341129, i64 820886843341792904, i64 792848853298865714, i64 818298814345631061, i64 789918691381114725, i64 815750432475784199, i64 787512140301985519, i64 812949385490093385, i64 784714720890944141, i64 810681627452593180, i64 782072939119948532, i64 807690511026612041, i64 779586281035102882, i64 805202588328054369, i64 776734847426230499, i64 802512837033877234, i64 774431879427253347, i64 799798575397843367, i64 771487314044367099, i64 797407937496773622, i64 768935110931894253, i64 794491975820448730, i64 766320846268394020, i64 792102918483416359, i64 763546790125106301, i64 789272612350385315, i64 761226908379810091, i64 786643821203075554, i64 758255472672539767, i64 784131329963401887, i64 755790921382214130, i64 781289171906083899, i64 753050876458824862, i64 778997059900416811, i64 750352300676150600, i64 776027935653920657, i64 747923768629386453, i64 773482703192917612, i64 745017247082258614, i64 770850199526004955, i64 742637787606627295, i64 768079970209298703, i64 739774661575624321, i64 765747063424318731, i64 737149115828595245, i64 762776937086046409, i64 734614591397965825, i64 760312744923209436, i64 731770657815593196, i64 757562907048905235, i64 729473093476005092, i64 754862201892071518, i64 726490473655137648, i64 752428289387704079, i64 723934954026106793, i64 749517720789541099, i64 721297871162350395, i64 747131441439690940, i64 718513718952840252, i64 744267798455596726, i64 716183280713147671, i64 741633683563217585, i64 713196587508927198, i64 739102135264403054, i64 710707542983029529, i64 736248387360216523, i64 707972112242048973, i64 733936289208083361, i64 705244462509653915, i64 730963224663486486, i64 702830061493221445, i64 728392243813599663, i64 699891302245694856, i64 725767172197313656, i64 697464648240410586, i64 722967057303438861, i64 694635847730235327, i64 720650378824138441, i64 691960963519264931, i64 717647562258922343, i64 689467196572284389, i64 715135750637133233, i64 686572963239148437, i64 712422000986741235, i64 684204102209257277, i64 709671895099503267, i64 681287658678627134, i64 707279880292005055, i64 678661365359704628, i64 704319234556982450, i64 676093472052867308, i64 701862139261867949, i64 673239984150219937, i64 699065270466838725, i64 670923833179420290, i64 696361133453324553, i64 667926193189236043, i64 693898863570745153, i64 665343904864669928, i64 690976732668708089, i64 662707738964153103, i64 688569439888839618, i64 659890868597146423, i64 685695695753469214, i64 657573719675692102, i64 683033097284655369, i64 654550185056229827, i64 680506237550595680, i64 652006936746048189, i64 677618636185214407, i64 649308929246545866, i64 675255804821279300, i64 646524231061567480, i64 672312076021091715, i64 644155617444510635, i64 669686227006102830, i64 641158471599930556, i64 667100990307551869, i64 638648956856813201, i64 664243633084079075, i64 635896070909712241, i64 661919534463948729, i64 633138816623429080, i64 658913311466077981, i64 630724972905383227, i64 656319100638171334, i64 627750010342541859, i64 653682203505343003, i64 625268623835326323, i64 650850538468988496, i64 622468302063839634, i64 648538724011826715, i64 619733519132271504, i64 645498419122116644, i64 617281077231972974, i64 642930454323681832, i64 614323894191585711, i64 640249065685328829, i64 611864778696000879, i64 637438311768933501, i64 609024883541147725, i64 635090360746585502, i64 606307397447269354, i64 632066547210051321, i64 603823332433873438, i64 629519200828138712, i64 600879364821996635, i64 626800884175610101, i64 598436461966427911, i64 624006072048113247, i64 595565209849302261, i64 621628690998575721, i64 592859689412725257, i64 618616987729372656, i64 590351260254208198, i64 616084445647524462, i64 587415823980861965, i64 613337095375036144, i64 584982928016678936, i64 610553111111651805, i64 582088818229780792, i64 608153271223326290, i64 579389823278833702, i64 605149187031124523, i64 576864509347324037, i64 602625500389852149, i64 573932842479146749, i64 599857273198616027, i64 571503656281523293, i64 597078904134492610, i64 568595395631678796, i64 594663780048154215, i64 565897426328383545, i64 591662754151430956, i64 563362860585927809, i64 589141893150530918, i64 560430166681400780, i64 586361135507354810, i64 557998359139346242, i64 583583117590379874, i64 555084783453975383, i64 581160023132589845, i64 552382330527361115, i64 578157466730218032, i64 549846230385551120, i64 575633375662846180, i64 546907722356206498, i64 572848548386814378, i64 544466986280988341, i64 570065614313393762, i64 541556979955787154, i64 567641936119567762, i64 538844575079642971, i64 564633274389815580, i64 536314671975803077, i64 562099927072023431, i64 533365615805615525, i64 559319528183654703, i64 530909725475695435, i64 556526455584610394, i64 528012140283382307, i64 554109585614704821, i64 525284405831457345, i64 551090299501642020, i64 522768374591369954, i64 548541754252636369, i64 519804132249540012, i64 545774241256839765, i64 517326999717869782, i64 542965900199490631, i64 514450574113368957, i64 540563168172825107, i64 511702271538266868, i64 537528835324653741, i64 509207660599957966, i64 534959288662602892, i64 506223731499440290, i64 532213001448803987, i64 503719460815260127, i64 529384400535847707, i64 500872740962129923, i64 527003007313299417, i64 498098817073353439, i64 523949341555164647, i64 495632980628143253, i64 521353179800680142, i64 492625041013088047, i64 518636265330341966, i64 490087979554520541, i64 515782595705947215, i64 487279243260868069, i64 513429548627585272, i64 484474873721851793, i64 510352437382483417, i64 482044906788198900, i64 507724285406209510, i64 479008846477121191, i64 505044625319983047, i64 476433632651658616, i64 502161301937715996, i64 473670817342214617, i64 499787147526760486, i64 470831446764536197, i64 496738892197083373, i64 468444124148275228, i64 494073658607922827, i64 465376080115062738, i64 491438800822868719, i64 462757686760860025, i64 488521500387517287, i64 460048322526990131, i64 486101417563146642, i64 457169700610699124, i64 483109614146305999, i64 454799278883123968, i64 480402532291075838, i64 451727806964103267, i64 477819627574481601, i64 449061579873781626, i64 474864322638957205, i64 446412728537277573, i64 472393080138020702, i64 443490941787538523, i64 469465636775629421, i64 441062587514576037, i64 466712301007384184, i64 438065209403072112, i64 464188045409926538, i64 435346900491154227, i64 461191034187372068, i64 432765101493518147, i64 458663837603860162, i64 429796600133386008, i64 455808104030205738, i64 427305729017691333, i64 453004500798798059, i64 424389570245685719, i64 450545084708946834, i64 421615364988222070, i64 447503016246880162, i64 419106588778118773, i64 444915539980131522, i64 416088208572920966, i64 442138253920791662, i64 413530749973169426, i64 439280787342943488, i64 410702254736642619, i64 436891851789772318, i64 407868793624286055, i64 433801746245296157, i64 405438403065527005, i64 431150158930173265, i64 402367381873575451, i64 428457401179704462, i64 399739799233855937, i64 425542912854273642, i64 397004691802973221, i64 423120662108676394, i64 394109085663875219, i64 420088777391213440, i64 391710444075922965, i64 417369760617101539, i64 388635794793298684, i64 414766919245620279, i64 385935098995199816, i64 411792702190140176, i64 383298354919058723, i64 409290997083786701, i64 380338194082666507, i64 406365717706867132, i64 377853812567034105, i64 403576477959027787, i64 374895160030685699, i64 401068221920743713, i64 372118915712370463, i64 398032028614982157, i64 369584742940986034, i64 395448025376335855, i64 366558100325380503, i64 392634208920003779, i64 363985563237423016, i64 389772482800844034, i64 361147206379453959, i64 387362745040223724, i64 358293531390572723, i64 384262789668847086, i64 355865361254743042, i64 381594253443105932, i64 352770789566013059, i64 378895905598198696, i64 350108312704878957, i64 375959958504518633, i64 347393657470932186, i64 373505087892299748, i64 344461215748590144, i64 370486883569034843, i64 342009835447361994, i64 367732182538700821, i64 338978226893743032, i64 365152454890445680, i64 0, i64 0], i64 9223372036854775807, i64 4628361211774238720, i64 -9223372036854775808, i64 4607182418800017408, i64 4030721666496593920, i64 4809844402031689728, i64 -4674029665168079265, i64 4559652046092914288, i64 -4646516487248410042, i64 4584971922906718860, i64 -4632686469741566526, i64 4594330128162774239, i64 -4653905481194846697, i64 -4631844996872635924, i64 -4628199247943043929, i64 4578473755112559199, i64 4597174409340068022, i64 4591870137174796762, i64 -4636806096347962336, i64 -4622494657527162824, i64 4593971859893694594, i64 4602678819176290096, i64 -4623695617433711907, i64 -4623695617433709430, i64 4604180019048436943, i64 4628356660214402045, i64 5183643171103440896, i64 4294967295 }, align 8 +@_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE = internal unnamed_addr addrspace(1) constant [608 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 -1758924515, i32 1072398983] }, { [2 x i32] } { [2 x i32] [i32 1399772821, i32 1016356498] }, { [2 x i32] } { [2 x i32] [i32 -1578604106, i32 -1074674129] }, { [2 x i32] } { [2 x i32] [i32 -1779954555, i32 -1131616624] }, { [2 x i32] } { [2 x i32] [i32 -1578604106, i32 1069663791] }, { [2 x i32] } { [2 x i32] [i32 -2054219685, i32 1012721291] }, { [2 x i32] } { [2 x i32] [i32 -607374538, i32 1071052114] }, { [2 x i32] } { [2 x i32] [i32 803907102, i32 1011174242] }, { [2 x i32] } { [2 x i32] [i32 -846332431, i32 -1078880567] }, { [2 x i32] } { [2 x i32] [i32 750050903, i32 -1134226649] }, { [2 x i32] } { [2 x i32] [i32 601957364, i32 -1078285402] }, { [2 x i32] } { [2 x i32] [i32 1555639211, i32 -1134782365] }, { [2 x i32] } { [2 x i32] [i32 1774552010, i32 1066874090] }, { [2 x i32] } { [2 x i32] [i32 -410435161, i32 1066963544] }, { [2 x i32] } { [2 x i32] [i32 -1061205981, i32 -1082722687] }, { [2 x i32] } { [2 x i32] [i32 1379327181, i32 -1083016909] }, { [2 x i32] } { [2 x i32] [i32 242623580, i32 1062350129] }, { [2 x i32] } { [2 x i32] [i32 -2019697673, i32 1061641073] }, { [2 x i32] } { [2 x i32] [i32 254615366, i32 -1087898982] }, { [2 x i32] } { [2 x i32] [i32 -1847473077, i32 -1088852473] }, { [2 x i32] } { [2 x i32] [i32 604424981, i32 1056656877] }, { [2 x i32] } { [2 x i32] [i32 50341065, i32 1055592081] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1076625408] }, { [2 x i32] } { [2 x i32] [i32 1599080160, i32 1071977136] }, { [2 x i32] } { [2 x i32] [i32 688395245, i32 1016124311] }, { [2 x i32] } { [2 x i32] [i32 -323042665, i32 -1074765869] }, { [2 x i32] } { [2 x i32] [i32 -730739264, i32 -1130335211] }, { [2 x i32] } { [2 x i32] [i32 -403803331, i32 1070888904] }, { [2 x i32] } { [2 x i32] [i32 -814169094, i32 1014571560] }, { [2 x i32] } { [2 x i32] [i32 1621928818, i32 1070698875] }, { [2 x i32] } { [2 x i32] [i32 -274885110, i32 1015153452] }, { [2 x i32] } { [2 x i32] [i32 685042962, i32 -1077730649] }, { [2 x i32] } { [2 x i32] [i32 -805907001, i32 -1137040651] }, { [2 x i32] } { [2 x i32] [i32 -1446171628, i32 -1078965168] }, { [2 x i32] } { [2 x i32] [i32 -532519177, i32 -1133653490] }, { [2 x i32] } { [2 x i32] [i32 1324211555, i32 1067961974] }, { [2 x i32] } { [2 x i32] [i32 1476477459, i32 1065781932] }, { [2 x i32] } { [2 x i32] [i32 -1779154383, i32 -1081726296] }, { [2 x i32] } { [2 x i32] [i32 -990206454, i32 -1084833789] }, { [2 x i32] } { [2 x i32] [i32 716797578, i32 1063287120] }, { [2 x i32] } { [2 x i32] [i32 -2010974375, i32 1058905221] }, { [2 x i32] } { [2 x i32] [i32 -2026213006, i32 -1087087987] }, { [2 x i32] } { [2 x i32] [i32 1012519479, i32 -1095677972] }, { [2 x i32] } { [2 x i32] [i32 944669356, i32 1057318598] }, { [2 x i32] } { [2 x i32] [i32 1931303816, i32 -1096107655] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075576832] }, { [2 x i32] } { [2 x i32] [i32 1180573078, i32 1071127762] }, { [2 x i32] } { [2 x i32] [i32 -181792118, i32 1014965748] }, { [2 x i32] } { [2 x i32] [i32 -1810674787, i32 -1075286378] }, { [2 x i32] } { [2 x i32] [i32 959898156, i32 -1131011793] }, { [2 x i32] } { [2 x i32] [i32 957881989, i32 1071548988] }, { [2 x i32] } { [2 x i32] [i32 442195505, i32 1012747532] }, { [2 x i32] } { [2 x i32] [i32 35029730, i32 1068269829] }, { [2 x i32] } { [2 x i32] [i32 976783580, i32 1012161104] }, { [2 x i32] } { [2 x i32] [i32 -1975921006, i32 -1077504452] }, { [2 x i32] } { [2 x i32] [i32 10747389, i32 -1133470063] }, { [2 x i32] } { [2 x i32] [i32 -536886009, i32 1067192898] }, { [2 x i32] } { [2 x i32] [i32 1126055042, i32 1009745370] }, { [2 x i32] } { [2 x i32] [i32 1760060230, i32 1067789094] }, { [2 x i32] } { [2 x i32] [i32 -1043700595, i32 -1081312039] }, { [2 x i32] } { [2 x i32] [i32 -1487999843, i32 -1082432780] }, { [2 x i32] } { [2 x i32] [i32 1864685761, i32 1064158132] }, { [2 x i32] } { [2 x i32] [i32 -556618440, i32 1061687624] }, { [2 x i32] } { [2 x i32] [i32 790737257, i32 -1085917291] }, { [2 x i32] } { [2 x i32] [i32 1943644508, i32 -1090170815] }, { [2 x i32] } { [2 x i32] [i32 -1380382609, i32 1058674792] }, { [2 x i32] } { [2 x i32] [i32 -1720929188, i32 -1093798491] }, { [2 x i32] } { [2 x i32] [i32 1252008665, i32 -1091942941] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074528256] }, { [2 x i32] } { [2 x i32] [i32 866709712, i32 1068743889] }, { [2 x i32] } { [2 x i32] [i32 -1417908520, i32 1013060082] }, { [2 x i32] } { [2 x i32] [i32 -84634928, i32 -1077000622] }, { [2 x i32] } { [2 x i32] [i32 1459199107, i32 -1132717405] }, { [2 x i32] } { [2 x i32] [i32 -606239407, i32 1070787571] }, { [2 x i32] } { [2 x i32] [i32 -1502675836, i32 1012143918] }, { [2 x i32] } { [2 x i32] [i32 855534605, i32 -1077579312] }, { [2 x i32] } { [2 x i32] [i32 759913640, i32 -1134166396] }, { [2 x i32] } { [2 x i32] [i32 2131284961, i32 1064909442] }, { [2 x i32] } { [2 x i32] [i32 -1697570769, i32 1009180630] }, { [2 x i32] } { [2 x i32] [i32 989201780, i32 1067984906] }, { [2 x i32] } { [2 x i32] [i32 -976259070, i32 1008612878] }, { [2 x i32] } { [2 x i32] [i32 699280746, i32 -1080700752] }, { [2 x i32] } { [2 x i32] [i32 993015799, i32 -1083324341] }, { [2 x i32] } { [2 x i32] [i32 1559561232, i32 1064778208] }, { [2 x i32] } { [2 x i32] [i32 680189340, i32 -1085358138] }, { [2 x i32] } { [2 x i32] [i32 -1094116690, i32 -1085442874] }, { [2 x i32] } { [2 x i32] [i32 1492278808, i32 1059590695] }, { [2 x i32] } { [2 x i32] [i32 -186619946, i32 -1089031875] }, { [2 x i32] } { [2 x i32] [i32 -2108552580, i32 -1088149989] }, { [2 x i32] } { [2 x i32] [i32 -1491762523, i32 -1090176262] }, { [2 x i32] } { [2 x i32] [i32 1021304598, i32 -1094654484] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074266112] }, { [2 x i32] } { [2 x i32] [i32 -1899474288, i32 1067539114] }, { [2 x i32] } { [2 x i32] [i32 -1947254020, i32 1010696759] }, { [2 x i32] } { [2 x i32] [i32 649597580, i32 -1078037961] }, { [2 x i32] } { [2 x i32] [i32 -579367398, i32 -1134125544] }, { [2 x i32] } { [2 x i32] [i32 1561014649, i32 1069995433] }, { [2 x i32] } { [2 x i32] [i32 -1247879115, i32 1014230941] }, { [2 x i32] } { [2 x i32] [i32 735510274, i32 -1077820768] }, { [2 x i32] } { [2 x i32] [i32 1352249772, i32 -1133171496] }, { [2 x i32] } { [2 x i32] [i32 1629994682, i32 1067898281] }, { [2 x i32] } { [2 x i32] [i32 867814168, i32 1012540688] }, { [2 x i32] } { [2 x i32] [i32 -1052834470, i32 1066299959] }, { [2 x i32] } { [2 x i32] [i32 1473115860, i32 1010684527] }, { [2 x i32] } { [2 x i32] [i32 1350993397, i32 -1080833477] }, { [2 x i32] } { [2 x i32] [i32 212467593, i32 1064529314] }, { [2 x i32] } { [2 x i32] [i32 1581296174, i32 1063476333] }, { [2 x i32] } { [2 x i32] [i32 1019617056, i32 -1084491426] }, { [2 x i32] } { [2 x i32] [i32 326531339, i32 1058667915] }, { [2 x i32] } { [2 x i32] [i32 -1734864322, i32 1060207995] }, { [2 x i32] } { [2 x i32] [i32 1059830545, i32 -1089545952] }, { [2 x i32] } { [2 x i32] [i32 73331091, i32 1053435953] }, { [2 x i32] } { [2 x i32] [i32 -775286469, i32 1056963274] }, { [2 x i32] } { [2 x i32] [i32 287235298, i32 1054771565] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074266112] }, { [2 x i32] } { [2 x i32] [i32 -1899474428, i32 1067539114] }, { [2 x i32] } { [2 x i32] [i32 -612262865, i32 1012674156] }, { [2 x i32] } { [2 x i32] [i32 649602216, i32 -1078037961] }, { [2 x i32] } { [2 x i32] [i32 -883878280, i32 -1133824687] }, { [2 x i32] } { [2 x i32] [i32 1560943486, i32 1069995433] }, { [2 x i32] } { [2 x i32] [i32 373233254, i32 1014373936] }, { [2 x i32] } { [2 x i32] [i32 736848572, i32 -1077820768] }, { [2 x i32] } { [2 x i32] [i32 1866442275, i32 -1134641048] }, { [2 x i32] } { [2 x i32] [i32 1560943474, i32 1067898281] }, { [2 x i32] } { [2 x i32] [i32 -718636989, i32 1009307384] }, { [2 x i32] } { [2 x i32] [i32 649623715, i32 1066299959] }, { [2 x i32] } { [2 x i32] [i32 725533065, i32 1006865126] }, { [2 x i32] } { [2 x i32] [i32 1925526991, i32 -1080833475] }, { [2 x i32] } { [2 x i32] [i32 -1512908072, i32 1064529267] }, { [2 x i32] } { [2 x i32] [i32 -392402590, i32 1063475940] }, { [2 x i32] } { [2 x i32] [i32 -1588104846, i32 -1084488832] }, { [2 x i32] } { [2 x i32] [i32 1817950372, i32 1058560819] }, { [2 x i32] } { [2 x i32] [i32 1279984267, i32 1060154640] }, { [2 x i32] } { [2 x i32] [i32 1456324877, i32 -1089184996] }, { [2 x i32] } { [2 x i32] [i32 -1075107365, i32 -1091357645] }, { [2 x i32] } { [2 x i32] [i32 1354896425, i32 1055916872] }, { [2 x i32] } { [2 x i32] [i32 153053737, i32 -1094361807] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073479680] }, { [2 x i32] } { [2 x i32] [i32 -206097352, i32 1070267315] }, { [2 x i32] } { [2 x i32] [i32 -2118674120, i32 1014815941] }, { [2 x i32] } { [2 x i32] [i32 2130816332, i32 -1078785939] }, { [2 x i32] } { [2 x i32] [i32 1120272801, i32 -1133740150] }, { [2 x i32] } { [2 x i32] [i32 -1482122929, i32 1067026776] }, { [2 x i32] } { [2 x i32] [i32 -341324069, i32 1009444623] }, { [2 x i32] } { [2 x i32] [i32 1988706352, i32 -1082105056] }, { [2 x i32] } { [2 x i32] [i32 -26573065, i32 -1141387121] }, { [2 x i32] } { [2 x i32] [i32 1288160248, i32 1063531968] }, { [2 x i32] } { [2 x i32] [i32 -1372539617, i32 1007764987] }, { [2 x i32] } { [2 x i32] [i32 -1316987715, i32 -1085797938] }, { [2 x i32] } { [2 x i32] [i32 -544159033, i32 -1148047730] }, { [2 x i32] } { [2 x i32] [i32 985562119, i32 1059825827] }, { [2 x i32] } { [2 x i32] [i32 -1775798272, i32 -1089544841] }, { [2 x i32] } { [2 x i32] [i32 68429100, i32 1055964010] }, { [2 x i32] } { [2 x i32] [i32 -717100594, i32 -1093551659] }, { [2 x i32] } { [2 x i32] [i32 -1730359908, i32 1051841939] }, { [2 x i32] } { [2 x i32] [i32 -1355767192, i32 -1097568666] }, { [2 x i32] } { [2 x i32] [i32 -76387715, i32 1046628386] }, { [2 x i32] } { [2 x i32] [i32 1377164546, i32 -1100616050] }, { [2 x i32] } { [2 x i32] [i32 -1970232819, i32 -1102989811] }, { [2 x i32] } { [2 x i32] [i32 1839603542, i32 -1104046207] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073217536] }, { [2 x i32] } { [2 x i32] [i32 2099420460, i32 1070000514] }, { [2 x i32] } { [2 x i32] [i32 -1492114253, i32 1014611496] }, { [2 x i32] } { [2 x i32] [i32 1293201774, i32 -1079257426] }, { [2 x i32] } { [2 x i32] [i32 754100791, i32 -1134755093] }, { [2 x i32] } { [2 x i32] [i32 446218444, i32 1066419198] }, { [2 x i32] } { [2 x i32] [i32 -175280698, i32 1006799142] }, { [2 x i32] } { [2 x i32] [i32 464017249, i32 -1083025146] }, { [2 x i32] } { [2 x i32] [i32 960597079, i32 -1138608414] }, { [2 x i32] } { [2 x i32] [i32 785622302, i32 1062472140] }, { [2 x i32] } { [2 x i32] [i32 -955012351, i32 1004756287] }, { [2 x i32] } { [2 x i32] [i32 -1658842656, i32 -1087029780] }, { [2 x i32] } { [2 x i32] [i32 -1299075735, i32 -1142988306] }, { [2 x i32] } { [2 x i32] [i32 742584182, i32 1058400057] }, { [2 x i32] } { [2 x i32] [i32 2101069570, i32 -1091173807] }, { [2 x i32] } { [2 x i32] [i32 -2113342598, i32 1054184935] }, { [2 x i32] } { [2 x i32] [i32 880779555, i32 -1095454235] }, { [2 x i32] } { [2 x i32] [i32 -1065352998, i32 1049846396] }, { [2 x i32] } { [2 x i32] [i32 -1518716665, i32 -1099820474] }, { [2 x i32] } { [2 x i32] [i32 1726624674, i32 1045262260] }, { [2 x i32] } { [2 x i32] [i32 -1362210457, i32 -1103898566] }, { [2 x i32] } { [2 x i32] [i32 968482455, i32 -1109109024] }, { [2 x i32] } { [2 x i32] [i32 839487434, i32 -1107288821] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073217536] }, { [2 x i32] } { [2 x i32] [i32 2099420460, i32 1070000514] }, { [2 x i32] } { [2 x i32] [i32 -323127509, i32 1014611494] }, { [2 x i32] } { [2 x i32] [i32 1293201774, i32 -1079257426] }, { [2 x i32] } { [2 x i32] [i32 1164040504, i32 -1134773859] }, { [2 x i32] } { [2 x i32] [i32 446218443, i32 1066419198] }, { [2 x i32] } { [2 x i32] [i32 752423430, i32 1011527589] }, { [2 x i32] } { [2 x i32] [i32 464016831, i32 -1083025146] }, { [2 x i32] } { [2 x i32] [i32 1037460728, i32 -1138219402] }, { [2 x i32] } { [2 x i32] [i32 785625671, i32 1062472140] }, { [2 x i32] } { [2 x i32] [i32 -1517446626, i32 1006268542] }, { [2 x i32] } { [2 x i32] [i32 -1661492824, i32 -1087029780] }, { [2 x i32] } { [2 x i32] [i32 224500896, i32 -1142080754] }, { [2 x i32] } { [2 x i32] [i32 768707698, i32 1058400057] }, { [2 x i32] } { [2 x i32] [i32 -1002245790, i32 -1091173808] }, { [2 x i32] } { [2 x i32] [i32 578140564, i32 1054184941] }, { [2 x i32] } { [2 x i32] [i32 2030948072, i32 -1095454456] }, { [2 x i32] } { [2 x i32] [i32 703221627, i32 1049847594] }, { [2 x i32] } { [2 x i32] [i32 -992287529, i32 -1099840028] }, { [2 x i32] } { [2 x i32] [i32 1902201635, i32 1045392042] }, { [2 x i32] } { [2 x i32] [i32 -246619155, i32 -1104574451] }, { [2 x i32] } { [2 x i32] [i32 436255103, i32 1040232916] }, { [2 x i32] } { [2 x i32] [i32 -1438839727, i32 -1110895520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072431104] }, { [2 x i32] } { [2 x i32] [i32 -1634452436, i32 1069307683] }, { [2 x i32] } { [2 x i32] [i32 -384916409, i32 1010798723] }, { [2 x i32] } { [2 x i32] [i32 1232972210, i32 -1080698813] }, { [2 x i32] } { [2 x i32] [i32 -975490435, i32 -1136043791] }, { [2 x i32] } { [2 x i32] [i32 728349866, i32 1064340728] }, { [2 x i32] } { [2 x i32] [i32 -1337451282, i32 1008704767] }, { [2 x i32] } { [2 x i32] [i32 -1680072871, i32 -1085756479] }, { [2 x i32] } { [2 x i32] [i32 -386577790, i32 -1142707498] }, { [2 x i32] } { [2 x i32] [i32 -2103754886, i32 1059199474] }, { [2 x i32] } { [2 x i32] [i32 -1863947210, i32 1004176268] }, { [2 x i32] } { [2 x i32] [i32 -1076244086, i32 -1090901368] }, { [2 x i32] } { [2 x i32] [i32 -1294356128, i32 -1146635651] }, { [2 x i32] } { [2 x i32] [i32 -659086648, i32 1053991881] }, { [2 x i32] } { [2 x i32] [i32 536114836, i32 -1096141314] }, { [2 x i32] } { [2 x i32] [i32 772319782, i32 1048710562] }, { [2 x i32] } { [2 x i32] [i32 455323837, i32 -1101407413] }, { [2 x i32] } { [2 x i32] [i32 -1427184100, i32 1042956501] }, { [2 x i32] } { [2 x i32] [i32 -1703269585, i32 -1105889821] }, { [2 x i32] } { [2 x i32] [i32 -587835711, i32 -1108633667] }, { [2 x i32] } { [2 x i32] [i32 1191412344, i32 -1109264392] }, { [2 x i32] } { [2 x i32] [i32 26961465, i32 -1111848877] }, { [2 x i32] } { [2 x i32] [i32 -895792619, i32 -1114576350] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072168960] }, { [2 x i32] } { [2 x i32] [i32 -2071341290, i32 1069006900] }, { [2 x i32] } { [2 x i32] [i32 1459366060, i32 1012973801] }, { [2 x i32] } { [2 x i32] [i32 1839010552, i32 -1081157642] }, { [2 x i32] } { [2 x i32] [i32 2068820260, i32 -1137006885] }, { [2 x i32] } { [2 x i32] [i32 1249919926, i32 1063503734] }, { [2 x i32] } { [2 x i32] [i32 962503917, i32 1008341811] }, { [2 x i32] } { [2 x i32] [i32 2100991944, i32 -1086779286] }, { [2 x i32] } { [2 x i32] [i32 -469109741, i32 -1142530592] }, { [2 x i32] } { [2 x i32] [i32 -1935598383, i32 1057973453] }, { [2 x i32] } { [2 x i32] [i32 743880428, i32 1000696453] }, { [2 x i32] } { [2 x i32] [i32 1096261871, i32 -1092390703] }, { [2 x i32] } { [2 x i32] [i32 -319860013, i32 -1148623346] }, { [2 x i32] } { [2 x i32] [i32 -1215298827, i32 1052233933] }, { [2 x i32] } { [2 x i32] [i32 1037052812, i32 -1098064005] }, { [2 x i32] } { [2 x i32] [i32 -535721682, i32 1046563275] }, { [2 x i32] } { [2 x i32] [i32 -1094231558, i32 -1103832730] }, { [2 x i32] } { [2 x i32] [i32 -133667325, i32 1040588242] }, { [2 x i32] } { [2 x i32] [i32 -1360761168, i32 -1109134993] }, { [2 x i32] } { [2 x i32] [i32 -323866093, i32 -1113583352] }, { [2 x i32] } { [2 x i32] [i32 353687358, i32 -1113161030] }, { [2 x i32] } { [2 x i32] [i32 -1247271778, i32 -1115894982] }, { [2 x i32] } { [2 x i32] [i32 -443847799, i32 -1118551849] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1072168960] }, { [2 x i32] } { [2 x i32] [i32 -2071341279, i32 1069006900] }, { [2 x i32] } { [2 x i32] [i32 1388676355, i32 1012705760] }, { [2 x i32] } { [2 x i32] [i32 1839008253, i32 -1081157642] }, { [2 x i32] } { [2 x i32] [i32 815236617, i32 -1136981456] }, { [2 x i32] } { [2 x i32] [i32 1250030689, i32 1063503734] }, { [2 x i32] } { [2 x i32] [i32 1288166708, i32 1008687857] }, { [2 x i32] } { [2 x i32] [i32 2094505532, i32 -1086779286] }, { [2 x i32] } { [2 x i32] [i32 311037013, i32 -1144344540] }, { [2 x i32] } { [2 x i32] [i32 -1677215750, i32 1057973453] }, { [2 x i32] } { [2 x i32] [i32 -1758046535, i32 1001852867] }, { [2 x i32] } { [2 x i32] [i32 1679260317, i32 -1092390704] }, { [2 x i32] } { [2 x i32] [i32 -902001399, i32 -1148434226] }, { [2 x i32] } { [2 x i32] [i32 1054244789, i32 1052233952] }, { [2 x i32] } { [2 x i32] [i32 -328558600, i32 -1098064308] }, { [2 x i32] } { [2 x i32] [i32 1854848819, i32 1046565172] }, { [2 x i32] } { [2 x i32] [i32 -481224214, i32 -1103851077] }, { [2 x i32] } { [2 x i32] [i32 395181184, i32 1040724488] }, { [2 x i32] } { [2 x i32] [i32 -1838157063, i32 -1109643160] }, { [2 x i32] } { [2 x i32] [i32 -205502652, i32 1034959658] }, { [2 x i32] } { [2 x i32] [i32 -596916747, i32 -1115546020] }, { [2 x i32] } { [2 x i32] [i32 1112347086, i32 1028770902] }, { [2 x i32] } { [2 x i32] [i32 218099662, i32 -1122625968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071382528] }, { [2 x i32] } { [2 x i32] [i32 525966855, i32 1068285571] }, { [2 x i32] } { [2 x i32] [i32 -1688380143, i32 1012297682] }, { [2 x i32] } { [2 x i32] [i32 -1851553905, i32 -1082735268] }, { [2 x i32] } { [2 x i32] [i32 691043050, i32 -1139462051] }, { [2 x i32] } { [2 x i32] [i32 1829248673, i32 1061286877] }, { [2 x i32] } { [2 x i32] [i32 797308607, i32 1005505923] }, { [2 x i32] } { [2 x i32] [i32 -1397106295, i32 -1089721144] }, { [2 x i32] } { [2 x i32] [i32 -565314279, i32 -1145515171] }, { [2 x i32] } { [2 x i32] [i32 -777853091, i32 1054211729] }, { [2 x i32] } { [2 x i32] [i32 2096268314, i32 998380425] }, { [2 x i32] } { [2 x i32] [i32 733746641, i32 -1096732047] }, { [2 x i32] } { [2 x i32] [i32 -1518679049, i32 -1154584468] }, { [2 x i32] } { [2 x i32] [i32 312049674, i32 1047087440] }, { [2 x i32] } { [2 x i32] [i32 1779010374, i32 -1103461072] }, { [2 x i32] } { [2 x i32] [i32 -896441985, i32 -1108235607] }, { [2 x i32] } { [2 x i32] [i32 -362913893, i32 -1107944669] }, { [2 x i32] } { [2 x i32] [i32 -1768395216, i32 -1110046727] }, { [2 x i32] } { [2 x i32] [i32 1052531014, i32 -1112154008] }, { [2 x i32] } { [2 x i32] [i32 1237705257, i32 -1114822592] }, { [2 x i32] } { [2 x i32] [i32 1818683855, i32 -1117989164] }, { [2 x i32] } { [2 x i32] [i32 -1523755753, i32 -1121875061] }, { [2 x i32] } { [2 x i32] [i32 1784201120, i32 -1126794046] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -977193190, i32 1067973958] }, { [2 x i32] } { [2 x i32] [i32 -1371799996, i32 1012645752] }, { [2 x i32] } { [2 x i32] [i32 -1053793404, i32 -1083194249] }, { [2 x i32] } { [2 x i32] [i32 39491139, i32 -1141117085] }, { [2 x i32] } { [2 x i32] [i32 285395131, i32 1060435582] }, { [2 x i32] } { [2 x i32] [i32 -1753540520, i32 1004641207] }, { [2 x i32] } { [2 x i32] [i32 1226100891, i32 -1090809070] }, { [2 x i32] } { [2 x i32] [i32 1495613600, i32 -1146452752] }, { [2 x i32] } { [2 x i32] [i32 -424691607, i32 1052905917] }, { [2 x i32] } { [2 x i32] [i32 965710820, i32 997239553] }, { [2 x i32] } { [2 x i32] [i32 -802650450, i32 -1098402528] }, { [2 x i32] } { [2 x i32] [i32 -1777483748, i32 -1153738423] }, { [2 x i32] } { [2 x i32] [i32 1374076994, i32 1045282573] }, { [2 x i32] } { [2 x i32] [i32 372497316, i32 -1105689680] }, { [2 x i32] } { [2 x i32] [i32 -481121816, i32 -1112077345] }, { [2 x i32] } { [2 x i32] [i32 -394381770, i32 -1110859683] }, { [2 x i32] } { [2 x i32] [i32 1960133516, i32 -1113242933] }, { [2 x i32] } { [2 x i32] [i32 148017317, i32 -1115513620] }, { [2 x i32] } { [2 x i32] [i32 -823501915, i32 -1118473556] }, { [2 x i32] } { [2 x i32] [i32 65590178, i32 -1121813309] }, { [2 x i32] } { [2 x i32] [i32 -1156082455, i32 -1125939975] }, { [2 x i32] } { [2 x i32] [i32 -1737740630, i32 -1131030472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -975141299, i32 1067973958] }, { [2 x i32] } { [2 x i32] [i32 153387004, i32 1010340046] }, { [2 x i32] } { [2 x i32] [i32 -1267898791, i32 -1083194249] }, { [2 x i32] } { [2 x i32] [i32 -1854072295, i32 -1139453217] }, { [2 x i32] } { [2 x i32] [i32 1195164920, i32 1060435583] }, { [2 x i32] } { [2 x i32] [i32 1739223825, i32 1004641495] }, { [2 x i32] } { [2 x i32] [i32 -613790663, i32 -1090809107] }, { [2 x i32] } { [2 x i32] [i32 -1826381211, i32 -1147426987] }, { [2 x i32] } { [2 x i32] [i32 -1421675454, i32 1052906296] }, { [2 x i32] } { [2 x i32] [i32 1357898154, i32 997866283] }, { [2 x i32] } { [2 x i32] [i32 449207067, i32 -1098408302] }, { [2 x i32] } { [2 x i32] [i32 1843054170, i32 -1154223799] }, { [2 x i32] } { [2 x i32] [i32 1688975421, i32 1045349298] }, { [2 x i32] } { [2 x i32] [i32 -1688822039, i32 -1105987427] }, { [2 x i32] } { [2 x i32] [i32 -1451738411, i32 1037686975] }, { [2 x i32] } { [2 x i32] [i32 -1076462291, i32 -1113543628] }, { [2 x i32] } { [2 x i32] [i32 2000171025, i32 1030058339] }, { [2 x i32] } { [2 x i32] [i32 -1814206337, i32 -1121222370] }, { [2 x i32] } { [2 x i32] [i32 1915328357, i32 1022453358] }, { [2 x i32] } { [2 x i32] [i32 619623839, i32 -1128759955] }, { [2 x i32] } { [2 x i32] [i32 -417578673, i32 1013774410] }, { [2 x i32] } { [2 x i32] [i32 1403207699, i32 -1135305828] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1071120384] }, { [2 x i32] } { [2 x i32] [i32 -975141300, i32 1067973958] }, { [2 x i32] } { [2 x i32] [i32 2025830981, i32 1009198696] }, { [2 x i32] } { [2 x i32] [i32 -1267899034, i32 -1083194249] }, { [2 x i32] } { [2 x i32] [i32 462574407, i32 -1139238487] }, { [2 x i32] } { [2 x i32] [i32 1195152753, i32 1060435583] }, { [2 x i32] } { [2 x i32] [i32 2026642833, i32 1004181720] }, { [2 x i32] } { [2 x i32] [i32 -614526182, i32 -1090809107] }, { [2 x i32] } { [2 x i32] [i32 1280116659, i32 -1149502582] }, { [2 x i32] } { [2 x i32] [i32 -1436703734, i32 1052906296] }, { [2 x i32] } { [2 x i32] [i32 -641547628, i32 997536747] }, { [2 x i32] } { [2 x i32] [i32 8491235, i32 -1098408302] }, { [2 x i32] } { [2 x i32] [i32 2006410862, i32 -1158387007] }, { [2 x i32] } { [2 x i32] [i32 669193667, i32 1045349296] }, { [2 x i32] } { [2 x i32] [i32 261358851, i32 -1105987445] }, { [2 x i32] } { [2 x i32] [i32 -496630249, i32 1037686738] }, { [2 x i32] } { [2 x i32] [i32 -1042113478, i32 -1113544797] }, { [2 x i32] } { [2 x i32] [i32 -1308586976, i32 1030049333] }, { [2 x i32] } { [2 x i32] [i32 -2023491460, i32 -1121276588] }, { [2 x i32] } { [2 x i32] [i32 -173314403, i32 1022324142] }, { [2 x i32] } { [2 x i32] [i32 1033391529, i32 -1129317077] }, { [2 x i32] } { [2 x i32] [i32 472144880, i32 1013451034] }, { [2 x i32] } { [2 x i32] [i32 -1298224654, i32 -1139596735] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070333952] }, { [2 x i32] } { [2 x i32] [i32 -1984526340, i32 1067243964] }, { [2 x i32] } { [2 x i32] [i32 1910839802, i32 1011085066] }, { [2 x i32] } { [2 x i32] [i32 -1063311514, i32 -1084815896] }, { [2 x i32] } { [2 x i32] [i32 67697416, i32 -1141677033] }, { [2 x i32] } { [2 x i32] [i32 747798972, i32 1058167193] }, { [2 x i32] } { [2 x i32] [i32 -452292476, i32 1003388992] }, { [2 x i32] } { [2 x i32] [i32 -1334764223, i32 -1093847297] }, { [2 x i32] } { [2 x i32] [i32 -1650991729, i32 -1153781237] }, { [2 x i32] } { [2 x i32] [i32 -780176119, i32 1049049654] }, { [2 x i32] } { [2 x i32] [i32 -1161006891, i32 992966366] }, { [2 x i32] } { [2 x i32] [i32 -1394248835, i32 -1102941444] }, { [2 x i32] } { [2 x i32] [i32 1762535317, i32 -1159686188] }, { [2 x i32] } { [2 x i32] [i32 -361579107, i32 1040002967] }, { [2 x i32] } { [2 x i32] [i32 1623401109, i32 -1112036350] }, { [2 x i32] } { [2 x i32] [i32 -2051386514, i32 1030713860] }, { [2 x i32] } { [2 x i32] [i32 -1181436671, i32 -1120319709] }, { [2 x i32] } { [2 x i32] [i32 -16696937, i32 -1124662228] }, { [2 x i32] } { [2 x i32] [i32 -142456286, i32 -1126743715] }, { [2 x i32] } { [2 x i32] [i32 1448809675, i32 -1130225882] }, { [2 x i32] } { [2 x i32] [i32 2046900051, i32 -1133967634] }, { [2 x i32] } { [2 x i32] [i32 -160702335, i32 -1138525817] }, { [2 x i32] } { [2 x i32] [i32 -1552445771, i32 -1143888257] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -1999425592, i32 1066929438] }, { [2 x i32] } { [2 x i32] [i32 -457098040, i32 1002512271] }, { [2 x i32] } { [2 x i32] [i32 -1891442097, i32 -1085275738] }, { [2 x i32] } { [2 x i32] [i32 -1237713032, i32 -1146605146] }, { [2 x i32] } { [2 x i32] [i32 1273180940, i32 1057311076] }, { [2 x i32] } { [2 x i32] [i32 307148135, i32 998879167] }, { [2 x i32] } { [2 x i32] [i32 -186786691, i32 -1094956845] }, { [2 x i32] } { [2 x i32] [i32 867507169, i32 -1152643873] }, { [2 x i32] } { [2 x i32] [i32 -1888379807, i32 1047709282] }, { [2 x i32] } { [2 x i32] [i32 -694004983, i32 990271568] }, { [2 x i32] } { [2 x i32] [i32 641070000, i32 -1104615146] }, { [2 x i32] } { [2 x i32] [i32 942137886, i32 -1160516379] }, { [2 x i32] } { [2 x i32] [i32 471088535, i32 1038120451] }, { [2 x i32] } { [2 x i32] [i32 -510163763, i32 -1114220956] }, { [2 x i32] } { [2 x i32] [i32 2056014570, i32 1028171004] }, { [2 x i32] } { [2 x i32] [i32 975828111, i32 -1122965462] }, { [2 x i32] } { [2 x i32] [i32 -415597086, i32 -1127573911] }, { [2 x i32] } { [2 x i32] [i32 -1491017270, i32 -1129969302] }, { [2 x i32] } { [2 x i32] [i32 606260247, i32 -1133721047] }, { [2 x i32] } { [2 x i32] [i32 1881144158, i32 -1137667729] }, { [2 x i32] } { [2 x i32] [i32 670638336, i32 -1142584072] }, { [2 x i32] } { [2 x i32] [i32 2138776162, i32 -1148172468] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -1999387105, i32 1066929438] }, { [2 x i32] } { [2 x i32] [i32 -613766773, i32 1011869447] }, { [2 x i32] } { [2 x i32] [i32 -1894034359, i32 -1085275738] }, { [2 x i32] } { [2 x i32] [i32 1282261590, i32 -1143984268] }, { [2 x i32] } { [2 x i32] [i32 1435460813, i32 1057311076] }, { [2 x i32] } { [2 x i32] [i32 338806164, i32 1001507127] }, { [2 x i32] } { [2 x i32] [i32 2137816334, i32 -1094956846] }, { [2 x i32] } { [2 x i32] [i32 -1499899643, i32 -1151372342] }, { [2 x i32] } { [2 x i32] [i32 -33094206, i32 1047709301] }, { [2 x i32] } { [2 x i32] [i32 -1030822539, i32 991156440] }, { [2 x i32] } { [2 x i32] [i32 -2121248372, i32 -1104615525] }, { [2 x i32] } { [2 x i32] [i32 -484255667, i32 -1160234021] }, { [2 x i32] } { [2 x i32] [i32 -1848644721, i32 1038123240] }, { [2 x i32] } { [2 x i32] [i32 2077064354, i32 -1114252632] }, { [2 x i32] } { [2 x i32] [i32 504970137, i32 1028450869] }, { [2 x i32] } { [2 x i32] [i32 -529827747, i32 -1123869510] }, { [2 x i32] } { [2 x i32] [i32 2079001974, i32 1018773136] }, { [2 x i32] } { [2 x i32] [i32 875759584, i32 -1133467488] }, { [2 x i32] } { [2 x i32] [i32 -186441674, i32 1009120883] }, { [2 x i32] } { [2 x i32] [i32 -245648557, i32 -1143156934] }, { [2 x i32] } { [2 x i32] [i32 -524108495, i32 999517212] }, { [2 x i32] } { [2 x i32] [i32 -1572626832, i32 -1152507133] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1070071808] }, { [2 x i32] } { [2 x i32] [i32 -1999387105, i32 1066929438] }, { [2 x i32] } { [2 x i32] [i32 -2145943414, i32 1011305144] }, { [2 x i32] } { [2 x i32] [i32 -1894034387, i32 -1085275738] }, { [2 x i32] } { [2 x i32] [i32 1064137805, i32 -1142933643] }, { [2 x i32] } { [2 x i32] [i32 1435458098, i32 1057311076] }, { [2 x i32] } { [2 x i32] [i32 -31156845, i32 999199239] }, { [2 x i32] } { [2 x i32] [i32 2137652297, i32 -1094956846] }, { [2 x i32] } { [2 x i32] [i32 1479816286, i32 -1151694038] }, { [2 x i32] } { [2 x i32] [i32 -36541447, i32 1047709301] }, { [2 x i32] } { [2 x i32] [i32 -689582200, i32 992985426] }, { [2 x i32] } { [2 x i32] [i32 2066788283, i32 -1104615525] }, { [2 x i32] } { [2 x i32] [i32 -1095719000, i32 -1162539255] }, { [2 x i32] } { [2 x i32] [i32 1179383574, i32 1038123240] }, { [2 x i32] } { [2 x i32] [i32 140008546, i32 -1114252637] }, { [2 x i32] } { [2 x i32] [i32 -1364895135, i32 1028450789] }, { [2 x i32] } { [2 x i32] [i32 1129148062, i32 -1123869968] }, { [2 x i32] } { [2 x i32] [i32 -1119792319, i32 1018768936] }, { [2 x i32] } { [2 x i32] [i32 382350984, i32 -1133482655] }, { [2 x i32] } { [2 x i32] [i32 -403505715, i32 1009036439] }, { [2 x i32] } { [2 x i32] [i32 1514607567, i32 -1143509646] }, { [2 x i32] } { [2 x i32] [i32 292029317, i32 998546931] }, { [2 x i32] } { [2 x i32] [i32 906505364, i32 -1155256599] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 1431652600, i32 1069897045] }, { [2 x i32] } { [2 x i32] [i32 1431670732, i32 1067799893] }, { [2 x i32] } { [2 x i32] [i32 984555731, i32 1065423122] }, { [2 x i32] } { [2 x i32] [i32 472530941, i32 1062650218] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 -2084979213, i32 1046076929] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1579729366, i32 1044950059] }, { [2 x i32] } { [2 x i32] [i32 402653184, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 36755401, i32 1042114290] }, { [2 x i32] } { [2 x i32] [i32 1744830464, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1032479461, i32 1045685796] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 269498903, i32 1044815501] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 -1528053989, i32 1039293264] }, { [2 x i32] } { [2 x i32] [i32 -1476395008, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 2127365126, i32 1046127799] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -344752654, i32 1045558597] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 -1444563768, i32 1045134939] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 -1484760192, i32 1043762074] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -1897678143, i32 1041802037] }, { [2 x i32] } { [2 x i32] [i32 1744830464, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -509933589, i32 1046074760] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 1955981725, i32 1045924339] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -2068801723, i32 1045725051] }, { [2 x i32] } { [2 x i32] [i32 -1610612736, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 754984053, i32 1046188044] }, { [2 x i32] } { [2 x i32] [i32 134217728, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -1452325203, i32 1044483512] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -94051279, i32 1044586679] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 714887508, i32 1046276775] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -609718491, i32 1045665407] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 -1999187895, i32 1045448912] }, { [2 x i32] } { [2 x i32] [i32 536870912, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 -1618726308, i32 1044345570] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 1086643152, i32 1041785419] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 1078920847, i32 1045890291] }, { [2 x i32] } { [2 x i32] [i32 -805306368, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1670050209, i32 1045747880] }, { [2 x i32] } { [2 x i32] [i32 1879048192, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -1699426461, i32 1046115506] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 125577743, i32 1046115646] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 1771811520, i32 1046140063] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 -1520229184, i32 1045766480] }, { [2 x i32] } { [2 x i32] [i32 268435456, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 565866387, i32 1045869701] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 1492679939, i32 1041050306] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 612974287, i32 1044556049] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 843197631, i32 1046084847] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 -1144487029, i32 1045533800] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 2074373662, i32 1043172334] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 587053675, i32 1046022559] }, { [2 x i32] } { [2 x i32] [i32 1879048192, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 918464641, i32 1045387276] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -2008976373, i32 1046166841] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 682424459, i32 1043647713] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 1678188781, i32 1045046423] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 -623034837, i32 1044468998] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 1656324724, i32 1043421043] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -1635122296, i32 1042921660] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 1043233352, i32 1046444345] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -2132549066, i32 1044717444] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 630511316, i32 1045098283] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -463859163, i32 1044508970] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 -49304431, i32 1045817334] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 -706186419, i32 1043705146] }, { [2 x i32] } { [2 x i32] [i32 -1207959552, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 -1112542150, i32 1041483134] }, { [2 x i32] } { [2 x i32] [i32 -268435456, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 928333188, i32 1044896498] }, { [2 x i32] } { [2 x i32] [i32 -1879048192, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 -1994463171, i32 1041428596] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 1887994668, i32 1045828938] }, { [2 x i32] } { [2 x i32] [i32 671088640, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 757630176, i32 1046044485] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -1537994961, i32 1045675585] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 -597133032, i32 1044397131] }, { [2 x i32] } { [2 x i32] [i32 -671088640, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 479684631, i32 1045687954] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 730095629, i32 1045354900] }, { [2 x i32] } { [2 x i32] [i32 805306368, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 -171227562, i32 1045159130] }, { [2 x i32] } { [2 x i32] [i32 -536870912, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -660802484, i32 1046359295] }, { [2 x i32] } { [2 x i32] [i32 -1610612736, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 -869500003, i32 1044718726] }, { [2 x i32] } { [2 x i32] [i32 -402653184, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -1646493880, i32 1046054248] }, { [2 x i32] } { [2 x i32] [i32 1476395008, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 54164518, i32 1045131818] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -2098656642, i32 1043982605] }, { [2 x i32] } { [2 x i32] [i32 -17170432, i32 1065758274] }, { [2 x i32] } { [2 x i32] [i32 -1130480838, i32 1025308570] }, { [2 x i32] } { [2 x i32] [i32 1697350398, i32 1079448903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 862978048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1127743488] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1, i32 1048576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 1105497085, i32 1077623260] }, { [2 x i32] } { [2 x i32] [i32 261899793, i32 1077588746] }, { [2 x i32] } { [2 x i32] [i32 -59881326, i32 1077578514] }, { [2 x i32] } { [2 x i32] [i32 -1888163510, i32 -1072204721] }], align 8 +@_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_145__devicelib_imf_internal_derfcinv_data_avx512E = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_erfcinv_d_la::(anonymous namespace)::__devicelib_imf_internal_derfcinv_data_avx512_t" { [22018 x i64] [i64 4616981116928679862, i64 4750751262424850044, i64 4616980205098123402, i64 4750687061318596787, i64 4616979300159879889, i64 4750623837960071488, i64 4616978402009383995, i64 4750561570105088657, i64 4616977510544440295, i64 4750500236180265758, i64 4616976625665152072, i64 4750439815257901426, i64 4616975747273852767, i64 4750380287031975004, i64 4616974875275039979, i64 4750321631795209396, i64 4616974009575311888, i64 4750263830417142677, i64 4616973150083305992, i64 4750206864323157028, i64 4616972296709640071, i64 4750150715474416592, i64 4616971449366855271, i64 4750095366348668579, i64 4616970607969361221, i64 4750040799921864592, i64 4616969772433383090, i64 4749986999650561545, i64 4616968942676910521, i64 4749933949455063859, i64 4616968118619648335, i64 4749881633703270744, i64 4616967300182968954, i64 4749830037195194375, i64 4616966487289866465, i64 4749779145148116676, i64 4616965679864912251, i64 4749728943182354163, i64 4616964877834212139, i64 4749679417307601977, i64 4616964081125364983, i64 4749630553909829782, i64 4616963289667422646, i64 4749582339738703669, i64 4616962503390851315, i64 4749534761895509598, i64 4616961722227494089, i64 4749487807821555168, i64 4616960946110534805, i64 4749441465287027774, i64 4616960174974463039, i64 4749395722380288297, i64 4616959408755040249, i64 4749350567497580613, i64 4616958647389267002, i64 4749305989333138165, i64 4616957890815351262, i64 4749261976869669848, i64 4616957138972677670, i64 4749218519369208341, i64 4616956391801777815, i64 4749175606364304851, i64 4616955649244301425, i64 4749133227649555089, i64 4616954911242988466, i64 4749091373273441997, i64 4616954177741642097, i64 4749050033530481516, i64 4616953448685102474, i64 4749009198953658320, i64 4616952724019221342, i64 4748968860307139098, i64 4616952003690837411, i64 4748929008579251581, i64 4616951287647752471, i64 4748889634975718062, i64 4616950575838708232, i64 4748850730913132700, i64 4616949868213363852, i64 4748812288012672434, i64 4616949164722274135, i64 4748774298094031786, i64 4616948465316868372, i64 4748736753169572307, i64 4616947769949429809, i64 4748699645438677861, i64 4616947078573075707, i64 4748662967282307325, i64 4616946391141737986, i64 4748626711257736713, i64 4616945707610144429, i64 4748590870093483071, i64 4616945027933800419, i64 4748555436684402843, i64 4616944352068971207, i64 4748520404086957763, i64 4616943679972664672, i64 4748485765514641615, i64 4616943011602614581, i64 4748451514333561529, i64 4616942346917264303, i64 4748417644058167733, i64 4616941685875750992, i64 4748384148347126000, i64 4616941028437890198, i64 4748351020999327221, i64 4616940374564160910, i64 4748318255950028850, i64 4616939724215691005, i64 4748285847267123133, i64 4616939077354243097, i64 4748253789147527307, i64 4616938433942200768, i64 4748222075913691127, i64 4616937793942555169, i64 4748190702010217302, i64 4616937157318891990, i64 4748159662000590596, i64 4616936524035378762, i64 4748128950564011543, i64 4616935894056752513, i64 4748098562492330890, i64 4616935267348307739, i64 4748068492687081045, i64 4616934643875884696, i64 4748038736156600963, i64 4616934023605857996, i64 4748009288013251072, i64 4616933406505125502, i64 4747980143470714938, i64 4616932792541097507, i64 4747951297841384555, i64 4616932181681686195, i64 4747922746533826243, i64 4616931573895295367, i64 4747894485050324259, i64 4616930969150810436, i64 4747866508984499370, i64 4616930367417588672, i64 4747838814018999722, i64 4616929768665449686, i64 4747811395923261450, i64 4616929172864666166, i64 4747784250551336602, i64 4616928579985954837, i64 4747757373839786003, i64 4616927990000467640, i64 4747730761805634823, i64 4616927402879783143, i64 4747704410544388674, i64 4616926818595898151, i64 4747678316228108155, i64 4616926237121219526, i64 4747652475103539841, i64 4616925658428556208, i64 4747626883490301806, i64 4616925082491111425, i64 4747601537779121821, i64 4616924509282475094, i64 4747576434430126450, i64 4616923938776616405, i64 4747551569971179342, i64 4616923370947876578, i64 4747526940996267080, i64 4616922805770961799, i64 4747502544163930988, i64 4616922243220936314, i64 4747478376195743394, i64 4616921683273215695, i64 4747454433874826880, i64 4616921125903560258, i64 4747430714044415102, i64 4616920571088068635, i64 4747407213606453834, i64 4616920018803171498, i64 4747383929520240929, i64 4616919469025625427, i64 4747360858801103930, i64 4616918921732506915, i64 4747337998519114132, i64 4616918376901206518, i64 4747315345797835920, i64 4616917834509423130, i64 4747292897813110260, i64 4616917294535158395, i64 4747270651791871264, i64 4616916756956711242, i64 4747248605010994771, i64 4616916221752672540, i64 4747226754796177960, i64 4616915688901919882, i64 4747205098520848999, i64 4616915158383612469, i64 4747183633605105812, i64 4616914630177186129, i64 4747162357514683046, i64 4616914104262348425, i64 4747141267759946386, i64 4616913580619073886, i64 4747120361894913355, i64 4616913059227599333, i64 4747099637516299806, i64 4616912540068419311, i64 4747079092262591310, i64 4616912023122281621, i64 4747058723813138696, i64 4616911508370182945, i64 4747038529887277002, i64 4616910995793364569, i64 4747018508243467139, i64 4616910485373308194, i64 4746998656678459592, i64 4616909977091731838, i64 4746978973026479481, i64 4616909470930585826, i64 4746959455158432380, i64 4616908966872048865, i64 4746940100981130244, i64 4616908464898524196, i64 4746920908436536883, i64 4616907964992635838, i64 4746901875501032382, i64 4616907467137224898, i64 4746883000184695942, i64 4616906971315345966, i64 4746864280530606581, i64 4616906477510263580, i64 4746845714614161192, i64 4616905985705448770, i64 4746827300542409452, i64 4616905495884575663, i64 4746809036453405105, i64 4616905008031518171, i64 4746787833782643488, i64 4616904522130346729, i64 4746751894605682018, i64 4616904038165325120, i64 4746716244582083735, i64 4616903556120907344, i64 4746680880223636808, i64 4616903075981734564, i64 4746645798098109640, i64 4616902597732632107, i64 4746610994828131213, i64 4616902121358606526, i64 4746576467090098210, i64 4616901646844842721, i64 4746542211613108183, i64 4616901174176701118, i64 4746508225177918031, i64 4616900703339714898, i64 4746474504615927107, i64 4616900234319587291, i64 4746441046808184260, i64 4616899767102188910, i64 4746407848684418167, i64 4616899301673555150, i64 4746374907222090319, i64 4616898376127531666, i64 4746309782424730958, i64 4616897457572999634, i64 4746245649155836613, i64 4616896545903919715, i64 4746182484861843837, i64 4616895641016655445, i64 4746120267669231164, i64 4616894742809901047, i64 4746058976359053976, i64 4616893851184611949, i64 4745998590342615909, i64 4616892966043937865, i64 4745939089638218035, i64 4616892087293158344, i64 4745880454848930497, i64 4616891214839620665, i64 4745822667141334488, i64 4616890348592679984, i64 4745765708225185509, i64 4616889488463641631, i64 4745709560333951618, i64 4616888634365705473, i64 4745654206206183051, i64 4616887786213912239, i64 4745599629067672056, i64 4616886943925091745, i64 4745545812614364089, i64 4616886107417812923, i64 4745492740995983693, i64 4616885276612335585, i64 4745440398800340418, i64 4616884451430563846, i64 4745388771038282040, i64 4616883631796001151, i64 4745337843129264128, i64 4616882817633706820, i64 4745287600887506700, i64 4616882008870254070, i64 4745238030508710259, i64 4616881205433689434, i64 4745189118557305023, i64 4616880407253493543, i64 4745140851954208515, i64 4616879614260543197, i64 4745093217965068032, i64 4616878826387074688, i64 4745046204188965705, i64 4616878043566648322, i64 4744999798547565060, i64 4616877265734114084, i64 4744953989274679057, i64 4616876492825578419, i64 4744908764906240634, i64 4616875724778372073, i64 4744864114270657735, i64 4616874961531018955, i64 4744820026479535734, i64 4616874203023205990, i64 4744776490918751024, i64 4616873449195753911, i64 4744733497239860347, i64 4616872699990588970, i64 4744691035351831222, i64 4616871955350715525, i64 4744649095413079548, i64 4616871215220189469, i64 4744607667823801149, i64 4616870479544092477, i64 4744566743218584664, i64 4616869748268507037, i64 4744526312459293817, i64 4616869021340492237, i64 4744486366628207664, i64 4616868298708060275, i64 4744446897021407968, i64 4616867580320153683, i64 4744407895142403383, i64 4616866866126623217, i64 4744369352695980588, i64 4616866156078206409, i64 4744331261582273018, i64 4616865450126506739, i64 4744293613891038240, i64 4616864748223973429, i64 4744256401896135468, i64 4616864050323881813, i64 4744219618050195087, i64 4616863356380314276, i64 4744183254979472450, i64 4616862666348141743, i64 4744147305478878532, i64 4616861980183005696, i64 4744111762507180418, i64 4616861297841300695, i64 4744076619182364865, i64 4616860619280157404, i64 4744041868777158512, i64 4616859944457426079, i64 4744007504714698604, i64 4616859273331660530, i64 4743973520564348348, i64 4616858605862102519, i64 4743939910037651306, i64 4616857942008666592, i64 4743906666984419442, i64 4616857281731925326, i64 4743873785388949724, i64 4616856624993094980, i64 4743841259366364354, i64 4616855971754021536, i64 4743809083159069947, i64 4616855321977167112, i64 4743777251133331170, i64 4616854675625596746, i64 4743745757775954545, i64 4616854032662965530, i64 4743714597691078300, i64 4616853393053506083, i64 4743683765597064336, i64 4616852756762016361, i64 4743653256323488538, i64 4616852123753847784, i64 4743623064808225807, i64 4616851493994893671, i64 4743593186094626370, i64 4616850867451577980, i64 4743563615328780029, i64 4616850244090844337, i64 4743534347756865187, i64 4616849623880145350, i64 4743505378722579584, i64 4616849006787432190, i64 4743476703664649832, i64 4616848392781144447, i64 4743448318114416933, i64 4616847781830200234, i64 4743420217693495092, i64 4616847173903986547, i64 4743392398111501241, i64 4616846568972349864, i64 4743364855163852791, i64 4616845967005586978, i64 4743337584729631239, i64 4616845367974436060, i64 4743310582769509325, i64 4616844771850067940, i64 4743283845323739568, i64 4616844178604077607, i64 4743257368510202047, i64 4616843588208475910, i64 4743231148522509413, i64 4616843000635681470, i64 4743205181628167184, i64 4616842415858512777, i64 4743179464166787441, i64 4616841833850180490, i64 4743153992548354129, i64 4616841254584279912, i64 4743128763251538237, i64 4616840678034783649, i64 4743103772822061177, i64 4616840104176034442, i64 4743079017871104779, i64 4616839532982738172, i64 4743054495073766338, i64 4616838964429957024, i64 4743030201167557247, i64 4616838398493102814, i64 4743006132950943785, i64 4616837835147930477, i64 4742982287281928672, i64 4616837274370531694, i64 4742958661076672084, i64 4616836716137328679, i64 4742935251308150845, i64 4616836160425068100, i64 4742912055004854567, i64 4616835607210815143, i64 4742889069249517555, i64 4616835056471947713, i64 4742866291177885345, i64 4616834508186150761, i64 4742843717977514763, i64 4616833962331410744, i64 4742821346886606458, i64 4616833418886010210, i64 4742799175192868878, i64 4616832877828522497, i64 4742777200232412718, i64 4616832339137806561, i64 4742755419388674873, i64 4616831802793001909, i64 4742733830091370994, i64 4616831268773523650, i64 4742712429815475765, i64 4616830737059057651, i64 4742691216080230032, i64 4616830207629555804, i64 4742670186448173984, i64 4616829680465231389, i64 4742649338524205573, i64 4616829155546554542, i64 4742628669954663417, i64 4616828632854247825, i64 4742608178426433451, i64 4616828112369281880, i64 4742587861666078591, i64 4616827594072871189, i64 4742567717438990753, i64 4616827077946469913, i64 4742547743548564522, i64 4616826563971767828, i64 4742527937835391868, i64 4616826052130686342, i64 4742508298176477253, i64 4616825542405374600, i64 4742488822484472551, i64 4616825034778205663, i64 4742469508706931183, i64 4616824529231772777, i64 4742450354825580924, i64 4616824025748885710, i64 4742431358855614819, i64 4616823524312567175, i64 4742412518844999700, i64 4616823024906049313, i64 4742393832873801791, i64 4616822527512770264, i64 4742375299053528901, i64 4616822032116370797, i64 4742356915526488747, i64 4616821538700691010, i64 4742338680465162933, i64 4616821047249767104, i64 4742320592071596153, i64 4616820557747828211, i64 4742302648576800173, i64 4616820070179293298, i64 4742279288859212094, i64 4616819584528768123, i64 4742243971076722045, i64 4616819100781042256, i64 4742208932813955152, i64 4616818618921086160, i64 4742174170753314198, i64 4616818138934048331, i64 4742139681629591388, i64 4616817660805252486, i64 4742105462228937195, i64 4616817184520194819, i64 4742071509387853477, i64 4616816710064541299, i64 4742037819992210216, i64 4616816237424125031, i64 4742004390976285214, i64 4616815297533156815, i64 4741938302057134311, i64 4616814364737200367, i64 4741873219037676151, i64 4616813438928679171, i64 4741809119041892248, i64 4616812520002453943, i64 4741745979883431767, i64 4616811607855749429, i64 4741683780039788790, i64 4616810702388083928, i64 4741622498627631965, i64 4616809803501201437, i64 4741562115379226979, i64 4616808911099006277, i64 4741502610619895752, i64 4616808025087500113, i64 4741443965246459538, i64 4616807145374721250, i64 4741386160706616155, i64 4616806271870686115, i64 4741329178979204451, i64 4616805404487332825, i64 4741273002555311749, i64 4616804543138466757, i64 4741217614420182559, i64 4616803687739708035, i64 4741162998035889157, i64 4616802838208440845, i64 4741109137324726844, i64 4616801994463764520, i64 4741056016653298768, i64 4616801156426446304, i64 4741003620817257092, i64 4616800324018875729, i64 4740951935026669156, i64 4616799497165020555, i64 4740900944891978933, i64 4616798675790384181, i64 4740850636410535713, i64 4616797859821964501, i64 4740800995953663448, i64 4616797049188214120, i64 4740752010254245581, i64 4616796243819001887, i64 4740703666394801549, i64 4616795443645575696, i64 4740655951796032374, i64 4616794648600526502, i64 4740608854205813938, i64 4616793858617753499, i64 4740562361688617654, i64 4616793073632430427, i64 4740516462615339287, i64 4616792293580972951, i64 4740471145653517665, i64 4616791518401007089, i64 4740426399757925937, i64 4616790748031338621, i64 4740382214161518926, i64 4616789982411923478, i64 4740338578366720950, i64 4616789221483839044, i64 4740295482137039244, i64 4616788465189256347, i64 4740252915488988883, i64 4616787713471413117, i64 4740210868684315766, i64 4616786966274587663, i64 4740169332222504917, i64 4616786223544073542, i64 4740128296833561944, i64 4616785485226155007, i64 4740087753471056113, i64 4616784751268083180, i64 4740047693305414022, i64 4616784021618052949, i64 4740008107717453418, i64 4616783296225180541, i64 4739968988292147164, i64 4616782575039481768, i64 4739930326812607859, i64 4616781858011850908, i64 4739892115254284055, i64 4616781145094040199, i64 4739854345779359418, i64 4616780436238639932, i64 4739817010731346619, i64 4616779731399059123, i64 4739780102629868079, i64 4616779030529506730, i64 4739743614165616084, i64 4616778333584973414, i64 4739707538195485113, i64 4616777640521213815, i64 4739671867737869546, i64 4616776951294729326, i64 4739636595968120235, i64 4616776265862751352, i64 4739601716214153707, i64 4616775584183225038, i64 4739567221952208043, i64 4616774906214793445, i64 4739533106802739754, i64 4616774231916782165, i64 4739499364526456208, i64 4616773561249184355, i64 4739465989020478414, i64 4616772894172646183, i64 4739432974314629193, i64 4616772230648452668, i64 4739400314567841973, i64 4616771570638513900, i64 4739368004064685664, i64 4616770914105351633, i64 4739336037212001248, i64 4616770261012086232, i64 4739304408535645932, i64 4616769611322423972, i64 4739273112677340843, i64 4616768965000644668, i64 4739242144391618469, i64 4616768322011589630, i64 4739211498542866162, i64 4616767682320649938, i64 4739181170102462205, i64 4616767045893755016, i64 4739151154146001070, i64 4616766412697361505, i64 4739121445850604644, i64 4616765782698442420, i64 4739092040492316332, i64 4616765155864476587, i64 4739062933443575070, i64 4616764532163438346, i64 4739034120170766394, i64 4616763911563787520, i64 4739005596231847856, i64 4616763294034459632, i64 4738977357274046136, i64 4616762679544856367, i64 4738949399031623364, i64 4616762068064836278, i64 4738921717323710216, i64 4616761459564705716, i64 4738894308052203481, i64 4616760854015209990, i64 4738867167199725857, i64 4616760251387524739, i64 4738840290827645848, i64 4616759651653247517, i64 4738813675074155695, i64 4616759054784389587, i64 4738787316152405379, i64 4616758460753367908, i64 4738761210348690783, i64 4616757869532997317, i64 4738735354020694189, i64 4616757281096482901, i64 4738709743595775366, i64 4616756695417412549, i64 4738684375569311541, i64 4616756112469749679, i64 4738659246503084643, i64 4616755532227826142, i64 4738634353023714246, i64 4616754954666335291, i64 4738609691821134720, i64 4616754379760325209, i64 4738585259647115121, i64 4616753807485192101, i64 4738561053313820446, i64 4616753237816673833, i64 4738537069692412901, i64 4616752670730843626, i64 4738513305711691884, i64 4616752106204103892, i64 4738489758356771451, i64 4616751544213180212, i64 4738466424667794051, i64 4616750984735115448, i64 4738443301738679389, i64 4616750427747263996, i64 4738420386715907283, i64 4616749873227286161, i64 4738397676797333461, i64 4616749321153142664, i64 4738375169231037252, i64 4616748771503089266, i64 4738352861314200173, i64 4616748224255671518, i64 4738330750392014449, i64 4616747679389719628, i64 4738308833856620550, i64 4616747136884343429, i64 4738287109146072821, i64 4616746596718927478, i64 4738265573743332375, i64 4616746058873126242, i64 4738244225175286388, i64 4616745523326859402, i64 4738223061011793004, i64 4616744990060307255, i64 4738202078864751072, i64 4616744459053906215, i64 4738181276387193960, i64 4616743930288344409, i64 4738160651272406722, i64 4616743403744557372, i64 4738140201253065932, i64 4616742879403723828, i64 4738119924100401481, i64 4616742357247261567, i64 4738099817623379717, i64 4616741837256823403, i64 4738079879667907272, i64 4616741319414293223, i64 4738060108116054979, i64 4616740803701782111, i64 4738040500885301288, i64 4616740290101624563, i64 4738021055927794605, i64 4616739778596374770, i64 4738001771229634018, i64 4616739269168802990, i64 4737982644810167862, i64 4616738761801891981, i64 4737963674721309615, i64 4616738256478833519, i64 4737944859046870633, i64 4616737753183024981, i64 4737926195901909227, i64 4616737251898065998, i64 4737907683432095641, i64 4616736752607755181, i64 4737889319813092448, i64 4616736255296086904, i64 4737871103249949955, i64 4616735759947248160, i64 4737853031976516188, i64 4616735266545615476, i64 4737835104254861033, i64 4616734775075751892, i64 4737817318374714165, i64 4616734285522403995, i64 4737799672652916354, i64 4616733797870499019, i64 4737777522872005799, i64 4616733312105141995, i64 4737742782174408415, i64 4616732828211612964, i64 4737708312009299429, i64 4616732346175364238, i64 4737674109216785496, i64 4616731865982017717, i64 4737640170686085114, i64 4616730911067351109, i64 4737573074206871348, i64 4616729963355881431, i64 4737506998632033073, i64 4616729022738427223, i64 4737441920749081448, i64 4616728089108280112, i64 4737377818045235069, i64 4616727162361130537, i64 4737314668681224355, i64 4616726242394996260, i64 4737252451466264863, i64 4616725329110153505, i64 4737191145834139095, i64 4616724422409070647, i64 4737130731820329912, i64 4616723522196344302, i64 4737071190040151973, i64 4616722628378637746, i64 4737012501667830731, i64 4616721740864621539, i64 4736954648416481393, i64 4616720859564916270, i64 4736897612518942987, i64 4616719984392037334, i64 4736841376709425209, i64 4616719115260341650, i64 4736785924205928083, i64 4616718252085976242, i64 4736731238693396741, i64 4616717394786828602, i64 4736677304307575662, i64 4616716543282478763, i64 4736624105619528729, i64 4616715697494153020, i64 4736571627620793253, i64 4616714857344679212, i64 4736519855709137878, i64 4616714022758443522, i64 4736468775674895879, i64 4616713193661348724, i64 4736418373687846903, i64 4616712369980773815, i64 4736368636284621635, i64 4616711551645534994, i64 4736319550356605218, i64 4616710738585847911, i64 4736271103138316524, i64 4616709930733291156, i64 4736223282196241566, i64 4616709128020770932, i64 4736176075418100479, i64 4616708330382486862, i64 4736129471002528529, i64 4616707537753898897, i64 4736083457449152649, i64 4616706750071695272, i64 4736038023549045895, i64 4616705967273761477, i64 4735993158375543147, i64 4616705189299150201, i64 4735948851275402184, i64 4616704416088052220, i64 4735905091860295082, i64 4616703647581768179, i64 4735861869998615592, i64 4616702883722681253, i64 4735819175807588916, i64 4616702124454230638, i64 4735776999645670901, i64 4616701369720885856, i64 4735735332105224358, i64 4616700619468121830, i64 4735694164005460768, i64 4616699873642394721, i64 4735653486385636231, i64 4616699132191118472, i64 4735613290498491017, i64 4616698395062642061, i64 4735573567803922610, i64 4616697662206227424, i64 4735534309962882602, i64 4616696933572028021, i64 4735495508831488235, i64 4616696209111068036, i64 4735457156455339847, i64 4616695488775222172, i64 4735419245064035854, i64 4616694772517196039, i64 4735381767065877304, i64 4616694060290507095, i64 4735344715042754401, i64 4616693352049466139, i64 4735308081745207731, i64 4616692647749159325, i64 4735271860087657282, i64 4616691947345430682, i64 4735236043143792619, i64 4616691250794865127, i64 4735200624142117910, i64 4616690558054771954, i64 4735165596461645762, i64 4616689869083168774, i64 4735130953627734098, i64 4616689183838765903, i64 4735096689308060550, i64 4616688502280951181, i64 4735062797308729109, i64 4616687824369775196, i64 4735029271570503980, i64 4616687150065936919, i64 4734996106165165814, i64 4616686479330769718, i64 4734963295291985711, i64 4616685812126227757, i64 4734930833274312560, i64 4616685148414872746, i64 4734898714556269502, i64 4616684488159861055, i64 4734866933699555451, i64 4616683831324931159, i64 4734835485380347805, i64 4616683177874391420, i64 4734804364386302616, i64 4616682527773108181, i64 4734773565613648679, i64 4616681880986494177, i64 4734743084064372099, i64 4616681237480497241, i64 4734712914843488093, i64 4616680597221589301, i64 4734683053156396862, i64 4616679960176755661, i64 4734653494306320542, i64 4616679326313484554, i64 4734624233691818342, i64 4616678695599756955, i64 4734595266804377095, i64 4616678068004036661, i64 4734566589226074573, i64 4616677443495260610, i64 4734538196627312996, i64 4616676822042829445, i64 4734510084764620314, i64 4616676203616598318, i64 4734482249478516877, i64 4616675588186867907, i64 4734454686691445260, i64 4616674975724375672, i64 4734427392405761057, i64 4616674366200287309, i64 4734400362701782559, i64 4616673759586188424, i64 4734373593735897322, i64 4616673155854076400, i64 4734347081738723680, i64 4616672554976352463, i64 4734320823013325372, i64 4616671956925813943, i64 4734294813933477477, i64 4616671361675646714, i64 4734269050941981969, i64 4616670769199417813, i64 4734243530549031216, i64 4616670179471068239, i64 4734218249330617866, i64 4616669592464905917, i64 4734193203926989564, i64 4616669008155598830, i64 4734168391041147053, i64 4616668426518168308, i64 4734143807437384238, i64 4616667847527982475, i64 4734119449939868842, i64 4616667271160749848, i64 4734095315431262357, i64 4616666697392513077, i64 4734071400851378010, i64 4616666126199642839, i64 4734047703195875545, i64 4616665557558831865, i64 4734024219514991636, i64 4616664991447089098, i64 4734000946912304794, i64 4616664427841733991, i64 4733977882543533703, i64 4616663866720390932, i64 4733955023615367910, i64 4616663308060983785, i64 4733932367384329861, i64 4616662751841730569, i64 4733909911155667323, i64 4616662198041138234, i64 4733887652282275229, i64 4616661646637997574, i64 4733865588163646044, i64 4616661097611378234, i64 4733843716244847786, i64 4616660550940623838, i64 4733822034015528834, i64 4616660006605347215, i64 4733800539008948730, i64 4616659464585425738, i64 4733779228801034168, i64 4616658924860996751, i64 4733758101009459421, i64 4616658387412453109, i64 4733737153292750458, i64 4616657852220438798, i64 4733716383349412063, i64 4616657319265844663, i64 4733695788917077243, i64 4616656788529804216, i64 4733675367771678283, i64 4616656259993689541, i64 4733655117726638803, i64 4616655733639107273, i64 4733635036632086191, i64 4616655209447894677, i64 4733615122374083824, i64 4616654687402115797, i64 4733595372873882500, i64 4616654167484057691, i64 4733575786087190506, i64 4616653649676226739, i64 4733556360003461808, i64 4616653133961345034, i64 4733537092645201816, i64 4616652620322346839, i64 4733517982067290236, i64 4616652108742375125, i64 4733499026356320515, i64 4616651599204778170, i64 4733480223629955396, i64 4616651091693106237, i64 4733461572036298148, i64 4616650586191108312, i64 4733443069753279010, i64 4616650082682728909, i64 4733424714988056424, i64 4616649581152104942, i64 4733406505976432649, i64 4616649081583562652, i64 4733388440982283346, i64 4616648583961614610, i64 4733370518297000760, i64 4616648088270956758, i64 4733352736238950098, i64 4616647594496465530, i64 4733335093152938765, i64 4616647102623195012, i64 4733317587409698089, i64 4616646612636374170, i64 4733300217405377195, i64 4616646124521404125, i64 4733282754755706116, i64 4616645153849465715, i64 4733214603950391261, i64 4616644190493931674, i64 4733147489735023607, i64 4616643234343942755, i64 4733081388545594223, i64 4616642285291150255, i64 4733016277528285746, i64 4616641343229640633, i64 4732952134512887533, i64 4616640408055862934, i64 4732888937987396985, i64 4616639479668558916, i64 4732826667073745728, i64 4616638557968695724, i64 4732765301504592937, i64 4616637642859401037, i64 4732704821601131414, i64 4616636734245900553, i64 4732645208251855235, i64 4616635832035457724, i64 4732586442892240656, i64 4616634936137315646, i64 4732528507485294777, i64 4616634046462640997, i64 4732471384502928987, i64 4616633162924469962, i64 4732415056908116684, i64 4616632285437656037, i64 4732359508137796963, i64 4616631413918819647, i64 4732304722086488142, i64 4616630548286299502, i64 4732250683090576945, i64 4616629688460105611, i64 4732197375913251057, i64 4616628834361873903, i64 4732144785730044496, i64 4616627985914822368, i64 4732092898114966908, i64 4616627143043708680, i64 4732041699027189444, i64 4616626305674789220, i64 4731991174798261300, i64 4616625473735779464, i64 4731941312119832421, i64 4616624647155815668, i64 4731892098031859113, i64 4616623825865417803, i64 4731843519911270532, i64 4616623009796453696, i64 4731795565461075185, i64 4616622198882104320, i64 4731748222699887602, i64 4616621393056830207, i64 4731701479951856407, i64 4616620592256338914, i64 4731655325836975935, i64 4616619796417553532, i64 4731609749261764449, i64 4616619005478582171, i64 4731564739410292878, i64 4616618219378688411, i64 4731520285735548772, i64 4616617438058262656, i64 4731476377951120962, i64 4616616661458794384, i64 4731433006023191091, i64 4616615889522845234, i64 4731390160162818884, i64 4616615122194022926, i64 4731347830818508668, i64 4616614359416955958, i64 4731306008669045228, i64 4616613601137269073, i64 4731264684616587685, i64 4616612847301559456, i64 4731223849780010618, i64 4616612097857373636, i64 4731183495488482151, i64 4616611352753185077, i64 4731143613275269222, i64 4616610611938372421, i64 4731104194871760711, i64 4616609875363198368, i64 4731065232201699531, i64 4616609142978789174, i64 4731026717375615211, i64 4616608414737114729, i64 4730988642685448872, i64 4616607690590969223, i64 4730951000599362888, i64 4616606970493952345, i64 4730913783756727866, i64 4616606254400451034, i64 4730876984963279916, i64 4616605542265621729, i64 4730840597186441483, i64 4616604834045373128, i64 4730804613550799349, i64 4616604129696349420, i64 4730769027333733664, i64 4616603429175913986, i64 4730733831961192154, i64 4616602732442133553, i64 4730699021003603905, i64 4616602039453762772, i64 4730664588171927381, i64 4616601350170229229, i64 4730630527313827544, i64 4616600664551618852, i64 4730596832409977188, i64 4616599982558661722, i64 4730563497570477801, i64 4616599304152718255, i64 4730530517031395466, i64 4616598629295765760, i64 4730497885151407511, i64 4616597957950385349, i64 4730465596408555796, i64 4616597290079749197, i64 4730433645397102702, i64 4616596625647608132, i64 4730402026824486042, i64 4616595964618279558, i64 4730370735508369292, i64 4616595306956635676, i64 4730339766373783668, i64 4616594652628092028, i64 4730309114450358727, i64 4616594001598596324, i64 4730278774869638315, i64 4616593353834617557, i64 4730248742862478806, i64 4616592709303135399, i64 4730219013756526693, i64 4616592067971629861, i64 4730189582973772734, i64 4616591429808071216, i64 4730160446028179941, i64 4616590794780910176, i64 4730131598523382834, i64 4616590162859068308, i64 4730103036150455468, i64 4616589534011928700, i64 4730074754685745844, i64 4616588908209326841, i64 4730046749988774410, i64 4616588285421541741, i64 4730019018000194458, i64 4616587665619287260, i64 4729991554739812285, i64 4616587048773703647, i64 4729964356304665096, i64 4616586434856349288, i64 4729937418867154691, i64 4616585823839192653, i64 4729910738673235040, i64 4616585215694604434, i64 4729884312040651966, i64 4616584610395349867, i64 4729858135357233173, i64 4616584007914581248, i64 4729832205079226950, i64 4616583408225830614, i64 4729806517729687952, i64 4616582811303002601, i64 4729781069896908500, i64 4616582217120367471, i64 4729755858232893904, i64 4616581625652554302, i64 4729730879451880385, i64 4616581036874544328, i64 4729706130328894204, i64 4616580450761664444, i64 4729681607698350677, i64 4616579867289580853, i64 4729657308452691774, i64 4616579286434292861, i64 4729633229541061092, i64 4616578708172126813, i64 4729609367968014989, i64 4616578132479730167, i64 4729585720792268751, i64 4616577559334065700, i64 4729562285125476665, i64 4616576988712405845, i64 4729539058131044954, i64 4616576420592327159, i64 4729516037022976527, i64 4616575854951704906, i64 4729493219064746564, i64 4616575291768707766, i64 4729470601568207980, i64 4616574731021792661, i64 4729448181892525834, i64 4616574172689699690, i64 4729425957443139809, i64 4616573616751447179, i64 4729403925670753891, i64 4616573063186326839, i64 4729382084070352425, i64 4616572511973899028, i64 4729360430180241745, i64 4616571963093988111, i64 4729338961581116607, i64 4616571416526677929, i64 4729317675895150676, i64 4616570872252307355, i64 4729296570785110354, i64 4616570330251465954, i64 4729275643953491241, i64 4616569790504989728, i64 4729254893141676567, i64 4616569252993956954, i64 4729234316129116944, i64 4616568717699684110, i64 4729213910732530801, i64 4616568184603721885, i64 4729193674805124912, i64 4616567653687851272, i64 4729173606235834413, i64 4616567124934079746, i64 4729153702948581757, i64 4616566598324637514, i64 4729133962901554039, i64 4616566073841973852, i64 4729114384086498190, i64 4616565551468753505, i64 4729094964528033494, i64 4616565031187853174, i64 4729075702282980960, i64 4616564512982358063, i64 4729056595439709050, i64 4616563996835558502, i64 4729037642117495313, i64 4616563482730946639, i64 4729018840465903464, i64 4616562970652213195, i64 4729000188664175482, i64 4616562460583244286, i64 4728981684920638300, i64 4616561952508118305, i64 4728963327472124687, i64 4616561446411102875, i64 4728945114583407917, i64 4616560942276651852, i64 4728927044546649852, i64 4616560440089402390, i64 4728909115680862067, i64 4616559939834172070, i64 4728891326331379658, i64 4616559441495956076, i64 4728873674869347383, i64 4616558945059924432, i64 4728856159691217802, i64 4616557957835952269, i64 4728821531896086244, i64 4616556978047010832, i64 4728787430605416066, i64 4616556005580484629, i64 4728728078967671390, i64 4616555040326307894, i64 4728661911330162973, i64 4616554082176888039, i64 4728596727042878966, i64 4616553131027031967, i64 4728532504257786560, i64 4616552186773875108, i64 4728469221770581729, i64 4616551249316813062, i64 4728406858997127069, i64 4616550318557435737, i64 4728345395950917815, i64 4616549394399463871, i64 4728284813221524035, i64 4616548476748687834, i64 4728225091953959997, i64 4616547565512908615, i64 4728166213828934498, i64 4616546660601880903, i64 4728108161043938537, i64 4616545761927258162, i64 4728050916295129209, i64 4616544869402539634, i64 4727994462759970937, i64 4616543982943019175, i64 4727938784080597359, i64 4616543102465735855, i64 4727883864347859174, i64 4616542227889426248, i64 4727829688086025177, i64 4616541359134478347, i64 4727776240238105458, i64 4616540496122887022, i64 4727723506151767432, i64 4616539638778210991, i64 4727671471565816953, i64 4616538787025531202, i64 4727620122597218194, i64 4616537940791410610, i64 4727569445728627420, i64 4616537100003855262, i64 4727519427796417046, i64 4616536264592276664, i64 4727470055979167624, i64 4616535434487455356, i64 4727421317786606556, i64 4616534609621505669, i64 4727373201048973417, i64 4616533789927841613, i64 4727325693906792809, i64 4616532975341143837, i64 4727278784801036628, i64 4616532165797327648, i64 4727232462463658549, i64 4616531361233512025, i64 4727186715908484393, i64 4616530561587989603, i64 4727141534422442849, i64 4616529766800197589, i64 4727096907557121803, i64 4616528976810689570, i64 4727052825120636256, i64 4616528191561108192, i64 4727009277169794470, i64 4616527410994158666, i64 4726966254002549680, i64 4616526635053583072, i64 4726923746150725270, i64 4616525863684135445, i64 4726881744373001937, i64 4616525096831557599, i64 4726840239648155880, i64 4616524334442555673, i64 4726799223168537600, i64 4616523576464777365, i64 4726758686333781364, i64 4616522822846789843, i64 4726718620744735876, i64 4616522073538058290, i64 4726679018197607121, i64 4616521328488925082, i64 4726639870678304777, i64 4616520587650589560, i64 4726601170356983980, i64 4616519850975088389, i64 4726562909582774612, i64 4616519118415276465, i64 4726525080878690637, i64 4616518389924808378, i64 4726487676936712334, i64 4616517665458120392, i64 4726450690613034623, i64 4616516944970412924, i64 4726414114923474974, i64 4616516228417633520, i64 4726377943039034664, i64 4616515515756460305, i64 4726342168281607447, i64 4616514806944285877, i64 4726306784119829962, i64 4616514101939201654, i64 4726271784165068418, i64 4616513400699982645, i64 4726237162167536396, i64 4616512703186072635, i64 4726202912012538760, i64 4616512009357569763, i64 4726169027716836946, i64 4616511319175212497, i64 4726135503425131063, i64 4616510632600365975, i64 4726102333406654451, i64 4616509949595008716, i64 4726069512051876514, i64 4616509270121719673, i64 4726037033869309853, i64 4616508594143665638, i64 4726004893482417831, i64 4616507921624588960, i64 4725973085626618946, i64 4616507252528795601, i64 4725941605146384448, i64 4616506586821143484, i64 4725910446992425870, i64 4616505924467031151, i64 4725879606218969204, i64 4616505265432386710, i64 4725849077981112650, i64 4616504609683657057, i64 4725818857532264940, i64 4616503957187797380, i64 4725788940221661402, i64 4616503307912260921, i64 4725759321491955006, i64 4616502661824988998, i64 4725729996876879777, i64 4616502018894401274, i64 4725700961998984046, i64 4616501379089386269, i64 4725672212567431113, i64 4616500742379292104, i64 4725643744375864988, i64 4616500108733917479, i64 4725615553300338988, i64 4616499478123502863, i64 4725587635297305024, i64 4616498850518721903, i64 4725559986401661526, i64 4616498225890673040, i64 4725532602724857999, i64 4616497604210871330, i64 4725505480453054337, i64 4616496985451240459, i64 4725478615845333010, i64 4616496369584104944, i64 4725452005231962409, i64 4616495756582182528, i64 4725425645012709606, i64 4616495146418576750, i64 4725399531655200921, i64 4616494539066769689, i64 4725373661693328721, i64 4616493934500614878, i64 4725348031725702918, i64 4616493332694330391, i64 4725322638414145727, i64 4616492733622492076, i64 4725297478482228279, i64 4616492137260026958, i64 4725272548713847724, i64 4616491543582206784, i64 4725247845951843532, i64 4616490952564641722, i64 4725223367096651737, i64 4616490364183274203, i64 4725199109104995911, i64 4616489778414372896, i64 4725175068988613709, i64 4616489195234526827, i64 4725151243813017854, i64 4616488614620639626, i64 4725127630696290485, i64 4616488036549923907, i64 4725104226807909821, i64 4616487460999895764, i64 4725081029367608142, i64 4616486887948369398, i64 4725058035644260105, i64 4616486317373451860, i64 4725035242954800461, i64 4616485749253537910, i64 4725012648663170277, i64 4616485183567304983, i64 4724990250179290782, i64 4616484620293708275, i64 4724968044958063999, i64 4616484059411975923, i64 4724946030498399351, i64 4616483500901604303, i64 4724924204342265452, i64 4616482944742353415, i64 4724902564073766330, i64 4616482390914242381, i64 4724881107318241355, i64 4616481839397545025, i64 4724859831741388145, i64 4616481290172785556, i64 4724838735048407800, i64 4616480743220734340, i64 4724817814983171770, i64 4616480198522403763, i64 4724797069327409745, i64 4616479656059044171, i64 4724776495899917939, i64 4616479115812139912, i64 4724756092555787172, i64 4616478577763405442, i64 4724735857185650184, i64 4616478041894781525, i64 4724715787714947611, i64 4616477508188431503, i64 4724695882103212095, i64 4616476976626737649, i64 4724676138343370006, i64 4616476447192297588, i64 4724656554461060262, i64 4616475919867920797, i64 4724637128513969778, i64 4616475394636625173, i64 4724617858591185059, i64 4616474871481633667, i64 4724598742812559478, i64 4616474350386370994, i64 4724579779328095816, i64 4616473831334460400, i64 4724560966317343614, i64 4616473314309720502, i64 4724542301988810943, i64 4616472799296162181, i64 4724523784579390173, i64 4616472286277985546, i64 4724505412353797370, i64 4616471775239576951, i64 4724487183604024937, i64 4616471266165506076, i64 4724469096648807130, i64 4616470759040523059, i64 4724451149833098108, i64 4616470253849555691, i64 4724433341527562175, i64 4616469249210250842, i64 4724398134055241565, i64 4616468252130463523, i64 4724363461692727930, i64 4616467262495737295, i64 4724329312281572781, i64 4616466280194206488, i64 4724295674029642673, i64 4616465305116518439, i64 4724249061883170655, i64 4616464337155758626, i64 4724183762058066114, i64 4616463376207378576, i64 4724119417926269162, i64 4616462422169126421, i64 4724056008571777073, i64 4616461474940979984, i64 4723993513685746743, i64 4616460534425082287, i64 4723931913544596263, i64 4616459600525679383, i64 4723871188989048221, i64 4616458673149060395, i64 4723811321404067770, i64 4616457752203499692, i64 4723752292699651201, i64 4616456837599201087, i64 4723694085292423222, i64 4616455929248243992, i64 4723636682088003480, i64 4616455027064531439, i64 4723580066464105050, i64 4616454130963739889, i64 4723524222254329681, i64 4616453240863270761, i64 4723469133732626473, i64 4616452356682203605, i64 4723414785598382522, i64 4616451478341250857, i64 4723361162962115717, i64 4616450605762714109, i64 4723308251331741501, i64 4616449738870441840, i64 4723256036599386897, i64 4616448877589788534, i64 4723204505028726497, i64 4616448021847575152, i64 4723153643242816474, i64 4616447171572050893, i64 4723103438212403888, i64 4616446326692856182, i64 4723053877244689751, i64 4616445487140986871, i64 4723004947972525441, i64 4616444652848759569, i64 4722956638344023058, i64 4616443823749778080, i64 4722908936612561345, i64 4616442999778900906, i64 4722861831327169694, i64 4616442180872209764, i64 4722815311323273650, i64 4616441366966979088, i64 4722769365713786148, i64 4616440558001646477, i64 4722723983880529490, i64 4616439753915784056, i64 4722679155465973837, i64 4616438954650070708, i64 4722634870365278645, i64 4616438160146265155, i64 4722591118718624168, i64 4616437370347179860, i64 4722547890903820760, i64 4616436585196655696, i64 4722505177529184297, i64 4616435804639537394, i64 4722462969426666606, i64 4616435028621649706, i64 4722421257645230296, i64 4616434257089774272, i64 4722380033444457920, i64 4616433489991627177, i64 4722339288288385833, i64 4616432727275837155, i64 4722299013839553587, i64 4616431968891924422, i64 4722259201953260117, i64 4616431214790280131, i64 4722219844672018378, i64 4616430464922146407, i64 4722180934220200470, i64 4616429719239596954, i64 4722142462998865669, i64 4616428977695518214, i64 4722104423580764094, i64 4616428240243591055, i64 4722066808705509109, i64 4616427506838272975, i64 4722029611274911822, i64 4616426777434780796, i64 4721992824348471381, i64 4616426051989073846, i64 4721956441139015017, i64 4616425330457837600, i64 4721920455008482071, i64 4616424612798467772, i64 4721884859463846472, i64 4616423898969054836, i64 4721849648153172398, i64 4616423188928368972, i64 4721814814861798067, i64 4616422482635845416, i64 4721780353508642826, i64 4616421780051570205, i64 4721746258142632902, i64 4616421081136266298, i64 4721712522939241412, i64 4616420385851280071, i64 4721679142197138365, i64 4616419694158568162, i64 4721646110334946609, i64 4616419006020684669, i64 4721613421888099834, i64 4616418321400768676, i64 4721581071505798893, i64 4616417640262532106, i64 4721549053948062882, i64 4616416962570247890, i64 4721517364082871539, i64 4616416288288738437, i64 4721485996883395686, i64 4616415617383364398, i64 4721454947425312563, i64 4616414949820013721, i64 4721424210884203032, i64 4616414285565090981, i64 4721393782533027745, i64 4616413624585506974, i64 4721363657739679506, i64 4616412966848668582, i64 4721333831964609140, i64 4616412312322468879, i64 4721304300758522322, i64 4616411660975277494, i64 4721275059760144888, i64 4616411012775931204, i64 4721246104694054268, i64 4616410367693724761, i64 4721217431368574768, i64 4616409725698401941, i64 4721189035673734525, i64 4616409086760146818, i64 4721160913579282019, i64 4616408450849575241, i64 4721133061132760142, i64 4616407817937726519, i64 4721105474457635870, i64 4616407187996055310, i64 4721078149751483688, i64 4616406560996423694, i64 4721051083284220956, i64 4616405936911093445, i64 4721024271396393504, i64 4616405315712718479, i64 4720997710497509791, i64 4616404697374337481, i64 4720971397064422029, i64 4616404081869366706, i64 4720945327639752727, i64 4616403469171592946, i64 4720919498830365191, i64 4616402859255166662, i64 4720893907305876535, i64 4616402252094595274, i64 4720868549797211845, i64 4616401647664736604, i64 4720843423095198157, i64 4616401045940792469, i64 4720818524049196996, i64 4616400446898302425, i64 4720793849565774222, i64 4616399850513137643, i64 4720769396607406023, i64 4616399256761494935, i64 4720745162191219899, i64 4616398665619890904, i64 4720721143387769543, i64 4616398077065156230, i64 4720697337319842561, i64 4616397491074430083, i64 4720673741161299997, i64 4616396907625154659, i64 4720650352135946692, i64 4616396326695069836, i64 4720627167516431516, i64 4616395748262207950, i64 4720604184623176552, i64 4616395172304888681, i64 4720581400823334358, i64 4616394598801714053, i64 4720558813529772436, i64 4616394027731563545, i64 4720536420200084096, i64 4616393459073589303, i64 4720514218335624911, i64 4616392892807211454, i64 4720492205480573995, i64 4616392328912113528, i64 4720470379221019361, i64 4616391767368237969, i64 4720448737184066638, i64 4616391208155781748, i64 4720427277036970459, i64 4616390651255192061, i64 4720405996486287846, i64 4616390096647162126, i64 4720384893277052946, i64 4616389544312627062, i64 4720363965191972489, i64 4616388994232759858, i64 4720343210050641366, i64 4616388446388967423, i64 4720322625708777744, i64 4616387900762886717, i64 4720302210057477150, i64 4616387357336380965, i64 4720281961022484972, i64 4616386816091535948, i64 4720261876563486857, i64 4616386277010656368, i64 4720241954673416494, i64 4616385740076262285, i64 4720222193377780273, i64 4616385205271085633, i64 4720202590733998366, i64 4616384672578066803, i64 4720183144830761737, i64 4616384141980351289, i64 4720163853787404663, i64 4616383613461286411, i64 4720144715753292299, i64 4616383087004418096, i64 4720125728907222903, i64 4616382562593487728, i64 4720106891456844280, i64 4616382040212429054, i64 4720088201638084072, i64 4616381519845365161, i64 4720069657714593508, i64 4616381001476605498, i64 4720051257977204241, i64 4616380485090642974, i64 4720033000743397914, i64 4616379970672151094, i64 4720014884356788111, i64 4616378947677159552, i64 4719979067627247834, i64 4616377932372525886, i64 4719943795041193382, i64 4616376924641861060, i64 4719909054238153356, i64 4616375924371409865, i64 4719874833229987627, i64 4616374931449971872, i64 4719841120386955519, i64 4616373945768825344, i64 4719807904424405401, i64 4616372967221653956, i64 4719775174390053568, i64 4616371995704476209, i64 4719713429819364563, i64 4616371031115577412, i64 4719649850288135830, i64 4616370073355444139, i64 4719587180650027648, i64 4616369122326701022, i64 4719525401426521461, i64 4616368177934049819, i64 4719464493692304440, i64 4616367240084210625, i64 4719404439055744549, i64 4616366308685865158, i64 4719345219640187419, i64 4616365383649602022, i64 4719286818066034928, i64 4616364464887863875, i64 4719229217433567613, i64 4616363552314896408, i64 4719172401306475124, i64 4616362645846699071, i64 4719116353696060883, i64 4616361745400977479, i64 4719061059046088951, i64 4616360850897097420, i64 4719006502218242824, i64 4616359962256040396, i64 4718952668478167509, i64 4616359079400360661, i64 4718899543482067748, i64 4616358202254143666, i64 4718847113263836688, i64 4616357330742965870, i64 4718795364222690662, i64 4616356464793855873, i64 4718744283111286985, i64 4616355604335256795, i64 4718693857024302901, i64 4616354749296989878, i64 4718644073387454904, i64 4616353899610219246, i64 4718594919946938754, i64 4616353055207417788, i64 4718546384759271484, i64 4616352216022334121, i64 4718498456181517649, i64 4616351381989960586, i64 4718451122861882959, i64 4616350553046502245, i64 4718404373730659273, i64 4616349729129346839, i64 4718358197991505730, i64 4616348910177035674, i64 4718312585113051537, i64 4616348096129235391, i64 4718267524820806655, i64 4616347286926710607, i64 4718223007089367271, i64 4616346482511297370, i64 4718179022134903608, i64 4616345682825877427, i64 4718135560407918191, i64 4616344887814353246, i64 4718092612586263276, i64 4616344097421623792, i64 4718050169568406687, i64 4616343311593561013, i64 4718008222466935796, i64 4616342530276987016, i64 4717966762602289871, i64 4616341753419651910, i64 4717925781496711489, i64 4616340980970212294, i64 4717885270868408110, i64 4616340212878210364, i64 4717845222625915353, i64 4616339449094053616, i64 4717805628862653874, i64 4616338689568995134, i64 4717766481851672132, i64 4616337934255114431, i64 4717727774040567684, i64 4616337183105298837, i64 4717689498046579950, i64 4616336436073225400, i64 4717651646651847750, i64 4616335693113343299, i64 4717614212798825179, i64 4616334954180856741, i64 4717577189585849682, i64 4616334219231708331, i64 4717540570262856472, i64 4616333488222562897, i64 4717504348227233669, i64 4616332761110791756, i64 4717468517019812801, i64 4616332037854457407, i64 4717433070320989544, i64 4616331318412298637, i64 4717398001946969764, i64 4616330602743716026, i64 4717363305846136195, i64 4616329890808757842, i64 4717328976095531219, i64 4616329182568106301, i64 4717295006897451467, i64 4616328477983064203, i64 4717261392576150093, i64 4616327777015541909, i64 4717228127574642780, i64 4616327079628044660, i64 4717195206451613687, i64 4616326385783660231, i64 4717162623878417693, i64 4616325695446046895, i64 4717130374636175484, i64 4616325008579421705, i64 4717098453612958111, i64 4616324325148549070, i64 4717066855801057845, i64 4616323645118729625, i64 4717035576294342242, i64 4616322968455789385, i64 4717004610285688482, i64 4616322295126069161, i64 4716973953064495137, i64 4616321625096414259, i64 4716943600014268678, i64 4616320958334164419, i64 4716913546610282084, i64 4616320294807144016, i64 4716883788417303086, i64 4616319634483652494, i64 4716854321087389602, i64 4616318977332455043, i64 4716825140357750085, i64 4616318323322773498, i64 4716796242048666552, i64 4616317672424277461, i64 4716767622061478157, i64 4616317024607075640, i64 4716739276376623262, i64 4616316379841707394, i64 4716711201051738042, i64 4616315738099134485, i64 4716683392219809707, i64 4616315099350733017, i64 4716655846087382547, i64 4616314463568285582, i64 4716628558932815013, i64 4616313830723973576, i64 4716601527104586178, i64 4616313200790369706, i64 4716574747019649924, i64 4616312573740430670, i64 4716548215161835317, i64 4616311949547490003, i64 4716521928080291648, i64 4616311328185251096, i64 4716495882387976694, i64 4616310709627780372, i64 4716470074760186806, i64 4616310093849500620, i64 4716444501933127481, i64 4616309480825184480, i64 4716419160702523118, i64 4616308870529948081, i64 4716394047922264705, i64 4616308262939244816, i64 4716369160503094253, i64 4616307658028859260, i64 4716344495411324789, i64 4616307055774901235, i64 4716320049667594822, i64 4616306456153799987, i64 4716295820345656173, i64 4616305859142298511, i64 4716271804571194156, i64 4616305264717447997, i64 4716247999520679087, i64 4616304672856602390, i64 4716224402420248168, i64 4616304083537413081, i64 4716201010544616800, i64 4616303496737823707, i64 4716177821216018443, i64 4616302912436065070, i64 4716154831803172127, i64 4616302330610650159, i64 4716132039720276802, i64 4616301751240369282, i64 4716109442426031699, i64 4616301174304285310, i64 4716087037422681924, i64 4616300599781729009, i64 4716064822255088534, i64 4616300027652294486, i64 4716042794509822361, i64 4616299457895834719, i64 4716020951814280881, i64 4616298890492457191, i64 4715999291835827440, i64 4616298325422519608, i64 4715977812280952192, i64 4616297762666625717, i64 4715956510894454103, i64 4616297202205621197, i64 4715935385458643402, i64 4616296644020589649, i64 4715914433792563903, i64 4616296088092848662, i64 4715893653751234598, i64 4616295534403945961, i64 4715873043224909988, i64 4616294982935655632, i64 4715852600138358596, i64 4616294433669974430, i64 4715832322450159159, i64 4616293886589118159, i64 4715812208152013982, i64 4616293341675518120, i64 4715792255268078969, i64 4616292798911817640, i64 4715772461854309872, i64 4616292258280868668, i64 4715752825997824284, i64 4616291719765728430, i64 4715733345816278953, i64 4616291183349656167, i64 4715714019457261972, i64 4616290649016109924, i64 4715694845097699445, i64 4616290116748743411, i64 4715675820943276222, i64 4616289586531402917, i64 4715656945227870316, i64 4616289058348124296, i64 4715638216213000629, i64 4616288532183130003, i64 4715619632187287613, i64 4616288008020826192, i64 4715601191465926535, i64 4616286965642816093, i64 4715564733326840235, i64 4616285931092910371, i64 4715528828829544568, i64 4616284904252687978, i64 4715493465401323115, i64 4616283885006406922, i64 4715458630848107766, i64 4616282873240923890, i64 4715424313340312756, i64 4616281868845616860, i64 4715390501399300468, i64 4616280871712310579, i64 4715357183884446359, i64 4616279881735204777, i64 4715324349980772283, i64 4616278898810804998, i64 4715291989187119254, i64 4616277922837855934, i64 4715251372752755448, i64 4616276953717277152, i64 4715188482996955251, i64 4616275991352101119, i64 4715126479998588133, i64 4616275035647413416, i64 4715065345049077909, i64 4616274086510295057, i64 4715005059963594219, i64 4616273143849766823, i64 4714945607062828852, i64 4616272207576735524, i64 4714886969155528356, i64 4616271277603942113, i64 4714829129521746533, i64 4616270353845911573, i64 4714772071896782436, i64 4616269436218904509, i64 4714715780455771329, i64 4616268524640870368, i64 4714660239798897831, i64 4616267619031402231, i64 4714605434937202119, i64 4616266719311693110, i64 4714551351278951594, i64 4616265825404493682, i64 4714497974616551909, i64 4616264937234071424, i64 4714445291113972579, i64 4616264054726171070, i64 4714393287294663730, i64 4616263177807976353, i64 4714341950029941726, i64 4616262306408072985, i64 4714291266527822580, i64 4616261440456412812, i64 4714241224322283113, i64 4616260579884279116, i64 4714191811262930875, i64 4616259724624253009, i64 4714143015505064751, i64 4616258874610180885, i64 4714094825500109140, i64 4616258029777142884, i64 4714047229986405402, i64 4616257190061422338, i64 4714000217980345088, i64 4616256355400476151, i64 4713953778767830260, i64 4616255525732906097, i64 4713907901896046872, i64 4616254700998430979, i64 4713862577165537915, i64 4616253881137859641, i64 4713817794622563647, i64 4616253066093064784, i64 4713773544551736840, i64 4616252255806957566, i64 4713729817468921565, i64 4616251450223462960, i64 4713686604114384555, i64 4616250649287495838, i64 4713643895446188745, i64 4616249852944937752, i64 4713601682633819025, i64 4616249061142614399, i64 4713559957052030751, i64 4616248273828273739, i64 4713518710274911971, i64 4616247490950564741, i64 4713477934070150754, i64 4616246712459016737, i64 4713437620393499390, i64 4616245938304019377, i64 4713397761383427627, i64 4616245168436803132, i64 4713358349355957435, i64 4616244402809420365, i64 4713319376799672157, i64 4616243641374726924, i64 4713280836370893211, i64 4616242884086364247, i64 4713242720889017803, i64 4616242130898741968, i64 4713205023332011421, i64 4616241381767020997, i64 4713167736832049142, i64 4616240636647097072, i64 4713130854671300051, i64 4616239895495584745, i64 4713094370277849304, i64 4616239158269801823, i64 4713058277221752638, i64 4616238424927754204, i64 4713022569211218309, i64 4616237695428121144, i64 4712987240088911706, i64 4616236969730240898, i64 4712952283828378037, i64 4616236247794096753, i64 4712917694530578727, i64 4616235529580303425, i64 4712883466420537323, i64 4616234815050093816, i64 4712849593844090883, i64 4616234104165306111, i64 4712816071264743000, i64 4616233396888371220, i64 4712782893260614768, i64 4616232693182300537, i64 4712750054521490151, i64 4616231993010674013, i64 4712717549845952359, i64 4616231296337628540, i64 4712685374138607970, i64 4616230603127846628, i64 4712653522407395688, i64 4616229913346545365, i64 4712621989760976732, i64 4616229226959465661, i64 4712590771406203972, i64 4616228543932861758, i64 4712559862645667074, i64 4616227864233491001, i64 4712529258875310975, i64 4616227187828603868, i64 4712498955582125171, i64 4616226514685934239, i64 4712468948341901345, i64 4616225844773689907, i64 4712439232817057015, i64 4616225178060543326, i64 4712409804754522917, i64 4616224514515622576, i64 4712380659983691977, i64 4616223854108502550, i64 4712351794414427770, i64 4616223196809196356, i64 4712323204035130472, i64 4616222542588146922, i64 4712294884910858374, i64 4616221891416218800, i64 4712266833181503095, i64 4616221243264690169, i64 4712239045060016730, i64 4616220598105245028, i64 4712211516830689190, i64 4616219955909965560, i64 4712184244847474111, i64 4616219316651324695, i64 4712157225532361710, i64 4616218680302178827, i64 4712130455373797091, i64 4616218046835760714, i64 4712103930925142499, i64 4616217416225672534, i64 4712077648803182116, i64 4616216788445879103, i64 4712051605686668029, i64 4616216163470701248, i64 4712025798314906059, i64 4616215541274809331, i64 4712000223486380162, i64 4616214921833216920, i64 4711974878057414200, i64 4616214305121274604, i64 4711949758940869900, i64 4616213691114663942, i64 4711924863104879844, i64 4616213079789391552, i64 4711900187571614419, i64 4616212471121783333, i64 4711875729416081658, i64 4616211865088478809, i64 4711851485764958949, i64 4616211261666425602, i64 4711827453795455636, i64 4616210660832874027, i64 4711803630734205559, i64 4616210062565371801, i64 4711780013856188617, i64 4616209466841758873, i64 4711756600483680469, i64 4616208873640162362, i64 4711733387985229524, i64 4616208282938991602, i64 4711710373774660389, i64 4616207694716933302, i64 4711687555310102989, i64 4616207108952946801, i64 4711664930093046578, i64 4616206525626259429, i64 4711642495667417912, i64 4616205944716361962, i64 4711620249618682858, i64 4616205366203004179, i64 4711598189572970746, i64 4616204790066190509, i64 4711576313196220806, i64 4616204216286175768, i64 4711554618193350025, i64 4616203644843460986, i64 4711533102307441813, i64 4616203075718789324, i64 4711511763318954869, i64 4616202508893142067, i64 4711490599044951659, i64 4616201944347734714, i64 4711469607338345946, i64 4616201382064013129, i64 4711448786087168821, i64 4616200822023649788, i64 4711428133213852706, i64 4616200264208540094, i64 4711407646674532825, i64 4616199708600798766, i64 4711387324458365632, i64 4616199155182756303, i64 4711367164586863739, i64 4616198603936955522, i64 4711347165113246854, i64 4616198054846148160, i64 4711327324121808306, i64 4616197507893291544, i64 4711307639727296704, i64 4616196963061545332, i64 4711288110074312318, i64 4616196420334268317, i64 4711268733336717768, i64 4616195879695015287, i64 4711249507717062639, i64 4616195341127533959, i64 4711230431446021624, i64 4616194804615761958, i64 4711211502781845831, i64 4616194270143823872, i64 4711192720009826908, i64 4616193207256865255, i64 4711155585415500510, i64 4616192152343285273, i64 4711119014466596646, i64 4616191105282522736, i64 4711082994367051332, i64 4616190065956743110, i64 4711047512706092333, i64 4616188450446755069, i64 4711012557443827066, i64 4616186402049121737, i64 4710978116897473167, i64 4616184368445561330, i64 4710944179728198502, i64 4616182349420641843, i64 4710910734928539381, i64 4616180344763624993, i64 4710877771810367521, i64 4616178354268330539, i64 4710845279993378030, i64 4616176377733005485, i64 4710813249394072256, i64 4616174414960197935, i64 4710781670215210851, i64 4616172465756635429, i64 4710735855641888764, i64 4616170529933107543, i64 4710674446372431932, i64 4616168607304352597, i64 4710613884397748202, i64 4616166697688948290, i64 4710554152219728504, i64 4616164800909206091, i64 4710495232819879148, i64 4616162916791069254, i64 4710437109642979443, i64 4616161045164014290, i64 4710379766581403596, i64 4616159185860955756, i64 4710323187960075564, i64 4616157338718154249, i64 4710267358522027240, i64 4616155503575127444, i64 4710212263414531919, i64 4616153680274564087, i64 4710157888175786451, i64 4616151868662240806, i64 4710104218722116928, i64 4616150068586941631, i64 4710051241335684010, i64 4616148279900380135, i64 4709998942652665282, i64 4616146502457124070, i64 4709947309651893159, i64 4616144736114522419, i64 4709896329643927977, i64 4616142980732634767, i64 4709845990260546929, i64 4616141236174162904, i64 4709796279444630503, i64 4616139502304384570, i64 4709747185440428962, i64 4616137778991089271, i64 4709698696784192312, i64 4616136066104516085, i64 4709650802295148009, i64 4616134363517293378, i64 4709603491066811429, i64 4616132671104380372, i64 4709556752458614862, i64 4616130988743010486, i64 4709510576087841479, i64 4616129316312636395, i64 4709464951821851393, i64 4616127653694876736, i64 4709419869770587519, i64 4616126000773464409, i64 4709375320279349570, i64 4616124357434196413, i64 4709331293921825033, i64 4616122723564885162, i64 4709287781493366540, i64 4616121099055311231, i64 4709244774004505509, i64 4616119483797177481, i64 4709202262674692422, i64 4616117877684064512, i64 4709160238926254559, i64 4616116280611387404, i64 4709118694378562399, i64 4616114692476353696, i64 4709077620842396342, i64 4616113113177922567, i64 4709037010314505767, i64 4616111542616765164, i64 4708996854972352786, i64 4616109980695226063, i64 4708957147169033437, i64 4616108427317285797, i64 4708917879428369350, i64 4616106882388524432, i64 4708879044440163246, i64 4616105345816086161, i64 4708840635055611924, i64 4616103817508644858, i64 4708802644282870659, i64 4616102297376370589, i64 4708765065282763220, i64 4616100785330897034, i64 4708727891364631945, i64 4616099281285289782, i64 4708691115982322573, i64 4616097785154015496, i64 4708654732730298750, i64 4616096296852911894, i64 4708618735339881343, i64 4616094816299158532, i64 4708583117675607908, i64 4616093343411248368, i64 4708547873731707862, i64 4616091878108960072, i64 4708512997628689070, i64 4616090420313331059, i64 4708478483610031787, i64 4616088969946631238, i64 4708444326038985995, i64 4616087526932337429, i64 4708410519395468420, i64 4616086091195108449, i64 4708377058273055597, i64 4616084662660760841, i64 4708343937376069542, i64 4616083241256245214, i64 4708311151516752715, i64 4616081826909623195, i64 4708278695612529105, i64 4616080419550044958, i64 4708246564683348370, i64 4616079019107727324, i64 4708214753849110126, i64 4616077625513932402, i64 4708183258327165563, i64 4616076238700946775, i64 4708152073429893695, i64 4616074858602061186, i64 4708121194562349659, i64 4616073485151550742, i64 4708090617219982559, i64 4616072118284655593, i64 4708060336986420494, i64 4616070757937562089, i64 4708030349531320437, i64 4616069404047384391, i64 4708000650608280796, i64 4616068056552146531, i64 4707971236052814502, i64 4616066715390764902, i64 4707942101780380605, i64 4616065380503031169, i64 4707913243784472410, i64 4616064051829595589, i64 4707884658134760265, i64 4616062729311950718, i64 4707856340975287185, i64 4616061412892415521, i64 4707828288522715570, i64 4616060102514119834, i64 4707800497064623334, i64 4616058798120989208, i64 4707772962957847821, i64 4616057499657730096, i64 4707745682626875961, i64 4616056207069815385, i64 4707718652562279161, i64 4616054920303470265, i64 4707691869319191479, i64 4616053639305658422, i64 4707665329515829709, i64 4616052364024068540, i64 4707639029832054011, i64 4616051094407101124, i64 4707612967007967821, i64 4616049830403855606, i64 4707587137842555768, i64 4616048571964117754, i64 4707561539192358426, i64 4616047319038347357, i64 4707536167970182727, i64 4616046071577666186, i64 4707511021143846916, i64 4616044829533846230, i64 4707486095734958992, i64 4616043592859298181, i64 4707461388817727574, i64 4616042361507060180, i64 4707436897517804212, i64 4616041135430786812, i64 4707412619011156157, i64 4616039914584738337, i64 4707388550522968677, i64 4616038698923770156, i64 4707364689326576007, i64 4616037488403322508, i64 4707341032742420062, i64 4616036282979410388, i64 4707317578137036096, i64 4616035082608613680, i64 4707294322922064465, i64 4616033887248067504, i64 4707271264553287739, i64 4616032696855452765, i64 4707248400529692397, i64 4616031511388986908, i64 4707225728392554373, i64 4616030330807414863, i64 4707203245724547755, i64 4616029155070000179, i64 4707180950148875947, i64 4616027984136516354, i64 4707158839328424647, i64 4616026817967238335, i64 4707136910964935994, i64 4616025656522934194, i64 4707115162798203274, i64 4616024499764856991, i64 4707093592605285584, i64 4616023347654736783, i64 4707072198199741898, i64 4616022200154772817, i64 4707050977430883943, i64 4616021057227625867, i64 4707029928183047388, i64 4616019918836410736, i64 4707009048374880791, i64 4616018784944688908, i64 4706988335958651822, i64 4616017655516461347, i64 4706967788919570262, i64 4616016530516161441, i64 4706947405275127313, i64 4616015409908648086, i64 4706927183074450762, i64 4616014293659198913, i64 4706907120397675549, i64 4616013181733503641, i64 4706887215355329321, i64 4616012074097657573, i64 4706867466087732550, i64 4616010970718155207, i64 4706847870764412822, i64 4616009871561883980, i64 4706828427583532893, i64 4616008776596118138, i64 4706809134771332150, i64 4616007685788512714, i64 4706789990581581110, i64 4616005516520271925, i64 4706752141218981228, i64 4616003363505796354, i64 4706714866056578397, i64 4616001226499447468, i64 4706678152062869361, i64 4615999105261140414, i64 4706641986598641177, i64 4615996999556177459, i64 4706606357402299950, i64 4615994909155087642, i64 4706571252575853705, i64 4615992833833472351, i64 4706536660571515579, i64 4615990773371856572, i64 4706502570178895528, i64 4615988727555545558, i64 4706468970512750581, i64 4615986696174486686, i64 4706435851001265426, i64 4615984679023136268, i64 4706403201374836696, i64 4615982675900331118, i64 4706371011655335883, i64 4615980686609164662, i64 4706339272145827185, i64 4615978710956867405, i64 4706307973420717957, i64 4615976748754691571, i64 4706277106316320656, i64 4615974799817799739, i64 4706231713241444384, i64 4615972863965157312, i64 4706171652538893631, i64 4615970941019428669, i64 4706112403061264652, i64 4615969030806876831, i64 4706053948402771944, i64 4615967133157266524, i64 4705996272598083402, i64 4615965247903770477, i64 4705939360107617292, i64 4615963374882878844, i64 4705883195803424817, i64 4615961513934311620, i64 4705827764955631228, i64 4615959664900933927, i64 4705773053219409848, i64 4615957827628674070, i64 4705719046622464728, i64 4615956001966444245, i64 4705665731552998876, i64 4615954187766063794, i64 4705613094748146244, i64 4615952384882184928, i64 4705561123282846706, i64 4615950593172220800, i64 4705509804559144367, i64 4615948812496275849, i64 4705459126295890514, i64 4615947042717078338, i64 4705409076518833454, i64 4615945283699914992, i64 4705359643551078382, i64 4615943535312567653, i64 4705310816003901241, i64 4615941797425251903, i64 4705262582767901340, i64 4615940069910557550, i64 4705214933004478238, i64 4615938352643390933, i64 4705167856137619098, i64 4615936645500918966, i64 4705121341845983384, i64 4615934948362514872, i64 4705075380055272425, i64 4615933261109705528, i64 4705029960930871933, i64 4615931583626120381, i64 4704985074870756146, i64 4615929915797441867, i64 4704940712498642813, i64 4615928257511357288, i64 4704896864657388707, i64 4615926608657512092, i64 4704853522402615881, i64 4615924969127464509, i64 4704810676996559289, i64 4615923338814641490, i64 4704768319902126864, i64 4615921717614295917, i64 4704726442777163527, i64 4615920105423465025, i64 4704685037468911009, i64 4615918502140930008, i64 4704644096008655713, i64 4615916907667176760, i64 4704603610606557223, i64 4615915321904357718, i64 4704563573646650374, i64 4615913744756254765, i64 4704523977682014113, i64 4615912176128243165, i64 4704484815430100708, i64 4615910615927256491, i64 4704446079768219105, i64 4615909064061752509, i64 4704407763729166546, i64 4615907520441679999, i64 4704369860497002777, i64 4615905984978446472, i64 4704332363402961466, i64 4615904457584886756, i64 4704295265921493633, i64 4615902938175232423, i64 4704258561666438158, i64 4615901426665082040, i64 4704222244387314631, i64 4615899922971372198, i64 4704186307965733988, i64 4615898427012349309, i64 4704150746411922601, i64 4615896938707542152, i64 4704115553861355657, i64 4615895457977735118, i64 4704080724571495829, i64 4615893984744942169, i64 4704046252918633419, i64 4615892518932381457, i64 4704012133394824303, i64 4615891060464450596, i64 4703978360604922165, i64 4615889609266702577, i64 4703944929263701650, i64 4615888165265822282, i64 4703911834193069196, i64 4615886728389603601, i64 4703879070319358440, i64 4615885298566927124, i64 4703846632670707227, i64 4615883875727738388, i64 4703814516374513351, i64 4615882459803026671, i64 4703782716654966302, i64 4615881050724804311, i64 4703751228830652349, i64 4615879648426086532, i64 4703720048312230466, i64 4615878252840871772, i64 4703689170600176637, i64 4615876863904122482, i64 4703658591282594217, i64 4615875481551746404, i64 4703628306033088099, i64 4615874105720578292, i64 4703598310608700521, i64 4615872736348362076, i64 4703568600847906455, i64 4615871373373733461, i64 4703539172668666548, i64 4615870016736202927, i64 4703510022066535729, i64 4615868666376139145, i64 4703481145112825614, i64 4615867322234752777, i64 4703452537952818927, i64 4615865984254080665, i64 4703424196804034248, i64 4615864652376970377, i64 4703396117954539410, i64 4615863326547065130, i64 4703368297761311990, i64 4615862006708789047, i64 4703340732648645343, i64 4615860692807332763, i64 4703313419106598719, i64 4615859384788639358, i64 4703286353689490049, i64 4615858082599390618, i64 4703259533014430026, i64 4615856786186993598, i64 4703232953759896173, i64 4615855495499567497, i64 4703206612664345630, i64 4615854210485930828, i64 4703180506524865434, i64 4615852931095588877, i64 4703154632195859116, i64 4615851657278721437, i64 4703128986587768485, i64 4615850388986170820, i64 4703103566665829493, i64 4615849126169430134, i64 4703078369448861132, i64 4615847868780631817, i64 4703053392008086348, i64 4615846616772536425, i64 4703028631465983967, i64 4615845370098521659, i64 4703004084995170719, i64 4615844128712571641, i64 4702979749817312411, i64 4615842892569266412, i64 4702955623202063383, i64 4615841661623771666, i64 4702931702466033387, i64 4615840435831828696, i64 4702907984971781070, i64 4615839215149744558, i64 4702884468126833254, i64 4615837999534382451, i64 4702861149382729261, i64 4615836788943152290, i64 4702838026234089519, i64 4615835583334001486, i64 4702815096217707753, i64 4615834382665405916, i64 4702792356911666046, i64 4615833186896361085, i64 4702769805934472123, i64 4615831995986373469, i64 4702747440944218183, i64 4615830809895452042, i64 4702725259637760679, i64 4615829628584099973, i64 4702703259749920419, i64 4615828452013306496, i64 4702681439052702416, i64 4615827280144538951, i64 4702659795354534914, i64 4615826112939734983, i64 4702638326499527044, i64 4615824950361294897, i64 4702617030366744576, i64 4615823792372074176, i64 4702595904869503261, i64 4615822638935376141, i64 4702574947954679261, i64 4615821490014944768, i64 4702554157602036186, i64 4615820345574957640, i64 4702533531823568279, i64 4615819205580019043, i64 4702513068662859287, i64 4615818069995153201, i64 4702492766194456602, i64 4615816938785797643, i64 4702472622523260220, i64 4615815811917796698, i64 4702452635783926144, i64 4615814689357395123, i64 4702432804140283804, i64 4615813571071231852, i64 4702413125784767132, i64 4615812457026333864, i64 4702393598937858905, i64 4615810241530345965, i64 4702354992788799256, i64 4615808042613182740, i64 4702316971997631363, i64 4615805860024431481, i64 4702279523284205442, i64 4615803693519339147, i64 4702242633768048021, i64 4615801542858642666, i64 4702206290953417334, i64 4615799407808405571, i64 4702170482715024908, i64 4615797288139860663, i64 4702135197284388952, i64 4615795183629258457, i64 4702100423236787128, i64 4615793094057721150, i64 4702066149478778211, i64 4615791019211101865, i64 4702032365236263882, i64 4615788958879848953, i64 4701999060043063556, i64 4615786912858875133, i64 4701966223729976688, i64 4615784880947431263, i64 4701933846414308449, i64 4615782862948984546, i64 4701901918489836013, i64 4615780858671100991, i64 4701870430617193975, i64 4615778867925331939, i64 4701839373714658593, i64 4615776890527104504, i64 4701808738949311672, i64 4615774926295615754, i64 4701778517728565972, i64 4615772975053730481, i64 4701739392409272112, i64 4615771036627882423, i64 4701680554432663680, i64 4615769110847978794, i64 4701622494714351608, i64 4615767197547307981, i64 4701565197835615108, i64 4615765296562450307, i64 4701508648783356593, i64 4615763407733191706, i64 4701452832936831261, i64 4615761530902440222, i64 4701397736054894777, i64 4615759665916145217, i64 4701343344263745575, i64 4615757812623219168, i64 4701289644045139531, i64 4615755970875461975, i64 4701236622225055895, i64 4615754140527487670, i64 4701184265962794430, i64 4615752321436653440, i64 4701132562740484739, i64 4615750513462990877, i64 4701081500352989688, i64 4615748716469139375, i64 4701031066898185759, i64 4615746930320281583, i64 4700981250767604001, i64 4615745154884080853, i64 4700932040637416059, i64 4615743390030620599, i64 4700883425459750522, i64 4615741635632345498, i64 4700835394454325533, i64 4615739891564004476, i64 4700787937100384310, i64 4615738157702595399, i64 4700741043128920838, i64 4615736433927311417, i64 4700694702515183630, i64 4615734720119488908, i64 4700648905471446003, i64 4615733016162556950, i64 4700603642440031877, i64 4615731321941988279, i64 4700558904086586617, i64 4615729637345251679, i64 4700514681293582924, i64 4615727962261765746, i64 4700470965154052240, i64 4615726296582853996, i64 4700427746965532589, i64 4615724640201701246, i64 4700385018224224167, i64 4615722993013311249, i64 4700342770619344414, i64 4615721354914465525, i64 4700300996027674650, i64 4615719725803683352, i64 4700259686508290751, i64 4615718105581182876, i64 4700218834297470626, i64 4615716494148843310, i64 4700178431803771633, i64 4615714891410168174, i64 4700138471603271338, i64 4615713297270249551, i64 4700098946434965320, i64 4615711711635733321, i64 4700059849196316023, i64 4615710134414785347, i64 4700021172938946872, i64 4615708565517058565, i64 4699982910864476180, i64 4615707004853660977, i64 4699945056320485544, i64 4615705452337124490, i64 4699907602796617715, i64 4615703907881374593, i64 4699870543920799102, i64 4615702371401700831, i64 4699833873455582280, i64 4615700842814728065, i64 4699797585294604095, i64 4615699322038388482, i64 4699761673459155100, i64 4615697808991894339, i64 4699726132094856276, i64 4615696303595711408, i64 4699690955468439130, i64 4615694805771533117, i64 4699656137964625444, i64 4615693315442255344, i64 4699621674083103082, i64 4615691832531951866, i64 4699587558435594433, i64 4615690356965850428, i64 4699553785743014182, i64 4615688888670309411, i64 4699520350832713260, i64 4615687427572795103, i64 4699487248635805920, i64 4615685973601859522, i64 4699454474184577051, i64 4615684526687118806, i64 4699422022609966907, i64 4615683086759232127, i64 4699389889139130583, i64 4615681653749881138, i64 4699358069093069650, i64 4615680227591749911, i64 4699326557884333471, i64 4615678808218505376, i64 4699295351014787822, i64 4615677395564778232, i64 4699264444073448517, i64 4615675989566144317, i64 4699233832734377850, i64 4615674590159106431, i64 4699203512754641727, i64 4615673197281076591, i64 4699173479972325462, i64 4615671810870358712, i64 4699143730304606270, i64 4615670430866131701, i64 4699114259745880590, i64 4615669057208432939, i64 4699085064365944403, i64 4615667689838142169, i64 4699056140308224830, i64 4615666328696965745, i64 4699027483788061302, i64 4615664973727421258, i64 4698999091091034713, i64 4615663624872822512, i64 4698970958571342981, i64 4615662282077264853, i64 4698943082650221528, i64 4615660945285610827, i64 4698915459814407235, i64 4615659614443476175, i64 4698888086614644477, i64 4615658289497216139, i64 4698860959664231904, i64 4615656970393912080, i64 4698834075637608673, i64 4615655657081358403, i64 4698807431268978884, i64 4615654349508049768, i64 4698781023350973026, i64 4615653047623168591, i64 4698754848733345277, i64 4615651751376572824, i64 4698728904321705526, i64 4615650460718784002, i64 4698703187076285064, i64 4615649175600975555, i64 4698677694010734888, i64 4615647895974961380, i64 4698652422190955627, i64 4615646621793184657, i64 4698627368733958108, i64 4615645353008706910, i64 4698602530806753652, i64 4615644089575197313, i64 4698577905625273179, i64 4615642831446922212, i64 4698553490453314255, i64 4615641578578734883, i64 4698529282601515257, i64 4615640330926065508, i64 4698505279426355819, i64 4615639088444911358, i64 4698481478329182803, i64 4615637851091827193, i64 4698457876755261015, i64 4615636618823915857, i64 4698434472192847948, i64 4615635391598819077, i64 4698411262172291839, i64 4615634169374708447, i64 4698388244265152367, i64 4615632952110276608, i64 4698365416083343310, i64 4615631739764728609, i64 4698342775278296552, i64 4615630532297773441, i64 4698320319540146796, i64 4615629329669615751, i64 4698298046596936404, i64 4615628131840947727, i64 4698275954213839775, i64 4615626938772941144, i64 4698254040192406712, i64 4615625750427239571, i64 4698232302369824235, i64 4615624566765950746, i64 4698210738618196303, i64 4615623387751639090, i64 4698189346843840973, i64 4615622213347318384, i64 4698168124986604461, i64 4615621043516444584, i64 4698147071019191678, i64 4615619878222908785, i64 4698126182946512739, i64 4615618717431030320, i64 4698105458805045034, i64 4615617561105550001, i64 4698084896662210414, i64 4615616409211623485, i64 4698064494615767079, i64 4615615261714814780, i64 4698044250793215762, i64 4615614118581089869, i64 4698024163351219823, i64 4615612979776810462, i64 4698004230475038873, i64 4615610715023977003, i64 4697964821300835140, i64 4615608467194892755, i64 4697926009303901629, i64 4615606236034087650, i64 4697887780940971480, i64 4615604021291863445, i64 4697850123076264167, i64 4615601822724120707, i64 4697813022966252005, i64 4615599640092192253, i64 4697776468245105620, i64 4615597473162682740, i64 4697740446910783325, i64 4615595321707314141, i64 4697704947311731379, i64 4615593185502776854, i64 4697669958134164037, i64 4615591064330586192, i64 4697635468389894111, i64 4615588957976944024, i64 4697601467404686401, i64 4615586866232605351, i64 4697567944807107978, i64 4615584788892749603, i64 4697534890517850736, i64 4615582725756856453, i64 4697502294739503022, i64 4615580676628585972, i64 4697470147946748456, i64 4615578641315662930, i64 4697438440876971247, i64 4615576619629765086, i64 4697407164521248459, i64 4615574611386415280, i64 4697376310115710755, i64 4615572616404877210, i64 4697345869133254131, i64 4615570634508054697, i64 4697315833275586107, i64 4615568665522394346, i64 4697286194465590726, i64 4615566709277791425, i64 4697256944839997543, i64 4615564765607498868, i64 4697201742137253796, i64 4615562834348039253, i64 4697144754084960310, i64 4615560915339119661, i64 4697088499649914699, i64 4615559008423549279, i64 4697032964680927124, i64 4615557113447159670, i64 4696978135389375428, i64 4615555230258727578, i64 4696923998337650042, i64 4615553358709900196, i64 4696870540428038430, i64 4615551498655122788, i64 4696817748892029688, i64 4615549649951568580, i64 4696765611280020862, i64 4615547812459070842, i64 4696714115451407491, i64 4615545986040057070, i64 4696663249565041724, i64 4615544170559485190, i64 4696613002070042198, i64 4615542365884781727, i64 4696563361696940629, i64 4615540571885781839, i64 4696514317449150797, i64 4615538788434671171, i64 4696465858594746305, i64 4615537015405929459, i64 4696417974658534144, i64 4615535252676275809, i64 4696370655414411711, i64 4615533500124615609, i64 4696323890877995516, i64 4615531757631989000, i64 4696277671299510370, i64 4615530025081520865, i64 4696231987156928373, i64 4615528302358372272, i64 4696186829149347515, i64 4615526589349693324, i64 4696142188190600171, i64 4615524885944577374, i64 4696098055403082237, i64 4615523192034016543, i64 4696054422111794055, i64 4615521507510858512, i64 4696011279838584696, i64 4615519832269764538, i64 4695968620296591536, i64 4615518166207168647, i64 4695926435384867446, i64 4615516509221237976, i64 4695884717183188234, i64 4615514861211834217, i64 4695843457947033327, i64 4615513222080476128, i64 4695802650102732972, i64 4615511591730303076, i64 4695762286242775559, i64 4615509970066039586, i64 4695722359121268913, i64 4615508356993960842, i64 4695682861649549700, i64 4615506752421859136, i64 4695643786891935336, i64 4615505156259011216, i64 4695605128061613017, i64 4615503568416146503, i64 4695566878516660742, i64 4615501988805416167, i64 4695529031756195407, i64 4615500417340363015, i64 4695491581416643245, i64 4615498853935892173, i64 4695454521268128115, i64 4615497298508242540, i64 4695417845210973305, i64 4615495750974958989, i64 4695381547272312706, i64 4615494211254865283, i64 4695345621602807395, i64 4615492679268037696, i64 4695310062473463807, i64 4615491154935779309, i64 4695274864272549845, i64 4615489638180594965, i64 4695240021502605445, i64 4615488128926166860, i64 4695205528777544211, i64 4615486627097330750, i64 4695171380819842908, i64 4615485132620052758, i64 4695137572457815732, i64 4615483645421406765, i64 4695104098622970358, i64 4615482165429552358, i64 4695070954347442947, i64 4615480692573713330, i64 4695038134761509343, i64 4615479226784156710, i64 4695005635091169863, i64 4615477767992172302, i64 4694973450655805117, i64 4615476316130052733, i64 4694941576865900458, i64 4615474871131073979, i64 4694910009220836719, i64 4615473432929476366, i64 4694878743306744990, i64 4615472001460446026, i64 4694847774794423277, i64 4615470576660096795, i64 4694817099437312980, i64 4615469158465452553, i64 4694786713069533185, i64 4615467746814429967, i64 4694756611603970847, i64 4615466341645821659, i64 4694726791030425031, i64 4615464942899279752, i64 4694697247413803420, i64 4615463550515299819, i64 4694667976892369388, i64 4615462164435205189, i64 4694638975676037983, i64 4615460784601131628, i64 4694610240044719243, i64 4615459410956012369, i64 4694581766346707306, i64 4615458043443563486, i64 4694553550997113857, i64 4615456682008269605, i64 4694525590476344478, i64 4615455326595369933, i64 4694497881328616551, i64 4615453977150844612, i64 4694470420160517382, i64 4615452633621401378, i64 4694443203639601290, i64 4615451295954462513, i64 4694416228493024432, i64 4615449964098152098, i64 4694389491506216178, i64 4615448638001283545, i64 4694362989521585915, i64 4615447317613347403, i64 4694336719437264162, i64 4615446002884499438, i64 4694310678205876952, i64 4615444693765548970, i64 4694284862833352457, i64 4615443390207947467, i64 4694259270377758860, i64 4615442092163777385, i64 4694233897948172540, i64 4615440799585741257, i64 4694208742703575638, i64 4615439512427151006, i64 4694183801851782114, i64 4615438230641917495, i64 4694159072648391458, i64 4615436954184540299, i64 4694134552395769209, i64 4615435683010097695, i64 4694110238442053484, i64 4615434417074236865, i64 4694086128180186764, i64 4615433156333164299, i64 4694062219046972167, i64 4615431900743636412, i64 4694038508522153504, i64 4615430650262950345, i64 4694014994127518412, i64 4615429404848934967, i64 4693991673426023900, i64 4615428164459942059, i64 4693968544020943647, i64 4615426929054837679, i64 4693945603555036428, i64 4615425698592993710, i64 4693922849709735063, i64 4615424473034279577, i64 4693900280204355291, i64 4615423252339054135, i64 4693877892795324007, i64 4615422036468157721, i64 4693855685275426309, i64 4615420825382904364, i64 4693833655473070819, i64 4615419619045074163, i64 4693811801251572770, i64 4615418417416905801, i64 4693790120508454349, i64 4615417220461089225, i64 4693768611174761821, i64 4615416028140758463, i64 4693747271214398963, i64 4615414840419484584, i64 4693726098623476358, i64 4615413657261268800, i64 4693705091429676098, i64 4615412478630535701, i64 4693684247691631497, i64 4615411304492126629, i64 4693663565498321370, i64 4615410134811293168, i64 4693643042968478505, i64 4615408969553690777, i64 4693622678250011929, i64 4615406652172783010, i64 4693582414981352159, i64 4615404352082489870, i64 4693542761438019004, i64 4615402069021972069, i64 4693503703797721183, i64 4615399802736281082, i64 4693465228653929295, i64 4615397552976182622, i64 4693427323000336409, i64 4615395319497986693, i64 4693389974216011134, i64 4615393102063383915, i64 4693353170051207406, i64 4615390900439287864, i64 4693316898613797326, i64 4615388714397683145, i64 4693281148356295344, i64 4615386543715478964, i64 4693245908063443917, i64 4615384388174367952, i64 4693211166840332470, i64 4615382247560690023, i64 4693176914101023117, i64 4615380121665301041, i64 4693143139557658076, i64 4615378010283446111, i64 4693109833210025123, i64 4615375913214637285, i64 4693076985335558775, i64 4615373830262535504, i64 4693044586479756082, i64 4615371761234836598, i64 4693012627446987111, i64 4615369705943161194, i64 4692981099291681268, i64 4615367664202948341, i64 4692949993309871637, i64 4615365635833352733, i64 4692919301031080463, i64 4615363620657145370, i64 4692889014210529831, i64 4615361618500617517, i64 4692859124821662419, i64 4615359629193487843, i64 4692829625048958001, i64 4615357652568812596, i64 4692800507281032158, i64 4615355688462898719, i64 4692771764104004312, i64 4615353736715219769, i64 4692735964870188994, i64 4615351797168334546, i64 4692679933913215558, i64 4615349869667808320, i64 4692624609899738251, i64 4615347954062136565, i64 4692569979459333233, i64 4615346050202671098, i64 4692516029557533746, i64 4615344157943548528, i64 4692462747485327592, i64 4615342277141620944, i64 4692410120849046558, i64 4615340407656388746, i64 4692358137560630808, i64 4615338549349935542, i64 4692306785828252108, i64 4615336702086865036, i64 4692256054147280543, i64 4615334865734239839, i64 4692205931291580113, i64 4615333040161522125, i64 4692156406305119322, i64 4615331225240516069, i64 4692107468493883532, i64 4615329420845312006, i64 4692059107418076482, i64 4615327626852232247, i64 4692011312884598963, i64 4615325843139778488, i64 4691964074939793244, i64 4615324069588580771, i64 4691917383862442318, i64 4615322306081347924, i64 4691871230157013603, i64 4615320552502819441, i64 4691825604547137182, i64 4615318808739718749, i64 4691780497969309129, i64 4615317074680707812, i64 4691735901566810910, i64 4615315350216343031, i64 4691691806683836238, i64 4615313635239032389, i64 4691648204859817189, i64 4615311929642993806, i64 4691605087823941701, i64 4615310233324214660, i64 4691562447489854986, i64 4615308546180412433, i64 4691520275950537678, i64 4615306868110996447, i64 4691478565473353879, i64 4615305199017030658, i64 4691437308495262557, i64 4615303538801197463, i64 4691396497618186037, i64 4615301887367762495, i64 4691356125604529609, i64 4615300244622540373, i64 4691316185372846515, i64 4615298610472861373, i64 4691276669993642849, i64 4615296984827538994, i64 4691237572685317121, i64 4615295367596838383, i64 4691198886810229460, i64 4615293758692445607, i64 4691160605870895666, i64 4615292158027437722, i64 4691122723506301476, i64 4615290565516253641, i64 4691085233488332673, i64 4615288981074665748, i64 4691048129718316771, i64 4615287404619752265, i64 4691011406223672252, i64 4615285836069870314, i64 4690975057154661460, i64 4615284275344629687, i64 4690939076781243428, i64 4615282722364867277, i64 4690903459490023063, i64 4615281177052622162, i64 4690868199781293273, i64 4615279639331111319, i64 4690833292266166726, i64 4615278109124705948, i64 4690798731663794114, i64 4615276586358908394, i64 4690764512798665863, i64 4615275070960329634, i64 4690730630597994405, i64 4615273562856667330, i64 4690697080089174195, i64 4615272061976684424, i64 4690663856397316816, i64 4615270568250188252, i64 4690630954742858565, i64 4615269081608010174, i64 4690598370439238069, i64 4615267601981985695, i64 4690566098890641534, i64 4615266129304935070, i64 4690534135589813340, i64 4615264663510644373, i64 4690502476115929792, i64 4615263204533847022, i64 4690471116132533896, i64 4615261752310205743, i64 4690440051385529132, i64 4615260306776294960, i64 4690409277701230272, i64 4615258867869583605, i64 4690378790984469339, i64 4615257435528418331, i64 4690348587216754918, i64 4615256009692007113, i64 4690318662454483059, i64 4615254590300403235, i64 4690289012827198084, i64 4615253177294489648, i64 4690259634535901705, i64 4615251770615963690, i64 4690230523851408869, i64 4615250370207322149, i64 4690201677112748838, i64 4615248976011846680, i64 4690173090725610065, i64 4615247587973589539, i64 4690144761160827460, i64 4615246206037359654, i64 4690116684952910710, i64 4615244830148709001, i64 4690088858698612357, i64 4615243460253919290, i64 4690061279055534383, i64 4615242096299988941, i64 4690033942740772098, i64 4615240738234620365, i64 4690006846529594185, i64 4615239386006207508, i64 4689979987254157749, i64 4615238039563823684, i64 4689953361802257328, i64 4615236698857209664, i64 4689926967116106799, i64 4615235363836762039, i64 4689900800191153177, i64 4615234034453521817, i64 4689874858074921347, i64 4615232710659163289, i64 4689849137865888774, i64 4615231392405983112, i64 4689823636712389306, i64 4615230079646889649, i64 4689798351811545181, i64 4615228772335392517, i64 4689773280408226396, i64 4615227470425592372, i64 4689748419794036633, i64 4615226173872170904, i64 4689723767306324947, i64 4615224882630381041, i64 4689699320327222446, i64 4615223596656037364, i64 4689675076282703252, i64 4615222315905506722, i64 4689651032641669004, i64 4615221040335699038, i64 4689627186915056239, i64 4615219769904058309, i64 4689603536654965974, i64 4615218504568553795, i64 4689580079453814849, i64 4615217244287671382, i64 4689556812943507213, i64 4615215989020405128, i64 4689533734794627547, i64 4615214738726248980, i64 4689510842715652656, i64 4615213493365188658, i64 4689488134452183045, i64 4615212252897693705, i64 4689465607786192954, i64 4615211017284709694, i64 4689443260535298528, i64 4615209786487650599, i64 4689421090552043586, i64 4615208560468391308, i64 4689399095723202537, i64 4615207339189260296, i64 4689377273969099918, i64 4615206122613032433, i64 4689355623242946138, i64 4615204910702921942, i64 4689334141530188949, i64 4615203703422575494, i64 4689312826847880217, i64 4615202500736065433, i64 4689291677244057582, i64 4615201302607883142, i64 4689270690797140595, i64 4615200109002932529, i64 4689249865615340934, i64 4615197735224366438, i64 4689208691625457763, i64 4615195379127609469, i64 4689168140714383272, i64 4615193040446108401, i64 4689128198763252620, i64 4615190718919327195, i64 4689088852077751262, i64 4615188414292566743, i64 4689050087372250885, i64 4615186126316791320, i64 4689011891754652152, i64 4615183854748461451, i64 4688974252711897760, i64 4615181599349372909, i64 4688937158096121450, i64 4615179359886501574, i64 4688900596111400623, i64 4615177136131853898, i64 4688864555301082055, i64 4615174927862322739, i64 4688829024535651997, i64 4615172734859548331, i64 4688793993001123522, i64 4615170556909784164, i64 4688759450187915585, i64 4615168393803767586, i64 4688725385880199624, i64 4615166245336594913, i64 4688691790145690938, i64 4615164111307600859, i64 4688658653325863302, i64 4615161991520242120, i64 4688625966026566466, i64 4615159885781984933, i64 4688593719109027316, i64 4615157793904196446, i64 4688561903681216502, i64 4615155715702039751, i64 4688530511089563307, i64 4615153650994372426, i64 4688499532911002489, i64 4615151599603648456, i64 4688468960945337645, i64 4615149561355823389, i64 4688438787207906510, i64 4615147536080262599, i64 4688409003922534320, i64 4615145523609652546, i64 4688379603514762137, i64 4615143523779914906, i64 4688350578605337683, i64 4615141536430123458, i64 4688321922003956869, i64 4615139561402423637, i64 4688293626703244831, i64 4615137598541954634, i64 4688265685872965837, i64 4615135647696773956, i64 4688228973616217587, i64 4615133708717784349, i64 4688174470217795545, i64 4615131781458663006, i64 4688120636795141864, i64 4615129865775792956, i64 4688067460997565037, i64 4615127961528196569, i64 4688014930776944410, i64 4615126068577471100, i64 4687963034378505866, i64 4615124186787726181, i64 4687911760331933286, i64 4615122316025523210, i64 4687861097442801596, i64 4615120456159816557, i64 4687811034784317905, i64 4615118607061896521, i64 4687761561689357865, i64 4615116768605333991, i64 4687712667742785016, i64 4615114940665926722, i64 4687664342774041433, i64 4615113123121647203, i64 4687616576849998561, i64 4615111315852592029, i64 4687569360268057628, i64 4615109518740932755, i64 4687522683549489528, i64 4615107731670868153, i64 4687476537433004509, i64 4615105954528577843, i64 4687430912868542487, i64 4615104187202177245, i64 4687385801011275176, i64 4615102429581673802, i64 4687341193215811657, i64 4615100681558924440, i64 4687297081030599370, i64 4615098943027594215, i64 4687253456192512885, i64 4615097213883116116, i64 4687210310621623126, i64 4615095494022651977, i64 4687167636416140074, i64 4615093783345054463, i64 4687125425847522261, i64 4615092081750830106, i64 4687083671355746674, i64 4615090389142103335, i64 4687042365544732949, i64 4615088705422581493, i64 4687001501177916025, i64 4615087030497520782, i64 4686961071173961646, i64 4615085364273693133, i64 4686921068602619382, i64 4615083706659353955, i64 4686881486680708020, i64 4615082057564210729, i64 4686842318768228433, i64 4615080416899392449, i64 4686803558364599217, i64 4615078784577419844, i64 4686765199105010604, i64 4615077160512176393, i64 4686727234756892318, i64 4615075544618880080, i64 4686689659216491252, i64 4615073936814055887, i64 4686652466505554998, i64 4615072337015508987, i64 4686615650768117418, i64 4615070745142298629, i64 4686579206267382617, i64 4615069161114712675, i64 4686543127382703823, i64 4615067584854242795, i64 4686507408606653801, i64 4615066016283560276, i64 4686472044542183593, i64 4615064455326492440, i64 4686437029899866486, i64 4615062901907999649, i64 4686402359495224239, i64 4615061355954152883, i64 4686368028246132709, i64 4615059817392111862, i64 4686334031170304149, i64 4615058286150103716, i64 4686300363382843538, i64 4615056762157402169, i64 4686267020093876413, i64 4615055245344307229, i64 4686233996606245777, i64 4615053735642125373, i64 4686201288313275741, i64 4615052232983150203, i64 4686168890696599654, i64 4615050737300643571, i64 4686136799324050568, i64 4615049248528817150, i64 4686105009847611942, i64 4615047766602814446, i64 4686073518001426610, i64 4615046291458693225, i64 4686042319599862058, i64 4615044823033408369, i64 4686011410535630195, i64 4615043361264795115, i64 4685980786777959797, i64 4615041906091552701, i64 4685950444370819943, i64 4615040457453228374, i64 4685920379431192763, i64 4615039015290201782, i64 4685890588147393924, i64 4615037579543669714, i64 4685861066777439313, i64 4615036150155631193, i64 4685831811647456445, i64 4615034727068872908, i64 4685802819150139161, i64 4615033310226954971, i64 4685774085743244267, i64 4615031899574197006, i64 4685745607948128762, i64 4615030495055664533, i64 4685717382348326414, i64 4615029096617155675, i64 4685689405588162416, i64 4615027704205188146, i64 4685661674371404980, i64 4615026317766986536, i64 4685634185459952682, i64 4615024937250469866, i64 4685606935672556492, i64 4615023562604239431, i64 4685579921883575401, i64 4615022193777566895, i64 4685553141021764624, i64 4615020830720382649, i64 4685526590069095395, i64 4615019473383264425, i64 4685500266059605384, i64 4615018121717426151, i64 4685474166078278822, i64 4615016775674707047, i64 4685448287259955441, i64 4615015435207560952, i64 4685422626788267359, i64 4615014100269045882, i64 4685397181894603087, i64 4615012770812813804, i64 4685371949857097846, i64 4615011446793100632, i64 4685346927999649428, i64 4615010128164716428, i64 4685322113690958832, i64 4615008814883035810, i64 4685297504343594972, i64 4615007506903988558, i64 4685273097413082735, i64 4615006204184050420, i64 4685248890397013719, i64 4615004906680234102, i64 4685224880834179005, i64 4615003614350080447, i64 4685201066303723304, i64 4615002327151649791, i64 4685177444424319895, i64 4615001045043513502, i64 4685154012853365735, i64 4614999767984745683, i64 4685130769286196187, i64 4614998495934915050, i64 4685107711455318794, i64 4614997228854076968, i64 4685084837129665573, i64 4614995966702765651, i64 4685062144113863303, i64 4614994709441986514, i64 4685039630247521307, i64 4614993457033208683, i64 4685017293404536238, i64 4614992209438357648, i64 4684995131492413391, i64 4614990966619808061, i64 4684973142451604098, i64 4614989728540376684, i64 4684951324254858755, i64 4614988495163315463, i64 4684929674906595044, i64 4614987266452304749, i64 4684908192442280949, i64 4614986042371446639, i64 4684886874927832159, i64 4614983607958666356, i64 4684844727160913756, i64 4614981191645981609, i64 4684803216720089936, i64 4614978793160742692, i64 4684762329170487735, i64 4614976412236451791, i64 4684722050511140047, i64 4614974048612578761, i64 4684682367158776200, i64 4614971702034383746, i64 4684643265932334579, i64 4614969372252746362, i64 4684604734038160016, i64 4614967059024001140, i64 4684566759055850851, i64 4614964762109778960, i64 4684529328924722628, i64 4614962481276854214, i64 4684492431930857264, i64 4614960216296997447, i64 4684456056694708363, i64 4614957966946833261, i64 4684420192159234958, i64 4614955733007703222, i64 4684384827578537590, i64 4614953514265533604, i64 4684349952506972055, i64 4614951310510707726, i64 4684315556788717539, i64 4614949121537942717, i64 4684281630547777157, i64 4614946947146170519, i64 4684248164178390111, i64 4614944787138422953, i64 4684215148335835810, i64 4614942641321720678, i64 4684182573927611384, i64 4614940509506965894, i64 4684150432104964995, i64 4614938391508838640, i64 4684118714254768319, i64 4614936287145696525, i64 4684087411991712422, i64 4614934196239477783, i64 4684056517150812118, i64 4614932118615607500, i64 4684026021780204666, i64 4614930054102906893, i64 4683995918134229391, i64 4614928002533505536, i64 4683966198666775514, i64 4614925963742756396, i64 4683936856024886152, i64 4614923937569153594, i64 4683907883042607014, i64 4614921923854252770, i64 4683879272735068961, i64 4614919922442593961, i64 4683851018292794089, i64 4614917933181626902, i64 4683823113076215558, i64 4614915955921638644, i64 4683795550610401850, i64 4614913990515683422, i64 4683768324579976595, i64 4614912036819514674, i64 4683739245183135320, i64 4614910094691519142, i64 4683686102199449973, i64 4614908163992652971, i64 4683633596012861576, i64 4614906244586379745, i64 4683581715174706499, i64 4614904336338610377, i64 4683530448509936069, i64 4614902439117644794, i64 4683479785108977101, i64 4614900552794115352, i64 4683429714319881597, i64 4614898677240931920, i64 4683380225740753679, i64 4614896812333228573, i64 4683331309212442403, i64 4614894957948311838, i64 4683282954811489607, i64 4614893113965610438, i64 4683235152843322471, i64 4614891280266626488, i64 4683187893835680924, i64 4614889456734888081, i64 4683141168532270497, i64 4614887643255903230, i64 4683094967886631635, i64 4614885839717115113, i64 4683049283056216914, i64 4614884046007858573, i64 4683004105396667966, i64 4614882262019317843, i64 4682959426456284287, i64 4614880487644485440, i64 4682915237970676478, i64 4614878722778122200, i64 4682871531857596762, i64 4614876967316718417, i64 4682828300211939953, i64 4614875221158456036, i64 4682785535300908361, i64 4614873484203171885, i64 4682743229559334383, i64 4614871756352321897, i64 4682701375585154802, i64 4614870037508946295, i64 4682659966135031094, i64 4614868327577635713, i64 4682618994120110260, i64 4614866626464498215, i64 4682578452601920958, i64 4614864934077127192, i64 4682538334788399900, i64 4614863250324570102, i64 4682498634030043743, i64 4614861575117298031, i64 4682459343816181833, i64 4614859908367176047, i64 4682420457771365428, i64 4614858249987434323, i64 4682381969651869149, i64 4614856599892640005, i64 4682343873342300614, i64 4614854957998669807, i64 4682306162852314376, i64 4614853324222683295, i64 4682268832313426427, i64 4614851698483096860, i64 4682231875975925695, i64 4614850080699558347, i64 4682195288205879111, i64 4614848470792922317, i64 4682159063482226945, i64 4614846868685225934, i64 4682123196393965248, i64 4614845274299665451, i64 4682087681637412374, i64 4614843687560573273, i64 4682052514013556661, i64 4614842108393395598, i64 4682017688425482474, i64 4614840536724670589, i64 4681983199875871912, i64 4614838972482007096, i64 4681949043464579613, i64 4614837415594063885, i64 4681915214386278145, i64 4614835865990529368, i64 4681881707928171628, i64 4614834323602101832, i64 4681848519467775255, i64 4614832788360470122, i64 4681815644470758539, i64 4614831260198294807, i64 4681783078488850130, i64 4614829739049189773, i64 4681750817157802183, i64 4614828224847704261, i64 4681718856195412295, i64 4614826717529305325, i64 4681687191399601131, i64 4614825217030360699, i64 4681655818646543901, i64 4614823723288122063, i64 4681624733888853954, i64 4614822236240708695, i64 4681593933153816784, i64 4614820755827091502, i64 4681563412541672828, i64 4614819281987077420, i64 4681533168223947493, i64 4614817814661294162, i64 4681503196441826894, i64 4614816353791175319, i64 4681473493504577857, i64 4614814899318945799, i64 4681444055788010774, i64 4614813451187607590, i64 4681414879732983975, i64 4614812009340925846, i64 4681385961843948296, i64 4614810573723415279, i64 4681357298687530604, i64 4614809144280326857, i64 4681328886891155050, i64 4614807720957634797, i64 4681300723141700898, i64 4614806303702023844, i64 4681272804184195788, i64 4614804892460876823, i64 4681245126820543359, i64 4614803487182262473, i64 4681217687908284168, i64 4614802087814923537, i64 4681190484359388907, i64 4614800694308265117, i64 4681163513139082918, i64 4614799306612343269, i64 4681136771264701091, i64 4614797924677853856, i64 4681110255804572205, i64 4614796548456121633, i64 4681083963876931849, i64 4614795177899089558, i64 4681057892648863063, i64 4614793812959308341, i64 4681032039335263882, i64 4614792453589926206, i64 4681006401197840984, i64 4614791099744678870, i64 4680980975544128684, i64 4614789751377879730, i64 4680955759726532516, i64 4614788408444410259, i64 4680930751141396704, i64 4614787070899710595, i64 4680905947228094814, i64 4614785738699770329, i64 4680881345468142925, i64 4614784411801119480, i64 4680856943384334670, i64 4614783090160819657, i64 4680832738539897512, i64 4614781773736455397, i64 4680808728537669666, i64 4614780462486125686, i64 4680784911019297053, i64 4614779156368435644, i64 4680761283664449750, i64 4614777855342488383, i64 4680737844190057359, i64 4614776559367877027, i64 4680714590349562783, i64 4614775268404676887, i64 4680691519932193874, i64 4614773982413437802, i64 4680668630762252480, i64 4614772701355176619, i64 4680645920698420387, i64 4614771425191369832, i64 4680623387633081696, i64 4614770153883946362, i64 4680601029491661185, i64 4614768887395280477, i64 4680578844231978214, i64 4614767625688184851, i64 4680556829843615750, i64 4614766368725903759, i64 4680534984347304100, i64 4614763868890880378, i64 4680491792265893350, i64 4614761387604546155, i64 4680449252754005901, i64 4614758924587728543, i64 4680407351039149291, i64 4614756479567550811, i64 4680366072792722146, i64 4614754052277243574, i64 4680325404113436445, i64 4614751642455963338, i64 4680285331511478065, i64 4614749249848617745, i64 4680245841893367502, i64 4614746874205697217, i64 4680206922547484883, i64 4614744515283112739, i64 4680168561130225501, i64 4614742172842039493, i64 4680130745652754018, i64 4614739846648766100, i64 4680093464468327336, i64 4614737536474549235, i64 4680056706260157828, i64 4614735242095473379, i64 4680020460029790228, i64 4614732963292315491, i64 4679984715085966972, i64 4614730699850414403, i64 4679949461033958195, i64 4614728451559544732, i64 4679914687765333891, i64 4614726218213795124, i64 4679880385448156998, i64 4614723999611450662, i64 4679846544517577312, i64 4614721795554879251, i64 4679813155666807236, i64 4614719605850421838, i64 4679780209838461384, i64 4614717430308286296, i64 4679747698216243027, i64 4614715268742444837, i64 4679715612216961263, i64 4614713120970534817, i64 4679683943482863661, i64 4614710986813762778, i64 4679652683874269916, i64 4614708866096811628, i64 4679621825462492787, i64 4614706758647750824, i64 4679591360523033355, i64 4614704664297949431, i64 4679561281529038236, i64 4614702582881991972, i64 4679531581145007071, i64 4614700514237596939, i64 4679502252220739174, i64 4614698458205537879, i64 4679473287785508798, i64 4614696414629566949, i64 4679444681042458998, i64 4614694383356340854, i64 4679416425363204566, i64 4614692364235349078, i64 4679388514282635008, i64 4614690357118844316, i64 4679360941493908934, i64 4614688361861775039, i64 4679333700843631699, i64 4614686378321720107, i64 4679306786327208502, i64 4614684406358825350, i64 4679280192084365533, i64 4614682445835742057, i64 4679253912394832119, i64 4614680496617567302, i64 4679215870510408944, i64 4614678558571786034, i64 4679164536101641364, i64 4614676631568214877, i64 4679113798076101548, i64 4614674715478947574, i64 4679063646032898911, i64 4614672810178302026, i64 4679014069812351876, i64 4614670915542768859, i64 4678965059489023159, i64 4614669031450961471, i64 4678916605364995274, i64 4614667157783567518, i64 4678868697963376636, i64 4614665294423301768, i64 4678821328022029079, i64 4614663441254860298, i64 4678774486487508033, i64 4614661598164875978, i64 4678728164509206976, i64 4614659765041875198, i64 4678682353433698182, i64 4614657941776235803, i64 4678637044799262104, i64 4614656128260146189, i64 4678592230330598109, i64 4614654324387565522, i64 4678547901933709573, i64 4614652530054185055, i64 4678504051690956667, i64 4614650745157390483, i64 4678460671856270449, i64 4614648969596225332, i64 4678417754850522146, i64 4614647203271355325, i64 4678375293257041793, i64 4614645446085033699, i64 4678333279817280634, i64 4614643697941067458, i64 4678291707426611915, i64 4614641958744784503, i64 4678250569130264954, i64 4614640228403001644, i64 4678209858119387574, i64 4614638506823993442, i64 4678169567727232181, i64 4614636793917461859, i64 4678129691425460995, i64 4614635089594506708, i64 4678090222820566089, i64 4614633393767596853, i64 4678051155650400110, i64 4614631706350542155, i64 4678012483780813696, i64 4614630027258466132, i64 4677974201202395783, i64 4614628356407779312, i64 4677936302027313140, i64 4614626693716153264, i64 4677898780486245624, i64 4614625039102495278, i64 4677861630925413794, i64 4614623392486923680, i64 4677824847803695637, i64 4614621753790743759, i64 4677788425689829311, i64 4614620122936424297, i64 4677752359259698928, i64 4614618499847574666, i64 4677716643293700497, i64 4614616884448922499, i64 4677681272674185292, i64 4614615276666291901, i64 4677646242382977995, i64 4614613676426582183, i64 4677611547498967066, i64 4614612083657747119, i64 4677577183195764911, i64 4614610498288774698, i64 4677543144739435487, i64 4614608920249667360, i64 4677509427486287091, i64 4614607349471422705, i64 4677476026880728158, i64 4614605785886014654, i64 4677442938453183981, i64 4614604229426375062, i64 4677410157818072333, i64 4614602680026375758, i64 4677377680671836068, i64 4614601137620811005, i64 4677345502791030830, i64 4614599602145380367, i64 4677313620030466069, i64 4614598073536671978, i64 4677282028321397652, i64 4614596551732146189, i64 4677250723669770400, i64 4614595036670119594, i64 4677219702154508929, i64 4614593528289749426, i64 4677188959925855289, i64 4614592026531018293, i64 4677158493203751877, i64 4614590531334719276, i64 4677128298276268204, i64 4614589042642441353, i64 4677098371498070144, i64 4614587560396555149, i64 4677068709288930309, i64 4614586084540199010, i64 4677039308132278289, i64 4614584615017265382, i64 4677010164573789499, i64 4614583151772387494, i64 4676981275220011444, i64 4614581694750926330, i64 4676952636737026257, i64 4614580243898957892, i64 4676924245849148379, i64 4614578799163260736, i64 4676896099337656324, i64 4614577360491303784, i64 4676868194039557483, i64 4614575927831234395, i64 4676840526846384969, i64 4614574501131866695, i64 4676813094703025534, i64 4614573080342670160, i64 4676785894606577631, i64 4614571665413758435, i64 4676758923605238715, i64 4614570256295878401, i64 4676732178797220908, i64 4614568852940399466, i64 4676705657329694200, i64 4614567455299303083, i64 4676679356397756365, i64 4614566063325172491, i64 4676653273243428798, i64 4614564676971182671, i64 4676627405154677538, i64 4614563296191090503, i64 4676601749464458717, i64 4614561920939225138, i64 4676576303549787743, i64 4614560551170478562, i64 4676551064830831524, i64 4614559186840296356, i64 4676526030770023073, i64 4614557827904668644, i64 4676501198871197846, i64 4614556474320121227, i64 4676476566678751205, i64 4614555126043706898, i64 4676452131776816389, i64 4614553783032996930, i64 4676427891788462424, i64 4614552445246072736, i64 4676403844374911409, i64 4614551112641517699, i64 4676379987234774629, i64 4614549785178409161, i64 4676356318103306967, i64 4614548462816310575, i64 4676332834751679112, i64 4614547145515263813, i64 4676309534986267069, i64 4614545833235781620, i64 4676286416647958479, i64 4614544525938840224, i64 4676263477611475307, i64 4614543223585872087, i64 4676240715784712431, i64 4614541926138758794, i64 4676218129108091710, i64 4614540633559824091, i64 4676195715553931098, i64 4614538062857955334, i64 4676151399858059352, i64 4614535511187442470, i64 4676107753090499001, i64 4614532978262112707, i64 4676064760116998968, i64 4614530463802243291, i64 4676022406257886617, i64 4614527967534368489, i64 4675980677271096132, i64 4614525489191093766, i64 4675939559335952543, i64 4614523028510916810, i64 4675899039037672379, i64 4614520585238055127, i64 4675859103352544258, i64 4614518159122279901, i64 4675819739633754822, i64 4614515749918755852, i64 4675780935597827449, i64 4614513357387886846, i64 4675742679311643032, i64 4614510981295166985, i64 4675704959180013852, i64 4614508621411036973, i64 4675667763933783222, i64 4614506277510745517, i64 4675631082618425110, i64 4614503949374215557, i64 4675594904583119388, i64 4614501636785915127, i64 4675559219470279679, i64 4614499339534732650, i64 4675524017205512084, i64 4614497057413856493, i64 4675489287987984204, i64 4614494790220658601, i64 4675455022281185036, i64 4614492537756582051, i64 4675421210804057319, i64 4614490299827032361, i64 4675387844522484948, i64 4614488076241272417, i64 4675354914641118935, i64 4614485866812320859, i64 4675322412595526317, i64 4614483671356853799, i64 4675290330044647210, i64 4614481489695109742, i64 4675258658863545968, i64 4614479321650797580, i64 4675227391136443154, i64 4614477167051007544, i64 4675196519150015694, i64 4614475025726124995, i64 4675166035386953244, i64 4614472897509746961, i64 4675135932519759403, i64 4614470782238601288, i64 4675106203404786971, i64 4614468679752468344, i64 4675076841076496998, i64 4614466589894105141, i64 4675047838741931893, i64 4614464512509171819, i64 4675019189775393307, i64 4614462447446160380, i64 4674990887713316018, i64 4614460394556325607, i64 4674962926249329404, i64 4614458353693618075, i64 4674935299229498571, i64 4614456324714619189, i64 4674908000647737522, i64 4614454307478478165, i64 4674881024641387175, i64 4614452301846850894, i64 4674854365486951324, i64 4614450307683840622, i64 4674828017595984022, i64 4614448324855940366, i64 4674801975511122128, i64 4614446353231977029, i64 4674776233902257072, i64 4614444392683057138, i64 4674750787562840173, i64 4614442443082514148, i64 4674714849602057343, i64 4614440504305857273, i64 4674665107714783719, i64 4614438576230721768, i64 4674615926539722067, i64 4614436658736820641, i64 4674567296583334083, i64 4614434751705897716, i64 4674519208565899167, i64 4614432855021682026, i64 4674471653415517042, i64 4614430968569843478, i64 4674424622262311368, i64 4614429092237949754, i64 4674378106432826513, i64 4614427225915424400, i64 4674332097444610026, i64 4614425369493506069, i64 4674286587000973648, i64 4614423522865208880, i64 4674241566985926037, i64 4614421685925283859, i64 4674197029459270671, i64 4614419858570181412, i64 4674152966651862668, i64 4614418040698014820, i64 4674109370961018553, i64 4614416232208524706, i64 4674066234946073229, i64 4614414433003044445, i64 4674023551324078684, i64 4614412642984466495, i64 4673981312965639163, i64 4614410862057209611, i64 4673939512890877799, i64 4614409090127186920, i64 4673898144265529868, i64 4614407327101774830, i64 4673857200397158049, i64 4614405572889782736, i64 4673816674731485274, i64 4614403827401423521, i64 4673776560848840918, i64 4614402090548284801, i64 4673736852460716253, i64 4614400362243300911, i64 4673697543406425278, i64 4614398642400725604, i64 4673658627649867163, i64 4614396930936105431, i64 4673620099276386732, i64 4614395227766253801, i64 4673581952489729520, i64 4614393532809225681, i64 4673544181609088103, i64 4614391845984292928, i64 4673506781066236519, i64 4614390167211920238, i64 4673469745402749731, i64 4614388496413741677, i64 4673433069267305193, i64 4614386833512537796, i64 4673396747413063708, i64 4614385178432213300, i64 4673360774695126867, i64 4614383531097775258, i64 4673325146068068472, i64 4614381891435311845, i64 4673289856583537429, i64 4614380259371971588, i64 4673254901387929726, i64 4614378634835943116, i64 4673220275720127165, i64 4614377017756435384, i64 4673185974909300626, i64 4614375408063658373, i64 4673151994372775739, i64 4614373805688804238, i64 4673118329613958874, i64 4614372210564028907, i64 4673084976220321503, i64 4614370622622434104, i64 4673051929861440989, i64 4614369041798049787, i64 4673019186287095998, i64 4614367468025817002, i64 4672986741325414740, i64 4614365901241571126, i64 4672954590881074345, i64 4614364341382025490, i64 4672922730933549743, i64 4614362788384755388, i64 4672891157535410440, i64 4614361242188182434, i64 4672859866810663699, i64 4614359702731559288, i64 4672828854953142629, i64 4614358169954954714, i64 4672798118224937779, i64 4614356643799238980, i64 4672767652954870882, i64 4614355124206069577, i64 4672737455537009409, i64 4614353611117877265, i64 4672707522429220680, i64 4614352104477852418, i64 4672677850151764314, i64 4614350604229931676, i64 4672648435285921810, i64 4614349110318784884, i64 4672619274472662151, i64 4614347622689802322, i64 4672590364411342310, i64 4614346141289082207, i64 4672561701858441602, i64 4614344666063418470, i64 4672533283626328858, i64 4614343196960288792, i64 4672505106582061432, i64 4614341733927842901, i64 4672477167646215084, i64 4614340276914891114, i64 4672449463791743816, i64 4614338825870893124, i64 4672421992042868768, i64 4614337380745947030, i64 4672394749473995320, i64 4614335941490778589, i64 4672367733208657554, i64 4614334508056730701, i64 4672340940418489285, i64 4614333080395753108, i64 4672314368322220880, i64 4614331658460392313, i64 4672288014184701108, i64 4614330242203781705, i64 4672261875315943298, i64 4614328831579631887, i64 4672235949070195110, i64 4614327426542221202, i64 4672210232845031222, i64 4614326027046386461, i64 4672184724080468297, i64 4614324633047513846, i64 4672159420258101577, i64 4614323244501530012, i64 4672134318900262497, i64 4614321861364893357, i64 4672109417569196724, i64 4614320483594585477, i64 4672084713866262045, i64 4614319111148102789, i64 4672060205431145541, i64 4614317743983448317, i64 4672035889941099517, i64 4614316382059123648, i64 4672011765110195657, i64 4614315025334121044, i64 4671987828688596904, i64 4614313673767915711, i64 4671964078461846568, i64 4614312327320458220, i64 4671940512250174202, i64 4614310985952167072, i64 4671917127907817766, i64 4614309649623921417, i64 4671893923322361652, i64 4614308318297053904, i64 4671870896414090129, i64 4614305670495009515, i64 4671825367469962615, i64 4614303042245502244, i64 4671780525068069871, i64 4614300433254821821, i64 4671736353685309648, i64 4614297843235873775, i64 4671692838264632042, i64 4614295271907981554, i64 4671649964197645404, i64 4614292718996696008, i64 4671607717307996481, i64 4614290184233611886, i64 4671566083835484848, i64 4614287667356191073, i64 4671525050420874012, i64 4614285168107592247, i64 4671484604091363780, i64 4614282686236506686, i64 4671444732246690518, i64 4614280221496999960, i64 4671405422645823833, i64 4614277773648359255, i64 4671366663394230002, i64 4614275342454946096, i64 4671328442931674172, i64 4614272927686054232, i64 4671290750020534881, i64 4614270529115772467, i64 4671253573734605965, i64 4614268146522852248, i64 4671216903448362271, i64 4614265779690579791, i64 4671180728826666898, i64 4614263428406652571, i64 4671145039814898905, i64 4614261092463060002, i64 4671109826629481562, i64 4614258771655968125, i64 4671075079748792299, i64 4614256465785608157, i64 4671040789904436509, i64 4614254174656168737, i64 4671006948072868308, i64 4614251898075691725, i64 4670973545467342258, i64 4614249635855971415, i64 4670940573530180876, i64 4614247387812457032, i64 4670908023925343562, i64 4614245153764158377, i64 4670875888531283323, i64 4614242933533554507, i64 4670844159434078334, i64 4614240726946505327, i64 4670812828920826099, i64 4614238533832165988, i64 4670781889473288544, i64 4614236354022903981, i64 4670751333761776981, i64 4614234187354218829, i64 4670721154639266445, i64 4614232033664664276, i64 4670691345135729412, i64 4614229892795772884, i64 4670661898452679415, i64 4614227764591982945, i64 4670632807957915531, i64 4614225648900567631, i64 4670604067180459149, i64 4614223545571566283, i64 4670575669805674871, i64 4614221454457717790, i64 4670547609670567760, i64 4614219375414395950, i64 4670519880759249539, i64 4614217308299546768, i64 4670492477198566701, i64 4614215252973627606, i64 4670465393253883808, i64 4614213209299548129, i64 4670438623325015600, i64 4614211177142612981, i64 4670412161942301798, i64 4614209156370466123, i64 4670386003762818805, i64 4614207146853036790, i64 4670360143566722757, i64 4614205148462487000, i64 4670334576253718632, i64 4614203161073160560, i64 4670309296839650378, i64 4614201184561533529, i64 4670284300453207245, i64 4614199218806166080, i64 4670259582332741713, i64 4614197263687655711, i64 4670235137823194639, i64 4614195319088591772, i64 4670189111163042475, i64 4614193384893511249, i64 4670141289480453912, i64 4614191460988855777, i64 4670093988309953540, i64 4614189547262929828, i64 4670047199136635496, i64 4614187643605860050, i64 4670000913630957516, i64 4614185749909555703, i64 4669955123643714025, i64 4614183866067670174, i64 4669909821201172149, i64 4614181991975563522, i64 4669864998500364518, i64 4614180127530266025, i64 4669820647904532988, i64 4614178272630442699, i64 4669776761938717660, i64 4614176427176358753, i64 4669733333285485817, i64 4614174591069845959, i64 4669690354780795623, i64 4614172764214269899, i64 4669647819409989641, i64 4614170946514498062, i64 4669605720303913441, i64 4614169137876868775, i64 4669564050735154762, i64 4614167338209160932, i64 4669522804114398873, i64 4614165547420564496, i64 4669481973986895966, i64 4614163765421651756, i64 4669441554029036577, i64 4614161992124349319, i64 4669401538045031203, i64 4614160227441910799, i64 4669361919963690421, i64 4614158471288890199, i64 4669322693835301988, i64 4614156723581115960, i64 4669283853828601517, i64 4614154984235665649, i64 4669245394227833473, i64 4614153253170841279, i64 4669207309429899368, i64 4614151530306145235, i64 4669169593941590135, i64 4614149815562256788, i64 4669132242376899809, i64 4614148108861009187, i64 4669095249454417723, i64 4614146410125367301, i64 4669058609994796571, i64 4614144719279405803, i64 4669022318918293749, i64 4614143036248287882, i64 4668986371242383537, i64 4614141360958244457, i64 4668950762079437728, i64 4614139693336553892, i64 4668915486634472432, i64 4614138033311522188, i64 4668880540202958861, i64 4614136380812463644, i64 4668845918168695987, i64 4614134735769681969, i64 4668811616001743028, i64 4614133098114451840, i64 4668777629256409820, i64 4614131467779000881, i64 4668743953569303186, i64 4614129844696492069, i64 4668710584657427486, i64 4614128228801006532, i64 4668677518316337604, i64 4614126620027526757, i64 4668644750418342689, i64 4614125018311920168, i64 4668612276910759028, i64 4614123423590923083, i64 4668580093814210491, i64 4614121835802125032, i64 4668548197220975042, i64 4614120254883953430, i64 4668516583293375853, i64 4614118680775658590, i64 4668485248262215648, i64 4614117113417299075, i64 4668454188425252900, i64 4614115552749727369, i64 4668423400145718591, i64 4614113998714575869, i64 4668392879850872288, i64 4614112451254243186, i64 4668362624030596308, i64 4614110910311880742, i64 4668332629236026813, i64 4614109375831379663, i64 4668302892078220704, i64 4614107847757357957, i64 4668273409226857235, i64 4614106326035147964, i64 4668244177408973272, i64 4614104810610784082, i64 4668215193407731211, i64 4614103301430990754, i64 4668186454061218559, i64 4614101798443170711, i64 4668157956261278231, i64 4614100301595393465, i64 4668129696952368660, i64 4614098810836384045, i64 4668101673130452817, i64 4614097326115511971, i64 4668073881841915318, i64 4614095847382780461, i64 4668046320182506757, i64 4614094374588815860, i64 4668018985296314501, i64 4614092907684857291, i64 4667991874374759153, i64 4614091446622746520, i64 4667964984655615950, i64 4614089991354918032, i64 4667938313422060374, i64 4614088541834389305, i64 4667911858001737275, i64 4614087098014751293, i64 4667885615765852837, i64 4614085659850159091, i64 4667859584128288730, i64 4614084227295322799, i64 4667833760544737827, i64 4614082800305498568, i64 4667808142511860867, i64 4614081378836479822, i64 4667782727566463467, i64 4614079962844588662, i64 4667757513284692936, i64 4614078552286667439, i64 4667732497281254312, i64 4614077147120070492, i64 4667707677208645093, i64 4614075747302656055, i64 4667683050756408160, i64 4614074352792778321, i64 4667658615650402362, i64 4614072963549279659, i64 4667634369652090301, i64 4614071579531482990, i64 4667610310557842828, i64 4614070200699184305, i64 4667586436198259810, i64 4614068827012645330, i64 4667562744437506706, i64 4614066094920179101, i64 4667515900333106870, i64 4614063382945223011, i64 4667469761805025057, i64 4614060690785921407, i64 4667424312910741347, i64 4614058018147213243, i64 4667379538186147693, i64 4614055364740628946, i64 4667335422627699203, i64 4614052730284094835, i64 4667291951675359661, i64 4614050114501744761, i64 4667249111196300299, i64 4614047517123738631, i64 4667206887469313264, i64 4614044937886087547, i64 4667165267169903460, i64 4614042376530485239, i64 4667124237356024516, i64 4614039832804145548, i64 4667083785454426641, i64 4614037306459645685, i64 4667043899247585903, i64 4614034797254775024, i64 4667004566861186243, i64 4614032304952389205, i64 4666965776752127105, i64 4614029829320269305, i64 4666927517697031100, i64 4614027370130985890, i64 4666889778781227509, i64 4614024927161767730, i64 4666852549388188795, i64 4614022500194374988, i64 4666815819189398504, i64 4614020089014976713, i64 4666779578134630127, i64 4614017693414032444, i64 4666743816442617588, i64 4614015313186177774, i64 4666708524592099058, i64 4614012948130113717, i64 4666673693313216764, i64 4614010598048499713, i64 4666639313579256376, i64 4614008262747850141, i64 4666605376598710423, i64 4614005942038434206, i64 4666571873807650983, i64 4614003635734179047, i64 4666538796862397669, i64 4614001343652575974, i64 4666506137632467649, i64 4613999065614589679, i64 4666473888193795101, i64 4613996801444570342, i64 4666442040822208172, i64 4613994550970168493, i64 4666410587987152068, i64 4613992314022252546, i64 4666379522345647526, i64 4613990090434828894, i64 4666348836736474401, i64 4613987880044964482, i64 4666318524174570644, i64 4613985682692711744, i64 4666288577845637415, i64 4613983498221035849, i64 4666258991100941518, i64 4613981326475744142, i64 4666229757452306787, i64 4613979167305417717, i64 4666200870567286452, i64 4613977020561345044, i64 4666172324264508883, i64 4613974886097457571, i64 4666144112509189496, i64 4613972763770267233, i64 4666116229408801930, i64 4613970653438805801, i64 4666088669208901930, i64 4613968554964566010, i64 4666061426289097688, i64 4613966468211444394, i64 4666034495159160671, i64 4613964393045685780, i64 4666007870455271260, i64 4613962329335829376, i64 4665981546936393764, i64 4613960276952656397, i64 4665955519480775637, i64 4613958235769139192, i64 4665929783082565961, i64 4613956205660391792, i64 4665904332848548465, i64 4613954186503621862, i64 4665879163994984587, i64 4613952178178083990, i64 4665854271844562270, i64 4613950180565034274, i64 4665829651823446375, i64 4613948193547686165, i64 4665805299458426792, i64 4613946217011167527, i64 4665781210374160477, i64 4613944250842478861, i64 4665757380290503830, i64 4613942294930452680, i64 4665733805019931981, i64 4613940349165713964, i64 4665691746974249519, i64 4613938413440641696, i64 4665645591276435532, i64 4613936487649331411, i64 4665599921141923261, i64 4613934571687558755, i64 4665554728888250227, i64 4613932665452743998, i64 4665510006994770772, i64 4613930768843917483, i64 4665465748098408789, i64 4613928881761685988, i64 4665421944989543728, i64 4613927004108199948, i64 4665378590608024999, i64 4613925135787121542, i64 4665335678039310127, i64 4613923276703593594, i64 4665293200510722186, i64 4613921426764209271, i64 4665251151387822250, i64 4613919585876982556, i64 4665209524170892725, i64 4613917753951319474, i64 4665168312491527654, i64 4613915930897990033, i64 4665127510109326193, i64 4613914116629100884, i64 4665087110908685643, i64 4613912311058068653, i64 4665047108895690547, i64 4613910514099593945, i64 4665007498195094514, i64 4613908725669635980, i64 4664968273047391554, i64 4613906945685387866, i64 4664929427805973840, i64 4613905174065252468, i64 4664890956934372942, i64 4613903410728818872, i64 4664852855003581661, i64 4613901655596839416, i64 4664815116689453756, i64 4613899908591207272, i64 4664777736770178909, i64 4613898169634934579, i64 4664740710123830406, i64 4613896438652131084, i64 4664704031725983103, i64 4613894715567983301, i64 4664667696647399327, i64 4613893000308734157, i64 4664631700051780471, i64 4613891292801663127, i64 4664596037193582106, i64 4613889592975066820, i64 4664560703415890529, i64 4613887900758240037, i64 4664525694148358738, i64 4613886216081457251, i64 4664491004905199905, i64 4613884538875954526, i64 4664456631283236471, i64 4613882869073911850, i64 4664422568960003091, i64 4613881206608435874, i64 4664388813691901690, i64 4613879551413543039, i64 4664355361312406953, i64 4613877903424143093, i64 4664322207730320684, i64 4613876262576022976, i64 4664289348928073437, i64 4613874628805831068, i64 4664256780960071977, i64 4613873002051061796, i64 4664224499951091101, i64 4613871382250040571, i64 4664192502094708451, i64 4613869769341909074, i64 4664160783651780978, i64 4613868163266610856, i64 4664129340948961765, i64 4613866563964877261, i64 4664098170377255974, i64 4613864971378213657, i64 4664067268390614711, i64 4613863385448885960, i64 4664036631504565649, i64 4613861806119907461, i64 4664006256294879305, i64 4613860233335025932, i64 4663976139396269866, i64 4613858667038711007, i64 4663946277501129558, i64 4613857107176141843, i64 4663916667358295519, i64 4613855553693195031, i64 4663887305771848224, i64 4613854006536432772, i64 4663858189599940516, i64 4613852465653091307, i64 4663829315753656340, i64 4613850930991069579, i64 4663800681195898300, i64 4613849402498918142, i64 4663772282940303196, i64 4613847880125828299, i64 4663744118050184723, i64 4613846363821621465, i64 4663716183637502530, i64 4613844853536738751, i64 4663688476861856898, i64 4613843349222230764, i64 4663660994929508267, i64 4613841850829747612, i64 4663633735092420927, i64 4613840358311529122, i64 4663606694647330151, i64 4613838871620395247, i64 4663579870934832133, i64 4613837390709736674, i64 4663553261338496052, i64 4613835915533505622, i64 4663526863283997662, i64 4613834446046206823, i64 4663500674238273780, i64 4613832982202888682, i64 4663474691708697106, i64 4613831523959134618, i64 4663448913242270783, i64 4613830071271054573, i64 4663423336424842174, i64 4613828624095276693, i64 4663397958880335297, i64 4613827182388939170, i64 4663372778270001425, i64 4613825746109682244, i64 4663347792291687334, i64 4613824315215640363, i64 4663322998679120726, i64 4613822889665434498, i64 4663298395201212350, i64 4613821469418164602, i64 4663273979661374383, i64 4613818644671183229, i64 4663225703778085959, i64 4613815840656798141, i64 4663178154121661463, i64 4613813057064316358, i64 4663131314295481139, i64 4613810293590033097, i64 4663085168394699282, i64 4613807549937022968, i64 4663039700987904568, i64 4613804825814938925, i64 4662994897099596179, i64 4613802120939818628, i64 4662950742193433666, i64 4613799435033897904, i64 4662907222156220949, i64 4613796767825430973, i64 4662864323282587133, i64 4613794119048517172, i64 4662822032260329015, i64 4613791488442933870, i64 4662780336156382117, i64 4613788875753975338, i64 4662739222403389018, i64 4613786280732297297, i64 4662698678786835475, i64 4613783703133766918, i64 4662658693432726518, i64 4613781142719318047, i64 4662619254795776217, i64 4613778599254811424, i64 4662580351648086299, i64 4613776072510899712, i64 4662541973068290144, i64 4613773562262897117, i64 4662504108431139971, i64 4613771068290653424, i64 4662466747397516232, i64 4613768590378432277, i64 4662429879904839346, i64 4613766128314793509, i64 4662393496157864987, i64 4613763681892479389, i64 4662357586619845120, i64 4613761250908304612, i64 4662322142004037930, i64 4613758835163049890, i64 4662287153265550659, i64 4613756434461359004, i64 4662252611593500213, i64 4613754048611639186, i64 4662218508403477166, i64 4613751677425964690, i64 4662184835330299555, i64 4613749320719983449, i64 4662151584221043504, i64 4613746978312826682, i64 4662118747128338440, i64 4613744650027021351, i64 4662086316303915214, i64 4613742335688405358, i64 4662054284192396069, i64 4613740035126045374, i64 4662022643425315944, i64 4613737748172157212, i64 4661991386815365081, i64 4613735474662028643, i64 4661960507350843466, i64 4613733214433944570, i64 4661929998190318022, i64 4613730967329114467, i64 4661899852657473976, i64 4613728733191602006, i64 4661870064236152192, i64 4613726511868256801, i64 4661840626565564677, i64 4613724303208648173, i64 4661811533435680842, i64 4613722107065000885, i64 4661782778782777423, i64 4613719923292132763, i64 4661754356685145350, i64 4613717751747394145, i64 4661726261358947109, i64 4613715592290609092, i64 4661698487154218492, i64 4613713444784018293, i64 4661671028551008885, i64 4613711309092223620, i64 4661643880155654516, i64 4613709185082134263, i64 4661617036697179350, i64 4613707072622914390, i64 4661590493023818554, i64 4613704971585932302, i64 4661564244099659683, i64 4613702881844710996, i64 4661538285001396953, i64 4613700803274880130, i64 4661512610915194188, i64 4613698735754129302, i64 4661487217133652213, i64 4613696679162162637, i64 4661462099052876649, i64 4613694633380654614, i64 4661437252169642253, i64 4613692598293207096, i64 4661412672078650110, i64 4613690573785307534, i64 4661388354469874149, i64 4613688559744288302, i64 4661364295125993598, i64 4613686556059287115, i64 4661340489919908150, i64 4613684562621208515, i64 4661316934812332740, i64 4613682579322686379, i64 4661293625849468976, i64 4613680606058047411, i64 4661270559160750385, i64 4613678642723275609, i64 4661247730956658742, i64 4613676689215977643, i64 4661224660724754456, i64 4613674745435349153, i64 4661179936145335930, i64 4613672811282141907, i64 4661135666728992731, i64 4613670886658631808, i64 4661091845504067172, i64 4613668971468587725, i64 4661048465641119376, i64 4613667065617241111, i64 4661005520449310967, i64 4613665169011256399, i64 4660963003372898705, i64 4613663281558702145, i64 4660920907987834189, i64 4613661403169022884, i64 4660879227998465902, i64 4613659533753011705, i64 4660837957234340006, i64 4613657673222783498, i64 4660797089647096472, i64 4613655821491748862, i64 4660756619307457221, i64 4613653978474588662, i64 4660716540402303126, i64 4613652144087229203, i64 4660676847231836805, i64 4613650318246818010, i64 4660637534206828309, i64 4613648500871700196, i64 4660598595845940861, i64 4613646691881395402, i64 4660560026773133960, i64 4613644891196575285, i64 4660521821715141241, i64 4613643098739041553, i64 4660483975499020592, i64 4613641314431704514, i64 4660446483049774126, i64 4613639538198562133, i64 4660409339388035680, i64 4613637769964679592, i64 4660372539627823628, i64 4613636009656169316, i64 4660336078974356859, i64 4613634257200171475, i64 4660299952721931855, i64 4613632512524834932, i64 4660264156251858876, i64 4613630775559298639, i64 4660228685030455353, i64 4613629046233673451, i64 4660193534607094635, i64 4613627324479024367, i64 4660158700612308314, i64 4613625610227353167, i64 4660124178755940429, i64 4613623903411581450, i64 4660089964825351882, i64 4613622203965534048, i64 4660056054683673498, i64 4613620511823922822, i64 4660022444268106179, i64 4613618826922330812, i64 4659989129588266692, i64 4613617149197196743, i64 4659956106724577648, i64 4613615478585799880, i64 4659923371826700324, i64 4613613815026245208, i64 4659890921112008973, i64 4613612158457448946, i64 4659858750864105374, i64 4613610508819124374, i64 4659826857431372362, i64 4613608866051767968, i64 4659795237225565174, i64 4613607230096645842, i64 4659763886720439434, i64 4613605600895780474, i64 4659732802450414697, i64 4613603978391937724, i64 4659701981009272451, i64 4613602362528614128, i64 4659671419048887577, i64 4613600753250024462, i64 4659641113277992230, i64 4613599150501089573, i64 4659611060460971214, i64 4613597554227424464, i64 4659581257416687891, i64 4613595964375326630, i64 4659551701017339730, i64 4613594380891764643, i64 4659522388187342644, i64 4613592803724366968, i64 4659493315902243238, i64 4613591232821411019, i64 4659464481187658195, i64 4613589668131812433, i64 4659435881118239978, i64 4613588109605114577, i64 4659407512816668115, i64 4613586557191478258, i64 4659379373452665313, i64 4613585010841671651, i64 4659351460242037699, i64 4613583470507060430, i64 4659323770445738501, i64 4613581936139598096, i64 4659296301368954496, i64 4613580407691816510, i64 4659269050360214585, i64 4613578885116816602, i64 4659242014810519875, i64 4613577368368259280, i64 4659215192152494661, i64 4613575857400356510, i64 4659188579859557718, i64 4613574352167862579, i64 4659162175445113351, i64 4613572852626065532, i64 4659135976461761644, i64 4613571358730778768, i64 4659109980500527386, i64 4613569870438332818, i64 4659084185190107146, i64 4613568387705567264, i64 4659058588196134023, i64 4613566910489822834, i64 4659033187220459566, i64 4613565438748933635, i64 4659007980000452412, i64 4613562511525478754, i64 4658958137950405179, i64 4613559605707457568, i64 4658909044629641331, i64 4613556720974547022, i64 4658860683147845153, i64 4613553857013622737, i64 4658813037120979122, i64 4613551013518544041, i64 4658766090652411962, i64 4613548190189946991, i64 4658719828314885868, i64 4613545386735045016, i64 4658674235133279642, i64 4613542602867436856, i64 4658629296568127019, i64 4613539838306921482, i64 4658584998499851811, i64 4613537092779319682, i64 4658541327213683733, i64 4613534366016302040, i64 4658498269385220815, i64 4613531657755223021, i64 4658455812066606287, i64 4613528967738960916, i64 4658413942673289581, i64 4613526295715763397, i64 4658372648971342840, i64 4613523641439098434, i64 4658331919065305903, i64 4613521004667510374, i64 4658291741386534213, i64 4613518385164480953, i64 4658252104682025529, i64 4613515782698295043, i64 4658212998003702604, i64 4613513197041910941, i64 4658174410698130254, i64 4613510627972835022, i64 4658136332396646395, i64 4613508075273000569, i64 4658098753005887703, i64 4613505538728650631, i64 4658061662698691605, i64 4613503018130224731, i64 4658025051905357240, i64 4613500513272249280, i64 4657988911305248978, i64 4613498023953231566, i64 4657953231818726893, i64 4613495549975557150, i64 4657918004599389441, i64 4613493091145390564, i64 4657883221026614298, i64 4613490647272579173, i64 4657848872698384091, i64 4613488218170560082, i64 4657814951424384369, i64 4613485803656269971, i64 4657781449219361831, i64 4613483403550057752, i64 4657748358296731431, i64 4613481017675599939, i64 4657715671062421523, i64 4613478645859818632, i64 4657683380108946767, i64 4613476287932802023, i64 4657651478209699006, i64 4613473943727727317, i64 4657619958313446815, i64 4613471613080785999, i64 4657588813539034864, i64 4613469295831111350, i64 4657558037170274672, i64 4613466991820708130, i64 4657527622651018725, i64 4613464700894384361, i64 4657497563580410323, i64 4613462422899685126, i64 4657467853708301870, i64 4613460157686828311, i64 4657438486930834685, i64 4613457905108642235, i64 4657409457286173704, i64 4613455665020505084, i64 4657380758950390792, i64 4613453437280286102, i64 4657352386233490630, i64 4613451221748288472, i64 4657324333575573465, i64 4613449018287193820, i64 4657296595543129231, i64 4613446826762008307, i64 4657269166825457835, i64 4613444647040010237, i64 4657242042231210599, i64 4613442478990699136, i64 4657215216685048119, i64 4613440322485746258, i64 4657188685224409973, i64 4613438177398946456, i64 4657162442996391933, i64 4613436043606171394, i64 4657136485254726537, i64 4613433920985324033, i64 4657110807356863031, i64 4613431809416294367, i64 4657085404761142893, i64 4613429708780916357, i64 4657060273024067300, i64 4613427618962926031, i64 4657035407797653069, i64 4613425539847920707, i64 4657010804826873729, i64 4613423471323319308, i64 4656986459947182559, i64 4613421413278323729, i64 4656962369082114523, i64 4613419365603881231, i64 4656938528240964198, i64 4613417328192647814, i64 4656914933516536889, i64 4613415300938952554, i64 4656891581082970250, i64 4613413283738762874, i64 4656868467193623850, i64 4613411276489650698, i64 4656845588179034212, i64 4613409279090759492, i64 4656822940444932972, i64 4613407291442772139, i64 4656800520470325895, i64 4613405313447879638, i64 4656778324805630570, i64 4613403345009750596, i64 4656756350070870702, i64 4613401386033501484, i64 4656734592953925013, i64 4613399436425667650, i64 4656704085716564773, i64 4613397496094175042, i64 4656661422607160024, i64 4613395564948312648, i64 4656619175641452572, i64 4613393642898705604, i64 4656577338705070801, i64 4613391729857288973, i64 4656535905803351033, i64 4613389825737282163, i64 4656494871058415085, i64 4613387930453163963, i64 4656454228706333152, i64 4613386043920648193, i64 4656413973094369142, i64 4613384166056659932, i64 4656374098678305655, i64 4613382296779312326, i64 4656334600019845937, i64 4613380436007883940, i64 4656295471784090247, i64 4613378583662796656, i64 4656256708737084134, i64 4613376739665594090, i64 4656218305743436271, i64 4613374903938920517, i64 4656180257764003525, i64 4613373076406500295, i64 4656142559853641079, i64 4613371256993117761, i64 4656105207159015467, i64 4613369445624597596, i64 4656068194916478482, i64 4613367642227785652, i64 4656031518449999988, i64 4613365846730530204, i64 4655995173169157732, i64 4613364059061663648, i64 4655959154567182343, i64 4613362279150984603, i64 4655923458219055741, i64 4613360506929240428, i64 4655888079779661264, i64 4613358742328110124, i64 4655853014981983887, i64 4613356985280187632, i64 4655818259635358939, i64 4613355235718965496, i64 4655783809623767819, i64 4613353493578818893, i64 4655749660904179221, i64 4613351758794990016, i64 4655715809504934480, i64 4613350031303572802, i64 4655682251524175645, i64 4613348311041497998, i64 4655648983128315001, i64 4613346597946518551, i64 4655616000550544731, i64 4613344891957195314, i64 4655583300089385522, i64 4613343193012883070, i64 4655550878107272917, i64 4613341501053716848, i64 4655518731029180277, i64 4613339816020598540, i64 4655486855341277248, i64 4613338137855183804, i64 4655455247589622672, i64 4613336466499869241, i64 4655423904378890907, i64 4613334801897779849, i64 4655392822371130567, i64 4613333143992756742, i64 4655361998284554727, i64 4613331492729345125, i64 4655331428892361654, i64 4613329848052782522, i64 4655301111021585178, i64 4613328209908987251, i64 4655271041551973833, i64 4613326578244547132, i64 4655241217414897927, i64 4613324953006708444, i64 4655211635592283739, i64 4613323334143365088, i64 4655182293115574054, i64 4613321721603047991, i64 4655153187064714283, i64 4613320115334914717, i64 4655124314567163426, i64 4613318515288739292, i64 4655095672796929191, i64 4613316921414902231, i64 4655067258973626553, i64 4613315333664380778, i64 4655039070361559115, i64 4613313751988739326, i64 4655011104268822624, i64 4613312176340120044, i64 4654983358046430005, i64 4613310606671233677, i64 4654955829087457336, i64 4613309042935350543, i64 4654928514826210156, i64 4613307485086291695, i64 4654901412737409568, i64 4613305933078420265, i64 4654874520335397568, i64 4613304386866632977, i64 4654847835173361085, i64 4613302846406351822, i64 4654821354842574216, i64 4613301311653515900, i64 4654795076971658158, i64 4613299782564573416, i64 4654768999225858360, i64 4613296741206660185, i64 4654717434949490291, i64 4613293721994085438, i64 4654666644041490845, i64 4613290724595981343, i64 4654616609072335727, i64 4613287748688908634, i64 4654567313134592099, i64 4613284793956634924, i64 4654518739823467100, i64 4613281860089921253, i64 4654470873218220953, i64 4613278946786316496, i64 4654423697864400110, i64 4613276053749959292, i64 4654377198756848473, i64 4613273180691387163, i64 4654331361323457202, i64 4613270327327352509, i64 4654286171409615857, i64 4613267493380645191, i64 4654241615263329787, i64 4613264678579921410, i64 4654197679520970651, i64 4613261882659538627, i64 4654154351193628842, i64 4613259105359396260, i64 4654111617654038316, i64 4613256346424781919, i64 4654069466624045988, i64 4613253605606222955, i64 4654027886162599393, i64 4613250882659343095, i64 4653986864654227724, i64 4613248177344723964, i64 4653946390797992772, i64 4613245489427771282, i64 4653906453596887500, i64 4613242818678585566, i64 4653867042347661237, i64 4613240164871837137, i64 4653828146631051550, i64 4613237527786645279, i64 4653789756302403959, i64 4613234907206461365, i64 4653751861482661605, i64 4613232302918955815, i64 4653714452549707952, i64 4613229714715908722, i64 4653677520130046478, i64 4613227142393104007, i64 4653641055090802114, i64 4613224585750226974, i64 4653605048532030008, i64 4613222044590765121, i64 4653569491779317910, i64 4613219518721912102, i64 4653534376376669151, i64 4613217007954474695, i64 4653499694079653889, i64 4613214512102782695, i64 4653465436848816861, i64 4613212030984601591, i64 4653431596843330505, i64 4613209564421047951, i64 4653398166414882846, i64 4613207112236507390, i64 4653365138101790063, i64 4613204674258555053, i64 4653332504623324153, i64 4613202250317878494, i64 4653300258874246570, i64 4613199840248202887, i64 4653268393919539145, i64 4613197443886218474, i64 4653236902989324037, i64 4613195061071510166, i64 4653205779473964828, i64 4613192691646489235, i64 4653175016919341268, i64 4613190335456327008, i64 4653144609022290521, i64 4613187992348890501, i64 4653114549626208102, i64 4613185662174679923, i64 4653084832716802005, i64 4613183344786767987, i64 4653055452417993831, i64 4613181040040740960, i64 4653026402987961004, i64 4613178747794641400, i64 4652997678815314432, i64 4613176467908912518, i64 4652969274415406239, i64 4613174200246344107, i64 4652941184426762415, i64 4613171944672019995, i64 4652913403607635484, i64 4613169701053266959, i64 4652885926832672497, i64 4613167469259605057, i64 4652858749089693868, i64 4613165249162699336, i64 4652831865476578774, i64 4613163040636312860, i64 4652805271198253021, i64 4613160843556261020, i64 4652778961563775453, i64 4613158657800367090, i64 4652752931983519176, i64 4613156483248418976, i64 4652727177966443995, i64 4613154319782127130, i64 4652701695117456648, i64 4613152167285083584, i64 4652676479134855543, i64 4613150025642722082, i64 4652651525807856861, i64 4613147894742279251, i64 4652626831014199022, i64 4613145774472756803, i64 4652602390717822608, i64 4613143664724884721, i64 4652578200966623010, i64 4613141565391085405, i64 4652554257890273125, i64 4613139476365438740, i64 4652530557698113579, i64 4613137397543648069, i64 4652507096677108045, i64 4613135328823007032, i64 4652483871189861310, i64 4613133270102367256, i64 4652460877672697862, i64 4613131221282106855, i64 4652438112633798854, i64 4613129182264099728, i64 4652415572651395365, i64 4613127152951685635, i64 4652393254372016005, i64 4613125133249641002, i64 4652371154508786945, i64 4613123123064150470, i64 4652349269839782563, i64 4613121122302779133, i64 4652327597206424938, i64 4613119130874445465, i64 4652306133511930534, i64 4613117148689394907, i64 4652284875719802432, i64 4613115175659174099, i64 4652263820852366573, i64 4613113211696605733, i64 4652242965989350518, i64 4613111256715764014, i64 4652222308266503281, i64 4613109310631950711, i64 4652185274674787354, i64 4613107373361671778, i64 4652144731039105928, i64 4613105444822614527, i64 4652104565144085472, i64 4613103524933625348, i64 4652064771683341048, i64 4613101613614687948, i64 4652025345449868311, i64 4613099710786902100, i64 4651986281333721700, i64 4613097816372462892, i64 4651947574319757517, i64 4613095930294640448, i64 4651909219485439810, i64 4613094052477760126, i64 4651871211998707004, i64 4613092182847183171, i64 4651833547115897341, i64 4613090321329287802, i64 4651796220179731246, i64 4613088467851450738, i64 4651759226617348783, i64 4613086622342029141, i64 4651722561938400473, i64 4613084784730342966, i64 4651686221733189783, i64 4613082954946657704, i64 4651650201670865643, i64 4613081132922167515, i64 4651614497497663450, i64 4613079318588978737, i64 4651579105035193025, i64 4613077511880093759, i64 4651544020178772080, i64 4613075712729395246, i64 4651509238895803775, i64 4613073921071630716, i64 4651474757224197026, i64 4613072136842397456, i64 4651440571270828229, i64 4613070359978127754, i64 4651406677210043172, i64 4613068590416074468, i64 4651373071282197869, i64 4613066828094296896, i64 4651339749792237191, i64 4613065072951646947, i64 4651306709108310105, i64 4613063324927755619, i64 4651273945660420467, i64 4613061583963019756, i64 4651241455939112278, i64 4613059849998589086, i64 4651209236494188392, i64 4613058122976353540, i64 4651177283933461687, i64 4613056402838930829, i64 4651145594921537736, i64 4613054689529654288, i64 4651114166178628059, i64 4613052982992560967, i64 4651082994479393054, i64 4613051283172379978, i64 4651052076651813763, i64 4613049590014521071, i64 4651021409576091611, i64 4613047903465063460, i64 4650990990183575329, i64 4613046223470744862, i64 4650960815455714281, i64 4613044549978950775, i64 4650930882423037421, i64 4613042882937703963, i64 4650901188164157173, i64 4613041222295654158, i64 4650871729804797509, i64 4613039568002067973, i64 4650842504516845551, i64 4613037920006819010, i64 4650813509517426032, i64 4613036278260378176, i64 4650784742067997965, i64 4613034642713804181, i64 4650756199473472924, i64 4613033013318734232, i64 4650727879081354310, i64 4613031390027374909, i64 4650699778280897033, i64 4613029772792493222, i64 4650671894502287046, i64 4613028161567407840, i64 4650644225215840188, i64 4613026556305980492, i64 4650616767931219801, i64 4613024956962607542, i64 4650589520196672606, i64 4613023363492211716, i64 4650562479598282360, i64 4613020193992625678, i64 4650509010339135356, i64 4613017047456827272, i64 4650456341571902109, i64 4613013923542340253, i64 4650404455275148823, i64 4613010821914369306, i64 4650353333966857925, i64 4613007742245571000, i64 4650302960684342604, i64 4613004684215833247, i64 4650253318965053704, i64 4613001647512062874, i64 4650204392828233019, i64 4612998631827980965, i64 4650156166757369685, i64 4612995636863925625, i64 4650108625683418929, i64 4612992662326661850, i64 4650061754968744742, i64 4612989707929198191, i64 4650015540391750265, i64 4612986773390609932, i64 4649969968132161725, i64 4612983858435868495, i64 4649925024756933693, i64 4612980962795676822, i64 4649880697206745236, i64 4612978086206310469, i64 4649836972783058220, i64 4612975228409464193, i64 4649793839135710631, i64 4612972389152103789, i64 4649751284251019248, i64 4612969568186322973, i64 4649709296440367409, i64 4612966765269205102, i64 4649667864329254920, i64 4612963980162689536, i64 4649626976846788404, i64 4612961212633442461, i64 4649586623215591519, i64 4612958462452731979, i64 4649546792942115598, i64 4612955729396307320, i64 4649507475807332259, i64 4612953013244281998, i64 4649468661857790513, i64 4612950313781020755, i64 4649430341397021813, i64 4612947630795030164, i64 4649392504977277318, i64 4612944964078852725, i64 4649355143391582486, i64 4612942313428964341, i64 4649318247666094835, i64 4612939678645675041, i64 4649281809052751461, i64 4612937059533032812, i64 4649245819022193547, i64 4612934455898730449, i64 4649210269256955755, i64 4612931867554015284, i64 4649175151644908998, i64 4612929294313601714, i64 4649140458272945631, i64 4612926735995586397, i64 4649106181420896675, i64 4612924192421366039, i64 4649072313555671165, i64 4612921663415557672, i64 4649038847325608201, i64 4612919148805921327, i64 4649005775555032756, i64 4612916648423285023, i64 4648973091239006687, i64 4612914162101471986, i64 4648940787538266830, i64 4612911689677230022, i64 4648908857774342437, i64 4612909230990162959, i64 4648877295424844581, i64 4612906785882664098, i64 4648846094118920477, i64 4612904354199851593, i64 4648815247632866041, i64 4612901935789505697, i64 4648784749885890263, i64 4612899530502007813, i64 4648754594936025315, i64 4612897138190281274, i64 4648724776976176555, i64 4612894758709733818, i64 4648695290330306874, i64 4612892391918201670, i64 4648666129449750086, i64 4612890037675895208, i64 4648637288909648280, i64 4612887695845346130, i64 4648608763405508297, i64 4612885366291356099, i64 4648580547749872711, i64 4612883048880946795, i64 4648552636869100878, i64 4612880743483311340, i64 4648525025800255842, i64 4612878449969767054, i64 4648497709688093035, i64 4612876168213709479, i64 4648470683782146921, i64 4612873898090567659, i64 4648443943433911873, i64 4612871639477760608, i64 4648417484094113742, i64 4612869392254654948, i64 4648391301310068734, i64 4612867156302523664, i64 4648365390723126341, i64 4612864931504505952, i64 4648339748066193229, i64 4612862717745568127, i64 4648314369161335087, i64 4612860514912465539, i64 4648289249917453604, i64 4612858322893705491, i64 4648264386328035827, i64 4612856141579511110, i64 4648239774468973282, i64 4612853970861786145, i64 4648215410496448347, i64 4612851810634080675, i64 4648191290644885463, i64 4612849660791557676, i64 4648167411224964877, i64 4612847521230960447, i64 4648143768621696691, i64 4612845391850580849, i64 4648120359292553100, i64 4612843272550228344, i64 4648097179765656761, i64 4612841163231199803, i64 4648074226638023349, i64 4612839063796250067, i64 4648051496573856400, i64 4612836974149563232, i64 4648028986302892649, i64 4612834894196724638, i64 4648006692618796103, i64 4612832823844693550, i64 4647984612377599211, i64 4612830763001776491, i64 4647962742496189494, i64 4612828711577601235, i64 4647941079950840111, i64 4612826669483091416, i64 4647919621775782883, i64 4612824636630441747, i64 4647898365061822332, i64 4612822612933093838, i64 4647877306954989375, i64 4612820598305712576, i64 4647856444655233355, i64 4612818592664163073, i64 4647835775415151140, i64 4612816595925488152, i64 4647815296538752053, i64 4612814608007886360, i64 4647795005380257489, i64 4612812628830690492, i64 4647774899342934054, i64 4612810658314346617, i64 4647754975877959159, i64 4612808696380393584, i64 4647735232483318012, i64 4612806742951442999, i64 4647715666702730995, i64 4612804797951159664, i64 4647677736802869045, i64 4612802861304242455, i64 4647639301315740114, i64 4612800932936405637, i64 4647601206847282666, i64 4612799012774360602, i64 4647563448830515294, i64 4612797100745798010, i64 4647526022780046650, i64 4612795196779370338, i64 4647488924290256367, i64 4612793300804674810, i64 4647452149033524505, i64 4612791412752236709, i64 4647415692758508050, i64 4612789532553493054, i64 4647379551288462980, i64 4612787660140776641, i64 4647343720519610525, i64 4612785795447300425, i64 4647308196419546239, i64 4612783938407142246, i64 4647272975025690607, i64 4612782088955229887, i64 4647238052443779900, i64 4612780247027326452, i64 4647203424846396086, i64 4612778412560016057, i64 4647169088471534603, i64 4612776585490689832, i64 4647135039621208865, i64 4612774765757532215, i64 4647101274660090412, i64 4612772953299507537, i64 4647067790014183636, i64 4612771148056346898, i64 4647034582169534065, i64 4612769349968535308, i64 4647001647670969215, i64 4612767558977299104, i64 4646968983120871056, i64 4612765775024593627, i64 4646936585177979168, i64 4612763998053091154, i64 4646904450556223691, i64 4612762228006169083, i64 4646872576023587217, i64 4612760464827898356, i64 4646840958400994772, i64 4612758708463032125, i64 4646809594561231098, i64 4612756958856994640, i64 4646778481427884445, i64 4612755215955870376, i64 4646747615974316118, i64 4612753479706393369, i64 4646716995222655051, i64 4612751750055936772, i64 4646686616242816698, i64 4612750026952502620, i64 4646656476151545565, i64 4612748310344711798, i64 4646626572111480705, i64 4612746600181794211, i64 4646596901330243547, i64 4612744896413579152, i64 4646567461059547440, i64 4612743198990485847, i64 4646538248594328296, i64 4612741507863514207, i64 4646509261271895768, i64 4612739822984235740, i64 4646480496471104387, i64 4612738144304784657, i64 4646451951611544112, i64 4612736471777849140, i64 4646423624152749772, i64 4612734805356662784, i64 4646395511593428879, i64 4612731490647148808, i64 4646339921359392453, i64 4612728199812704817, i64 4646285161654316042, i64 4612724932497998773, i64 4646231213803336661, i64 4612721688355658174, i64 4646178059690091132, i64 4612718467046032897, i64 4646125681735933438, i64 4612715268236966844, i64 4646074062880074937, i64 4612712091603577995, i64 4646023186560599907, i64 4612708936828046481, i64 4645973036696311701, i64 4612705803599410350, i64 4645923597669367341, i64 4612702691613368687, i64 4645874854308660869, i64 4612699600572091760, i64 4645826791873917986, i64 4612696530184037908, i64 4645779396040466672, i64 4612693480163776877, i64 4645732652884650469, i64 4612690450231819332, i64 4645686548869852957, i64 4612687440114452296, i64 4645641070833103725, i64 4612684449543580259, i64 4645596205972237757, i64 4612681478256571730, i64 4645551941833581719, i64 4612678525996111009, i64 4645508266300142044, i64 4612675592510054965, i64 4645465167580271106, i64 4612672677551294616, i64 4645422634196789013, i64 4612669780877621334, i64 4645380654976539787, i64 4612666902251597458, i64 4645339219040361772, i64 4612664041440431184, i64 4645298315793453234, i64 4612661198215855522, i64 4645257934916115062, i64 4612658372354011195, i64 4645218066354853446, i64 4612655563635333305, i64 4645178700313826285, i64 4612652771844441631, i64 4645139827246617907, i64 4612649996770034418, i64 4645101437848327487, i64 4612647238204785525, i64 4645063523047957254, i64 4612644495945244804, i64 4645026074001087323, i64 4612641769791741585, i64 4644989082082824599, i64 4612639059548291166, i64 4644952538881013877, i64 4612636365022504170, i64 4644916436189699782, i64 4612633686025498696, i64 4644880766002828826, i64 4612631022371815130, i64 4644845520508181317, i64 4612628373879333546, i64 4644810692081523385, i64 4612625740369193583, i64 4644776273280969863, i64 4612623121665716721, i64 4644742256841549183, i64 4612620517596330868, i64 4644708635669961889, i64 4612617927991497174, i64 4644675402839524747, i64 4612615352684638990, i64 4644642551585292836, i64 4612612791512072905, i64 4644610075299352319, i64 4612610244312941784, i64 4644577967526276985, i64 4612607710929149736, i64 4644546221958741928, i64 4612605191205298951, i64 4644514832433288046, i64 4612602684988628330, i64 4644483792926231358, i64 4612600192128953864, i64 4644453097549711359, i64 4612597712478610691, i64 4644422740547872951, i64 4612595245892396772, i64 4644392716293176683, i64 4612592792227518148, i64 4644363019282832302, i64 4612590351343535700, i64 4644333644135350830, i64 4612587923102313391, i64 4644304585587210576, i64 4612585507367967915, i64 4644275838489632729, i64 4612583104006819725, i64 4644247397805462331, i64 4612580712887345386, i64 4644219258606150634, i64 4612578333880131215, i64 4644191416068835020, i64 4612575966857828160, i64 4644163865473512796, i64 4612573611695107885, i64 4644136602200305390, i64 4612571268268620024, i64 4644109621726809561, i64 4612568936456950552, i64 4644082919625532411, i64 4612566616140581261, i64 4644056491561407139, i64 4612564307201850282, i64 4644030333289386547, i64 4612562009524913644, i64 4644004440652111512, i64 4612559722995707817, i64 4643978809577651669, i64 4612557447501913221, i64 4643953436077315737, i64 4612555182932918670, i64 4643928316243528974, i64 4612552929179786716, i64 4643903446247775384, i64 4612550686135219870, i64 4643878822338602360, i64 4612548453693527680, i64 4643854440839685586, i64 4612546231750594627, i64 4643830298147952058, i64 4612544020203848822, i64 4643806390731759214, i64 4612541818952231481, i64 4643782715129128212, i64 4612539627896167153, i64 4643759267946029492, i64 4612537446937534679, i64 4643736045854718813, i64 4612535275979638855, i64 4643713045592122049, i64 4612533114927182795, i64 4643690263958267075, i64 4612530963686240951, i64 4643667697814761149, i64 4612528822164232791, i64 4643645344083312260, i64 4612526690269897099, i64 4643623199744292956, i64 4612524567913266900, i64 4643601261835345241, i64 4612522455005644964, i64 4643579527450025176, i64 4612520351459579905, i64 4643557993736485863, i64 4612518257188842825, i64 4643536657896197558, i64 4612516172108404522, i64 4643515517182703685, i64 4612514096134413211, i64 4643494568900411588, i64 4612512029184172775, i64 4643473810403416895, i64 4612509971176121507, i64 4643453239094360391, i64 4612507922029811352, i64 4643432852423316380, i64 4612505881665887608, i64 4643412647886711509, i64 4612503850006069101, i64 4643392623026273083, i64 4612501826973128806, i64 4643372775428005949, i64 4612499812490874899, i64 4643353102721197032, i64 4612497806484132242, i64 4643333602577446666, i64 4612495808878724274, i64 4643314272709725866, i64 4612493819601455312, i64 4643295110871458754, i64 4612491838580093239, i64 4643276114855629332, i64 4612489865743352570, i64 4643257282493911882, i64 4612487901020877900, i64 4643238611655824234, i64 4612485944343227704, i64 4643220100247903226, i64 4612483995641858491, i64 4643192276606821962, i64 4612482054849109307, i64 4643155879239030956, i64 4612480121898186561, i64 4643119788599168943, i64 4612478196723149189, i64 4643084000780811798, i64 4612476279258894125, i64 4643048511943947777, i64 4612474369441142086, i64 4643013318313567812, i64 4612472467206423656, i64 4642978416178291643, i64 4612470572492065668, i64 4642943801889028712, i64 4612468685236177866, i64 4642909471857672808, i64 4612466805377639845, i64 4642875422555829457, i64 4612464932856088275, i64 4642841650513575119, i64 4612463067611904372, i64 4642808152318247250, i64 4612461209586201644, i64 4642774924613264357, i64 4612459358720813879, i64 4642741964096975154, i64 4612457514958283382, i64 4642709267521536010, i64 4612455678241849452, i64 4642676831691815861, i64 4612453848515437094, i64 4642644653464327816, i64 4612452025723645958, i64 4642612729746186691, i64 4612450209811739499, i64 4642581057494091748, i64 4612448400725634361, i64 4642549633713333919, i64 4612446598411889963, i64 4642518455456826840, i64 4612444802817698303, i64 4642487519824161026, i64 4612443013890873956, i64 4642456823960680536, i64 4612441231579844275, i64 4642426365056581527, i64 4612439455833639779, i64 4642396140346032062, i64 4612437686601884735, i64 4642366147106312624, i64 4612435923834787920, i64 4642336382656976740, i64 4612434167483133565, i64 4642306844359031178, i64 4612432417498272470, i64 4642277529614135199, i64 4612428936437114023, i64 4642219560588716118, i64 4612425480273123551, i64 4642162455577765495, i64 4612422048636636734, i64 4642106195180539534, i64 4612418641166258287, i64 4642050760575941978, i64 4612415257508615827, i64 4641996133500970297, i64 4612411897318122866, i64 4641942296230118425, i64 4612408560256750508, i64 4641889231555686800, i64 4612405245993807485, i64 4641836922768953371, i64 4612401954205728162, i64 4641785353642161905, i64 4612398684575868167, i64 4641734508411286436, i64 4612395436794307316, i64 4641684371759533083, i64 4612392210557659524, i64 4641634928801542618, i64 4612389005568889412, i64 4641586165068259281, i64 4612385821537135320, i64 4641538066492433224, i64 4612382658177538458, i64 4641490619394725816, i64 4612379515211077951, i64 4641443810470388708, i64 4612376392364411526, i64 4641397626776489182, i64 4612373289369721615, i64 4641352055719655780, i64 4612370205964566650, i64 4641307085044319626, i64 4612367141891737344, i64 4641262702821428174, i64 4612364096899117763, i64 4641218897437609356, i64 4612361070739550984, i64 4641175657584765261, i64 4612358063170709175, i64 4641132972250075602, i64 4612355073954967911, i64 4641090830706392219, i64 4612352102859284564, i64 4641049222503006880, i64 4612349149655080618, i64 4641008137456775532, i64 4612346214118127739, i64 4640967565643583030, i64 4612343296028437480, i64 4640927497390133181, i64 4612340395170154460, i64 4640887923266049704, i64 4612337511331452901, i64 4640848834076274444, i64 4612334644304436398, i64 4640810220853749848, i64 4612331793885040782, i64 4640772074852373358, i64 4612328959872939991, i64 4640734387540212000, i64 4612326142071454816, i64 4640697150592965996, i64 4612323340287464416, i64 4640660355887670799, i64 4612320554331320524, i64 4640623995496627444, i64 4612317784016764219, i64 4640588061681551610, i64 4612315029160845193, i64 4640552546887932235, i64 4612312289583843407, i64 4640517443739590966, i64 4612309565109193065, i64 4640482745033434149, i64 4612306855563408820, i64 4640448443734389436, i64 4612304160776014127, i64 4640414532970519471, i64 4612301480579471677, i64 4640381006028305452, i64 4612298814809115838, i64 4640347856348093727, i64 4612296163303087028, i64 4640315077519698861, i64 4612293525902267958, i64 4640282663278156929, i64 4612290902450221688, i64 4640250607499623089, i64 4612288292793131422, i64 4640218904197407713, i64 4612285696779741988, i64 4640187547518145666, i64 4612283114261302952, i64 4640156531738093519, i64 4612280545091513307, i64 4640125851259549741, i64 4612277989126467684, i64 4640095500607393116, i64 4612275446224604035, i64 4640065474425734859, i64 4612272916246652743, i64 4640035767474680083, i64 4612270399055587110, i64 4640006374627194467, i64 4612267894516575180, i64 4639977290866072162, i64 4612265402496932849, i64 4639948511281001122, i64 4612262922866078229, i64 4639920031065722233, i64 4612260455495487219, i64 4639891845515278749, i64 4612258000258650249, i64 4639863950023352698, i64 4612255557031030154, i64 4639836340079685072, i64 4612253125690021155, i64 4639809011267576721, i64 4612250706114908896, i64 4639781959261467037, i64 4612248298186831519, i64 4639755179824587591, i64 4612245901788741732, i64 4639728668806688051, i64 4612243516805369853, i64 4639702422141831768, i64 4612241143123187788, i64 4639676435846258568, i64 4612238780630373924, i64 4639650706016312356, i64 4612236429216778899, i64 4639625228826431260, i64 4612234088773892236, i64 4639600000527198103, i64 4612231759194809802, i64 4639575017443449116, i64 4612229440374202077, i64 4639550275972438855, i64 4612227132208283202, i64 4639525772582059394, i64 4612224834594780790, i64 4639501503809111912, i64 4612222547432906471, i64 4639477466257628896, i64 4612220270623327153, i64 4639453656597245223, i64 4612218004068136978, i64 4639430071561616485, i64 4612215747670829954, i64 4639406707946882935, i64 4612213501336273238, i64 4639383562610177555, i64 4612211264970681058, i64 4639360632468176751, i64 4612209038481589257, i64 4639337914495692262, i64 4612206821777830427, i64 4639315405724302935, i64 4612204614769509640, i64 4639293103241025026, i64 4612202417367980734, i64 4639271004187019797, i64 4612200229485823161, i64 4639249105756337168, i64 4612198051036819363, i64 4639227405194694263, i64 4612195881935932673, i64 4639205899798287729, i64 4612193722099285722, i64 4639184586912638727, i64 4612191571444139339, i64 4639163463931469570, i64 4612189429888871932, i64 4639142528295610977, i64 4612187297352959332, i64 4639121777491938991, i64 4612185173756955095, i64 4639101209052340614, i64 4612183059022471239, i64 4639080820552707259, i64 4612180953072159420, i64 4639060609611955151, i64 4612178855829692518, i64 4639040573891071840, i64 4612176767219746636, i64 4639020711092188003, i64 4612174687167983487, i64 4639001018957673772, i64 4612172615601033181, i64 4638981495269258826, i64 4612170552446477372, i64 4638962137847175518, i64 4612168497632832780, i64 4638942944549324338, i64 4612166451089535070, i64 4638923913270461040, i64 4612164412746923074, i64 4638905041941404764, i64 4612162382536223352, i64 4638886328528266540, i64 4612160360389535085, i64 4638867771031697551, i64 4612158346239815289, i64 4638849367486156574, i64 4612156340020864337, i64 4638831115959196021, i64 4612154341667311793, i64 4638813014550766040, i64 4612152351114602537, i64 4638795061392536138, i64 4612150368298983186, i64 4638777254647233818, i64 4612148393157488794, i64 4638759592507999726, i64 4612146425627929823, i64 4638742073197758838, i64 4612144465648879396, i64 4638724694968607211, i64 4612142513159660798, i64 4638707296010816847, i64 4612140568100335238, i64 4638673093616863798, i64 4612138630411689866, i64 4638639163235902202, i64 4612136700035226023, i64 4638605501593819975, i64 4612134776913147735, i64 4638572105469151476, i64 4612132860988350438, i64 4638538971692020016, i64 4612130952204409927, i64 4638506097143105811, i64 4612129050505571529, i64 4638473478752638667, i64 4612127155836739484, i64 4638441113499414700, i64 4612125268143466547, i64 4638408998409836436, i64 4612123387371943786, i64 4638377130556975631, i64 4612121513468990585, i64 4638345507059658197, i64 4612119646382044842, i64 4638314125081570619, i64 4612117786059153355, i64 4638282981830387275, i64 4612115932448962400, i64 4638252074556918096, i64 4612114085500708490, i64 4638221400554276014, i64 4612110411389854800, i64 4638160741740578756, i64 4612106763331948928, i64 4638100984549817647, i64 4612103140941228875, i64 4638042108769215910, i64 4612099543840547937, i64 4637984094789237189, i64 4612095971661118539, i64 4637926923581173183, i64 4612092424042265573, i64 4637870576675725282, i64 4612088900631188785, i64 4637815036142529039, i64 4612085401082733832, i64 4637760284570573369, i64 4612081925059171625, i64 4637706305049469106, i64 4612078472229985602, i64 4637653081151524180, i64 4612075042271666595, i64 4637600596914585138, i64 4612071634867514954, i64 4637548836825606970, i64 4612068249707449636, i64 4637497785804915400, i64 4612064886487823960, i64 4637447429191127764, i64 4612061544911247752, i64 4637397752726700505, i64 4612058224686415604, i64 4637348742544073065, i64 4612054925527941021, i64 4637300385152379616, i64 4612051647156196186, i64 4637252667424701630, i64 4612048389297157137, i64 4637205576585835731, i64 4612045151682254127, i64 4637159100200552662, i64 4612041934048226964, i64 4637113226162324484, i64 4612038736136985128, i64 4637067942682498324, i64 4612035557695472488, i64 4637023238279896150, i64 4612032398475536422, i64 4636979101770821096, i64 4612029258233801179, i64 4636935522259451915, i64 4612026136731545322, i64 4636892489128608027, i64 4612023033734583085, i64 4636849992030868593, i64 4612019949013149502, i64 4636808020880029836, i64 4612016882341789155, i64 4636766565842885668, i64 4612013833499248426, i64 4636725617331317398, i64 4612010802268371092, i64 4636685165994679045, i64 4612007788435997164, i64 4636645202712465411, i64 4612004791792864834, i64 4636605718587250734, i64 4612001812133515423, i64 4636566704937886313, i64 4611998849256201222, i64 4636528153292946088, i64 4611995902962796108, i64 4636490055384409667, i64 4611992973058708858, i64 4636452403141572815, i64 4611990059352799037, i64 4636415188685175886, i64 4611987161657295390, i64 4636378404321741152, i64 4611984279787716636, i64 4636342042538110376, i64 4611981413562794589, i64 4636306095996174420, i64 4611978562804399510, i64 4636270557527787038, i64 4611975727337467638, i64 4636235420129855377, i64 4611972906989930786, i64 4636200676959600059, i64 4611970101592647976, i64 4636166321329978028, i64 4611967310979339003, i64 4636132346705261681, i64 4611964534986519887, i64 4636098746696768072, i64 4611961773453440142, i64 4636065515058732282, i64 4611959026222021800, i64 4636032645684319283, i64 4611956293136800126, i64 4636000132601768917, i64 4611953574044865986, i64 4635967969970668805, i64 4611950868795809786, i64 4635936152078350272, i64 4611948177241666954, i64 4635904673336402554, i64 4611945499236864909, i64 4635873528277300787, i64 4611942834638171453, i64 4635842711551143455, i64 4611940183304644562, i64 4635812217922495173, i64 4611937545097583517, i64 4635782042267330841, i64 4611934919880481341, i64 4635752179570077409, i64 4611932307518978486, i64 4635722624920749598, i64 4611929707880817749, i64 4635693373512176137, i64 4611927120835800366, i64 4635664420637313172, i64 4611924546255743250, i64 4635635761686641676, i64 4611921984014437334, i64 4635607392145645790, i64 4611919433987607000, i64 4635579307592369193, i64 4611916896052870530, i64 4635551503695046668, i64 4611914370089701590, i64 4635523976209808198, i64 4611911855979391666, i64 4635496720978452992, i64 4611909353605013473, i64 4635469733926290971, i64 4611906862851385267, i64 4635443011060049346, i64 4611904383605036057, i64 4635416548465841983, i64 4611901915754171677, i64 4635390342307199394, i64 4611899459188641708, i64 4635364388823157229, i64 4611897013799907203, i64 4635338684326401250, i64 4611894579481009209, i64 4635313225201466865, i64 4611892156126538057, i64 4635288007902991328, i64 4611889743632603393, i64 4635263028954016837, i64 4611887341896804941, i64 4635238284944342800, i64 4611884950818203956, i64 4635213772528925599, i64 4611882570297295373, i64 4635189488426324280, i64 4611880200235980610, i64 4635165429417190626, i64 4611877840537541016, i64 4635141592342802134, i64 4611875491106611949, i64 4635117974103636491, i64 4611873151849157460, i64 4635094571657986171, i64 4611870822672445565, i64 4635071382020611852, i64 4611868503485024096, i64 4635048402261433372, i64 4611866194196697109, i64 4635025629504257027, i64 4611863894718501832, i64 4635003060925538015, i64 4611861604962686148, i64 4634980693753176921, i64 4611859324842686587, i64 4634958525265349128, i64 4611857054273106814, i64 4634936552789366133, i64 4611854793169696612, i64 4634914773700567731, i64 4611852541449331330, i64 4634893185421244115, i64 4611850299029991797, i64 4634871785419586935, i64 4611848065830744678, i64 4634850571208668429, i64 4611845841771723272, i64 4634829540345447727, i64 4611843626774108727, i64 4634808690429803519, i64 4611841420760111677, i64 4634788019103592237, i64 4611839223652954273, i64 4634767524049731003, i64 4611837035376852611, i64 4634747202991304559, i64 4611834855856999537, i64 4634727053690695462, i64 4611832685019547827, i64 4634707073948736837, i64 4611830522791593730, i64 4634687261603887005, i64 4611828369101160857, i64 4634667614531425332, i64 4611826223877184422, i64 4634648130642668657, i64 4611824087049495810, i64 4634628807884207704, i64 4611821958548807477, i64 4634609644237162856, i64 4611819838306698163, i64 4634590637716458749, i64 4611817726255598423, i64 4634571786370117116, i64 4611815622328776449, i64 4634553088278567345, i64 4611813526460324194, i64 4634534541553974249, i64 4611811438585143783, i64 4634516144339582531, i64 4611809358638934203, i64 4634497894809077472, i64 4611807286558178263, i64 4634479791165961374, i64 4611805222280129828, i64 4634461831642945301, i64 4611803165742801302, i64 4634444014501355685, i64 4611801116884951379, i64 4634426338030555375, i64 4611799075646073028, i64 4634408800547378719, i64 4611797041966381727, i64 4634391400395580278, i64 4611795015786803929, i64 4634374135945296799, i64 4611792997048965762, i64 4634357005592522070, i64 4611790985695181953, i64 4634340007758594293, i64 4611788981668444963, i64 4634323140889695641, i64 4611786984912414349, i64 4634306403456363646, i64 4611784995371406326, i64 4634289793953014111, i64 4611783012990383532, i64 4634273310897475207, i64 4611781037714945003, i64 4634256952830532473, i64 4611779069491316329, i64 4634240718315484403, i64 4611777108266340008, i64 4634224605937708345, i64 4611773206602742373, i64 4634181467522442139, i64 4611769332310875201, i64 4634118683948068176, i64 4611765484986745060, i64 4634056823459727363, i64 4611761664235364221, i64 4633995865558851870, i64 4611757869670483231, i64 4633935790353257959, i64 4611754100914333390, i64 4633876578534806730, i64 4611750357597378673, i64 4633818211358047521, i64 4611746639358076687, i64 4633760670619793801, i64 4611742945842648280, i64 4633703938639584322, i64 4611739276704855420, i64 4633647998240985030, i64 4611735631605786982, i64 4633592832733689738, i64 4611732010213652131, i64 4633538425896379991, i64 4611728412203580949, i64 4633484761960306741, i64 4611724837257432027, i64 4633431825593558568, i64 4611721285063606718, i64 4633379601885983132, i64 4611717755316869777, i64 4633328076334730372, i64 4611714247718176134, i64 4633277234830387705, i64 4611710761974503541, i64 4633227063643679080, i64 4611707297798690851, i64 4633177549412701281, i64 4611703854909281722, i64 4633128679130672280, i64 4611700433030373503, i64 4633080440134167802, i64 4611697031891471116, i64 4633032820091823516, i64 4611693651227345729, i64 4632985806993481448, i64 4611690290777898030, i64 4632939389139760353, i64 4611686950288025934, i64 4632893555132030802, i64 4611681240587605161, i64 4632848293862776765, i64 4611674637954256379, i64 4632803594506326374, i64 4611668073766892658, i64 4632759446509935459, i64 4611661547552806977, i64 4632715839585208255, i64 4611655058848085066, i64 4632672763699840486, i64 4611648607197387231, i64 4632630209069670742, i64 4611642192153736933, i64 4632588166151026803, i64 4611635813278315862, i64 4632546625633354171, i64 4611629470140265275, i64 4632505578432114750, i64 4611623162316493373, i64 4632465015681944160, i64 4611616889391488481, i64 4632424928730056748, i64 4611610650957137842, i64 4632385309129887875, i64 4611604446612551812, i64 4632346148634963579, i64 4611598275963893260, i64 4632307439192988141, i64 4611592138624212001, i64 4632269172940140583, i64 4611586034213284072, i64 4632231342195571501, i64 4611579962357455697, i64 4632193939456092066, i64 4611573922689491750, i64 4632156957391047399, i64 4611567914848428600, i64 4632120388837366870, i64 4611561938479431147, i64 4632084226794784248, i64 4611555993233653934, i64 4632048464421220905, i64 4611550078768106184, i64 4632013095028325630, i64 4611544194745520631, i64 4631978112077164872, i64 4611538340834226019, i64 4631943509174057510, i64 4611532516708023140, i64 4631909280066548531, i64 4611526722046064310, i64 4631875418639516220, i64 4611520956532736147, i64 4631841918911407724, i64 4611515219857545558, i64 4631808775030598066, i64 4611509511715008824, i64 4631775981271867904, i64 4611503831804543685, i64 4631743532032995536, i64 4611498179830364326, i64 4631711421831458841, i64 4611492555501379173, i64 4631679645301243038, i64 4611486958531091401, i64 4631648197189750306, i64 4611481388637502083, i64 4631617072354807502, i64 4611475845543015878, i64 4631586265761768345, i64 4611470328974349200, i64 4631555772480706603, i64 4611464838662440760, i64 4631525587683696958, i64 4611459374342364445, i64 4631495706642180376, i64 4611453935753244423, i64 4631466124724410908, i64 4611448522638172439, i64 4631436837392981017, i64 4611443134744127207, i64 4631407840202422609, i64 4611437771821895854, i64 4631379128796881082, i64 4611432433625997348, i64 4631350698907859802, i64 4611427119914607839, i64 4631322546352032539, i64 4611421830449487875, i64 4631294667029121466, i64 4611416564995911422, i64 4631267056919838445, i64 4611411323322596636, i64 4631239712083887411, i64 4611406105201638348, i64 4631212628658025730, i64 4611400910408442192, i64 4631185802854182515, i64 4611395738721660341, i64 4631159230957631962, i64 4611390589923128804, i64 4631132909325219812, i64 4611385463797806231, i64 4631106834383641172, i64 4611380360133714190, i64 4631081002627767937, i64 4611375278721878867, i64 4631055410619024167, i64 4611370219356274158, i64 4631030054983807823, i64 4611365181833766099, i64 4631004932411957309, i64 4611360165954058613, i64 4630980039655261350, i64 4611355171519640524, i64 4630955373526010784, i64 4611350198335733805, i64 4630930930895590888, i64 4611345246210243029, i64 4630906708693112923, i64 4611340314953705993, i64 4630882703904083629, i64 4611335404379245465, i64 4630858913569111442, i64 4611330514302522050, i64 4630835334782648253, i64 4611325644541688119, i64 4630811964691765577, i64 4611320794917342788, i64 4630788800494964039, i64 4611315965252487911, i64 4630765839441015109, i64 4611311155372485062, i64 4630743078827834090, i64 4611306365105013483, i64 4630720516001383356, i64 4611301594280028962, i64 4630698148354604914, i64 4611296842729723628, i64 4630675973326381367, i64 4611292110288486631, i64 4630653988400524398, i64 4611287396792865683, i64 4630632191104789940, i64 4611282702081529446, i64 4630610579009919187, i64 4611278025995230738, i64 4630589149728704693, i64 4611273368376770528, i64 4630567900915080756, i64 4611268729070962721, i64 4630546830263237389, i64 4611264107924599691, i64 4630525935506757132, i64 4611259504786418555, i64 4630505214417774053, i64 4611254919507068162, i64 4630484664806154241, i64 4611250351939076789, i64 4630464284518697186, i64 4611245801936820510, i64 4630444071438357394, i64 4611241269356492240, i64 4630424023483485664, i64 4611236754056071418, i64 4630404138607089437, i64 4611232255895294331, i64 4630384414796111664, i64 4611227774735625046, i64 4630364850070727650, i64 4611223310440226948, i64 4630345442483659357, i64 4611218862873934866, i64 4630326190119506655, i64 4611214431903227762, i64 4630307091094095036, i64 4611210017396201987, i64 4630288143553839330, i64 4611205619222545077, i64 4630269345675122943, i64 4611201237253510076, i64 4630250695663692199, i64 4611196871361890386, i64 4630232191754065343, i64 4611192521421995111, i64 4630213832208955805, i64 4611188187309624905, i64 4630195615318709309, i64 4611183868902048293, i64 4630177539400754452, i64 4611179566077978465, i64 4630159602799066374, i64 4611175278717550531, i64 4630141803883643159, i64 4611171006702299219, i64 4630124141049994604, i64 4611166749915137013, i64 4630106612718643030, i64 4611162508240332718, i64 4630089217334635799, i64 4611158281563490443, i64 4630071953367069216, i64 4611154069771528987, i64 4630054819308623506, i64 4611149872752661627, i64 4630037813675108566, i64 4611141522593416119, i64 4630004181859106624, i64 4611133230216605761, i64 4629971046491526161, i64 4611124994772563964, i64 4629938396487541679, i64 4611116815430523670, i64 4629906221092236468, i64 4611108691378056975, i64 4629874509868370820, i64 4611100621820535452, i64 4629843252684691814, i64 4611092605980610258, i64 4629812439704756875, i64 4611084643097711165, i64 4629782061376244898, i64 4611076732427563685, i64 4629752108420730259, i64 4611068873241723509, i64 4629722571823896462, i64 4611061064827127532, i64 4629686468715465059, i64 4611053306485660732, i64 4629629008890602254, i64 4611045597533738261, i64 4629572330683069462, i64 4611037937301902096, i64 4629516417997480564, i64 4611030325134431639, i64 4629461255180541530, i64 4611022760388967704, i64 4629406827005913828, i64 4611015242436149335, i64 4629353118659697124, i64 4611007770659262922, i64 4629300115726501836, i64 4611000344453903132, i64 4629247804176083737, i64 4610992963227645175, i64 4629196170350514261, i64 4610985626399727943, i64 4629145200951861596, i64 4610978333400747608, i64 4629094883030358944, i64 4610971083672361249, i64 4629045203973037583, i64 4610963876667000126, i64 4628996151492803523, i64 4610956711847592226, i64 4628947713617937667, i64 4610949588687293711, i64 4628899878682000391, i64 4610942506669228950, i64 4628852635314122472, i64 4610935465286238774, i64 4628805972429665175, i64 4610928464040636675, i64 4628759879221233218, i64 4610921502443972632, i64 4628714345150025104, i64 4610914580016804277, i64 4628669359937506140, i64 4610907696288475138, i64 4628624913557390125, i64 4610900850796899695, i64 4628580996227916458, i64 4610894043088354989, i64 4628537598404409974, i64 4610887272717278560, i64 4628494710772111533, i64 4610880539246072471, i64 4628452324239267874, i64 4610873842244913207, i64 4628410429930469868, i64 4610867181291567237, i64 4628369019180228785, i64 4610860555971212032, i64 4628328083526780695, i64 4610853965876262352, i64 4628287614706109591, i64 4610847410606201617, i64 4628247604646180261, i64 4610840889767418174, i64 4628208045461372358, i64 4610834402973046308, i64 4628168929447107506, i64 4610827949842811810, i64 4628130249074661667, i64 4610821530002881967, i64 4628091996986155342, i64 4610815143085719809, i64 4628054165989714528, i64 4610808788729942472, i64 4628016749054795653, i64 4610802466580183542, i64 4627979739307668047, i64 4610796176286959236, i64 4627943130027047766, i64 4610789917506538307, i64 4627906914639876882, i64 4610783689900815537, i64 4627871086717242608, i64 4610777493137188699, i64 4627835639970430859, i64 4610771326888438884, i64 4627800568247109122, i64 4610765190832614078, i64 4627765865527633688, i64 4610759084652915877, i64 4627731525921476551, i64 4610753008037589248, i64 4627697543663767461, i64 4610746960679815236, i64 4627663913111946816, i64 4610740942277606517, i64 4627630628742525258, i64 4610734952533705715, i64 4627597685147946027, i64 4610728991155486387, i64 4627565077033546280, i64 4610723057854856602, i64 4627532799214613740, i64 4610717152348165019, i64 4627500846613535213, i64 4610711274356109406, i64 4627469214257033612, i64 4610705423603647500, i64 4627437897273490329, i64 4610699599819910160, i64 4627406890890349856, i64 4610693802738116722, i64 4627376190431603739, i64 4610688032095492506, i64 4627345791315351031, i64 4610682287633188401, i64 4627315689051432553, i64 4610676569096202458, i64 4627285879239136349, i64 4610670876233303452, i64 4627256357564971862, i64 4610665208796956331, i64 4627227119800510418, i64 4610659566543249511, i64 4627198161800289737, i64 4610653949231823957, i64 4627169479499780257, i64 4610648356625803998, i64 4627141068913411137, i64 4610642788491729823, i64 4627112926132653935, i64 4610637244599491617, i64 4627085047324161956, i64 4610631724722265277, i64 4627057428727963436, i64 4610626228636449673, i64 4627030066655706707, i64 4610620756121605405, i64 4627002957488955636, i64 4610615306960395017, i64 4626976097677533645, i64 4610609880938524615, i64 4626949483737914703, i64 4610604477844686871, i64 4626923112251659751, i64 4610599097470505348, i64 4626896979863897049, i64 4610593739610480130, i64 4626871083281845023, i64 4610588404061934710, i64 4626845419273376235, i64 4610583090624964102, i64 4626819984665621120, i64 4610577799102384149, i64 4626794776343610233, i64 4610572529299681984, i64 4626769791248953758, i64 4610567281024967625, i64 4626745026378557092, i64 4610562054088926657, i64 4626720478783371358, i64 4610556848304773992, i64 4626696145567177736, i64 4610551663488208657, i64 4626672023885404560, i64 4610546499457369599, i64 4626648110943976137, i64 4610541356032792467, i64 4626624403998192307, i64 4610536233037367356, i64 4626600900351637794, i64 4610531130296297480, i64 4626577597355120412, i64 4610526047637058752, i64 4626554492405637249, i64 4610520984889360244, i64 4626531582945367968, i64 4610515941885105512, i64 4626508866460694394, i64 4610510918458354756, i64 4626486340481245592, i64 4610505914445287797, i64 4626464002578967664, i64 4610500929684167843, i64 4626441850367217522, i64 4610495964015306038, i64 4626419881499879906, i64 4610491017281026758, i64 4626398093670506973, i64 4610486089325633646, i64 4626376484611479772, i64 4610481179995376364, i64 4626355052093190952, i64 4610476289138418037, i64 4626333793923248097, i64 4610471416604803390, i64 4626312707945697061, i64 4610466562246427536, i64 4626291792040264731, i64 4610461725917005415, i64 4626271044121620648, i64 4610456907472041872, i64 4626250462138656942, i64 4610452106768802340, i64 4626230044073786042, i64 4610447323666284125, i64 4626209787942255674, i64 4610442558025188284, i64 4626189691791480617, i64 4610437809707892066, i64 4626169753700390778, i64 4610433078578421914, i64 4626149971778795084, i64 4610428364502427009, i64 4626130344166760778, i64 4610423667347153351, i64 4626110869034007661, i64 4610418986981418345, i64 4626091544579316873, i64 4610414323275585907, i64 4626072369029953803, i64 4610409676101542053, i64 4626053340641104734, i64 4610405045332670977, i64 4626034457695326845, i64 4610400430843831592, i64 4626015718502011198, i64 4610395832511334539, i64 4625997121396858358, i64 4610391250212919634, i64 4625978664741366294, i64 4610386683827733764, i64 4625960346922330229, i64 4610382133236309203, i64 4625942166351354119, i64 4610377598320542349, i64 4625924121464373432, i64 4610368575050263240, i64 4625888432605011226, i64 4610359613098567493, i64 4625853268300907113, i64 4610350711567658090, i64 4625818616869280272, i64 4610341869579657579, i64 4625784466974453428, i64 4610333086276018476, i64 4625750807615000212, i64 4610324360816955415, i64 4625717628111461014, i64 4610315692380898097, i64 4625684918094598144, i64 4610307080163964114, i64 4625652667494162838, i64 4610298523379450794, i64 4625620866528148208, i64 4610290021257345248, i64 4625589505692503748, i64 4610281573043851836, i64 4625558575751288389, i64 4610273178000936311, i64 4625528067727240391, i64 4610264835405885942, i64 4625497972892743604, i64 4610256544550884948, i64 4625468282761170745, i64 4610248304742604597, i64 4625438989078585433, i64 4610240115301807370, i64 4625410083815785725, i64 4610231975562964622, i64 4625381559160672818, i64 4610223884873887169, i64 4625353407510929514, i64 4610215842595368302, i64 4625325621466993828, i64 4610207848100838712, i64 4625298193825313930, i64 4610199900776032852, i64 4625271117571871346, i64 4610192000018666299, i64 4625244385875960021, i64 4610184145238123658, i64 4625217992084209511, i64 4610176335855156616, i64 4625187042120182944, i64 4610168571301591740, i64 4625135567594794186, i64 4610160851020047648, i64 4625084730972859999, i64 4610153174463661195, i64 4625034520255798149, i64 4610145541095822325, i64 4624984923746513470, i64 4610137950389917261, i64 4624935930039944573, i64 4610130401829079726, i64 4624887528013965055, i64 4610122894905949894, i64 4624839706820623776, i64 4610115429122440771, i64 4624792455877709516, i64 4610108003989511748, i64 4624745764860626062, i64 4610100619026949057, i64 4624699623694564444, i64 4610093273763152873, i64 4624654022546959697, i64 4610085967734930830, i64 4624608951820220138, i64 4610078700487297712, i64 4624564402144717703, i64 4610071471573281102, i64 4624520364372028468, i64 4610064280553732781, i64 4624476829568412964, i64 4610057126997145665, i64 4624433789008526406, i64 4610050010479476089, i64 4624391234169349413, i64 4610042930583971255, i64 4624349156724330237, i64 4610035886901001657, i64 4624307548537729924, i64 4610028879027898319, i64 4624266401659162256, i64 4610021906568794677, i64 4624225708318320648, i64 4610014969134472939, i64 4624185460919884589, i64 4610008066342214791, i64 4624145652038598493, i64 4610001197815656280, i64 4624106274414516192, i64 4609994363184646743, i64 4624067320948404594, i64 4609987562085111657, i64 4624028784697300290, i64 4609980794158919257, i64 4623990658870213223, i64 4609974059053750823, i64 4623952936823971730, i64 4609967356422974496, i64 4623915612059203578, i64 4609960685925522520, i64 4623878678216447787, i64 4609954047225771787, i64 4623842129072392325, i64 4609947439993427595, i64 4623805958536232906, i64 4609940863903410502, i64 4623770160646148378, i64 4609934318635746176, i64 4623734729565888353, i64 4609927803875458164, i64 4623699659581468921, i64 4609921319312463461, i64 4623664945097972472, i64 4609914864641470818, i64 4623630580636447803, i64 4609908439561881678, i64 4623596560830906867, i64 4609902043777693683, i64 4623562880425414644, i64 4609895676997406653, i64 4623529534271268795, i64 4609889338933930969, i64 4623496517324265857, i64 4609883029304498285, i64 4623463824642050908, i64 4609876747830574507, i64 4623431451381547724, i64 4609870494237774947, i64 4623399392796466597, i64 4609864268255781616, i64 4623367644234887067, i64 4609858069618262568, i64 4623336201136912972, i64 4609851898062793248, i64 4623305059032397271, i64 4609845753330779780, i64 4623274213538734255, i64 4609839635167384132, i64 4623243660358716797, i64 4609833543321451114, i64 4623213395278456428, i64 4609827477545437145, i64 4623183414165364095, i64 4609821437595340750, i64 4623153712966189528, i64 4609815423230634718, i64 4623124287705117260, i64 4609809434214199892, i64 4623095134481917370, i64 4609803470312260534, i64 4623066249470149136, i64 4609797531294321224, i64 4623037628915415833, i64 4609791616933105242, i64 4623009269133668979, i64 4609785727004494407, i64 4622981166509560394, i64 4609779861287470311, i64 4622953317494840517, i64 4609774019564056929, i64 4622925718606801461, i64 4609768201619264552, i64 4622898366426763345, i64 4609762407241035012, i64 4622871257598602519, i64 4609756636220188168, i64 4622844388827320324, i64 4609750888350369606, i64 4622817756877651082, i64 4609745163427999535, i64 4622791358572708080, i64 4609739461252222834, i64 4622765190792666319, i64 4609733781624860223, i64 4622739250473480898, i64 4609728124350360532, i64 4622713534605639870, i64 4609722489235754033, i64 4622688040232950531, i64 4609716876090606805, i64 4622662764451358073, i64 4609711284726976115, i64 4622637704407795600, i64 4609705714959366774, i64 4622612857299064553, i64 4609700166604688451, i64 4622588220370744585, i64 4609694639482213924, i64 4622563790916132005, i64 4609689133413538226, i64 4622539566275205909, i64 4609683648222538687, i64 4622515543833621152, i64 4609678183735335824, i64 4622491721021727368, i64 4609672739780255082, i64 4622468095313613235, i64 4609667316187789377, i64 4622444664226175235, i64 4609661912790562448, i64 4622421425318210189, i64 4609656529423292976, i64 4622398376189530836, i64 4609651165922759460, i64 4622375514480103803, i64 4609645822127765832, i64 4622352837869209284, i64 4609640497879107792, i64 4622330344074621805, i64 4609635193019539834, i64 4622308030851811446, i64 4609629907393742963, i64 4622285895993164944, i64 4609624640848293078, i64 4622263937327226081, i64 4609619393231629999, i64 4622242152717954812, i64 4609614164394027129, i64 4622220540064004596, i64 4609608954187561737, i64 4622199097298017402, i64 4609603762466085840, i64 4622177822385935891, i64 4609598589085197674, i64 4622156713326332287, i64 4609593433902213741, i64 4622135768149753467, i64 4609588296776141411, i64 4622114984918081803, i64 4609583177567652078, i64 4622094361723911333, i64 4609578076139054838, i64 4622073896689938816, i64 4609572992354270702, i64 4622053587968369268, i64 4609567926078807307, i64 4622033433740335570, i64 4609562877179734125, i64 4622013432215331768, i64 4609557845525658160, i64 4621993581630659686, i64 4609552830986700116, i64 4621973880250888482, i64 4609547833434471027, i64 4621954326367326802, i64 4609542852742049341, i64 4621934918297507188, i64 4609537888783958439, i64 4621915654384682409, i64 4609528010575955345, i64 4621877552528688421, i64 4609518197834720223, i64 4621840008041352655, i64 4609508449606262520, i64 4621803008545861997, i64 4609498764957695255, i64 4621766542032382328, i64 4609489142976611636, i64 4621730596844490515, i64 4609479582770484645, i64 4621695161666205822, i64 4609470083466088579, i64 4621660225509589996, i64 4609460644208941569, i64 4621625777702887088, i64 4609451264162768199, i64 4621591807879175744, i64 4609441942508981324, i64 4621558305965508255, i64 4609432678446182295, i64 4621525262172512133, i64 4609423471189678800, i64 4621492666984431335, i64 4609414319971019565, i64 4621460511149585576, i64 4609405224037545239, i64 4621428785671227320, i64 4609396182651954763, i64 4621397481798777232, i64 4609387195091886600, i64 4621366591019419885, i64 4609378260649514209, i64 4621336105050042524, i64 4609369378631155192, i64 4621306015829500632, i64 4609360548356893554, i64 4621276315511194916, i64 4609351769160214555, i64 4621246996455945132, i64 4609343040387651644, i64 4621218051225146982, i64 4609334361398445011, i64 4621189472574199009, i64 4609325731564211285, i64 4621161253446187127, i64 4609317150268623950, i64 4621133386965815036, i64 4609308616907104068, i64 4621105866433569430, i64 4609300130886520894, i64 4621078685320109420, i64 4609291691624902032, i64 4621051837260870172, i64 4609283298551152736, i64 4621025316050871266, i64 4609274951104784042, i64 4620999115639720733, i64 4609266648735649370, i64 4620973230126806222, i64 4609258390903689308, i64 4620947653756665133, i64 4609250177078684246, i64 4620922380914525990, i64 4609242006740014600, i64 4620897406122013687, i64 4609233879376428319, i64 4620872724033011608, i64 4609225794485815432, i64 4620848329429673967, i64 4609217751574989370, i64 4620824217218582022, i64 4609209750159474820, i64 4620800382427038132, i64 4609201789763301876, i64 4620776820199491918, i64 4609193869918806276, i64 4620753525794093042, i64 4609185990166435485, i64 4620730494579365403, i64 4609178150054560444, i64 4620707722030997768, i64 4609170349139292777, i64 4620677189775363313, i64 4609162586984307256, i64 4620632653024757289, i64 4609154863160669368, i64 4620588607686092122, i64 4609147177246667777, i64 4620545045508211832, i64 4609139528827651548, i64 4620501958425372842, i64 4609131917495871940, i64 4620459338552038062, i64 4609124342850328640, i64 4620417178177845983, i64 4609116804496620268, i64 4620375469762747924, i64 4609109302046799024, i64 4620334205932306898, i64 4609101835119229343, i64 4620293379473151857, i64 4609094403338450403, i64 4620252983328581343, i64 4609087006335042394, i64 4620213010594310825, i64 4609079643745496391, i64 4620173454514358270, i64 4609072315212087742, i64 4620134308477062726, i64 4609065020382752838, i64 4620095566011230894, i64 4609057758910969166, i64 4620057220782406939, i64 4609050530455638545, i64 4620019266589260915, i64 4609043334680973430, i64 4619981697360091453, i64 4609036171256386195, i64 4619944507149438480, i64 4609029039856381309, i64 4619907690134801966, i64 4609021940160450300, i64 4619871240613462808, i64 4609014871852969430, i64 4619835152999402189, i64 4609007834623099994, i64 4619799421820315830, i64 4609000828164691167, i64 4619764041714719757, i64 4608993852176185309, i64 4619729007429144312, i64 4608986906360525675, i64 4619694313815413268, i64 4608979990425066426, i64 4619659955828005070, i64 4608973104081484906, i64 4619625928521493287, i64 4608966247045696094, i64 4619592227048063531, i64 4608959419037769167, i64 4619558846655104180, i64 4608952619781846130, i64 4619525782682868342, i64 4608945849006062428, i64 4619493030562204621, i64 4608939106442469499, i64 4619460585812354329, i64 4608932391826959205, i64 4619428444038812863, i64 4608925704899190083, i64 4619396600931253100, i64 4608919045402515373, i64 4619365052261508686, i64 4608912413083912761, i64 4619333793881615238, i64 4608905807693915798, i64 4619302821721907498, i64 4608899228986546935, i64 4619272131789170596, i64 4608892676719252143, i64 4619241720164843628, i64 4608886150652837064, i64 4619211583003273815, i64 4608879650551404643, i64 4619181716530019603, i64 4608873176182294223, i64 4619152117040201094, i64 4608866727316022035, i64 4619122780896896271, i64 4608860303726223061, i64 4619093704529581553, i64 4608853905189594233, i64 4619064884432615227, i64 4608847531485838916, i64 4619036317163762413, i64 4608841182397612660, i64 4619007999342760220, i64 4608834857710470172, i64 4618979927649921819, i64 4608828557212813479, i64 4618952098824778211, i64 4608822280695841252, i64 4618924509664756508, i64 4608816027953499263, i64 4618897157023893567, i64 4608809798782431929, i64 4618870037811583896, i64 4608803592981934940, i64 4618843148991360756, i64 4608797410353908911, i64 4618816487579709443, i64 4608791250702814067, i64 4618790050644911749, i64 4608785113835625895, i64 4618763835305920667, i64 4608778999561791772, i64 4618737838731264391, i64 4608772907693188524, i64 4618712058137978759, i64 4608766838044080894, i64 4618686490790567241, i64 4608760790431080902, i64 4618661133999987671, i64 4608754764673108072, i64 4618635985122664919, i64 4608748760591350498, i64 4618611041559528715, i64 4608742778009226736, i64 4618586300755075894, i64 4608736816752348495, i64 4618561760196456335, i64 4608730876648484110, i64 4618537417412581896, i64 4608724957527522776, i64 4618513269973257670, i64 4608719059221439527, i64 4618489315488334915, i64 4608713181564260933, i64 4618465551606885025, i64 4608707324392031509, i64 4618441976016393937, i64 4608701487542780813, i64 4618418586441976375, i64 4608695670856491206, i64 4618395380645609380, i64 4608689874175066281, i64 4618372356425384555, i64 4608684097342299921, i64 4618349511614778509, i64 4608678340203845986, i64 4618326844081940971, i64 4608672602607188603, i64 4618304351729000084, i64 4608666884401613058, i64 4618282032491384397, i64 4608661185438177263, i64 4618259884337161079, i64 4608655505569683786, i64 4618237905266389912, i64 4608649844650652441, i64 4618216093310492615, i64 4608644202537293411, i64 4618194446531637090, i64 4608638579087480898, i64 4618172963022136161, i64 4608632974160727294, i64 4618151640903860422, i64 4608627387618157844, i64 4618130478327664805, i64 4608621819322485807, i64 4618109473472828485, i64 4608616269137988095, i64 4618088624546507781, i64 4608610736930481374, i64 4618067929783201680, i64 4608599725917266194, i64 4618026995817221450, i64 4608588785239289235, i64 4617986657978186757, i64 4608577913876181184, i64 4617946903074676246, i64 4608567110830066082, i64 4617907718305477059, i64 4608556375124898470, i64 4617869091245183545, i64 4608545705805824898, i64 4617831009830431308, i64 4608535101938568742, i64 4617793462346734051, i64 4608524562608837308, i64 4617756437415892575, i64 4608514086921750244, i64 4617719923983947050, i64 4608503674001288371, i64 4617683911309645351, i64 4608493322989762031, i64 4617648388953401787, i64 4608483033047298153, i64 4617613346766721999, i64 4608472803351345226, i64 4617578774882071177, i64 4608462633096195449, i64 4617544663703164019, i64 4608452521492523331, i64 4617511003895656030, i64 4608442467766940078, i64 4617477786378216895, i64 4608432471161563107, i64 4617445002313967729, i64 4608422530933600081, i64 4617412643102264945, i64 4608412646354946882, i64 4617380700370814468, i64 4608402816711798948, i64 4617349165968100847, i64 4608393041304275467, i64 4617318031956116662, i64 4608383319446055891, i64 4617287290603378392, i64 4608373650464028313, i64 4617256934378215619, i64 4608364033697949224, i64 4617226955942321155, i64 4608354468500114222, i64 4617197348144550283, i64 4608344954235039242, i64 4617168104014957948, i64 4608335490279151913, i64 4617139216759063281, i64 4608326076020492650, i64 4617110679752331382, i64 4608316710858425121, i64 4617082486534862799, i64 4608307394203355723, i64 4617054630806281614, i64 4608298125476461755, i64 4617027106420813512, i64 4608288904109427940, i64 4616999907382545619, i64 4608279729544191004, i64 4616973027840860296, i64 4608270601232692018, i64 4616946462086035498, i64 4608261518636636205, i64 4616920204545004599, i64 4608252481227259970, i64 4616894249777268990, i64 4608243488485104860, i64 4616868592470957037, i64 4608234539899798234, i64 4616843227439023311, i64 4608225634969840394, i64 4616818149615582287, i64 4608216773202397945, i64 4616793354052370974, i64 4608207954113103171, i64 4616768835915335209, i64 4608199177225859223, i64 4616744590481334585, i64 4608190442072650902, i64 4616720613134961225, i64 4608181748193360861, i64 4616696899365467818, i64 4608173095135591024, i64 4616673444763800559, i64 4608164482454489066, i64 4616650245019732831, i64 4608155909712579757, i64 4616627295919095638, i64 4608147376479601025, i64 4616604593341101004, i64 4608138882332344574, i64 4616582133255754698, i64 4608130426854500908, i64 4616559911721354829, i64 4608122009636508605, i64 4616537924882072985, i64 4608113630275407716, i64 4616516168965614751, i64 4608105288374697144, i64 4616494640280956577, i64 4608096983544195878, i64 4616473335216156105, i64 4608088715399907950, i64 4616452250236233157, i64 4608080483563891013, i64 4616431381881118766, i64 4608072287664128394, i64 4616410726763669674, i64 4608064127334404548, i64 4616390281567745891, i64 4608056002214183770, i64 4616370043046348971, i64 4608047911948492091, i64 4616350008019818779, i64 4608039856187802238, i64 4616330173374086609, i64 4608031834587921576, i64 4616310536058982601, i64 4608023846809882930, i64 4616291093086595504, i64 4608015892519838203, i64 4616271841529682890, i64 4608007971388954709, i64 4616252778520130012, i64 4608000083093314121, i64 4616233901247455586, i64 4607992227313813979, i64 4616215206957362827, i64 4607984403736071659, i64 4616196692950334134, i64 4607976612050330742, i64 4616167095105777436, i64 4607968851951369703, i64 4616130772451553755, i64 4607961123138412864, i64 4616094794796843050, i64 4607953425315043523, i64 4616059157154379208, i64 4607945758189119216, i64 4616023854633608191, i64 4607938121472689037, i64 4615988882438341124, i64 4607930514881912960, i64 4615954235864475654, i64 4607922938136983105, i64 4615919910297783266, i64 4607915390962046890, i64 4615885901211760337, i64 4607907873085132014, i64 4615852204165540790, i64 4607900384238073229, i64 4615818814801868287, i64 4607892924156440831, i64 4615785728845125997, i64 4607885492579470840, i64 4615752942099422014, i64 4607878089249996808, i64 4615720450446728621, i64 4607870713914383219, i64 4615688249845073618, i64 4607863366322460432, i64 4615656336326782023, i64 4607856046227461120, i64 4615624705996766516, i64 4607848753385958174, i64 4615593355030865048, i64 4607841487557804021, i64 4615562279674224108, i64 4607834248506071328, i64 4615531476239726172, i64 4607827035996995039, i64 4615500941106459945, i64 4607819849799915727, i64 4615470670718232032, i64 4607812689687224214, i64 4615440661582118733, i64 4607805555434307422, i64 4615410910267056698, i64 4607798446819495436, i64 4615381413402471233, i64 4607791363624009732, i64 4615352167676941090, i64 4607784305631912550, i64 4615323169836898597, i64 4607777272630057369, i64 4615294416685364047, i64 4607770264408040475, i64 4615265905080713302, i64 4607763280758153570, i64 4615237631935477581, i64 4607756321475337410, i64 4615209594215174465, i64 4607749386357136450, i64 4615181788937169164, i64 4607742475203654445, i64 4615154213169565149, i64 4607735587817511014, i64 4615126864030123245, i64 4607728724003799120, i64 4615099738685208354, i64 4607721883570043451, i64 4615072834348762976, i64 4607715066326159678, i64 4615046148281306734, i64 4607708272084414571, i64 4615019677788961138, i64 4607701500659386941, i64 4614993420222498845, i64 4607694751867929403, i64 4614967372976416700, i64 4607688025529130927, i64 4614941533488031861, i64 4607681321464280162, i64 4614915899236600345, i64 4607674639496829511, i64 4614890467742457338, i64 4607667979452359945, i64 4614865236566178654, i64 4607661341158546532, i64 4614840203307762723, i64 4607654724445124665, i64 4614815365605832540, i64 4607648129143856973, i64 4614790721136856990, i64 4607641555088500896, i64 4614766267614391013, i64 4607635002114776911, i64 4614742002788334071, i64 4607628470060337393, i64 4614717924444206411, i64 4607621958764736092, i64 4614694030402442613, i64 4607615468069398219, i64 4614670318517701958, i64 4607608997817591113, i64 4614646786678195142, i64 4607602547854395496, i64 4614623432805026877, i64 4607596118026677279, i64 4614600254851553955, i64 4607589708183059921, i64 4614577250802758349, i64 4607583318173897330, i64 4614554418674634928, i64 4607576947851247276, i64 4614531756513593406, i64 4607570597068845328, i64 4614509262395874133, i64 4607564265682079279, i64 4614486934426977340, i64 4607551660525117186, i64 4614442769500618489, i64 4607539131255566660, i64 4614399247142842338, i64 4607526676773512487, i64 4614356353195740666, i64 4607514296003181804, i64 4614314073919074175, i64 4607501987892234560, i64 4614272395974889454, i64 4607489751411080022, i64 4614231306412813496, i64 4607477585552218163, i64 4614190792655991093, i64 4607465489329604868, i64 4614150842487632480, i64 4607453461778039915, i64 4614111444038140472, i64 4607441501952576753, i64 4614072585772788099, i64 4607429608927953159, i64 4614034256479919391, i64 4607417781798041882, i64 4613996445259647523, i64 4607406019675320437, i64 4613959141513025959, i64 4607394321690359246, i64 4613922334931669605, i64 4607382686991327379, i64 4613886015487804232, i64 4607371114743515154, i64 4613850173424723655, i64 4607359604128872920, i64 4613814799247635240, i64 4607348154345565364, i64 4613779883714875389, i64 4607336764607540711, i64 4613745417829477608, i64 4607325434144114233, i64 4613711392831076746, i64 4607314162199565484, i64 4613677800188133791, i64 4607302948032748728, i64 4613644631590466507, i64 4607291790916716050, i64 4613611878942071901, i64 4607280690138352632, i64 4613579534354227289, i64 4607269644998023752, i64 4613547590138857384, i64 4607258654809233037, i64 4613516038802155471, i64 4607247718898291544, i64 4613484873038447381, i64 4607236836603997263, i64 4613454085724287490, i64 4607226007277324646, i64 4613423669912776571, i64 4607215230281123779, i64 4613393618828091782, i64 4607204504989828859, i64 4613363925860219605, i64 4607193830789175602, i64 4613334584559882961, i64 4607183207075927285, i64 4613305588633654191, i64 4607162847715200753, i64 4613276931939245982, i64 4607141798704483393, i64 4613248608480972693, i64 4607120847176252494, i64 4613220612405374929, i64 4607099992007099037, i64 4613192937997000519, i64 4607079232093166909, i64 4613165579674335401, i64 4607058566349696059, i64 4613138531985878223, i64 4607037993710579019, i64 4613111789606352751, i64 4607017513127930293, i64 4613085347333052459, i64 4606997123571668192, i64 4613059200082311938, i64 4606976824029108663, i64 4613033342886100000, i64 4606956613504570710, i64 4613007770888729601, i64 4606936491018993013, i64 4612982479343679920, i64 4606916455609561358, i64 4612957463610526148, i64 4606896506329346518, i64 4612932719151972734, i64 4606876642246952223, i64 4612908241530986047, i64 4606856862446172900, i64 4612884026408022554, i64 4606837166025660845, i64 4612860069538348843, i64 4606817552098602516, i64 4612836366769449914, i64 4606798019792403652, i64 4612812914038522392, i64 4606778568248382928, i64 4612789707370049392, i64 4606759196621473871, i64 4612766742873453969, i64 4606739904079934761, i64 4612744016740828160, i64 4606720689805066275, i64 4612721525244734817, i64 4606701552990936612, i64 4612699264736079488, i64 4606682492844113870, i64 4612677231642049761, i64 4606663508583405446, i64 4612655422464119583, i64 4606644599439604233, i64 4612633833776116168, i64 4606625764655241400, i64 4612612462222347199, i64 4606607003484345567, i64 4612591304515786157, i64 4606588315192208148, i64 4612570357436313653, i64 4606569699055154701, i64 4612549617829012769, i64 4606551154360322081, i64 4612529082602516466, i64 4606532680405441231, i64 4612508748727405218, i64 4606514276498625434, i64 4612488613234653084, i64 4606495941958163864, i64 4612468673214120520, i64 4606477676112320269, i64 4612448925813092294, i64 4606459478299136657, i64 4612429368234858933, i64 4606441347866241797, i64 4612409997737340188, i64 4606423284170664435, i64 4612390811631749074, i64 4606405286578651052, i64 4612371807281295089, i64 4606387354465488055, i64 4612352982099925275, i64 4606369487215328255, i64 4612334333551101839, i64 4606351684221021523, i64 4612315859146615086, i64 4606333944883949490, i64 4612297556445430496, i64 4606316268613864181, i64 4612279423052568777, i64 4606298654828730476, i64 4612261456618017816, i64 4606281102954572277, i64 4612243654835675465, i64 4606263612425322287, i64 4612226015442322130, i64 4606246182682675298, i64 4612208536216622212, i64 4606228813175944877, i64 4612191214978153423, i64 4606211503361923381, i64 4612174049586463107, i64 4606194252704745178, i64 4612157037940150656, i64 4606177060675753011, i64 4612140177975975207, i64 4606159926753367402, i64 4612123467667987796, i64 4606142850422959025, i64 4612106905026687188, i64 4606125831176723958, i64 4612090488098198638, i64 4606108868513561737, i64 4612074214963474851, i64 4606091961938956143, i64 4612058083737518442, i64 4606075110964858644, i64 4612042092568625227, i64 4606058315109574420, i64 4612026239637647692, i64 4606041573897650903, i64 4612010523157278010, i64 4606024886859768767, i64 4611994941371350008, i64 4606008253532635304, i64 4611979492554159494, i64 4605991673458880122, i64 4611964175009802391, i64 4605975146186953099, i64 4611948987071530120, i64 4605958671271024546, i64 4611933927101121722, i64 4605942248270887514, i64 4611918993488272206, i64 4605925876751862185, i64 4611904184649996634, i64 4605909556284702310, i64 4611889499030049474, i64 4605893286445503621, i64 4611874935098358763, i64 4605877066815614184, i64 4611860491350474641, i64 4605860896981546633, i64 4611846166307031835, i64 4605844776534892243, i64 4611831958513225666, i64 4605828705072236792, i64 4611817866538301208, i64 4605812682195078173, i64 4611803888975055190, i64 4605796707509745705, i64 4611790024439350283, i64 4605780780627321106, i64 4611776271569641415, i64 4605764901163561088, i64 4611762629026513758, i64 4605749068738821526, i64 4611749095492232060, i64 4605733282977983172, i64 4611735669670300992, i64 4605717543510378874, i64 4611722350285036197, i64 4605701849969722258, i64 4611709136081145744, i64 4605686201994037841, i64 4611696025823321682, i64 4605670599225592545, i64 4611680018164294930, i64 4605655041310828574, i64 4611654206176969373, i64 4605639527900297613, i64 4611628594901859135, i64 4605624058648596342, i64 4611603182020435981, i64 4605608633214303202, i64 4611577965250339091, i64 4605593251259916410, i64 4611552942344668111, i64 4605577912451793180, i64 4611528111091292799, i64 4605562616460090123, i64 4611503469312178808, i64 4605547362958704804, i64 4611479014862729169, i64 4605532151625218423, i64 4611454745631141038, i64 4605516982140839597, i64 4611430659537777312, i64 4605501854190349217, i64 4611406754534552699, i64 4605471721647695208, i64 4611359479760353238, i64 4605441751544918987, i64 4611312905532441363, i64 4605411941483482343, i64 4611267016542546467, i64 4605382289117056926, i64 4611221797932909135, i64 4605352792149993519, i64 4611177235279728818, i64 4605323448335847346, i64 4611133314577339194, i64 4605294255475956955, i64 4611090022223074054, i64 4605265211418074347, i64 4611047345002788716, i64 4605236314055044142, i64 4611005270077003970, i64 4605207561323529678, i64 4610963784967641469, i64 4605178951202784054, i64 4610922877545321222, i64 4605150481713464204, i64 4610882536017193523, i64 4605122150916486217, i64 4610842748915279176, i64 4605093956911920175, i64 4610803505085293352, i64 4605065897837922871, i64 4610764793675929762, i64 4605037971869706869, i64 4610726604128583113, i64 4605010177218544404, i64 4610688926167489008, i64 4604982512130804732, i64 4610651749790261590, i64 4604954974887023568, i64 4610615065258810275, i64 4604927563801003340, i64 4610578863090617926, i64 4604900277218943039, i64 4610543134050363742, i64 4604873113518596490, i64 4610507869141875027, i64 4604846071108457939, i64 4610473059600392833, i64 4604819148426973894, i64 4610438696885137235, i64 4604792343941780203, i64 4610404772672158750, i64 4604765656148963401, i64 4610371278847463098, i64 4604739083572345408, i64 4610338207500397136, i64 4604712624762790679, i64 4610305550917284449, i64 4604686278297534980, i64 4610273301575299624, i64 4604660042779534968, i64 4610241452136570804, i64 4604633916836837801, i64 4610209995442500630, i64 4604607899121970055, i64 4610178924508296155, i64 4604581988311345216, i64 4610148232517698806, i64 4604556183104689093, i64 4610117912817905862, i64 4604530482224482486, i64 4610087958914675374, i64 4604504884415420492, i64 4610058364467606800, i64 4604479388443887863, i64 4610029123285590034, i64 4604453993097449827, i64 4610000229322415830, i64 4604428697184357847, i64 4609971676672540967, i64 4604403499533069769, i64 4609943459567001803, i64 4604378398991783878, i64 4609915572369470176, i64 4604353394427986366, i64 4609888009572445883, i64 4604328484728011750, i64 4609860765793580221, i64 4604303668796615808, i64 4609833835772125365, i64 4604278945556560580, i64 4609807214365504547, i64 4604254313948211058, i64 4609780896545998266, i64 4604229772929143137, i64 4609754877397541966, i64 4604205321473762479, i64 4609729152112630804, i64 4604180958572933904, i64 4609703715989327353, i64 4604156683233620970, i64 4609678564428368253, i64 4604132494478535407, i64 4609653692930366001, i64 4604108391345796071, i64 4609629097093102237, i64 4604084372888597121, i64 4609604772608909049, i64 4604060438174885116, i64 4609580715262134964, i64 4604036586287044730, i64 4609556920926692435, i64 4604012816321592837, i64 4609533385563683774, i64 4603989127388880670, i64 4609510105219102619, i64 4603965518612803820, i64 4609487076021608122, i64 4603941989130519807, i64 4609464294180369188, i64 4603918538092173011, i64 4609441755982976209, i64 4603895164660626704, i64 4609419457793417813, i64 4603871868011201990, i64 4609397396050120285, i64 4603848647331423418, i64 4609375567264047396, i64 4603825501820771073, i64 4609353968016858480, i64 4603802430690438951, i64 4609332594959122662, i64 4603779433163099418, i64 4609311444808587273, i64 4603756508472673569, i64 4609290514348498505, i64 4603733655864107317, i64 4609269800425972497, i64 4603710874593153041, i64 4609249299950415081, i64 4603688163926156609, i64 4609229009891988485, i64 4603665523139849645, i64 4609208927280123387, i64 4603642951521146861, i64 4609189049202074742, i64 4603620448366948318, i64 4609169372801519892, i64 4603598012983946472, i64 4609149895277197512, i64 4603575644688437856, i64 4609130613881586019, i64 4603553342806139278, i64 4609111525919620087, i64 4603531106672008393, i64 4609092628747444019, i64 4603508935630068533, i64 4609073919771200722, i64 4603486829033237663, i64 4609055396445855104, i64 4603464786243161361, i64 4609037056274050770, i64 4603442806630049692, i64 4609018896804998891, i64 4603420889572517877, i64 4609000915633398222, i64 4603399034457430652, i64 4608983110398385231, i64 4603377240679750203, i64 4608965478782513369, i64 4603355507642387596, i64 4608948018510760540, i64 4603333834756057582, i64 4608930727349563863, i64 4603312221439136714, i64 4608913603105880851, i64 4603290667117524650, i64 4608896643626276162, i64 4603269171224508596, i64 4608879846796033125, i64 4603247733200630762, i64 4608863210538289233, i64 4603226352493558788, i64 4608846732813194879, i64 4603205028557959031, i64 4608830411617094584, i64 4603183760855372655, i64 4608814244981730033, i64 4603162548854094438, i64 4608798230973464226, i64 4603141392029054239, i64 4608782367692526118, i64 4603120289861701030, i64 4608766653272275085, i64 4603099241839889459, i64 4608751085878484639, i64 4603078247457768842, i64 4608735663708644788, i64 4603057306215674553, i64 4608720384991282489, i64 4603036417620021731, i64 4608705247985299628, i64 4603015581183201243, i64 4608690250979328023, i64 4602994796423477862, i64 4608675392291100930, i64 4602974062864890586, i64 4608660670266840554, i64 4602953380037155053, i64 4608646083280661099, i64 4602932747475567992, i64 4608631629733986905, i64 4602912164720913669, i64 4608617308054985204, i64 4602891631319372270, i64 4608603116698013094, i64 4602871146822430170, i64 4608589054143078302, i64 4602850710786792052, i64 4608575118895313334, i64 4602830322774294820, i64 4608561309484462633, i64 4602809982351823265, i64 4608547624464382369, i64 4602789689091227445, i64 4608534062412552489, i64 4602769442569241728, i64 4608520621929600695, i64 4602749242367405469, i64 4608507301638837988, i64 4602729088071985270, i64 4608494100185805478, i64 4602708979273898792, i64 4608481016237832111, i64 4602688915568640079, i64 4608468048483603039, i64 4602658973939765810, i64 4608455195632738306, i64 4602619024509405675, i64 4608442456415381581, i64 4602579162891132304, i64 4608429829581798659, i64 4602539388311109352, i64 4608417313901985447, i64 4602499700003949393, i64 4608404908165285188, i64 4602460097212581269, i64 4608392611180014660, i64 4602420579188119987, i64 4608380421773099115, i64 4602381145189739123, i64 4608368338789715710, i64 4602341794484545662, i64 4608356361092945204, i64 4602302526347457223, i64 4608344487563431706, i64 4602263340061081610, i64 4608332717099050238, i64 4602224234915598641, i64 4608321048614581932, i64 4602185210208644199, i64 4608309481041396625, i64 4602146265245196457, i64 4608298013327142690, i64 4602107399337464221, i64 4608286644435443876, i64 4602068611804777357, i64 4608275373345603009, i64 4602029901973479234, i64 4608264199052312336, i64 4601991269176821166, i64 4608253120565370379, i64 4601952712754858774, i64 4608242136909405085, i64 4601914232054350259, i64 4608231247123603153, i64 4601875826428656523, i64 4608220450261445345, i64 4601837495237643094, i64 4608209745390447639, i64 4601799237847583840, i64 4608199131591908083, i64 4601761053631066399, i64 4608188607960659185, i64 4601722941966899318, i64 4608178173604825717, i64 4601684902240020843, i64 4608167827645587782, i64 4601646933841409336, i64 4608157569216949021, i64 4601609036167995274, i64 4608147397465509821, i64 4601571208622574806, i64 4608137311550245406, i64 4601533450613724830, i64 4608127310642288688, i64 4601495761555719553, i64 4608117393924717757, i64 4601458140868448512, i64 4608107560592347895, i64 4601420587977336015, i64 4608097809851528004, i64 4601383102313261981, i64 4608088140919941335, i64 4601345683312484139, i64 4608078553026410427, i64 4601308330416561570, i64 4608069045410706127, i64 4601271043072279554, i64 4608059617323360616, i64 4601233820731575697, i64 4608050268025484336, i64 4601196662851467314, i64 4608040996788586714, i64 4601159568893980041, i64 4608031802894400605, i64 4601122538326077647, i64 4608022685634710361, i64 4601085570619593027, i64 4608013644311183432, i64 4601048665251160351, i64 4608004678235205426, i64 4601011821702148333, i64 4607995786727718533, i64 4600975039458594621, i64 4607986969119063251, i64 4600938318011141261, i64 4607978224748823317, i64 4600901656854971230, i64 4607969552965673775, i64 4600865055489746009, i64 4607960953127232121, i64 4600828513419544171, i64 4607952424599912426, i64 4600792030152800978, i64 4607943966758782393, i64 4600755605202248949, i64 4607935578987423266, i64 4600719238084859395, i64 4607927260677792527, i64 4600682928321784892, i64 4607919011230089326, i64 4600646675438302674, i64 4607910830052622561, i64 4600610478963758937, i64 4607902716561681579, i64 4600574338431514022, i64 4607894670181409398, i64 4600538253378888472, i64 4607886690343678434, i64 4600502223347109942, i64 4607878776487968643, i64 4600466247881260938, i64 4607870928061248046, i64 4600430326530227381, i64 4607863144517855569, i64 4600394458846647972, i64 4607855425319386157, i64 4600358644386864348, i64 4607847769934578100, i64 4600322882710872002, i64 4607840177839202535, i64 4600287173382271973, i64 4607832648515955062, i64 4600251515968223267, i64 4607825181454349441, i64 4600215910039396017, i64 4607817776150613308, i64 4600180355169925350, i64 4607810432107585887, i64 4600144850937365963, i64 4607803148834617630, i64 4600109396922647380, i64 4607795925847471761, i64 4600073992710029890, i64 4607788762668227682, i64 4600038637887061145, i64 4607781658825186182, i64 4600003332044533405, i64 4607774613852776438, i64 4599968074776441430, i64 4607767627291464745, i64 4599932865679940988, i64 4607760698687664952, i64 4599897704355307981, i64 4607753827593650565, i64 4599862590405898178, i64 4607747013567468476, i64 4599827523438107532, i64 4607740256172854289, i64 4599792503061333085, i64 4607733554979149211, i64 4599757528887934440, i64 4607726909561218465, i64 4599722600533195790, i64 4607720319499371209, i64 4599687717615288501, i64 4607713784379281908, i64 4599652879755234233, i64 4607707303791913152, i64 4599618086576868590, i64 4607700877333439875, i64 4599583337706805289, i64 4607694504605174946, i64 4599548632774400840, i64 4607688185213496111, i64 4599513971411719729, i64 4607681918769774255, i64 4599479353253500091, i64 4607675704890302955, i64 4599444777937119870, i64 4607669543196229297, i64 4599410245102563444, i64 4607663433313485938, i64 4599375754392388733, i64 4607657374872724377, i64 4599341305451694744, i64 4607651367509249421, i64 4599306897928089587, i64 4607645410862954817, i64 4599272531471658915, i64 4607639504578260021, i64 4599238205734934807, i64 4607633648304048094, i64 4599203920372865078, i64 4607627841693604693, i64 4599169675042783003, i64 4607622084404558133, i64 4599135469404377454, i64 4607616376098820512, i64 4599101303119663442, i64 4607610716442529860, i64 4599067175852953056, i64 4607605105105993307, i64 4599033087270826790, i64 4607599541763631243, i64 4598999037042105258, i64 4607594026093922448, i64 4598965024837821277, i64 4607588557779350180, i64 4598931050331192331, i64 4607583136506349199, i64 4598897113197593389, i64 4607577761965253705, i64 4598863213114530085, i64 4607572433850246180, i64 4598829349761612252, i64 4607567151859307110, i64 4598795522820527791, i64 4607561915694165575, i64 4598761731975016892, i64 4607556725060250684, i64 4598727976910846576, i64 4607551579666643846, i64 4598694257315785578, i64 4607546479226031858, i64 4598660572879579536, i64 4607541423454660792, i64 4598626923293926513, i64 4607536412072290672, i64 4598593308252452818, i64 4607531444802150917, i64 4598559727450689137, i64 4607526521370896549, i64 4598526180586046969, i64 4607521641508565135, i64 4598492667357795346, i64 4607516804948534462, i64 4598459187467037859, i64 4607512011427480932, i64 4598425740616689956, i64 4607507260685338649, i64 4598392326511456529, i64 4607502552465259205, i64 4598358944857809773, i64 4607497886513572137, i64 4598325595363967321, i64 4607493262579746049, i64 4598292277739870637, i64 4607488680416350389, i64 4598258991697163685, i64 4607484139779017859, i64 4598225736949171842, i64 4607479640426407464, i64 4598192513210881074, i64 4607475182120168170, i64 4598143420852558300, i64 4607470764624903168, i64 4598077095717776287, i64 4607466387708134740, i64 4598010830911830181, i64 4607462051140269703, i64 4597944625877569942, i64 4607457754694565432, i64 4597878480060965759, i64 4607453498147096438, i64 4597812392911069266, i64 4607449281276721515, i64 4597746363879975218, i64 4607445103865051416, i64 4597680392422783596, i64 4607440965696417074, i64 4597614477997562166, i64 4607436866557838343, i64 4597548620065309451, i64 4607432806238993257, i64 4597482818089918134, i64 4607428784532187796, i64 4597417071538138878, i64 4607424801232326150, i64 4597351379879544546, i64 4607420856136881475, i64 4597285742586494832, i64 4607416949045867129, i64 4597252944162915018, i64 4607415009690213116, i64 4597220159134101278, i64 4607413079761808376, i64 4597187387434866857, i64 4607411159236356485, i64 4597154629000192687, i64 4607409248089714566, i64 4597121883765226329, i64 4607407346297892433, i64 4597089151665280915, i64 4607405453837051764, i64 4597056432635834105, i64 4607403570683505261, i64 4597023726612527038, i64 4607401696813715832, i64 4596991033531163301, i64 4607399832204295772, i64 4596958353327707891, i64 4607397976832005951, i64 4596925685938286195, i64 4607396130673755013, i64 4596893031299182967, i64 4607394293706598577, i64 4596860389346841312, i64 4607392465907738449, i64 4596827760017861678, i64 4607390647254521832, i64 4596795143249000854, i64 4607388837724440555, i64 4596762538977170966, i64 4607387037295130300, i64 4596729947139438490, i64 4607385245944369835, i64 4596697367673023259, i64 4607383463650080256, i64 4596664800515297482, i64 4607381690390324237, i64 4596632245603784768, i64 4607379926143305281, i64 4596599702876159149, i64 4607378170887366984, i64 4596567172270244117, i64 4607376424600992296, i64 4596534653724011662, i64 4607374687262802797, i64 4596502147175581310, i64 4607372958851557973, i64 4596469652563219174, i64 4607371239346154503, i64 4596437169825337008, i64 4607369528725625544, i64 4596404698900491261, i64 4607367826969140033, i64 4596372239727382140, i64 4607366134056001985, i64 4596339792244852681, i64 4607364449965649800, i64 4596307356391887815, i64 4607362774677655577, i64 4596274932107613449, i64 4607361108171724435, i64 4596242519331295547, i64 4607359450427693835, i64 4596210118002339214, i64 4607357801425532909, i64 4596177728060287787, i64 4607356161145341799, i64 4596145349444821934, i64 4607354529567350995, i64 4596112982095758747, i64 4607352906671920682, i64 4596080625953050852, i64 4607351292439540094, i64 4596048280956785516, i64 4607349686850826868, i64 4596015947047183759, i64 4607348089886526411, i64 4595983624164599474, i64 4607346501527511262, i64 4595951312249518546, i64 4607344921754780470, i64 4595919011242557981, i64 4607343350549458969, i64 4595886721084465033, i64 4607341787892796964, i64 4595854441716116345, i64 4607340233766169317, i64 4595822173078517079, i64 4607338688151074945, i64 4595789915112800070, i64 4607337151029136211, i64 4595757667760224963, i64 4607335622382098335, i64 4595725430962177372, i64 4607334102191828800, i64 4595693204660168030, i64 4607332590440316763, i64 4595660988795831953, i64 4607331087109672477, i64 4595628783310927602, i64 4607329592182126713, i64 4595596588147336049, i64 4607328105640030187, i64 4595564403247060151, i64 4607326627465852994, i64 4595532228552223724, i64 4607325157642184045, i64 4595500064005070721, i64 4607323696151730509, i64 4595467909547964420, i64 4607322242977317261, i64 4595435765123386604, i64 4607320798101886333, i64 4595403630673936758, i64 4607319361508496368, i64 4595371506142331259, i64 4607317933180322084, i64 4595339391471402577, i64 4607316513100653737, i64 4595307286604098476, i64 4607315101252896593, i64 4595275191483481220, i64 4607313697620570398, i64 4595243106052726780, i64 4607312302187308861, i64 4595211030255124050, i64 4607310914936859134, i64 4595178964034074060, i64 4607309535853081302, i64 4595146907333089200, i64 4607308164919947871, i64 4595114860095792439, i64 4607306802121543267, i64 4595082822265916555, i64 4607305447442063335, i64 4595050793787303364, i64 4607304100865814844, i64 4595018774603902952, i64 4607302762377214995, i64 4594986764659772917, i64 4607301431960790935, i64 4594954763899077604, i64 4607300109601179272, i64 4594922772266087352, i64 4607298795283125598, i64 4594890789705177740, i64 4607297488991484012, i64 4594858816160828839, i64 4607296190711216653, i64 4594826851577624461, i64 4607294900427393229, i64 4594794895900251423, i64 4607293618125190558, i64 4594762949073498800, i64 4607292343789892105, i64 4594731011042257192, i64 4607291077406887531, i64 4594699081751517990, i64 4607289818961672241, i64 4594667161146372645, i64 4607288568439846936, i64 4594635249172011940, i64 4607287325827117172, i64 4594603345773725267, i64 4607286091109292916, i64 4594571450896899902, i64 4607284864272288116, i64 4594539564487020292, i64 4607283645302120268, i64 4594507686489667335, i64 4607282434184909984, i64 4594475816850517671, i64 4607281230906880573, i64 4594443955515342968, i64 4607280035454357618, i64 4594412102430009220, i64 4607278847813768557, i64 4594380257540476041, i64 4607277667971642276, i64 4594348420792795964, i64 4607276495914608692, i64 4594316592133113743, i64 4607275331629398353, i64 4594284771507665657, i64 4607274175102842032, i64 4594252958862778820, i64 4607273026321870330, i64 4594221154144870489, i64 4607271885273513279, i64 4594189357300447376, i64 4607270751944899953, i64 4594157568276104968, i64 4607269626323258077, i64 4594125787018526838, i64 4607268508395913643, i64 4594094013474483975, i64 4607267398150290529, i64 4594062247590834098, i64 4607266295573910121, i64 4594030489314520992, i64 4607265200654390939, i64 4593998738592573829, i64 4607264113379448264, i64 4593966995372106501, i64 4607263033736893771, i64 4593935259600316959, i64 4607261961714635167, i64 4593903531224486541, i64 4607260897300675825, i64 4593871810191979318, i64 4607259840483114430, i64 4593840096450241433, i64 4607258791250144623, i64 4593808389946800441, i64 4607257749590054649, i64 4593776690629264662, i64 4607256715491227010, i64 4593744998445322526, i64 4607255688942138121, i64 4593713313342741921, i64 4607254669931357965, i64 4593681635269369553, i64 4607253658447549756, i64 4593628308428354673, i64 4607252654479469606, i64 4593564980086147188, i64 4607251658015966188, i64 4593501665490369313, i64 4607250669045980411, i64 4593438364537332133, i64 4607249687558545094, i64 4593375077123497963, i64 4607248713542784636, i64 4593311803145479083, i64 4607247746987914707, i64 4593248542500036479, i64 4607246787883241922, i64 4593185295084078582, i64 4607245836218163532, i64 4593122060794660016, i64 4607244891982167111, i64 4593058839528980351, i64 4607243955164830248, i64 4592995631184382858, i64 4607243025755820245, i64 4592932435658353268, i64 4607242103744893809, i64 4592869252848518537, i64 4607241189121896761, i64 4592806082652645614, i64 4607240281876763733, i64 4592742924968640211, i64 4607239381999517876, i64 4592679779694545584, i64 4607238489480270574, i64 4592648211679390637, i64 4607238045976830243, i64 4592616646728541308, i64 4607237604309221152, i64 4592585084829291145, i64 4607237164476231911, i64 4592553525968942064, i64 4607236726476656592, i64 4592521970134804312, i64 4607236290309294716, i64 4592490417314196428, i64 4607235855972951252, i64 4592458867494445208, i64 4607235423466436600, i64 4592427320662885662, i64 4607234992788566588, i64 4592395776806860983, i64 4607234563938162462, i64 4592364235913722507, i64 4607234136914050876, i64 4592332697970829672, i64 4607233711715063887, i64 4592301162965549987, i64 4607233288340038940, i64 4592269630885258990, i64 4607232866787818868, i64 4592238101717340212, i64 4607232447057251879, i64 4592206575449185140, i64 4607232029147191545, i64 4592175052068193181, i64 4607231613056496801, i64 4592143531561771623, i64 4607231198784031931, i64 4592112013917335599, i64 4607230786328666560, i64 4592080499122308049, i64 4607230375689275650, i64 4592048987164119684, i64 4607229966864739488, i64 4592017478030208952, i64 4607229559853943680, i64 4591985971708021994, i64 4607229154655779141, i64 4591954468185012615, i64 4607228751269142089, i64 4591922967448642241, i64 4607228349692934037, i64 4591891469486379888, i64 4607227949926061783, i64 4591859974285702120, i64 4607227551967437406, i64 4591828481834093017, i64 4607227155815978253, i64 4591796992119044137, i64 4607226761470606936, i64 4591765505128054478, i64 4607226368930251322, i64 4591734020848630442, i64 4607225978193844525, i64 4591702539268285802, i64 4607225589260324899, i64 4591671060374541662, i64 4607225202128636032, i64 4591639584154926423, i64 4607224816797726736, i64 4591608110596975745, i64 4607224433266551038, i64 4591576639688232511, i64 4607224051534068180, i64 4591545171416246795, i64 4607223671599242601, i64 4591513705768575820, i64 4607223293461043939, i64 4591482242732783926, i64 4607222917118447018, i64 4591450782296442533, i64 4607222542570431843, i64 4591419324447130105, i64 4607222169815983591, i64 4591387869172432114, i64 4607221798854092607, i64 4591356416459941006, i64 4607221429683754392, i64 4591324966297256162, i64 4607221062303969602, i64 4591293518671983867, i64 4607220696713744033, i64 4591262073571737268, i64 4607220332912088623, i64 4591230630984136345, i64 4607219970898019438, i64 4591199190896807873, i64 4607219610670557666, i64 4591167753297385383, i64 4607219252228729614, i64 4591136318173509134, i64 4607218895571566697, i64 4591104885512826070, i64 4607218540698105433, i64 4591073455302989791, i64 4607218187607387436, i64 4591042027531660512, i64 4607217836298459409, i64 4591010602186505033, i64 4607217486770373137, i64 4590979179255196700, i64 4607217139022185479, i64 4590947758725415373, i64 4607216793052958365, i64 4590916340584847388, i64 4607216448861758787, i64 4590884924821185524, i64 4607216106447658792, i64 4590853511422128967, i64 4607215765809735475, i64 4590822100375383276, i64 4607215426947070974, i64 4590790691668660346, i64 4607215089858752465, i64 4590759285289678377, i64 4607214754543872150, i64 4590727881226161834, i64 4607214421001527258, i64 4590696479465841418, i64 4607214089230820030, i64 4590665079996454027, i64 4607213759230857723, i64 4590633682805742722, i64 4607213431000752593, i64 4590602287881456695, i64 4607213104539621897, i64 4590570895211351231, i64 4607212779846587883, i64 4590539504783187675, i64 4607212456920777783, i64 4590508116584733398, i64 4607212135761323810, i64 4590476730603761763, i64 4607211816367363149, i64 4590445346828052087, i64 4607211498738037953, i64 4590413965245389612, i64 4607211182872495335, i64 4590382585843565467, i64 4607210868769887365, i64 4590351208610376633, i64 4607210556429371059, i64 4590319833533625914, i64 4607210245850108379, i64 4590288460601121895, i64 4607209937031266223, i64 4590257089800678915, i64 4607209629972016421, i64 4590225721120117028, i64 4607209324671535728, i64 4590194354547261973, i64 4607209021129005818, i64 4590162990069945137, i64 4607208719343613281, i64 4590131627676003519, i64 4607208419314549615, i64 4590100267353279703, i64 4607208121041011219, i64 4590068909089621818, i64 4607207824522199391, i64 4590037552872883505, i64 4607207529757320320, i64 4590006198690923885, i64 4607207236745585081, i64 4589974846531607526, i64 4607206945486209627, i64 4589943496382804405, i64 4607206655978414790, i64 4589912148232389879, i64 4607206368221426269, i64 4589880802068244647, i64 4607206082214474627, i64 4589849457878254719, i64 4607205797956795287, i64 4589818115650311384, i64 4607205515447628524, i64 4589786775372311172, i64 4607205234686219461, i64 4589755437032155823, i64 4607204955671818064, i64 4589724100617752254, i64 4607204678403679138, i64 4589692766117012524, i64 4607204402881062318, i64 4589661433517853803, i64 4607204129103232068, i64 4589630102808198334, i64 4607203857069457672, i64 4589598773975973405, i64 4607203586779013232, i64 4589567447009111313, i64 4607203318231177663, i64 4589536121895549328, i64 4607203051425234684, i64 4589504798623229667, i64 4607202786360472819, i64 4589473477180099454, i64 4607202523036185387, i64 4589442157554110688, i64 4607202261451670499, i64 4589410839733220214, i64 4607202001606231053, i64 4589379523705389686, i64 4607201743499174731, i64 4589348209458585532, i64 4607201487129813989, i64 4589316896980778929, i64 4607201232497466058, i64 4589285586259945759, i64 4607200979601452938, i64 4589254277284066587, i64 4607200728441101389, i64 4589222970041126619, i64 4607200479015742932, i64 4589191664519115675, i64 4607200231324713840, i64 4589152701121520880, i64 4607199985367355137, i64 4589090096889190567, i64 4607199741143012591, i64 4589027496026711902, i64 4607199498651036708, i64 4588964898510100760, i64 4607199257890782734, i64 4588902304315381912, i64 4607199018861610642, i64 4588839713418588961, i64 4607198781562885133, i64 4588777125795764272, i64 4607198545993975632, i64 4588714541422958910, i64 4607198312154256280, i64 4588651960276232573, i64 4607198080043105932, i64 4588589382331653530, i64 4607197849659908152, i64 4588526807565298549, i64 4607197621004051210, i64 4588464235953252841, i64 4607197394074928076, i64 4588401667471609987, i64 4607197168871936417, i64 4588339102096471879, i64 4607196945394478592, i64 4588276539803948648, i64 4607196723641961648, i64 4588213980570158608, i64 4607196503613797317, i64 4588151424371228183, i64 4607196285309402012, i64 4588120147402377037, i64 4607196176803436650, i64 4588088871183291848, i64 4607196068728196818, i64 4588057595710990672, i64 4607195961083610882, i64 4588026320982492061, i64 4607195853869607498, i64 4587995046994815058, i64 4607195747086115616, i64 4587963773744979199, i64 4607195640733064478, i64 4587932501230004508, i64 4607195534810383615, i64 4587901229446911496, i64 4607195429318002851, i64 4587869958392721157, i64 4607195324255852301, i64 4587838688064454972, i64 4607195219623862369, i64 4587807418459134899, i64 4607195115421963754, i64 4587776149573783376, i64 4607195011650087442, i64 4587744881405423320, i64 4607194908308164711, i64 4587713613951078118, i64 4607194805396127130, i64 4587682347207771636, i64 4607194702913906558, i64 4587651081172528204, i64 4607194600861435145, i64 4587619815842372627, i64 4607194499238645329, i64 4587588551214330172, i64 4607194398045469840, i64 4587557287285426574, i64 4607194297281841699, i64 4587526024052688029, i64 4607194196947694214, i64 4587494761513141195, i64 4607194097042960984, i64 4587463499663813186, i64 4607193997567575899, i64 4587432238501731576, i64 4607193898521473137, i64 4587400978023924393, i64 4607193799904587164, i64 4587369718227420116, i64 4607193701716852740, i64 4587338459109247676, i64 4607193603958204908, i64 4587307200666436453, i64 4607193506628579005, i64 4587275942896016273, i64 4607193409727910655, i64 4587244685795017408, i64 4607193313256135770, i64 4587213429360470569, i64 4607193217213190553, i64 4587182173589406913, i64 4607193121599011493, i64 4587150918478858033, i64 4607193026413535370, i64 4587119664025855957, i64 4607192931656699250, i64 4587088410227433151, i64 4607192837328440490, i64 4587057157080622512, i64 4607192743428696732, i64 4587025904582457369, i64 4607192649957405908, i64 4586994652729971477, i64 4607192556914506239, i64 4586963401520199021, i64 4607192464299936231, i64 4586932150950174608, i64 4607192372113634680, i64 4586900901016933270, i64 4607192280355540669, i64 4586869651717510459, i64 4607192189025593568, i64 4586838403048942045, i64 4607192098123733036, i64 4586807155008264316, i64 4607192007649899017, i64 4586775907592513974, i64 4607191917604031744, i64 4586744660798728134, i64 4607191827986071736, i64 4586713414623944322, i64 4607191738795959801, i64 4586682169065200472, i64 4607191650033637032, i64 4586650924119534926, i64 4607191561699044808, i64 4586619679783986431, i64 4607191473792124798, i64 4586588436055594136, i64 4607191386312818956, i64 4586557192931397590, i64 4607191299261069520, i64 4586525950408436744, i64 4607191212636819018, i64 4586494708483751943, i64 4607191126440010264, i64 4586463467154383928, i64 4607191040670586355, i64 4586432226417373833, i64 4607190955328490678, i64 4586400986269763184, i64 4607190870413666904, i64 4586369746708593894, i64 4607190785926058990, i64 4586338507730908263, i64 4607190701865611180, i64 4586307269333748979, i64 4607190618232268002, i64 4586276031514159111, i64 4607190535025974270, i64 4586244794269182108, i64 4607190452246675086, i64 4586213557595861800, i64 4607190369894315835, i64 4586182321491242393, i64 4607190287968842186, i64 4586151085952368470, i64 4607190206470200098, i64 4586119850976284984, i64 4607190125398335810, i64 4586088616560037263, i64 4607190044753195851, i64 4586057382700671000, i64 4607189964534727030, i64 4586026149395232260, i64 4607189884742876444, i64 4585994916640767470, i64 4607189805377591475, i64 4585963684434323420, i64 4607189726438819789, i64 4585932452772947265, i64 4607189647926509335, i64 4585901221653686514, i64 4607189569840608350, i64 4585869991073589039, i64 4607189492181065352, i64 4585838761029703064, i64 4607189414947829146, i64 4585807531519077166, i64 4607189338140848820, i64 4585776302538760277, i64 4607189261760073746, i64 4585745074085801675, i64 4607189185805453580, i64 4585713846157250987, i64 4607189110276938264, i64 4585682618750158186, i64 4607189035174478021, i64 4585651391861573588, i64 4607188960498023360, i64 4585620165488547850, i64 4607188886247525074, i64 4585588939628131972, i64 4607188812422934236, i64 4585557714277377287, i64 4607188739024202208, i64 4585526489433335467, i64 4607188666051280632, i64 4585495265093058517, i64 4607188593504121434, i64 4585464041253598773, i64 4607188521382676824, i64 4585432817912008903, i64 4607188449686899295, i64 4585401595065341901, i64 4607188378416741622, i64 4585370372710651088, i64 4607188307572156865, i64 4585339150844990109, i64 4607188237153098367, i64 4585307929465412930, i64 4607188167159519751, i64 4585276708568973837, i64 4607188097591374928, i64 4585245488152727437, i64 4607188028448618086, i64 4585214268213728650, i64 4607187959731203700, i64 4585183048749032712, i64 4607187891439086526, i64 4585151829755695170, i64 4607187823572221602, i64 4585120611230771882, i64 4607187756130564250, i64 4585089393171319015, i64 4607187689114070074, i64 4585058175574393042, i64 4607187622522694958, i64 4585026958437050739, i64 4607187556356395072, i64 4584995741756349186, i64 4607187490615126865, i64 4584964525529345764, i64 4607187425298847070, i64 4584933309753098152, i64 4607187360407512702, i64 4584902094424664325, i64 4607187295941081057, i64 4584870879541102553, i64 4607187231899509712, i64 4584839665099471399, i64 4607187168282756529, i64 4584808451096829717, i64 4607187105090779649, i64 4584777237530236650, i64 4607187042323537495, i64 4584746024396751626, i64 4607186979980988773, i64 4584714811693434361, i64 4607186918063092469, i64 4584683599417344851, i64 4607186856569807851, i64 4584640354467921822, i64 4607186795501094468, i64 4584577931607016054, i64 4607186734856912152, i64 4584515509582929138, i64 4607186674637221014, i64 4584453088389783294, i64 4607186614841981447, i64 4584390668021701288, i64 4607186555471154125, i64 4584328248472806429, i64 4607186496524700005, i64 4584265829737222565, i64 4607186438002580321, i64 4584203411809074078, i64 4607186379904756592, i64 4584140994682485880, i64 4607186322231190616, i64 4584078578351583413, i64 4607186264981844470, i64 4584016162810492640, i64 4607186208156680515, i64 4583953748053340044, i64 4607186151755661390, i64 4583891334074252622, i64 4607186095778750017, i64 4583828920867357885, i64 4607186040225909597, i64 4583766508426783850, i64 4607185985097103611, i64 4583704096746659037, i64 4607185930392295821, i64 4583641685821112468, i64 4607185876111450271, i64 4583610480639471480, i64 4607185849130002175, i64 4583579275644273660, i64 4607185822254531282, i64 4583548070834785274, i64 4607185795485033176, i64 4583516866210272621, i64 4607185768821503458, i64 4583485661770002026, i64 4607185742263937747, i64 4583454457513239848, i64 4607185715812331681, i64 4583423253439252475, i64 4607185689466680913, i64 4583392049547306324, i64 4607185663226981115, i64 4583360845836667843, i64 4607185637093227976, i64 4583329642306603510, i64 4607185611065417203, i64 4583298438956379831, i64 4607185585143544520, i64 4583267235785263344, i64 4607185559327605669, i64 4583236032792520615, i64 4607185533617596408, i64 4583204829977418238, i64 4607185508013512514, i64 4583173627339222840, i64 4607185482515349782, i64 4583142424877201072, i64 4607185457123104023, i64 4583111222590619619, i64 4607185431836771066, i64 4583080020478745191, i64 4607185406656346757, i64 4583048818540844529, i64 4607185381581826962, i64 4583017616776184401, i64 4607185356613207560, i64 4582986415184031604, i64 4607185331750484452, i64 4582955213763652965, i64 4607185306993653554, i64 4582924012514315336, i64 4607185282342710799, i64 4582892811435285600, i64 4607185257797652140, i64 4582861610525830666, i64 4607185233358473544, i64 4582830409785217472, i64 4607185209025170999, i64 4582799209212712983, i64 4607185184797740509, i64 4582768008807584192, i64 4607185160676178094, i64 4582736808569098120, i64 4607185136660479793, i64 4582705608496521815, i64 4607185112750641663, i64 4582674408589122351, i64 4607185088946659777, i64 4582643208846166831, i64 4607185065248530227, i64 4582612009266922384, i64 4607185041656249120, i64 4582580809850656165, i64 4607185018169812584, i64 4582549610596635359, i64 4607184994789216762, i64 4582518411504127174, i64 4607184971514457814, i64 4582487212572398846, i64 4607184948345531920, i64 4582456013800717638, i64 4607184925282435274, i64 4582424815188350838, i64 4607184902325164091, i64 4582393616734565761, i64 4607184879473714601, i64 4582362418438629748, i64 4607184856728083052, i64 4582331220299810166, i64 4607184834088265710, i64 4582300022317374407, i64 4607184811554258858, i64 4582268824490589890, i64 4607184789126058797, i64 4582237626818724059, i64 4607184766803661845, i64 4582206429301044382, i64 4607184744587064337, i64 4582175231936818354, i64 4607184722476262625, i64 4582144034725313495, i64 4607184700471253081, i64 4582112837665797350, i64 4607184678572032092, i64 4582081640757537488, i64 4607184656778596063, i64 4582050443999801504, i64 4607184635090941417, i64 4582019247391857018, i64 4607184613509064593, i64 4581988050932971672, i64 4607184592032962050, i64 4581956854622413137, i64 4607184570662630262, i64 4581925658459449103, i64 4607184549398065721, i64 4581894462443347289, i64 4607184528239264937, i64 4581863266573375435, i64 4607184507186224437, i64 4581832070848801306, i64 4607184486238940766, i64 4581800875268892691, i64 4607184465397410485, i64 4581769679832917403, i64 4607184444661630175, i64 4581738484540143278, i64 4607184424031596432, i64 4581707289389838175, i64 4607184403507305869, i64 4581676094381269978, i64 4607184383088755120, i64 4581644899513706594, i64 4607184362775940832, i64 4581613704786415951, i64 4607184342568859673, i64 4581582510198666002, i64 4607184322467508325, i64 4581551315749724723, i64 4607184302471883491, i64 4581520121438860112, i64 4607184282581981888, i64 4581488927265340189, i64 4607184262797800254, i64 4581457733228432999, i64 4607184243119335342, i64 4581426539327406607, i64 4607184223546583921, i64 4581395345561529101, i64 4607184204079542781, i64 4581364151930068591, i64 4607184184718208728, i64 4581332958432293210, i64 4607184165462578584, i64 4581301765067471113, i64 4607184146312649190, i64 4581270571834870475, i64 4607184127268417403, i64 4581239378733759493, i64 4607184108329880100, i64 4581208185763406389, i64 4607184089497034171, i64 4581176992923079401, i64 4607184070769876529, i64 4581145800212046793, i64 4607184052148404099, i64 4581114607629576848, i64 4607184033632613827, i64 4581083415174937870, i64 4607184015222502675, i64 4581052222847398185, i64 4607183996918067623, i64 4581021030646226139, i64 4607183978719305667, i64 4580989838570690100, i64 4607183960626213822, i64 4580958646620058454, i64 4607183942638789119, i64 4580927454793599610, i64 4607183924757028608, i64 4580896263090581996, i64 4607183906980929355, i64 4580865071510274062, i64 4607183889310488444, i64 4580833880051944276, i64 4607183871745702976, i64 4580802688714861126, i64 4607183854286570069, i64 4580771497498293123, i64 4607183836933086861, i64 4580740306401508794, i64 4607183819685250503, i64 4580709115423776687, i64 4607183802543058167, i64 4580677924564365371, i64 4607183785506507041, i64 4580646733822543432, i64 4607183768575594330, i64 4580615543197579478, i64 4607183751750317257, i64 4580584352688742132, i64 4607183735030673063, i64 4580553162295300041, i64 4607183718416659004, i64 4580521972016521868, i64 4607183701908272356, i64 4580490781851676294, i64 4607183685505510411, i64 4580459591800032022, i64 4607183669208370479, i64 4580428401860857771, i64 4607183653016849886, i64 4580397212033422279, i64 4607183636930945977, i64 4580366022316994302, i64 4607183620950656114, i64 4580334832710842615, i64 4607183605075977676, i64 4580303643214236010, i64 4607183589306908059, i64 4580272453826443300, i64 4607183573643444676, i64 4580241264546733310, i64 4607183558085584960, i64 4580210075374374889, i64 4607183542633326358, i64 4580178886308636900, i64 4607183527286666337, i64 4580134573661782018, i64 4607183512045602379, i64 4580072195952401090, i64 4607183496910131986, i64 4580009818451874419, i64 4607183481880252674, i64 4579947441158739869, i64 4607183466955961980, i64 4579885064071535342, i64 4607183452137257455, i64 4579822687188798771, i64 4607183437424136670, i64 4579760310509068124, i64 4607183422816597212, i64 4579697934030881401, i64 4607183408314636685, i64 4579635557752776637, i64 4607183393918252712, i64 4579573181673291897, i64 4607183379627442932, i64 4579510805790965281, i64 4607183365442205002, i64 4579448430104334920, i64 4607183351362536594, i64 4579386054611938979, i64 4607183337388435401, i64 4579323679312315652, i64 4607183323519899132, i64 4579261304204003166, i64 4607183309756925512, i64 4579198929285539781, i64 4607183296099512285, i64 4579136554555463785, i64 4607183282547657210, i64 4579105367260614282, i64 4607183275811313286, i64 4579074180012313499, i64 4607183269101358067, i64 4579042992810378731, i64 4607183262417791280, i64 4579011805654627274, i64 4607183255760612651, i64 4578980618544876428, i64 4607183249129821906, i64 4578949431480943492, i64 4607183242525418774, i64 4578918244462645769, i64 4607183235947402984, i64 4578887057489800564, i64 4607183229395774266, i64 4578855870562225182, i64 4607183222870532352, i64 4578824683679736932, i64 4607183216371676974, i64 4578793496842153123, i64 4607183209899207866, i64 4578762310049291067, i64 4607183203453124763, i64 4578731123300968078, i64 4607183197033427401, i64 4578699936597001470, i64 4607183190640115516, i64 4578668749937208561, i64 4607183184273188846, i64 4578637563321406671, i64 4607183177932647131, i64 4578606376749413119, i64 4607183171618490110, i64 4578575190221045228, i64 4607183165330717524, i64 4578544003736120323, i64 4607183159069329117, i64 4578512817294455730, i64 4607183152834324631, i64 4578481630895868776, i64 4607183146625703811, i64 4578450444540176792, i64 4607183140443466402, i64 4578419258227197109, i64 4607183134287612151, i64 4578388071956747059, i64 4607183128158140805, i64 4578356885728643979, i64 4607183122055052114, i64 4578325699542705203, i64 4607183115978345827, i64 4578294513398748072, i64 4607183109928021695, i64 4578263327296589925, i64 4607183103904079471, i64 4578232141236048104, i64 4607183097906518907, i64 4578200955216939952, i64 4607183091935339757, i64 4578169769239082815, i64 4607183085990541777, i64 4578138583302294039, i64 4607183080072124723, i64 4578107397406390974, i64 4607183074180088353, i64 4578076211551190969, i64 4607183068314432425, i64 4578045025736511376, i64 4607183062475156699, i64 4578013839962169549, i64 4607183056662260935, i64 4577982654227982843, i64 4607183050875744895, i64 4577951468533768616, i64 4607183045115608342, i64 4577920282879344225, i64 4607183039381851040, i64 4577889097264527030, i64 4607183033674472754, i64 4577857911689134395, i64 4607183027993473250, i64 4577826726152983681, i64 4607183022338852296, i64 4577795540655892255, i64 4607183016710609658, i64 4577764355197677482, i64 4607183011108745108, i64 4577733169778156731, i64 4607183005533258415, i64 4577701984397147371, i64 4607182999984149351, i64 4577670799054466775, i64 4607182994461417688, i64 4577639613749932314, i64 4607182988965063200, i64 4577608428483361364, i64 4607182983495085662, i64 4577577243254571301, i64 4607182978051484849, i64 4577546058063379502, i64 4607182972634260539, i64 4577514872909603346, i64 4607182967243412510, i64 4577483687793060214, i64 4607182961878940540, i64 4577452502713567488, i64 4607182956540844410, i64 4577421317670942552, i64 4607182951229123901, i64 4577390132665002791, i64 4607182945943778795, i64 4577358947695565593, i64 4607182940684808876, i64 4577327762762448344, i64 4607182935452213928, i64 4577296577865468435, i64 4607182930245993737, i64 4577265393004443258, i64 4607182925066148090, i64 4577234208179190204, i64 4607182919912676774, i64 4577203023389526668, i64 4607182914785579578, i64 4577171838635270046, i64 4607182909684856291, i64 4577140653916237734, i64 4607182904610506706, i64 4577109469232247132, i64 4607182899562530614, i64 4577078284583115638, i64 4607182894540927808, i64 4577047099968660655, i64 4607182889545698082, i64 4577015915388699585, i64 4607182884576841231, i64 4576984730843049833, i64 4607182879634357053, i64 4576953546331528804, i64 4607182874718245344, i64 4576922361853953904, i64 4607182869828505904, i64 4576891177410142543, i64 4607182864965138531, i64 4576859992999912130, i64 4607182860128143026, i64 4576828808623080077, i64 4607182855317519192, i64 4576797624279463795, i64 4607182850533266831, i64 4576766439968880700, i64 4607182845775385746, i64 4576735255691148205, i64 4607182841043875744, i64 4576704071446083728, i64 4607182836338736630, i64 4576672887233504686, i64 4607182831659968212, i64 4576641703053228499, i64 4607182827007570297, i64 4576610518905072588, i64 4607182822381542695, i64 4576579334788854373, i64 4607182817781885217, i64 4576548150704391280, i64 4607182813208597673, i64 4576516966651500731, i64 4607182808661679878, i64 4576485782630000153, i64 4607182804141131643, i64 4576454598639706972, i64 4607182799646952785, i64 4576423414680438618, i64 4607182795179143119, i64 4576392230752012520, i64 4607182790737702461, i64 4576361046854246109, i64 4607182786322630631, i64 4576329862986956816, i64 4607182781933927446, i64 4576298679149962076, i64 4607182777571592728, i64 4576267495343079322, i64 4607182773235626297, i64 4576236311566125992, i64 4607182768926027976, i64 4576205127818919521, i64 4607182764642797588, i64 4576173944101277349, i64 4607182760385934957, i64 4576142760413016914, i64 4607182756155439910, i64 4576111576753955658, i64 4607182751951312273, i64 4576080393123911023, i64 4607182747773551874, i64 4576049209522700451, i64 4607182743622158541, i64 4576018025950141387, i64 4607182739497132104, i64 4575986842406051276, i64 4607182735398472395, i64 4575955658890247565, i64 4607182731326179245, i64 4575924475402547703, i64 4607182727280252488, i64 4575893291942769137, i64 4607182723260691958, i64 4575862108510729317, i64 4607182719267497490, i64 4575830925106245696, i64 4607182715300668921, i64 4575799741729135726, i64 4607182711360206087, i64 4575768558379216859, i64 4607182707446108828, i64 4575737375056306551, i64 4607182703558376983, i64 4575706191760222257, i64 4607182699697010394, i64 4575675008490781435, i64 4607182695862008900, i64 4575630429087179146, i64 4607182692053372347, i64 4575568062653776135, i64 4607182688271100577, i64 4575505696272564820, i64 4607182684515193436, i64 4575443329943180123, i64 4607182680785650769, i64 4575380963665256969, i64 4607182677082472424, i64 4575318597438430284, i64 4607182673405658249, i64 4575256231262334996, i64 4607182669755208094, i64 4575193865136606038, i64 4607182666131121809, i64 4575131499060878340, i64 4607182662533399245, i64 4575069133034786838, i64 4607182658962040256, i64 4575006767057966470, i64 4607182655417044694, i64 4574944401130052172, i64 4607182651898412415, i64 4574882035250678887, i64 4607182648406143274, i64 4574819669419481558, i64 4607182644940237128, i64 4574757303636095128, i64 4607182641500693836, i64 4574694937900154545, i64 4607182638087513256, i64 4574632572211294758, i64 4607182634700695249, i64 4574601389384406084, i64 4607182633017172167, i64 4574570206569150717, i64 4607182631340239676, i64 4574539023765483023, i64 4607182629669897759, i64 4574507840973357374, i64 4607182628006146398, i64 4574476658192728138, i64 4607182626348985578, i64 4574445475423549684, i64 4607182624698415280, i64 4574414292665776383, i64 4607182623054435489, i64 4574383109919362604, i64 4607182621417046187, i64 4574351927184262717, i64 4607182619786247357, i64 4574320744460431092, i64 4607182618162038983, i64 4574289561747822098, i64 4607182616544421047, i64 4574258379046390107, i64 4607182614933393535, i64 4574227196356089487, i64 4607182613328956428, i64 4574196013676874611, i64 4607182611731109711, i64 4574164831008699848, i64 4607182610139853366, i64 4574133648351519569, i64 4607182608555187379, i64 4574102465705288144, i64 4607182606977111733, i64 4574071283069959945, i64 4607182605405626411, i64 4574040100445489343, i64 4607182603840731397, i64 4574008917831830708, i64 4607182602282426676, i64 4573977735228938412, i64 4607182600730712231, i64 4573946552636766825, i64 4607182599185588047, i64 4573915370055270321, i64 4607182597647054107, i64 4573884187484403269, i64 4607182596115110396, i64 4573853004924120042, i64 4607182594589756899, i64 4573821822374375011, i64 4607182593070993599, i64 4573790639835122549, i64 4607182591558820481, i64 4573759457306317026, i64 4607182590053237530, i64 4573728274787912816, i64 4607182588554244729, i64 4573697092279864291, i64 4607182587061842065, i64 4573665909782125821, i64 4607182585576029521, i64 4573634727294651781, i64 4607182584096807083, i64 4573603544817396543, i64 4607182582624174734, i64 4573572362350314478, i64 4607182581158132461, i64 4573541179893359961, i64 4607182579698680248, i64 4573509997446487363, i64 4607182578245818080, i64 4573478815009651057, i64 4607182576799545942, i64 4573447632582805417, i64 4607182575359863819, i64 4573416450165904816, i64 4607182573926771697, i64 4573385267758903626, i64 4607182572500269562, i64 4573354085361756222, i64 4607182571080357397, i64 4573322902974416976, i64 4607182569667035189, i64 4573291720596840262, i64 4607182568260302924, i64 4573260538228980454, i64 4607182566860160587, i64 4573229355870791925, i64 4607182565466608163, i64 4573198173522229049, i64 4607182564079645639, i64 4573166991183246201, i64 4607182562699272999, i64 4573135808853797753, i64 4607182561325490231, i64 4573104626533838081, i64 4607182559958297320, i64 4573073444223321558, i64 4607182558597694251, i64 4573042261922202559, i64 4607182557243681012, i64 4573011079630435458, i64 4607182555896257588, i64 4572979897347974629, i64 4607182554555423965, i64 4572948715074774447, i64 4607182553221180130, i64 4572917532810789288, i64 4607182551893526068, i64 4572886350555973525, i64 4607182550572461767, i64 4572855168310281533, i64 4607182549257987213, i64 4572823986073667688, i64 4607182547950102392, i64 4572792803846086364, i64 4607182546648807291, i64 4572761621627491937, i64 4607182545354101896, i64 4572730439417838782, i64 4607182544065986195, i64 4572699257217081274, i64 4607182542784460174, i64 4572668075025173788, i64 4607182541509523821, i64 4572636892842070701, i64 4607182540241177121, i64 4572605710667726387, i64 4607182538979420062, i64 4572574528502095223, i64 4607182537724252631, i64 4572543346345131584, i64 4607182536475674816, i64 4572512164196789846, i64 4607182535233686603, i64 4572480982057024386, i64 4607182533998287979, i64 4572449799925789578, i64 4607182532769478933, i64 4572418617803039799, i64 4607182531547259451, i64 4572387435688729426, i64 4607182530331629521, i64 4572356253582812834, i64 4607182529122589130, i64 4572325071485244401, i64 4607182527920138267, i64 4572293889395978502, i64 4607182526724276919, i64 4572262707314969515, i64 4607182525535005073, i64 4572231525242171815, i64 4607182524352322717, i64 4572200343177539780, i64 4607182523176229840, i64 4572169161121027786, i64 4607182522006726429, i64 4572137979072590210, i64 4607182520843812472, i64 4572106797032181430, i64 4607182519687487958, i64 4572075614999755821, i64 4607182518537752874, i64 4572044432975267763, i64 4607182517394607208, i64 4572013250958671631, i64 4607182516258050950, i64 4571982068949921802, i64 4607182515128084087, i64 4571950886948972656, i64 4607182514004706608, i64 4571919704955778568, i64 4607182512887918501, i64 4571888522970293916, i64 4607182511777719756, i64 4571857340992473079, i64 4607182510674110359, i64 4571826159022270433, i64 4607182509577090301, i64 4571794977059640356, i64 4607182508486659570, i64 4571763795104537227, i64 4607182507402818154, i64 4571732613156915423, i64 4607182506325566043, i64 4571701431216729323, i64 4607182505254903226, i64 4571670249283933304, i64 4607182504190829692, i64 4571639067358481744, i64 4607182503133345429, i64 4571607885440329022, i64 4607182502082450427, i64 4571576703529429517, i64 4607182501038144676, i64 4571545521625737605, i64 4607182500000428164, i64 4571514339729207667, i64 4607182498969300881, i64 4571483157839794080, i64 4607182497944762816, i64 4571451975957451224, i64 4607182496926813959, i64 4571420794082133476, i64 4607182495915454299, i64 4571389612213795215, i64 4607182494910683827, i64 4571358430352390821, i64 4607182493912502531, i64 4571327248497874672, i64 4607182492920910402, i64 4571296066650201148, i64 4607182491935907429, i64 4571264884809324626, i64 4607182490957493602, i64 4571233702975199487, i64 4607182489985668912, i64 4571202521147780110, i64 4607182489020433348, i64 4571171339327020873, i64 4607182488061786900, i64 4571126693244698873, i64 4607182487109729560, i64 4571064329629547239, i64 4607182486164261315, i64 4571001966027442163, i64 4607182485225382158, i64 4570939602438292403, i64 4607182484293092079, i64 4570877238862006720, i64 4607182483367391068, i64 4570814875298493871, i64 4607182482448279115, i64 4570752511747662618, i64 4607182481535756211, i64 4570690148209421719, i64 4607182480629822347, i64 4570627784683679933, i64 4607182479730477514, i64 4570565421170346022, i64 4607182478837721702, i64 4570503057669328744, i64 4607182477951554902, i64 4570440694180536860, i64 4607182477071977105, i64 4570378330703879130, i64 4607182476198988302, i64 4570315967239264314, i64 4607182475332588485, i64 4570253603786601173, i64 4607182474472777643, i64 4570191240345798468, i64 4607182473619555769, i64 4570128876916764958, i64 4607182472772922854, i64 4570097695206633139, i64 4607182472352077253, i64 4570066513499409405, i64 4607182471932878889, i64 4570035331795082350, i64 4607182471515327760, i64 4570004150093640569, i64 4607182471099423865, i64 4569972968395072659, i64 4607182470685167203, i64 4569941786699367213, i64 4607182470272557774, i64 4569910605006512827, i64 4607182469861595576, i64 4569879423316498096, i64 4607182469452280607, i64 4569848241629311616, i64 4607182469044612868, i64 4569817059944941980, i64 4607182468638592357, i64 4569785878263377786, i64 4607182468234219073, i64 4569754696584607627, i64 4607182467831493014, i64 4569723514908620100, i64 4607182467430414181, i64 4569692333235403798, i64 4607182467030982571, i64 4569661151564947318, i64 4607182466633198184, i64 4569629969897239255, i64 4607182466237061019, i64 4569598788232268203, i64 4607182465842571075, i64 4569567606570022759, i64 4607182465449728350, i64 4569536424910491517, i64 4607182465058532844, i64 4569505243253663072, i64 4607182464668984556, i64 4569474061599526020, i64 4607182464281083485, i64 4569442879948068957, i64 4607182463894829629, i64 4569411698299280476, i64 4607182463510222988, i64 4569380516653149174, i64 4607182463127263561, i64 4569349335009663646, i64 4607182462745951347, i64 4569318153368812487, i64 4607182462366286345, i64 4569286971730584293, i64 4607182461988268554, i64 4569255790094967658, i64 4607182461611897972, i64 4569224608461951178, i64 4607182461237174599, i64 4569193426831523449, i64 4607182460864098435, i64 4569162245203673065, i64 4607182460492669477, i64 4569131063578388622, i64 4607182460122887726, i64 4569099881955658716, i64 4607182459754753179, i64 4569068700335471941, i64 4607182459388265837, i64 4569037518717816893, i64 4607182459023425698, i64 4569006337102682168, i64 4607182458660232761, i64 4568975155490056360, i64 4607182458298687026, i64 4568943973879928065, i64 4607182457938788491, i64 4568912792272285878, i64 4607182457580537156, i64 4568881610667118396, i64 4607182457223933019, i64 4568850429064414212, i64 4607182456868976080, i64 4568819247464161923, i64 4607182456515666338, i64 4568788065866350124, i64 4607182456164003791, i64 4568756884270967411, i64 4607182455813988440, i64 4568725702678002378, i64 4607182455465620283, i64 4568694521087443621, i64 4607182455118899318, i64 4568663339499279736, i64 4607182454773825547, i64 4568632157913499317, i64 4607182454430398966, i64 4568600976330090962, i64 4607182454088619577, i64 4568569794749043264, i64 4607182453748487376, i64 4568538613170344819, i64 4607182453410002365, i64 4568507431593984223, i64 4607182453073164542, i64 4568476250019950071, i64 4607182452737973905, i64 4568445068448230959, i64 4607182452404430455, i64 4568413886878815482, i64 4607182452072534191, i64 4568382705311692236, i64 4607182451742285110, i64 4568351523746849816, i64 4607182451413683214, i64 4568320342184276817, i64 4607182451086728500, i64 4568289160623961835, i64 4607182450761420968, i64 4568257979065893466, i64 4607182450437760618, i64 4568226797510060305, i64 4607182450115747448, i64 4568195615956450948, i64 4607182449795381457, i64 4568164434405053989, i64 4607182449476662645, i64 4568133252855858025, i64 4607182449159591011, i64 4568102071308851652, i64 4607182448844166553, i64 4568070889764023463, i64 4607182448530389273, i64 4568039708221362056, i64 4607182448218259167, i64 4568008526680856026, i64 4607182447907776236, i64 4567977345142493968, i64 4607182447598940479, i64 4567946163606264478, i64 4607182447291751895, i64 4567914982072156151, i64 4607182446986210484, i64 4567883800540157583, i64 4607182446682316244, i64 4567852619010257370, i64 4607182446380069174, i64 4567821437482444106, i64 4607182446079469275, i64 4567790255956706389, i64 4607182445780516544, i64 4567759074433032812, i64 4607182445483210982, i64 4567727892911411972, i64 4607182445187552588, i64 4567696711391832465, i64 4607182444893541361, i64 4567665529874282886, i64 4607182444601177300, i64 4567634348358751830, i64 4607182444310460404, i64 4567603166845227894, i64 4607182444021390672, i64 4567571985333699672, i64 4607182443733968105, i64 4567540803824155761, i64 4607182443448192701, i64 4567509622316584756, i64 4607182443164064459, i64 4567478440810975252, i64 4607182442881583379, i64 4567447259307315846, i64 4607182442600749460, i64 4567416077805595133, i64 4607182442321562701, i64 4567384896305801709, i64 4607182442044023102, i64 4567353714807924169, i64 4607182441768130662, i64 4567322533311951108, i64 4607182441493885379, i64 4567291351817871124, i64 4607182441221287254, i64 4567260170325672810, i64 4607182440950336286, i64 4567228988835344764, i64 4607182440681032474, i64 4567197807346875580, i64 4607182440413375818, i64 4567166625860253854, i64 4607182440147366315, i64 4567135444375468183, i64 4607182439883003967, i64 4567104262892507161, i64 4607182439620288773, i64 4567073081411359384, i64 4607182439359220730, i64 4567041899932013449, i64 4607182439099799840, i64 4567010718454457950, i64 4607182438842026101, i64 4566979536978681483, i64 4607182438585899513, i64 4566948355504672645, i64 4607182438331420075, i64 4566917174032420031, i64 4607182438078587786, i64 4566885992561912236, i64 4607182437827402646, i64 4566854811093137856, i64 4607182437577864653, i64 4566823629626085488, i64 4607182437329973809, i64 4566792448160743726, i64 4607182437083730111, i64 4566761266697101167, i64 4607182436839133559, i64 4566730085235146406, i64 4607182436596184152, i64 4566698903774868040, i64 4607182436354881891, i64 4566667722316254663, i64 4607182436115226774, i64 4566623059564906798, i64 4607182435877218800, i64 4566560696654271578, i64 4607182435640857970, i64 4566498333746897911, i64 4607182435406144281, i64 4566435970842762990, i64 4607182435173077735, i64 4566373607941844007, i64 4607182434941658330, i64 4566311245044118152, i64 4607182434711886066, i64 4566248882149562617, i64 4607182434483760942, i64 4566186519258154594, i64 4607182434257282957, i64 4566124156369871275, i64 4607182434032452111, i64 4566061793484689850, i64 4607182433809268403, i64 4565999430602587512, i64 4607182433587731834, i64 4565937067723541453, i64 4607182433367842401, i64 4565874704847528863, i64 4607182433149600105, i64 4565812341974526934, i64 4607182432933004945, i64 4565749979104512859, i64 4607182432718056921, i64 4565687616237463828, i64 4607182432504756031, i64 4565625253373357034, i64 4607182432293102276, i64 4565594071942399847, i64 4607182432187893074, i64 4565562890512169667, i64 4607182432083095655, i64 4565531709082663642, i64 4607182431978710020, i64 4565500527653878920, i64 4607182431874736167, i64 4565469346225812652, i64 4607182431771174098, i64 4565438164798461985, i64 4607182431668023812, i64 4565406983371824069, i64 4607182431565285309, i64 4565375801945896052, i64 4607182431462958590, i64 4565344620520675084, i64 4607182431361043653, i64 4565313439096158314, i64 4607182431259540499, i64 4565282257672342891, i64 4607182431158449127, i64 4565251076249225962, i64 4607182431057769539, i64 4565219894826804679, i64 4607182430957501733, i64 4565188713405076189, i64 4607182430857645710, i64 4565157531984037641, i64 4607182430758201469, i64 4565126350563686185, i64 4607182430659169011, i64 4565095169144018969, i64 4607182430560548335, i64 4565063987725033142, i64 4607182430462339442, i64 4565032806306725854, i64 4607182430364542331, i64 4565001624889094253, i64 4607182430267157002, i64 4564970443472135488, i64 4607182430170183455, i64 4564939262055846708, i64 4607182430073621690, i64 4564908080640225062, i64 4607182429977471708, i64 4564876899225267700, i64 4607182429881733507, i64 4564845717810971769, i64 4607182429786407089, i64 4564814536397334420, i64 4607182429691492452, i64 4564783354984352800, i64 4607182429596989597, i64 4564752173572024060, i64 4607182429502898524, i64 4564720992160345347, i64 4607182429409219232, i64 4564689810749313812, i64 4607182429315951722, i64 4564658629338926602, i64 4607182429223095994, i64 4564627447929180867, i64 4607182429130652047, i64 4564596266520073756, i64 4607182429038619882, i64 4564565085111602418, i64 4607182428946999498, i64 4564533903703764002, i64 4607182428855790895, i64 4564502722296555656, i64 4607182428764994073, i64 4564471540889974530, i64 4607182428674609033, i64 4564440359484017772, i64 4607182428584635774, i64 4564409178078682533, i64 4607182428495074296, i64 4564377996673965960, i64 4607182428405924599, i64 4564346815269865202, i64 4607182428317186683, i64 4564315633866377409, i64 4607182428228860548, i64 4564284452463499730, i64 4607182428140946194, i64 4564253271061229313, i64 4607182428053443621, i64 4564222089659563307, i64 4607182427966352828, i64 4564190908258498862, i64 4607182427879673816, i64 4564159726858033127, i64 4607182427793406585, i64 4564128545458163250, i64 4607182427707551134, i64 4564097364058886380, i64 4607182427622107464, i64 4564066182660199667, i64 4607182427537075575, i64 4564035001262100259, i64 4607182427452455465, i64 4564003819864585305, i64 4607182427368247136, i64 4563972638467651955, i64 4607182427284450588, i64 4563941457071297357, i64 4607182427201065820, i64 4563910275675518660, i64 4607182427118092832, i64 4563879094280313014, i64 4607182427035531624, i64 4563847912885677566, i64 4607182426953382196, i64 4563816731491609467, i64 4607182426871644548, i64 4563785550098105865, i64 4607182426790318680, i64 4563754368705163910, i64 4607182426709404593, i64 4563723187312780749, i64 4607182426628902285, i64 4563692005920953532, i64 4607182426548811757, i64 4563660824529679409, i64 4607182426469133008, i64 4563629643138955528, i64 4607182426389866040, i64 4563598461748779037, i64 4607182426311010851, i64 4563567280359147087, i64 4607182426232567442, i64 4563536098970056826, i64 4607182426154535812, i64 4563504917581505403, i64 4607182426076915962, i64 4563473736193489967, i64 4607182425999707891, i64 4563442554806007667, i64 4607182425922911600, i64 4563411373419055651, i64 4607182425846527088, i64 4563380192032631070, i64 4607182425770554356, i64 4563349010646731072, i64 4607182425694993403, i64 4563317829261352806, i64 4607182425619844229, i64 4563286647876493420, i64 4607182425545106834, i64 4563255466492150064, i64 4607182425470781219, i64 4563224285108319888, i64 4607182425396867382, i64 4563193103725000039, i64 4607182425323365325, i64 4563161922342187667, i64 4607182425250275046, i64 4563130740959879921, i64 4607182425177596547, i64 4563099559578073950, i64 4607182425105329827, i64 4563068378196766902, i64 4607182425033474885, i64 4563037196815955927, i64 4607182424962031722, i64 4563006015435638175, i64 4607182424891000338, i64 4562974834055810792, i64 4607182424820380733, i64 4562943652676470930, i64 4607182424750172906, i64 4562912471297615737, i64 4607182424680376858, i64 4562881289919242361, i64 4607182424610992589, i64 4562850108541347952, i64 4607182424542020098, i64 4562818927163929658, i64 4607182424473459386, i64 4562787745786984630, i64 4607182424405310452, i64 4562756564410510015, i64 4607182424337573296, i64 4562725383034502963, i64 4607182424270247919, i64 4562694201658960622, i64 4607182424203334321, i64 4562663020283880142, i64 4607182424136832500, i64 4562631838909258672, i64 4607182424070742458, i64 4562600657535093361, i64 4607182424005064194, i64 4562569476161381357, i64 4607182423939797708, i64 4562538294788119810, i64 4607182423874943000, i64 4562507113415305869, i64 4607182423810500071, i64 4562475932042936682, i64 4607182423746468919, i64 4562444750671009399, i64 4607182423682849546, i64 4562413569299521168, i64 4607182423619641950, i64 4562382387928469139, i64 4607182423556846132, i64 4562351206557850461, i64 4607182423494462092, i64 4562320025187662282, i64 4607182423432489830, i64 4562288843817901752, i64 4607182423370929346, i64 4562257662448566020, i64 4607182423309780640, i64 4562226481079652234, i64 4607182423249043711, i64 4562195299711157544, i64 4607182423188718560, i64 4562164118343079098, i64 4607182423128805187, i64 4562119451424515644, i64 4607182423069303591, i64 4562057088690006626, i64 4607182423010213773, i64 4561994725956312990, i64 4607182422951535732, i64 4561932363223429036, i64 4607182422893269469, i64 4561870000491349060, i64 4607182422835414983, i64 4561807637760067362, i64 4607182422777972275, i64 4561745275029578239, i64 4607182422720941344, i64 4561682912299875989, i64 4607182422664322190, i64 4561620549570954911, i64 4607182422608114814, i64 4561558186842809301, i64 4607182422552319215, i64 4561495824115433459, i64 4607182422496935393, i64 4561433461388821682, i64 4607182422441963348, i64 4561371098662968268, i64 4607182422387403081, i64 4561308735937867515, i64 4607182422333254590, i64 4561246373213513721, i64 4607182422279517877, i64 4561184010489901185, i64 4607182422226192941, i64 4561121647767024204, i64 4607182422173279782, i64 4561090466405859764, i64 4607182422146977619, i64 4561059285044877075, i64 4607182422120778400, i64 4561028103684075424, i64 4607182422094682125, i64 4560996922323454098, i64 4607182422068688794, i64 4560965740963012385, i64 4607182422042798408, i64 4560934559602749571, i64 4607182422017010966, i64 4560903378242664943, i64 4607182421991326468, i64 4560872196882757790, i64 4607182421965744915, i64 4560841015523027398, i64 4607182421940266305, i64 4560809834163473054, i64 4607182421914890640, i64 4560778652804094047, i64 4607182421889617919, i64 4560747471444889662, i64 4607182421864448143, i64 4560716290085859188, i64 4607182421839381310, i64 4560685108727001911, i64 4607182421814417422, i64 4560653927368317119, i64 4607182421789556478, i64 4560622746009804099, i64 4607182421764798478, i64 4560591564651462138, i64 4607182421740143422, i64 4560560383293290524, i64 4607182421715591310, i64 4560529201935288544, i64 4607182421691142143, i64 4560498020577455485, i64 4607182421666795919, i64 4560466839219790634, i64 4607182421642552640, i64 4560435657862293278, i64 4607182421618412305, i64 4560404476504962706, i64 4607182421594374915, i64 4560373295147798203, i64 4607182421570440468, i64 4560342113790799058, i64 4607182421546608965, i64 4560310932433964557, i64 4607182421522880407, i64 4560279751077293988, i64 4607182421499254793, i64 4560248569720786639, i64 4607182421475732123, i64 4560217388364441795, i64 4607182421452312397, i64 4560186207008258745, i64 4607182421428995615, i64 4560155025652236776, i64 4607182421405781778, i64 4560123844296375175, i64 4607182421382670884, i64 4560092662940673229, i64 4607182421359662935, i64 4560061481585130226, i64 4607182421336757929, i64 4560030300229745453, i64 4607182421313955868, i64 4559999118874518196, i64 4607182421291256751, i64 4559967937519447744, i64 4607182421268660578, i64 4559936756164533384, i64 4607182421246167349, i64 4559905574809774402, i64 4607182421223777065, i64 4559874393455170087, i64 4607182421201489724, i64 4559843212100719725, i64 4607182421179305327, i64 4559812030746422603, i64 4607182421157223875, i64 4559780849392278009, i64 4607182421135245366, i64 4559749668038285230, i64 4607182421113369802, i64 4559718486684443554, i64 4607182421091597182, i64 4559687305330752267, i64 4607182421069927506, i64 4559656123977210657, i64 4607182421048360774, i64 4559624942623818011, i64 4607182421026896986, i64 4559593761270573617, i64 4607182421005536142, i64 4559562579917476761, i64 4607182420984278242, i64 4559531398564526731, i64 4607182420963123286, i64 4559500217211722814, i64 4607182420942071274, i64 4559469035859064297, i64 4607182420921122206, i64 4559437854506550468, i64 4607182420900276083, i64 4559406673154180614, i64 4607182420879532903, i64 4559375491801954022, i64 4607182420858892668, i64 4559344310449869979, i64 4607182420838355376, i64 4559313129097927773, i64 4607182420817921028, i64 4559281947746126690, i64 4607182420797589625, i64 4559250766394466019, i64 4607182420777361166, i64 4559219585042945046, i64 4607182420757235650, i64 4559188403691563059, i64 4607182420737213079, i64 4559157222340319344, i64 4607182420717293451, i64 4559126040989213190, i64 4607182420697476768, i64 4559094859638243883, i64 4607182420677763029, i64 4559063678287410711, i64 4607182420658152233, i64 4559032496936712960, i64 4607182420638644382, i64 4559001315586149919, i64 4607182420619239474, i64 4558970134235720874, i64 4607182420599937511, i64 4558938952885425113, i64 4607182420580738492, i64 4558907771535261922, i64 4607182420561642416, i64 4558876590185230590, i64 4607182420542649285, i64 4558845408835330403, i64 4607182420523759098, i64 4558814227485560648, i64 4607182420504971854, i64 4558783046135920614, i64 4607182420486287555, i64 4558751864786409587, i64 4607182420467706199, i64 4558720683437026854, i64 4607182420449227788, i64 4558689502087771702, i64 4607182420430852320, i64 4558658320738643420, i64 4607182420412579797, i64 4558627139389641294, i64 4607182420394410217, i64 4558595958040764611, i64 4607182420376343582, i64 4558564776692012659, i64 4607182420358379890, i64 4558533595343384724, i64 4607182420340519142, i64 4558502413994880095, i64 4607182420322761338, i64 4558471232646498058, i64 4607182420305106479, i64 4558440051298237901, i64 4607182420287554563, i64 4558408869950098911, i64 4607182420270105591, i64 4558377688602080375, i64 4607182420252759563, i64 4558346507254181581, i64 4607182420235516479, i64 4558315325906401815, i64 4607182420218376339, i64 4558284144558740365, i64 4607182420201339143, i64 4558252963211196518, i64 4607182420184404891, i64 4558221781863769561, i64 4607182420167573582, i64 4558190600516458783, i64 4607182420150845218, i64 4558159419169263469, i64 4607182420134219798, i64 4558128237822182907, i64 4607182420117697321, i64 4558097056475216385, i64 4607182420101277789, i64 4558065875128363189, i64 4607182420084961200, i64 4558034693781622608, i64 4607182420068747555, i64 4558003512434993927, i64 4607182420052636854, i64 4557972331088476436, i64 4607182420036629097, i64 4557941149742069419, i64 4607182420020724284, i64 4557909968395772166, i64 4607182420004922415, i64 4557878787049583963, i64 4607182419989223490, i64 4557847605703504097, i64 4607182419973627509, i64 4557816424357531856, i64 4607182419958134471, i64 4557785243011666527, i64 4607182419942744378, i64 4557754061665907398, i64 4607182419927457228, i64 4557722880320253754, i64 4607182419912273022, i64 4557691698974704885, i64 4607182419897191760, i64 4557660517629260076, i64 4607182419882213443, i64 4557615849668895280, i64 4607182419867338068, i64 4557553486978417630, i64 4607182419852565638, i64 4557491124288143826, i64 4607182419837896152, i64 4557428761598072442, i64 4607182419823329609, i64 4557366398908202052, i64 4607182419808866011, i64 4557304036218531231, i64 4607182419794505356, i64 4557241673529058554, i64 4607182419780247645, i64 4557179310839782594, i64 4607182419766092878, i64 4557116948150701927, i64 4607182419752041055, i64 4557054585461815128, i64 4607182419738092176, i64 4556992222773120769, i64 4607182419724246240, i64 4556929860084617427, i64 4607182419710503249, i64 4556867497396303675, i64 4607182419696863201, i64 4556805134708178088, i64 4607182419683326097, i64 4556742772020239241, i64 4607182419669891937, i64 4556680409332485708, i64 4607182419656560721, i64 4556618046644916063, i64 4607182419643332449, i64 4556586865301199753, i64 4607182419636756917, i64 4556555683957528881, i64 4607182419630207120, i64 4556524502613903269, i64 4607182419623683060, i64 4556493321270322737, i64 4607182419617184736, i64 4556462139926787109, i64 4607182419610712147, i64 4556430958583296205, i64 4607182419604265295, i64 4556399777239849848, i64 4607182419597844178, i64 4556368595896447860, i64 4607182419591448798, i64 4556337414553090062, i64 4607182419585079153, i64 4556306233209776275, i64 4607182419578735245, i64 4556275051866506323, i64 4607182419572417072, i64 4556243870523280027, i64 4607182419566124636, i64 4556212689180097208, i64 4607182419559857935, i64 4556181507836957688, i64 4607182419553616970, i64 4556150326493861289, i64 4607182419547401741, i64 4556119145150807834, i64 4607182419541212248, i64 4556087963807797143, i64 4607182419535048492, i64 4556056782464829039, i64 4607182419528910471, i64 4556025601121903343, i64 4607182419522798186, i64 4555994419779019877, i64 4607182419516711637, i64 4555963238436178464, i64 4607182419510650824, i64 4555932057093378924, i64 4607182419504615747, i64 4555900875750621080, i64 4607182419498606405, i64 4555869694407904754, i64 4607182419492622800, i64 4555838513065229766, i64 4607182419486664931, i64 4555807331722595940, i64 4607182419480732798, i64 4555776150380003097, i64 4607182419474826400, i64 4555744969037451058, i64 4607182419468945739, i64 4555713787694939646, i64 4607182419463090814, i64 4555682606352468682, i64 4607182419457261624, i64 4555651425010037989, i64 4607182419451458171, i64 4555620243667647387, i64 4607182419445680453, i64 4555589062325296699, i64 4607182419439928471, i64 4555557880982985747, i64 4607182419434202226, i64 4555526699640714353, i64 4607182419428501716, i64 4555495518298482337, i64 4607182419422826942, i64 4555464336956289522, i64 4607182419417177905, i64 4555433155614135731, i64 4607182419411554603, i64 4555401974272020784, i64 4607182419405957037, i64 4555370792929944503, i64 4607182419400385207, i64 4555339611587906711, i64 4607182419394839113, i64 4555308430245907229, i64 4607182419389318755, i64 4555277248903945879, i64 4607182419383824133, i64 4555246067562022483, i64 4607182419378355247, i64 4555214886220136862, i64 4607182419372912096, i64 4555183704878288838, i64 4607182419367494682, i64 4555152523536478234, i64 4607182419362103004, i64 4555121342194704870, i64 4607182419356737062, i64 4555090160852968570, i64 4607182419351396855, i64 4555058979511269154, i64 4607182419346082385, i64 4555027798169606444, i64 4607182419340793650, i64 4554996616827980263, i64 4607182419335530652, i64 4554965435486390432, i64 4607182419330293389, i64 4554934254144836773, i64 4607182419325081862, i64 4554903072803319107, i64 4607182419319896072, i64 4554871891461837257, i64 4607182419314736017, i64 4554840710120391044, i64 4607182419309601698, i64 4554809528778980290, i64 4607182419304493115, i64 4554778347437604817, i64 4607182419299410268, i64 4554747166096264447, i64 4607182419294353157, i64 4554715984754959002, i64 4607182419289321782, i64 4554684803413688303, i64 4607182419284316143, i64 4554653622072452172, i64 4607182419279336240, i64 4554622440731250431, i64 4607182419274382073, i64 4554591259390082902, i64 4607182419269453642, i64 4554560078048949406, i64 4607182419264550947, i64 4554528896707849766, i64 4607182419259673987, i64 4554497715366783804, i64 4607182419254822764, i64 4554466534025751340, i64 4607182419249997276, i64 4554435352684752197, i64 4607182419245197525, i64 4554404171343786197, i64 4607182419240423509, i64 4554372990002853161, i64 4607182419235675230, i64 4554341808661952912, i64 4607182419230952686, i64 4554310627321085271, i64 4607182419226255878, i64 4554279445980250060, i64 4607182419221584807, i64 4554248264639447100, i64 4607182419216939471, i64 4554217083298676214, i64 4607182419212319871, i64 4554185901957937224, i64 4607182419207726007, i64 4554154720617229951, i64 4607182419203157879, i64 4554123539276554216, i64 4607182419198615487, i64 4554092357935909843, i64 4607182419194098831, i64 4554061176595296652, i64 4607182419189607911, i64 4554029995254714466, i64 4607182419185142726, i64 4553998813914163106, i64 4607182419180703278, i64 4553967632573642394, i64 4607182419176289566, i64 4553936451233152152, i64 4607182419171901589, i64 4553905269892692201, i64 4607182419167539349, i64 4553874088552262364, i64 4607182419163202844, i64 4553842907211862463, i64 4607182419158892076, i64 4553811725871492319, i64 4607182419154607043, i64 4553780544531151753, i64 4607182419150347746, i64 4553749363190840589, i64 4607182419146114186, i64 4553718181850558647, i64 4607182419141906361, i64 4553687000510305749, i64 4607182419137724272, i64 4553655819170081717, i64 4607182419133567919, i64 4553624637829886374, i64 4607182419129437302, i64 4553593456489719541, i64 4607182419125332421, i64 4553562275149581039, i64 4607182419121253276, i64 4553531093809470690, i64 4607182419117199867, i64 4553499912469388317, i64 4607182419113172193, i64 4553468731129333741, i64 4607182419109170256, i64 4553437549789306784, i64 4607182419105194055, i64 4553406368449307268, i64 4607182419101243589, i64 4553375187109335014, i64 4607182419097318860, i64 4553344005769389844, i64 4607182419093419866, i64 4553312824429471581, i64 4607182419089546609, i64 4553281643089580046, i64 4607182419085699087, i64 4553250461749715060, i64 4607182419081877301, i64 4553219280409876446, i64 4607182419078081251, i64 4553188099070064026, i64 4607182419074310938, i64 4553156917730277620, i64 4607182419070566360, i64 4553112249509462648, i64 4607182419066847518, i64 4553049886829992829, i64 4607182419063154412, i64 4552987524150573972, i64 4607182419059487042, i64 4552925161471205719, i64 4607182419055845407, i64 4552862798791887715, i64 4607182419052229509, i64 4552800436112619604, i64 4607182419048639347, i64 4552738073433401028, i64 4607182419045074921, i64 4552675710754231631, i64 4607182419041536230, i64 4552613348075111058, i64 4607182419038023276, i64 4552550985396038952, i64 4607182419034536057, i64 4552488622717014956, i64 4607182419031074575, i64 4552426260038038713, i64 4607182419027638828, i64 4552363897359109869, i64 4607182419024228817, i64 4552301534680228066, i64 4607182419020844542, i64 4552239172001392947, i64 4607182419017486004, i64 4552176809322604157, i64 4607182419014153201, i64 4552114446643861339, i64 4607182419010846134, i64 4552083265304507059, i64 4607182419009202251, i64 4552052083965164137, i64 4607182419007564803, i64 4552020902625832531, i64 4607182419005933788, i64 4551989721286512195, i64 4607182419004309207, i64 4551958539947203084, i64 4607182419002691061, i64 4551927358607905155, i64 4607182419001079348, i64 4551896177268618362, i64 4607182418999474070, i64 4551864995929342662, i64 4607182418997875225, i64 4551833814590078009, i64 4607182418996282814, i64 4551802633250824359, i64 4607182418994696838, i64 4551771451911581668, i64 4607182418993117295, i64 4551740270572349890, i64 4607182418991544186, i64 4551709089233128982, i64 4607182418989977512, i64 4551677907893918899, i64 4607182418988417271, i64 4551646726554719596, i64 4607182418986863464, i64 4551615545215531029, i64 4607182418985316091, i64 4551584363876353153, i64 4607182418983775153, i64 4551553182537185923, i64 4607182418982240648, i64 4551522001198029296, i64 4607182418980712577, i64 4551490819858883226, i64 4607182418979190940, i64 4551459638519747669, i64 4607182418977675737, i64 4551428457180622581, i64 4607182418976166969, i64 4551397275841507916, i64 4607182418974664634, i64 4551366094502403631, i64 4607182418973168733, i64 4551334913163309681, i64 4607182418971679266, i64 4551303731824226021, i64 4607182418970196233, i64 4551272550485152607, i64 4607182418968719634, i64 4551241369146089394, i64 4607182418967249469, i64 4551210187807036337, i64 4607182418965785738, i64 4551179006467993393, i64 4607182418964328441, i64 4551147825128960516, i64 4607182418962877578, i64 4551116643789937663, i64 4607182418961433149, i64 4551085462450924787, i64 4607182418959995154, i64 4551054281111921846, i64 4607182418958563593, i64 4551023099772928794, i64 4607182418957138466, i64 4550991918433945586, i64 4607182418955719773, i64 4550960737094972179, i64 4607182418954307514, i64 4550929555756008528, i64 4607182418952901689, i64 4550898374417054588, i64 4607182418951502297, i64 4550867193078110314, i64 4607182418950109340, i64 4550836011739175663, i64 4607182418948722817, i64 4550804830400250589, i64 4607182418947342728, i64 4550773649061335048, i64 4607182418945969073, i64 4550742467722428995, i64 4607182418944601851, i64 4550711286383532386, i64 4607182418943241064, i64 4550680105044645177, i64 4607182418941886711, i64 4550648923705767323, i64 4607182418940538792, i64 4550617742366898778, i64 4607182418939197306, i64 4550586561028039500, i64 4607182418937862255, i64 4550555379689189442, i64 4607182418936533638, i64 4550524198350348561, i64 4607182418935211454, i64 4550493017011516813, i64 4607182418933895705, i64 4550461835672694151, i64 4607182418932586390, i64 4550430654333880533, i64 4607182418931283508, i64 4550399472995075913, i64 4607182418929987061, i64 4550368291656280247, i64 4607182418928697047, i64 4550337110317493490, i64 4607182418927413468, i64 4550305928978715599, i64 4607182418926136322, i64 4550274747639946527, i64 4607182418924865611, i64 4550243566301186231, i64 4607182418923601333, i64 4550212384962434666, i64 4607182418922343490, i64 4550181203623691788, i64 4607182418921092080, i64 4550150022284957552, i64 4607182418919847105, i64 4550118840946231913, i64 4607182418918608563, i64 4550087659607514827, i64 4607182418917376456, i64 4550056478268806250, i64 4607182418916150782, i64 4550025296930106136, i64 4607182418914931543, i64 4549994115591414442, i64 4607182418913718737, i64 4549962934252731123, i64 4607182418912512365, i64 4549931752914056133, i64 4607182418911312428, i64 4549900571575389430, i64 4607182418910118924, i64 4549869390236730967, i64 4607182418908931854, i64 4549838208898080702, i64 4607182418907751218, i64 4549807027559438588, i64 4607182418906577017, i64 4549775846220804582, i64 4607182418905409249, i64 4549744664882178638, i64 4607182418904247915, i64 4549713483543560713, i64 4607182418903093015, i64 4549682302204950762, i64 4607182418901944550, i64 4549651120866348740, i64 4607182418900802518, i64 4549619939527754603, i64 4607182418899666920, i64 4549588758189168306, i64 4607182418898537756, i64 4549557576850589805, i64 4607182418897415026, i64 4549526395512019055, i64 4607182418896298730, i64 4549495214173456011, i64 4607182418895188868, i64 4549464032834900630, i64 4607182418894085441, i64 4549432851496352866, i64 4607182418892988447, i64 4549401670157812675, i64 4607182418891897887, i64 4549370488819280012, i64 4607182418890813761, i64 4549339307480754833, i64 4607182418889736069, i64 4549308126142237094, i64 4607182418888664811, i64 4549276944803726749, i64 4607182418887599987, i64 4549245763465223754, i64 4607182418886541597, i64 4549214582126728065, i64 4607182418885489641, i64 4549183400788239637, i64 4607182418884444118, i64 4549152219449758426, i64 4607182418883405030, i64 4549121038111284386, i64 4607182418882372376, i64 4549089856772817474, i64 4607182418881346156, i64 4549058675434357645, i64 4607182418880326370, i64 4549027494095904855, i64 4607182418879313018, i64 4548996312757459058, i64 4607182418878306100, i64 4548965131419020210, i64 4607182418877305615, i64 4548933950080588268, i64 4607182418876311565, i64 4548902768742163185, i64 4607182418875323949, i64 4548871587403744918, i64 4607182418874342767, i64 4548840406065333422, i64 4607182418873368018, i64 4548809224726928653, i64 4607182418872399704, i64 4548778043388530565, i64 4607182418871437824, i64 4548746862050139115, i64 4607182418870482377, i64 4548715680711754258, i64 4607182418869533365, i64 4548684499373375950, i64 4607182418868590787, i64 4548653318035004145, i64 4607182418867654642, i64 4548608649749076639, i64 4607182418866724932, i64 4548546287072358777, i64 4607182418865801656, i64 4548483924395653655, i64 4607182418864884813, i64 4548421561718961185, i64 4607182418863974405, i64 4548359199042281277, i64 4607182418863070430, i64 4548296836365613842, i64 4607182418862172890, i64 4548234473688958791, i64 4607182418861281783, i64 4548172111012316035, i64 4607182418860397111, i64 4548109748335685485, i64 4607182418859518872, i64 4548047385659067051, i64 4607182418858647068, i64 4547985022982460645, i64 4607182418857781697, i64 4547922660305866177, i64 4607182418856922760, i64 4547860297629283559, i64 4607182418856070258, i64 4547797934952712701, i64 4607182418855224189, i64 4547735572276153514, i64 4607182418854384555, i64 4547673209599605910, i64 4607182418853551354, i64 4547610846923069798, i64 4607182418852724587, i64 4547579665584806024, i64 4607182418852313617, i64 4547548484246545090, i64 4607182418851904255, i64 4547517302908286985, i64 4607182418851496501, i64 4547486121570031698, i64 4607182418851090356, i64 4547454940231779217, i64 4607182418850685819, i64 4547423758893529531, i64 4607182418850282891, i64 4547392577555282629, i64 4607182418849881571, i64 4547361396217038500, i64 4607182418849481860, i64 4547330214878797134, i64 4607182418849083758, i64 4547299033540558518, i64 4607182418848687264, i64 4547267852202322641, i64 4607182418848292378, i64 4547236670864089493, i64 4607182418847899101, i64 4547205489525859063, i64 4607182418847507432, i64 4547174308187631338, i64 4607182418847117372, i64 4547143126849406309, i64 4607182418846728920, i64 4547111945511183964, i64 4607182418846342077, i64 4547080764172964291, i64 4607182418845956843, i64 4547049582834747280, i64 4607182418845573216, i64 4547018401496532920, i64 4607182418845191199, i64 4546987220158321199, i64 4607182418844810789, i64 4546956038820112106, i64 4607182418844431989, i64 4546924857481905630, i64 4607182418844054797, i64 4546893676143701761, i64 4607182418843679213, i64 4546862494805500486, i64 4607182418843305238, i64 4546831313467301795, i64 4607182418842932871, i64 4546800132129105676, i64 4607182418842562113, i64 4546768950790912119, i64 4607182418842192963, i64 4546737769452721112, i64 4607182418841825422, i64 4546706588114532645, i64 4607182418841459489, i64 4546675406776346705, i64 4607182418841095165, i64 4546644225438163282, i64 4607182418840732449, i64 4546613044099982365, i64 4607182418840371342, i64 4546581862761803943, i64 4607182418840011843, i64 4546550681423628004, i64 4607182418839653953, i64 4546519500085454537, i64 4607182418839297671, i64 4546488318747283532, i64 4607182418838942998, i64 4546457137409114977, i64 4607182418838589933, i64 4546425956070948860, i64 4607182418838238477, i64 4546394774732785172, i64 4607182418837888629, i64 4546363593394623900, i64 4607182418837540390, i64 4546332412056465033, i64 4607182418837193759, i64 4546301230718308561, i64 4607182418836848737, i64 4546270049380154472, i64 4607182418836505323, i64 4546238868042002756, i64 4607182418836163518, i64 4546207686703853400, i64 4607182418835823321, i64 4546176505365706394, i64 4607182418835484733, i64 4546145324027561727, i64 4607182418835147753, i64 4546114142689419387, i64 4607182418834812382, i64 4546082961351279364, i64 4607182418834478619, i64 4546051780013141646, i64 4607182418834146465, i64 4546020598675006222, i64 4607182418833815919, i64 4545989417336873082, i64 4607182418833486981, i64 4545958235998742213, i64 4607182418833159653, i64 4545927054660613605, i64 4607182418832833932, i64 4545895873322487246, i64 4607182418832509820, i64 4545864691984363126, i64 4607182418832187317, i64 4545833510646241233, i64 4607182418831866422, i64 4545802329308121557, i64 4607182418831547136, i64 4545771147970004085, i64 4607182418831229458, i64 4545739966631888808, i64 4607182418830913389, i64 4545708785293775713, i64 4607182418830598928, i64 4545677603955664790, i64 4607182418830286075, i64 4545646422617556027, i64 4607182418829974832, i64 4545615241279449414, i64 4607182418829665196, i64 4545584059941344939, i64 4607182418829357169, i64 4545552878603242591, i64 4607182418829050751, i64 4545521697265142359, i64 4607182418828745941, i64 4545490515927044232, i64 4607182418828442740, i64 4545459334588948199, i64 4607182418828141147, i64 4545428153250854248, i64 4607182418827841162, i64 4545396971912762368, i64 4607182418827542786, i64 4545365790574672549, i64 4607182418827246019, i64 4545334609236584779, i64 4607182418826950860, i64 4545303427898499047, i64 4607182418826657310, i64 4545272246560415342, i64 4607182418826365368, i64 4545241065222333653, i64 4607182418826075034, i64 4545209883884253968, i64 4607182418825786309, i64 4545178702546176277, i64 4607182418825499193, i64 4545147521208100568, i64 4607182418825213685, i64 4545116339870026830, i64 4607182418824929786, i64 4545085158531955052, i64 4607182418824647495, i64 4545053977193885223, i64 4607182418824366812, i64 4545022795855817332, i64 4607182418824087738, i64 4544991614517751368, i64 4607182418823810273, i64 4544960433179687319, i64 4607182418823534416, i64 4544929251841625174, i64 4607182418823260167, i64 4544898070503564923, i64 4607182418822987527, i64 4544866889165506553, i64 4607182418822716496, i64 4544835707827450055, i64 4607182418822447073, i64 4544804526489395417, i64 4607182418822179258, i64 4544773345151342627, i64 4607182418821913052, i64 4544742163813291675, i64 4607182418821648455, i64 4544710982475242549, i64 4607182418821385466, i64 4544679801137195238, i64 4607182418821124085, i64 4544648619799149732, i64 4607182418820864313, i64 4544617438461106019, i64 4607182418820606150, i64 4544586257123064087, i64 4607182418820349595, i64 4544555075785023926, i64 4607182418820094648, i64 4544523894446985525, i64 4607182418819841310, i64 4544492713108948872, i64 4607182418819589581, i64 4544461531770913957, i64 4607182418819339460, i64 4544430350432880767, i64 4607182418819090947, i64 4544399169094849293, i64 4607182418818844043, i64 4544367987756819523, i64 4607182418818598747, i64 4544336806418791445, i64 4607182418818355060, i64 4544305625080765050, i64 4607182418818112982, i64 4544274443742740324, i64 4607182418817872512, i64 4544243262404717258, i64 4607182418817633650, i64 4544212081066695840, i64 4607182418817396397, i64 4544180899728676060, i64 4607182418817160752, i64 4544149718390657905, i64 4607182418816926716, i64 4544105050088452266, i64 4607182418816694289, i64 4544042687412422393, i64 4607182418816463470, i64 4543980324736395706, i64 4607182418816234259, i64 4543917962060372181, i64 4607182418816006657, i64 4543855599384351797, i64 4607182418815780663, i64 4543793236708334531, i64 4607182418815556278, i64 4543730874032320361, i64 4607182418815333502, i64 4543668511356309265, i64 4607182418815112334, i64 4543606148680301220, i64 4607182418814892774, i64 4543543786004296205, i64 4607182418814674823, i64 4543481423328294196, i64 4607182418814458480, i64 4543419060652295172, i64 4607182418814243746, i64 4543356697976299110, i64 4607182418814030620, i64 4543294335300305989, i64 4607182418813819103, i64 4543231972624315785, i64 4607182418813609195, i64 4543169609948328476, i64 4607182418813400894, i64 4543107247272344041, i64 4607182418813194203, i64 4543076065934352894, i64 4607182418813091460, i64 4543044884596362457, i64 4607182418812989120, i64 4543013703258372728, i64 4607182418812887181, i64 4542982521920383702, i64 4607182418812785645, i64 4542951340582395378, i64 4607182418812684511, i64 4542920159244407753, i64 4607182418812583779, i64 4542888977906420824, i64 4607182418812483449, i64 4542857796568434589, i64 4607182418812383521, i64 4542826615230449043, i64 4607182418812283995, i64 4542795433892464186, i64 4607182418812184872, i64 4542764252554480013, i64 4607182418812086150, i64 4542733071216496523, i64 4607182418811987831, i64 4542701889878513711, i64 4607182418811889914, i64 4542670708540531577, i64 4607182418811792399, i64 4542639527202550116, i64 4607182418811695286, i64 4542608345864569326, i64 4607182418811598575, i64 4542577164526589204, i64 4607182418811502267, i64 4542545983188609748, i64 4607182418811406360, i64 4542514801850630954, i64 4607182418811310856, i64 4542483620512652820, i64 4607182418811215753, i64 4542452439174675344, i64 4607182418811121053, i64 4542421257836698521, i64 4607182418811026755, i64 4542390076498722350, i64 4607182418810932859, i64 4542358895160746828, i64 4607182418810839365, i64 4542327713822771952, i64 4607182418810746274, i64 4542296532484797718, i64 4607182418810653584, i64 4542265351146824126, i64 4607182418810561297, i64 4542234169808851170, i64 4607182418810469411, i64 4542202988470878850, i64 4607182418810377928, i64 4542171807132907161, i64 4607182418810286847, i64 4542140625794936102, i64 4607182418810196168, i64 4542109444456965669, i64 4607182418810105891, i64 4542078263118995860, i64 4607182418810016017, i64 4542047081781026672, i64 4607182418809926544, i64 4542015900443058102, i64 4607182418809837474, i64 4541984719105090147, i64 4607182418809748805, i64 4541953537767122804, i64 4607182418809660539, i64 4541922356429156072, i64 4607182418809572675, i64 4541891175091189946, i64 4607182418809485213, i64 4541859993753224424, i64 4607182418809398153, i64 4541828812415259504, i64 4607182418809311496, i64 4541797631077295183, i64 4607182418809225240, i64 4541766449739331457, i64 4607182418809139387, i64 4541735268401368324, i64 4607182418809053935, i64 4541704087063405782, i64 4607182418808968886, i64 4541672905725443827, i64 4607182418808884239, i64 4541641724387482456, i64 4607182418808799994, i64 4541610543049521668, i64 4607182418808716151, i64 4541579361711561458, i64 4607182418808632711, i64 4541548180373601825, i64 4607182418808549672, i64 4541516999035642766, i64 4607182418808467036, i64 4541485817697684277, i64 4607182418808384801, i64 4541454636359726356, i64 4607182418808302969, i64 4541423455021769001, i64 4607182418808221539, i64 4541392273683812208, i64 4607182418808140511, i64 4541361092345855974, i64 4607182418808059885, i64 4541329911007900297, i64 4607182418807979661, i64 4541298729669945175, i64 4607182418807899840, i64 4541267548331990603, i64 4607182418807820420, i64 4541236366994036580, i64 4607182418807741403, i64 4541205185656083103, i64 4607182418807662788, i64 4541174004318130169, i64 4607182418807584575, i64 4541142822980177774, i64 4607182418807506764, i64 4541111641642225917, i64 4607182418807429355, i64 4541080460304274595, i64 4607182418807352348, i64 4541049278966323805, i64 4607182418807275744, i64 4541018097628373543, i64 4607182418807199541, i64 4540986916290423808, i64 4607182418807123741, i64 4540955734952474596, i64 4607182418807048343, i64 4540924553614525905, i64 4607182418806973347, i64 4540893372276577731, i64 4607182418806898753, i64 4540862190938630073, i64 4607182418806824561, i64 4540831009600682927, i64 4607182418806750771, i64 4540799828262736290, i64 4607182418806677383, i64 4540768646924790160, i64 4607182418806604398, i64 4540737465586844534, i64 4607182418806531815, i64 4540706284248899410, i64 4607182418806459633, i64 4540675102910954783, i64 4607182418806387854, i64 4540643921573010652, i64 4607182418806316477, i64 4540612740235067014, i64 4607182418806245502, i64 4540581558897123866, i64 4607182418806174930, i64 4540550377559181206, i64 4607182418806104759, i64 4540519196221239029, i64 4607182418806034991, i64 4540488014883297335, i64 4607182418805965624, i64 4540456833545356119, i64 4607182418805896660, i64 4540425652207415379, i64 4607182418805828098, i64 4540394470869475113, i64 4607182418805759938, i64 4540363289531535317, i64 4607182418805692180, i64 4540332108193595989, i64 4607182418805624824, i64 4540300926855657126, i64 4607182418805557871, i64 4540269745517718725, i64 4607182418805491319, i64 4540238564179780783, i64 4607182418805425170, i64 4540207382841843298, i64 4607182418805359422, i64 4540176201503906267, i64 4607182418805294077, i64 4540145020165969687, i64 4607182418805229134, i64 4540113838828033555, i64 4607182418805164593, i64 4540082657490097868, i64 4607182418805100455, i64 4540051476152162624, i64 4607182418805036718, i64 4540020294814227821, i64 4607182418804973384, i64 4539989113476293454, i64 4607182418804910451, i64 4539957932138359521, i64 4607182418804847921, i64 4539926750800426020, i64 4607182418804785793, i64 4539895569462492948, i64 4607182418804724067, i64 4539864388124560302, i64 4607182418804662743, i64 4539833206786628079, i64 4607182418804601821, i64 4539802025448696277, i64 4607182418804541301, i64 4539770844110764892, i64 4607182418804481184, i64 4539739662772833922, i64 4607182418804421469, i64 4539708481434903364, i64 4607182418804362155, i64 4539677300096973215, i64 4607182418804303244, i64 4539646118759043473, i64 4607182418804244735, i64 4539601450452768300, i64 4607182418804186628, i64 4539539087776910425, i64 4607182418804128923, i64 4539476725101053346, i64 4607182418804071621, i64 4539414362425197058, i64 4607182418804014720, i64 4539351999749341555, i64 4607182418803958222, i64 4539289637073486831, i64 4607182418803902126, i64 4539227274397632881, i64 4607182418803846431, i64 4539164911721779700, i64 4607182418803791139, i64 4539102549045927282, i64 4607182418803736249, i64 4539040186370075621, i64 4607182418803681762, i64 4538977823694224712, i64 4607182418803627676, i64 4538915461018374549, i64 4607182418803573992, i64 4538853098342525126, i64 4607182418803520711, i64 4538790735666676438, i64 4607182418803467832, i64 4538728372990828480, i64 4607182418803415355, i64 4538666010314981246, i64 4607182418803363280, i64 4538603647639134730, i64 4607182418803311607, i64 4538572466301211740, i64 4607182418803285921, i64 4538541284963288927, i64 4607182418803260336, i64 4538510103625366291, i64 4607182418803234851, i64 4538478922287443831, i64 4607182418803209467, i64 4538447740949521547, i64 4607182418803184184, i64 4538416559611599437, i64 4607182418803159001, i64 4538385378273677501, i64 4607182418803133918, i64 4538354196935755739, i64 4607182418803108936, i64 4538323015597834149, i64 4607182418803084055, i64 4538291834259912731, i64 4607182418803059274, i64 4538260652921991484, i64 4607182418803034594, i64 4538229471584070408, i64 4607182418803010014, i64 4538198290246149502, i64 4607182418802985534, i64 4538167108908228764, i64 4607182418802961156, i64 4538135927570308195, i64 4607182418802936877, i64 4538104746232387794, i64 4607182418802912700, i64 4538073564894467560, i64 4607182418802888623, i64 4538042383556547493, i64 4607182418802864646, i64 4538011202218627591, i64 4607182418802840770, i64 4537980020880707854, i64 4607182418802816994, i64 4537948839542788281, i64 4607182418802793319, i64 4537917658204868872, i64 4607182418802769745, i64 4537886476866949626, i64 4607182418802746271, i64 4537855295529030541, i64 4607182418802722897, i64 4537824114191111619, i64 4607182418802699624, i64 4537792932853192857, i64 4607182418802676452, i64 4537761751515274255, i64 4607182418802653380, i64 4537730570177355813, i64 4607182418802630409, i64 4537699388839437529, i64 4607182418802607538, i64 4537668207501519403, i64 4607182418802584768, i64 4537637026163601435, i64 4607182418802562098, i64 4537605844825683623, i64 4607182418802539529, i64 4537574663487765967, i64 4607182418802517060, i64 4537543482149848467, i64 4607182418802494692, i64 4537512300811931121, i64 4607182418802472424, i64 4537481119474013928, i64 4607182418802450257, i64 4537449938136096889, i64 4607182418802428191, i64 4537418756798180003, i64 4607182418802406225, i64 4537387575460263268, i64 4607182418802384359, i64 4537356394122346684, i64 4607182418802362594, i64 4537325212784430250, i64 4607182418802340930, i64 4537294031446513966, i64 4607182418802319366, i64 4537262850108597831, i64 4607182418802297903, i64 4537231668770681844, i64 4607182418802276540, i64 4537200487432766005, i64 4607182418802255278, i64 4537169306094850313, i64 4607182418802234116, i64 4537138124756934767, i64 4607182418802213055, i64 4537106943419019366, i64 4607182418802192094, i64 4537075762081104110, i64 4607182418802171234, i64 4537044580743188998, i64 4607182418802150474, i64 4537013399405274030, i64 4607182418802129815, i64 4536982218067359204, i64 4607182418802109256, i64 4536951036729444520, i64 4607182418802088798, i64 4536919855391529978, i64 4607182418802068441, i64 4536888674053615576, i64 4607182418802048184, i64 4536857492715701314, i64 4607182418802028027, i64 4536826311377787191, i64 4607182418802007971, i64 4536795130039873207, i64 4607182418801988016, i64 4536763948701959361, i64 4607182418801968161, i64 4536732767364045651, i64 4607182418801948407, i64 4536701586026132078, i64 4607182418801928753, i64 4536670404688218641, i64 4607182418801909200, i64 4536639223350305339, i64 4607182418801889747, i64 4536608042012392171, i64 4607182418801870395, i64 4536576860674479137, i64 4607182418801851143, i64 4536545679336566236, i64 4607182418801831992, i64 4536514497998653467, i64 4607182418801812941, i64 4536483316660740830, i64 4607182418801793991, i64 4536452135322828323, i64 4607182418801775142, i64 4536420953984915947, i64 4607182418801756393, i64 4536389772647003700, i64 4607182418801737744, i64 4536358591309091582, i64 4607182418801719196, i64 4536327409971179592, i64 4607182418801700749, i64 4536296228633267729, i64 4607182418801682402, i64 4536265047295355993, i64 4607182418801664155, i64 4536233865957444383, i64 4607182418801646010, i64 4536202684619532898, i64 4607182418801627964, i64 4536171503281621538, i64 4607182418801610020, i64 4536140321943710302, i64 4607182418801592175, i64 4536109140605799189, i64 4607182418801574432, i64 4536077959267888198, i64 4607182418801556788, i64 4536046777929977329, i64 4607182418801539246, i64 4536015596592066582, i64 4607182418801521804, i64 4535984415254155954, i64 4607182418801504462, i64 4535953233916245447, i64 4607182418801487221, i64 4535922052578335058, i64 4607182418801470080, i64 4535890871240424788, i64 4607182418801453040, i64 4535859689902514636, i64 4607182418801436101, i64 4535828508564604600, i64 4607182418801419262, i64 4535797327226694681, i64 4607182418801402524, i64 4535766145888784877, i64 4607182418801385886, i64 4535734964550875188, i64 4607182418801369348, i64 4535703783212965613, i64 4607182418801352912, i64 4535672601875056152, i64 4607182418801336575, i64 4535641420537146803, i64 4607182418801320340, i64 4535610239199237567, i64 4607182418801304204, i64 4535579057861328441, i64 4607182418801288170, i64 4535547876523419427, i64 4607182418801272236, i64 4535516695185510522, i64 4607182418801256402, i64 4535485513847601727, i64 4607182418801240669, i64 4535454332509693041, i64 4607182418801225036, i64 4535423151171784462, i64 4607182418801209504, i64 4535391969833875990, i64 4607182418801194073, i64 4535360788495967625, i64 4607182418801178742, i64 4535329607158059366, i64 4607182418801163511, i64 4535298425820151212, i64 4607182418801148381, i64 4535267244482243162, i64 4607182418801133352, i64 4535236063144335216, i64 4607182418801118423, i64 4535204881806427373, i64 4607182418801103595, i64 4535173700468519632, i64 4607182418801088867, i64 4535142519130611993, i64 4607182418801074240, i64 4535097850823319437, i64 4607182418801059713, i64 4535035488147504561, i64 4607182418801045287, i64 4534973125471689884, i64 4607182418801030961, i64 4534910762795875405, i64 4607182418801016736, i64 4534848400120061122, i64 4607182418801002611, i64 4534786037444247034, i64 4607182418800988587, i64 4534723674768433140, i64 4607182418800974664, i64 4534661312092619437, i64 4607182418800960841, i64 4534598949416805925, i64 4607182418800947118, i64 4534536586740992603, i64 4607182418800933496, i64 4534474224065179469, i64 4607182418800919975, i64 4534411861389366521, i64 4607182418800906554, i64 4534349498713553758, i64 4607182418800893234, i64 4534287136037741179, i64 4607182418800880014, i64 4534224773361928782, i64 4607182418800866895, i64 4534162410686116567, i64 4607182418800853876, i64 4534100048010304531, i64 4607182418800840958, i64 4534068866672398579, i64 4607182418800834536, i64 4534037685334492673, i64 4607182418800828140, i64 4534006503996586810, i64 4607182418800821769, i64 4533975322658680992, i64 4607182418800815423, i64 4533944141320775217, i64 4607182418800809102, i64 4533912959982869486, i64 4607182418800802806, i64 4533881778644963798, i64 4607182418800796536, i64 4533850597307058154, i64 4607182418800790290, i64 4533819415969152553, i64 4607182418800784070, i64 4533788234631246995, i64 4607182418800777874, i64 4533757053293341480, i64 4607182418800771704, i64 4533725871955436007, i64 4607182418800765559, i64 4533694690617530577, i64 4607182418800759440, i64 4533663509279625189, i64 4607182418800753345, i64 4533632327941719843, i64 4607182418800747275, i64 4533601146603814540, i64 4607182418800741231, i64 4533569965265909278, i64 4607182418800735212, i64 4533538783928004057, i64 4607182418800729217, i64 4533507602590098878, i64 4607182418800723248, i64 4533476421252193740, i64 4607182418800717305, i64 4533445239914288643, i64 4607182418800711386, i64 4533414058576383588, i64 4607182418800705492, i64 4533382877238478572, i64 4607182418800699624, i64 4533351695900573598, i64 4607182418800693780, i64 4533320514562668664, i64 4607182418800687962, i64 4533289333224763770, i64 4607182418800682169, i64 4533258151886858916, i64 4607182418800676401, i64 4533226970548954101, i64 4607182418800670658, i64 4533195789211049327, i64 4607182418800664941, i64 4533164607873144592, i64 4607182418800659248, i64 4533133426535239896, i64 4607182418800653581, i64 4533102245197335240, i64 4607182418800647938, i64 4533071063859430622, i64 4607182418800642321, i64 4533039882521526044, i64 4607182418800636729, i64 4533008701183621503, i64 4607182418800631162, i64 4532977519845717002, i64 4607182418800625620, i64 4532946338507812538, i64 4607182418800620104, i64 4532915157169908113, i64 4607182418800614612, i64 4532883975832003726, i64 4607182418800609146, i64 4532852794494099376, i64 4607182418800603705, i64 4532821613156195064, i64 4607182418800598288, i64 4532790431818290790, i64 4607182418800592898, i64 4532759250480386553, i64 4607182418800587532, i64 4532728069142482352, i64 4607182418800582191, i64 4532696887804578189, i64 4607182418800576875, i64 4532665706466674062, i64 4607182418800571585, i64 4532634525128769972, i64 4607182418800566320, i64 4532603343790865918, i64 4607182418800561079, i64 4532572162452961901, i64 4607182418800555864, i64 4532540981115057919, i64 4607182418800550675, i64 4532509799777153974, i64 4607182418800545510, i64 4532478618439250064, i64 4607182418800540370, i64 4532447437101346189, i64 4607182418800535256, i64 4532416255763442350, i64 4607182418800530166, i64 4532385074425538546, i64 4607182418800525102, i64 4532353893087634777, i64 4607182418800520063, i64 4532322711749731043, i64 4607182418800515049, i64 4532291530411827343, i64 4607182418800510060, i64 4532260349073923678, i64 4607182418800505096, i64 4532229167736020047, i64 4607182418800500158, i64 4532197986398116450, i64 4607182418800495244, i64 4532166805060212887, i64 4607182418800490356, i64 4532135623722309358, i64 4607182418800485493, i64 4532104442384405863, i64 4607182418800480655, i64 4532073261046502401, i64 4607182418800475842, i64 4532042079708598972, i64 4607182418800471054, i64 4532010898370695576, i64 4607182418800466291, i64 4531979717032792213, i64 4607182418800461554, i64 4531948535694888883, i64 4607182418800456841, i64 4531917354356985585, i64 4607182418800452154, i64 4531886173019082320, i64 4607182418800447492, i64 4531854991681179087, i64 4607182418800442855, i64 4531823810343275886, i64 4607182418800438243, i64 4531792629005372717, i64 4607182418800433656, i64 4531761447667469579, i64 4607182418800429095, i64 4531730266329566473, i64 4607182418800424558, i64 4531699084991663398, i64 4607182418800420047, i64 4531667903653760355, i64 4607182418800415561, i64 4531636722315857342, i64 4607182418800411100, i64 4531605540977954360, i64 4607182418800406664, i64 4531574359640051409, i64 4607182418800402253, i64 4531543178302148488, i64 4607182418800397867, i64 4531511996964245598, i64 4607182418800393507, i64 4531480815626342737, i64 4607182418800389172, i64 4531449634288439907, i64 4607182418800384861, i64 4531418452950537106, i64 4607182418800380576, i64 4531387271612634335, i64 4607182418800376316, i64 4531356090274731593, i64 4607182418800372081, i64 4531324908936828881, i64 4607182418800367872, i64 4531293727598926198, i64 4607182418800363687, i64 4531262546261023543, i64 4607182418800359527, i64 4531231364923120917, i64 4607182418800355393, i64 4531200183585218320, i64 4607182418800351284, i64 4531169002247315751, i64 4607182418800347200, i64 4531137820909413210, i64 4607182418800343141, i64 4531106639571510698, i64 4607182418800339107, i64 4531075458233608213, i64 4607182418800335098, i64 4531044276895705756, i64 4607182418800331115, i64 4531013095557803326, i64 4607182418800327156, i64 4530981914219900924, i64 4607182418800323223, i64 4530950732881998548, i64 4607182418800319315, i64 4530919551544096200, i64 4607182418800315432, i64 4530888370206193879, i64 4607182418800311574, i64 4530857188868291584, i64 4607182418800307741, i64 4530826007530389315, i64 4607182418800303934, i64 4530794826192487073, i64 4607182418800300151, i64 4530763644854584857, i64 4607182418800296394, i64 4530732463516682667, i64 4607182418800292662, i64 4530701282178780503, i64 4607182418800288955, i64 4530670100840878364, i64 4607182418800285273, i64 4530638919502976251, i64 4607182418800281616, i64 4530594251195429349, i64 4607182418800277984, i64 4530531888519625223, i64 4607182418800274378, i64 4530469525843821147, i64 4607182418800270796, i64 4530407163168017120, i64 4607182418800267240, i64 4530344800492213142, i64 4607182418800263709, i64 4530282437816409213, i64 4607182418800260203, i64 4530220075140605332, i64 4607182418800256722, i64 4530157712464801499, i64 4607182418800253266, i64 4530095349788997714, i64 4607182418800249836, i64 4530032987113193977, i64 4607182418800246430, i64 4529970624437390286, i64 4607182418800243050, i64 4529908261761586642, i64 4607182418800239695, i64 4529845899085783044, i64 4607182418800236364, i64 4529783536409979492, i64 4607182418800233059, i64 4529721173734175986, i64 4607182418800229780, i64 4529658811058372525, i64 4607182418800226525, i64 4529596448382569109, i64 4607182418800223295, i64 4529565267044667417, i64 4607182418800221690, i64 4529534085706765737, i64 4607182418800220091, i64 4529502904368864068, i64 4607182418800218498, i64 4529471723030962410, i64 4607182418800216912, i64 4529440541693060762, i64 4607182418800215331, i64 4529409360355159126, i64 4607182418800213758, i64 4529378179017257501, i64 4607182418800212190, i64 4529346997679355886, i64 4607182418800210629, i64 4529315816341454282, i64 4607182418800209073, i64 4529284635003552689, i64 4607182418800207525, i64 4529253453665651107, i64 4607182418800205982, i64 4529222272327749535, i64 4607182418800204446, i64 4529191090989847974, i64 4607182418800202916, i64 4529159909651946423, i64 4607182418800201392, i64 4529128728314044883, i64 4607182418800199875, i64 4529097546976143354, i64 4607182418800198364, i64 4529066365638241835, i64 4607182418800196859, i64 4529035184300340326, i64 4607182418800195360, i64 4529004002962438828, i64 4607182418800193868, i64 4528972821624537340, i64 4607182418800192382, i64 4528941640286635862, i64 4607182418800190902, i64 4528910458948734395, i64 4607182418800189429, i64 4528879277610832937, i64 4607182418800187962, i64 4528848096272931490, i64 4607182418800186501, i64 4528816914935030053, i64 4607182418800185047, i64 4528785733597128626, i64 4607182418800183598, i64 4528754552259227209, i64 4607182418800182156, i64 4528723370921325802, i64 4607182418800180721, i64 4528692189583424404, i64 4607182418800179291, i64 4528661008245523017, i64 4607182418800177868, i64 4528629826907621640, i64 4607182418800176451, i64 4528598645569720272, i64 4607182418800175041, i64 4528567464231818914, i64 4607182418800173636, i64 4528536282893917566, i64 4607182418800172238, i64 4528505101556016227, i64 4607182418800170847, i64 4528473920218114898, i64 4607182418800169461, i64 4528442738880213579, i64 4607182418800168082, i64 4528411557542312269, i64 4607182418800166709, i64 4528380376204410969, i64 4607182418800165342, i64 4528349194866509678, i64 4607182418800163982, i64 4528318013528608396, i64 4607182418800162628, i64 4528286832190707124, i64 4607182418800161280, i64 4528255650852805861, i64 4607182418800159939, i64 4528224469514904607, i64 4607182418800158604, i64 4528193288177003363, i64 4607182418800157275, i64 4528162106839102128, i64 4607182418800155952, i64 4528130925501200902, i64 4607182418800154636, i64 4528099744163299685, i64 4607182418800153326, i64 4528068562825398477, i64 4607182418800152022, i64 4528037381487497278, i64 4607182418800150725, i64 4528006200149596088, i64 4607182418800149433, i64 4527975018811694907, i64 4607182418800148149, i64 4527943837473793734, i64 4607182418800146870, i64 4527912656135892571, i64 4607182418800145598, i64 4527881474797991417, i64 4607182418800144331, i64 4527850293460090271, i64 4607182418800143072, i64 4527819112122189134, i64 4607182418800141818, i64 4527787930784288005, i64 4607182418800140571, i64 4527756749446386885, i64 4607182418800139330, i64 4527725568108485774, i64 4607182418800138095, i64 4527694386770584671, i64 4607182418800136867, i64 4527663205432683577, i64 4607182418800135645, i64 4527632024094782491, i64 4607182418800134429, i64 4527600842756881414, i64 4607182418800133220, i64 4527569661418980345, i64 4607182418800132016, i64 4527538480081079284, i64 4607182418800130819, i64 4527507298743178231, i64 4607182418800129629, i64 4527476117405277187, i64 4607182418800128444, i64 4527444936067376151, i64 4607182418800127266, i64 4527413754729475123, i64 4607182418800126095, i64 4527382573391574103, i64 4607182418800124929, i64 4527351392053673091, i64 4607182418800123770, i64 4527320210715772087, i64 4607182418800122617, i64 4527289029377871092, i64 4607182418800121470, i64 4527257848039970104, i64 4607182418800120330, i64 4527226666702069123, i64 4607182418800119196, i64 4527195485364168151, i64 4607182418800118068, i64 4527164304026267187, i64 4607182418800116946, i64 4527133122688366230, i64 4607182418800115831, i64 4527101941350465281, i64 4607182418800114722, i64 4527070760012564340, i64 4607182418800113619, i64 4527039578674663406, i64 4607182418800112523, i64 4527008397336762480, i64 4607182418800111433, i64 4526977215998861561, i64 4607182418800110349, i64 4526946034660960650, i64 4607182418800109271, i64 4526914853323059746, i64 4607182418800108200, i64 4526883671985158850, i64 4607182418800107135, i64 4526852490647257961, i64 4607182418800106076, i64 4526821309309357079, i64 4607182418800105024, i64 4526790127971456205, i64 4607182418800103978, i64 4526758946633555338, i64 4607182418800102938, i64 4526727765295654478, i64 4607182418800101904, i64 4526696583957753625, i64 4607182418800100877, i64 4526665402619852779, i64 4607182418800099856, i64 4526634221281951940, i64 4607182418800098841, i64 4526603039944051108, i64 4607182418800097833, i64 4526571858606150284, i64 4607182418800096831, i64 4526540677268249466, i64 4607182418800095835, i64 4526509495930348655, i64 4607182418800094845, i64 4526478314592447851, i64 4607182418800093862, i64 4526447133254547053, i64 4607182418800092885, i64 4526415951916646263, i64 4607182418800091914, i64 4526384770578745479, i64 4607182418800090950, i64 4526353589240844701, i64 4607182418800089991, i64 4526322407902943931, i64 4607182418800089039, i64 4526291226565043167, i64 4607182418800088094, i64 4526260045227142409, i64 4607182418800087154, i64 4526228863889241658, i64 4607182418800086221, i64 4526197682551340913, i64 4607182418800085295, i64 4526166501213440175, i64 4607182418800084374, i64 4526135319875539443, i64 4607182418800083460, i64 4526090651567928955, i64 4607182418800082552, i64 4526028288892127517, i64 4607182418800081650, i64 4525965926216326090, i64 4607182418800080755, i64 4525903563540524677, i64 4607182418800079866, i64 4525841200864723275, i64 4607182418800078983, i64 4525778838188921886, i64 4607182418800078107, i64 4525716475513120508, i64 4607182418800077236, i64 4525654112837319143, i64 4607182418800076373, i64 4525591750161517790, i64 4607182418800075515, i64 4525529387485716448, i64 4607182418800074664, i64 4525467024809915118, i64 4607182418800073818, i64 4525404662134113800, i64 4607182418800072980, i64 4525342299458312493, i64 4607182418800072147, i64 4525279936782511198, i64 4607182418800071321, i64 4525217574106709915, i64 4607182418800070501, i64 4525155211430908642, i64 4607182418800069687, i64 4525092848755107381, i64 4607182418800068880, i64 4525061667417206755, i64 4607182418800068479, i64 4525030486079306131, i64 4607182418800068079, i64 4524999304741405510, i64 4607182418800067681, i64 4524968123403504892, i64 4607182418800067284, i64 4524936942065604277, i64 4607182418800066889, i64 4524905760727703664, i64 4607182418800066495, i64 4524874579389803054, i64 4607182418800066103, i64 4524843398051902447, i64 4607182418800065713, i64 4524812216714001842, i64 4607182418800065324, i64 4524781035376101241, i64 4607182418800064937, i64 4524749854038200641, i64 4607182418800064552, i64 4524718672700300045, i64 4607182418800064167, i64 4524687491362399451, i64 4607182418800063785, i64 4524656310024498860, i64 4607182418800063404, i64 4524625128686598271, i64 4607182418800063025, i64 4524593947348697685, i64 4607182418800062647, i64 4524562766010797102, i64 4607182418800062271, i64 4524531584672896521, i64 4607182418800061896, i64 4524500403334995943, i64 4607182418800061523, i64 4524469221997095368, i64 4607182418800061152, i64 4524438040659194795, i64 4607182418800060782, i64 4524406859321294224, i64 4607182418800060413, i64 4524375677983393656, i64 4607182418800060046, i64 4524344496645493091, i64 4607182418800059681, i64 4524313315307592528, i64 4607182418800059318, i64 4524282133969691968, i64 4607182418800058956, i64 4524250952631791410, i64 4607182418800058595, i64 4524219771293890855, i64 4607182418800058236, i64 4524188589955990302, i64 4607182418800057879, i64 4524157408618089751, i64 4607182418800057523, i64 4524126227280189203, i64 4607182418800057169, i64 4524095045942288658, i64 4607182418800056816, i64 4524063864604388115, i64 4607182418800056465, i64 4524032683266487574, i64 4607182418800056116, i64 4524001501928587036, i64 4607182418800055768, i64 4523970320590686500, i64 4607182418800055421, i64 4523939139252785967, i64 4607182418800055076, i64 4523907957914885436, i64 4607182418800054733, i64 4523876776576984907, i64 4607182418800054392, i64 4523845595239084381, i64 4607182418800054052, i64 4523814413901183857, i64 4607182418800053713, i64 4523783232563283335, i64 4607182418800053376, i64 4523752051225382816, i64 4607182418800053041, i64 4523720869887482299, i64 4607182418800052707, i64 4523689688549581784, i64 4607182418800052375, i64 4523658507211681272, i64 4607182418800052044, i64 4523627325873780762, i64 4607182418800051715, i64 4523596144535880254, i64 4607182418800051387, i64 4523564963197979749, i64 4607182418800051062, i64 4523533781860079245, i64 4607182418800050737, i64 4523502600522178744, i64 4607182418800050414, i64 4523471419184278245, i64 4607182418800050093, i64 4523440237846377749, i64 4607182418800049773, i64 4523409056508477254, i64 4607182418800049455, i64 4523377875170576762, i64 4607182418800049139, i64 4523346693832676272, i64 4607182418800048824, i64 4523315512494775784, i64 4607182418800048511, i64 4523284331156875299, i64 4607182418800048199, i64 4523253149818974815, i64 4607182418800047889, i64 4523221968481074334, i64 4607182418800047580, i64 4523190787143173854, i64 4607182418800047273, i64 4523159605805273377, i64 4607182418800046967, i64 4523128424467372902, i64 4607182418800046663, i64 4523097243129472429, i64 4607182418800046361, i64 4523066061791571959, i64 4607182418800046060, i64 4523034880453671490, i64 4607182418800045761, i64 4523003699115771023, i64 4607182418800045463, i64 4522972517777870559, i64 4607182418800045167, i64 4522941336439970096, i64 4607182418800044873, i64 4522910155102069635, i64 4607182418800044580, i64 4522878973764169177, i64 4607182418800044288, i64 4522847792426268720, i64 4607182418800043998, i64 4522816611088368266, i64 4607182418800043710, i64 4522785429750467813, i64 4607182418800043424, i64 4522754248412567363, i64 4607182418800043138, i64 4522723067074666914, i64 4607182418800042855, i64 4522691885736766467, i64 4607182418800042573, i64 4522660704398866023, i64 4607182418800042293, i64 4522629523060965580, i64 4607182418800042014, i64 4522598341723065139, i64 4607182418800041736, i64 4522567160385164700, i64 4607182418800041461, i64 4522535979047264263, i64 4607182418800041187, i64 4522504797709363828, i64 4607182418800040914, i64 4522473616371463395, i64 4607182418800040643, i64 4522442435033562964, i64 4607182418800040374, i64 4522411253695662534, i64 4607182418800040106, i64 4522380072357762107, i64 4607182418800039840, i64 4522348891019861681, i64 4607182418800039575, i64 4522317709681961257, i64 4607182418800039312, i64 4522286528344060835, i64 4607182418800039050, i64 4522255347006160414, i64 4607182418800038790, i64 4522224165668259996, i64 4607182418800038532, i64 4522192984330359579, i64 4607182418800038275, i64 4522161802992459164, i64 4607182418800038020, i64 4522130621654558751, i64 4607182418800037766, i64 4522099440316658339, i64 4607182418800037514, i64 4522068258978757929, i64 4607182418800037264, i64 4522037077640857521, i64 4607182418800037015, i64 4522005896302957115, i64 4607182418800036767, i64 4521974714965056710, i64 4607182418800036521, i64 4521943533627156307, i64 4607182418800036277, i64 4521912352289255906, i64 4607182418800036035, i64 4521881170951355507, i64 4607182418800035793, i64 4521849989613455109, i64 4607182418800035554, i64 4521818808275554713, i64 4607182418800035316, i64 4521787626937654318, i64 4607182418800035079, i64 4521756445599753925, i64 4607182418800034845, i64 4521725264261853534, i64 4607182418800034611, i64 4521694082923953144, i64 4607182418800034380, i64 4521662901586052756, i64 4607182418800034150, i64 4521631720248152369, i64 4607182418800033921, i64 4521587051940525985, i64 4607182418800033694, i64 4521524689264725218, i64 4607182418800033469, i64 4521462326588924454, i64 4607182418800033245, i64 4521399963913123694, i64 4607182418800033023, i64 4521337601237322936, i64 4607182418800032802, i64 4521275238561522182, i64 4607182418800032583, i64 4521212875885721430, i64 4607182418800032365, i64 4521150513209920682, i64 4607182418800032149, i64 4521088150534119936, i64 4607182418800031935, i64 4521025787858319194, i64 4607182418800031722, i64 4520963425182518454, i64 4607182418800031511, i64 4520901062506717718, i64 4607182418800031301, i64 4520838699830916984, i64 4607182418800031093, i64 4520776337155116253, i64 4607182418800030886, i64 4520713974479315525, i64 4607182418800030681, i64 4520651611803514800, i64 4607182418800030478, i64 4520589249127714077, i64 4607182418800030276, i64 4520558067789813717, i64 4607182418800030176, i64 4520526886451913358, i64 4607182418800030076, i64 4520495705114012999, i64 4607182418800029976, i64 4520464523776112641, i64 4607182418800029877, i64 4520433342438212283, i64 4607182418800029778, i64 4520402161100311927, i64 4607182418800029680, i64 4520370979762411571, i64 4607182418800029582, i64 4520339798424511215, i64 4607182418800029484, i64 4520308617086610861, i64 4607182418800029387, i64 4520277435748710507, i64 4607182418800029290, i64 4520246254410810153, i64 4607182418800029194, i64 4520215073072909800, i64 4607182418800029098, i64 4520183891735009448, i64 4607182418800029002, i64 4520152710397109097, i64 4607182418800028907, i64 4520121529059208746, i64 4607182418800028812, i64 4520090347721308396, i64 4607182418800028718, i64 4520059166383408047, i64 4607182418800028624, i64 4520027985045507698, i64 4607182418800028530, i64 4519996803707607350, i64 4607182418800028437, i64 4519965622369707003, i64 4607182418800028344, i64 4519934441031806656, i64 4607182418800028251, i64 4519903259693906310, i64 4607182418800028159, i64 4519872078356005964, i64 4607182418800028068, i64 4519840897018105619, i64 4607182418800027976, i64 4519809715680205275, i64 4607182418800027885, i64 4519778534342304931, i64 4607182418800027795, i64 4519747353004404588, i64 4607182418800027705, i64 4519716171666504246, i64 4607182418800027615, i64 4519684990328603904, i64 4607182418800027526, i64 4519653808990703563, i64 4607182418800027437, i64 4519622627652803222, i64 4607182418800027348, i64 4519591446314902882, i64 4607182418800027260, i64 4519560264977002543, i64 4607182418800027172, i64 4519529083639102204, i64 4607182418800027085, i64 4519497902301201866, i64 4607182418800026998, i64 4519466720963301529, i64 4607182418800026911, i64 4519435539625401192, i64 4607182418800026825, i64 4519404358287500856, i64 4607182418800026739, i64 4519373176949600520, i64 4607182418800026654, i64 4519341995611700185, i64 4607182418800026569, i64 4519310814273799850, i64 4607182418800026484, i64 4519279632935899516, i64 4607182418800026400, i64 4519248451597999183, i64 4607182418800026316, i64 4519217270260098850, i64 4607182418800026233, i64 4519186088922198518, i64 4607182418800026150, i64 4519154907584298186, i64 4607182418800026067, i64 4519123726246397855, i64 4607182418800025985, i64 4519092544908497525, i64 4607182418800025903, i64 4519061363570597195, i64 4607182418800025821, i64 4519030182232696865, i64 4607182418800025740, i64 4518999000894796536, i64 4607182418800025660, i64 4518967819556896208, i64 4607182418800025579, i64 4518936638218995880, i64 4607182418800025499, i64 4518905456881095553, i64 4607182418800025420, i64 4518874275543195227, i64 4607182418800025341, i64 4518843094205294901, i64 4607182418800025262, i64 4518811912867394575, i64 4607182418800025184, i64 4518780731529494250, i64 4607182418800025106, i64 4518749550191593926, i64 4607182418800025028, i64 4518718368853693602, i64 4607182418800024951, i64 4518687187515793278, i64 4607182418800024874, i64 4518656006177892955, i64 4607182418800024798, i64 4518624824839992633, i64 4607182418800024722, i64 4518593643502092311, i64 4607182418800024646, i64 4518562462164191990, i64 4607182418800024571, i64 4518531280826291669, i64 4607182418800024496, i64 4518500099488391349, i64 4607182418800024422, i64 4518468918150491029, i64 4607182418800024348, i64 4518437736812590710, i64 4607182418800024274, i64 4518406555474690391, i64 4607182418800024201, i64 4518375374136790073, i64 4607182418800024128, i64 4518344192798889756, i64 4607182418800024056, i64 4518313011460989438, i64 4607182418800023984, i64 4518281830123089122, i64 4607182418800023912, i64 4518250648785188805, i64 4607182418800023841, i64 4518219467447288490, i64 4607182418800023770, i64 4518188286109388175, i64 4607182418800023699, i64 4518157104771487860, i64 4607182418800023629, i64 4518125923433587546, i64 4607182418800023559, i64 4518094742095687232, i64 4607182418800023490, i64 4518063560757786919, i64 4607182418800023421, i64 4518032379419886606, i64 4607182418800023353, i64 4518001198081986293, i64 4607182418800023285, i64 4517970016744085981, i64 4607182418800023217, i64 4517938835406185670, i64 4607182418800023149, i64 4517907654068285359, i64 4607182418800023083, i64 4517876472730385049, i64 4607182418800023016, i64 4517845291392484739, i64 4607182418800022950, i64 4517814110054584429, i64 4607182418800022884, i64 4517782928716684120, i64 4607182418800022819, i64 4517751747378783811, i64 4607182418800022754, i64 4517720566040883503, i64 4607182418800022689, i64 4517689384702983195, i64 4607182418800022625, i64 4517658203365082888, i64 4607182418800022561, i64 4517627022027182581, i64 4607182418800022498, i64 4517595840689282275, i64 4607182418800022435, i64 4517564659351381969, i64 4607182418800022372, i64 4517533478013481663, i64 4607182418800022310, i64 4517502296675581358, i64 4607182418800022248, i64 4517471115337681053, i64 4607182418800022186, i64 4517439933999780749, i64 4607182418800022125, i64 4517408752661880445, i64 4607182418800022065, i64 4517377571323980142, i64 4607182418800022004, i64 4517346389986079839, i64 4607182418800021944, i64 4517315208648179536, i64 4607182418800021885, i64 4517284027310279234, i64 4607182418800021826, i64 4517252845972378932, i64 4607182418800021767, i64 4517221664634478631, i64 4607182418800021709, i64 4517190483296578330, i64 4607182418800021651, i64 4517159301958678029, i64 4607182418800021593, i64 4517128120620777729, i64 4607182418800021536, i64 4517083452313147370, i64 4607182418800021480, i64 4517021089637346771, i64 4607182418800021423, i64 4516958726961546173, i64 4607182418800021367, i64 4516896364285745576, i64 4607182418800021312, i64 4516834001609944980, i64 4607182418800021256, i64 4516771638934144384, i64 4607182418800021202, i64 4516709276258343789, i64 4607182418800021147, i64 4516646913582543195, i64 4607182418800021093, i64 4516584550906742601, i64 4607182418800021040, i64 4516522188230942008, i64 4607182418800020986, i64 4516459825555141416, i64 4607182418800020934, i64 4516397462879340825, i64 4607182418800020881, i64 4516335100203540234, i64 4607182418800020829, i64 4516272737527739645, i64 4607182418800020778, i64 4516210374851939055, i64 4607182418800020726, i64 4516148012176138467, i64 4607182418800020675, i64 4516085649500337879, i64 4607182418800020625, i64 4516054468162437586, i64 4607182418800020600, i64 4516023286824537292, i64 4607182418800020575, i64 4515992105486636999, i64 4607182418800020550, i64 4515960924148736706, i64 4607182418800020525, i64 4515929742810836413, i64 4607182418800020501, i64 4515898561472936120, i64 4607182418800020476, i64 4515867380135035828, i64 4607182418800020451, i64 4515836198797135535, i64 4607182418800020427, i64 4515805017459235243, i64 4607182418800020403, i64 4515773836121334951, i64 4607182418800020379, i64 4515742654783434659, i64 4607182418800020354, i64 4515711473445534367, i64 4607182418800020330, i64 4515680292107634076, i64 4607182418800020307, i64 4515649110769733784, i64 4607182418800020283, i64 4515617929431833493, i64 4607182418800020259, i64 4515586748093933202, i64 4607182418800020235, i64 4515555566756032911, i64 4607182418800020212, i64 4515524385418132620, i64 4607182418800020189, i64 4515493204080232330, i64 4607182418800020165, i64 4515462022742332039, i64 4607182418800020142, i64 4515430841404431749, i64 4607182418800020119, i64 4515399660066531459, i64 4607182418800020096, i64 4515368478728631169, i64 4607182418800020073, i64 4515337297390730879, i64 4607182418800020050, i64 4515306116052830590, i64 4607182418800020027, i64 4515274934714930300, i64 4607182418800020005, i64 4515243753377030011, i64 4607182418800019982, i64 4515212572039129722, i64 4607182418800019960, i64 4515181390701229433, i64 4607182418800019937, i64 4515150209363329144, i64 4607182418800019915, i64 4515119028025428855, i64 4607182418800019893, i64 4515087846687528567, i64 4607182418800019871, i64 4515056665349628278, i64 4607182418800019849, i64 4515025484011727990, i64 4607182418800019827, i64 4514994302673827702, i64 4607182418800019805, i64 4514963121335927414, i64 4607182418800019784, i64 4514931939998027126, i64 4607182418800019762, i64 4514900758660126839, i64 4607182418800019741, i64 4514869577322226551, i64 4607182418800019719, i64 4514838395984326264, i64 4607182418800019698, i64 4514807214646425976, i64 4607182418800019677, i64 4514776033308525689, i64 4607182418800019656, i64 4514744851970625403, i64 4607182418800019635, i64 4514713670632725116, i64 4607182418800019614, i64 4514682489294824829, i64 4607182418800019593, i64 4514651307956924543, i64 4607182418800019573, i64 4514620126619024256, i64 4607182418800019552, i64 4514588945281123970, i64 4607182418800019532, i64 4514557763943223684, i64 4607182418800019511, i64 4514526582605323398, i64 4607182418800019491, i64 4514495401267423112, i64 4607182418800019471, i64 4514464219929522827, i64 4607182418800019451, i64 4514433038591622541, i64 4607182418800019431, i64 4514401857253722256, i64 4607182418800019411, i64 4514370675915821971, i64 4607182418800019391, i64 4514339494577921686, i64 4607182418800019371, i64 4514308313240021401, i64 4607182418800019352, i64 4514277131902121116, i64 4607182418800019332, i64 4514245950564220831, i64 4607182418800019313, i64 4514214769226320547, i64 4607182418800019294, i64 4514183587888420262, i64 4607182418800019275, i64 4514152406550519978, i64 4607182418800019255, i64 4514121225212619694, i64 4607182418800019236, i64 4514090043874719410, i64 4607182418800019218, i64 4514058862536819126, i64 4607182418800019199, i64 4514027681198918842, i64 4607182418800019180, i64 4513996499861018559, i64 4607182418800019161, i64 4513965318523118275, i64 4607182418800019143, i64 4513934137185217992, i64 4607182418800019125, i64 4513902955847317708, i64 4607182418800019106, i64 4513871774509417425, i64 4607182418800019088, i64 4513840593171517142, i64 4607182418800019070, i64 4513809411833616860, i64 4607182418800019052, i64 4513778230495716577, i64 4607182418800019034, i64 4513747049157816294, i64 4607182418800019016, i64 4513715867819916012, i64 4607182418800018998, i64 4513684686482015729, i64 4607182418800018981, i64 4513653505144115447, i64 4607182418800018963, i64 4513622323806215165, i64 4607182418800018946, i64 4513591142468314883, i64 4607182418800018929, i64 4513559961130414601, i64 4607182418800018911, i64 4513528779792514319, i64 4607182418800018894, i64 4513497598454614038, i64 4607182418800018877, i64 4513466417116713756, i64 4607182418800018860, i64 4513435235778813475, i64 4607182418800018843, i64 4513404054440913193, i64 4607182418800018827, i64 4513372873103012912, i64 4607182418800018810, i64 4513341691765112631, i64 4607182418800018793, i64 4513310510427212350, i64 4607182418800018777, i64 4513279329089312069, i64 4607182418800018761, i64 4513248147751411789, i64 4607182418800018744, i64 4513216966413511508, i64 4607182418800018728, i64 4513185785075611228, i64 4607182418800018712, i64 4513154603737710947, i64 4607182418800018696, i64 4513123422399810667, i64 4607182418800018680, i64 4513092241061910387, i64 4607182418800018665, i64 4513061059724010107, i64 4607182418800018649, i64 4513029878386109827, i64 4607182418800018633, i64 4512998697048209547, i64 4607182418800018618, i64 4512967515710309267, i64 4607182418800018603, i64 4512936334372408987, i64 4607182418800018587, i64 4512905153034508708, i64 4607182418800018572, i64 4512873971696608428, i64 4607182418800018557, i64 4512842790358708149, i64 4607182418800018542, i64 4512811609020807870, i64 4607182418800018527, i64 4512780427682907591, i64 4607182418800018512, i64 4512749246345007312, i64 4607182418800018498, i64 4512718065007107033, i64 4607182418800018483, i64 4512686883669206754, i64 4607182418800018469, i64 4512655702331306475, i64 4607182418800018454, i64 4512624520993406197, i64 4607182418800018440, i64 4512579852685774845, i64 4607182418800018426, i64 4512517490009974288, i64 4607182418800018412, i64 4512455127334173731, i64 4607182418800018398, i64 4512392764658373175, i64 4607182418800018384, i64 4512330401982572618, i64 4607182418800018370, i64 4512268039306772062, i64 4607182418800018356, i64 4512205676630971506, i64 4607182418800018343, i64 4512143313955170951, i64 4607182418800018329, i64 4512080951279370395, i64 4607182418800018316, i64 4512018588603569840, i64 4607182418800018303, i64 4511956225927769285, i64 4607182418800018289, i64 4511893863251968730, i64 4607182418800018276, i64 4511831500576168175, i64 4607182418800018263, i64 4511769137900367621, i64 4607182418800018250, i64 4511706775224567066, i64 4607182418800018238, i64 4511644412548766512, i64 4607182418800018225, i64 4511582049872965958, i64 4607182418800018212, i64 4511550868535065681, i64 4607182418800018206, i64 4511519687197165404, i64 4607182418800018200, i64 4511488505859265127, i64 4607182418800018194, i64 4511457324521364850, i64 4607182418800018187, i64 4511426143183464573, i64 4607182418800018181, i64 4511394961845564297, i64 4607182418800018175, i64 4511363780507664020, i64 4607182418800018169, i64 4511332599169763743, i64 4607182418800018163, i64 4511301417831863467, i64 4607182418800018157, i64 4511270236493963190, i64 4607182418800018151, i64 4511239055156062914, i64 4607182418800018145, i64 4511207873818162637, i64 4607182418800018139, i64 4511176692480262361, i64 4607182418800018133, i64 4511145511142362084, i64 4607182418800018127, i64 4511114329804461808, i64 4607182418800018121, i64 4511083148466561532, i64 4607182418800018115, i64 4511051967128661255, i64 4607182418800018109, i64 4511020785790760979, i64 4607182418800018103, i64 4510989604452860703, i64 4607182418800018097, i64 4510958423114960427, i64 4607182418800018091, i64 4510927241777060150, i64 4607182418800018086, i64 4510896060439159874, i64 4607182418800018080, i64 4510864879101259598, i64 4607182418800018074, i64 4510833697763359322, i64 4607182418800018069, i64 4510802516425459046, i64 4607182418800018063, i64 4510771335087558770, i64 4607182418800018057, i64 4510740153749658495, i64 4607182418800018052, i64 4510708972411758219, i64 4607182418800018046, i64 4510677791073857943, i64 4607182418800018040, i64 4510646609735957667, i64 4607182418800018035, i64 4510615428398057391, i64 4607182418800018029, i64 4510584247060157116, i64 4607182418800018024, i64 4510553065722256840, i64 4607182418800018018, i64 4510521884384356564, i64 4607182418800018013, i64 4510490703046456289, i64 4607182418800018007, i64 4510459521708556013, i64 4607182418800018002, i64 4510428340370655738, i64 4607182418800017997, i64 4510397159032755462, i64 4607182418800017991, i64 4510365977694855187, i64 4607182418800017986, i64 4510334796356954911, i64 4607182418800017981, i64 4510303615019054636, i64 4607182418800017975, i64 4510272433681154361, i64 4607182418800017970, i64 4510241252343254085, i64 4607182418800017965, i64 4510210071005353810, i64 4607182418800017960, i64 4510178889667453535, i64 4607182418800017954, i64 4510147708329553260, i64 4607182418800017949, i64 4510116526991652985, i64 4607182418800017944, i64 4510085345653752710, i64 4607182418800017939, i64 4510054164315852434, i64 4607182418800017934, i64 4510022982977952159, i64 4607182418800017929, i64 4509991801640051884, i64 4607182418800017924, i64 4509960620302151609, i64 4607182418800017919, i64 4509929438964251334, i64 4607182418800017914, i64 4509898257626351060, i64 4607182418800017909, i64 4509867076288450785, i64 4607182418800017904, i64 4509835894950550510, i64 4607182418800017899, i64 4509804713612650235, i64 4607182418800017894, i64 4509773532274749960, i64 4607182418800017889, i64 4509742350936849686, i64 4607182418800017884, i64 4509711169598949411, i64 4607182418800017879, i64 4509679988261049136, i64 4607182418800017875, i64 4509648806923148862, i64 4607182418800017870, i64 4509617625585248587, i64 4607182418800017865, i64 4509586444247348312, i64 4607182418800017860, i64 4509555262909448038, i64 4607182418800017856, i64 4509524081571547763, i64 4607182418800017851, i64 4509492900233647489, i64 4607182418800017846, i64 4509461718895747215, i64 4607182418800017842, i64 4509430537557846940, i64 4607182418800017837, i64 4509399356219946666, i64 4607182418800017833, i64 4509368174882046391, i64 4607182418800017828, i64 4509336993544146117, i64 4607182418800017823, i64 4509305812206245843, i64 4607182418800017819, i64 4509274630868345569, i64 4607182418800017814, i64 4509243449530445294, i64 4607182418800017810, i64 4509212268192545020, i64 4607182418800017806, i64 4509181086854644746, i64 4607182418800017801, i64 4509149905516744472, i64 4607182418800017797, i64 4509118724178844198, i64 4607182418800017792, i64 4509087542840943924, i64 4607182418800017788, i64 4509056361503043650, i64 4607182418800017784, i64 4509025180165143376, i64 4607182418800017780, i64 4508993998827243102, i64 4607182418800017775, i64 4508962817489342828, i64 4607182418800017771, i64 4508931636151442554, i64 4607182418800017767, i64 4508900454813542280, i64 4607182418800017763, i64 4508869273475642006, i64 4607182418800017758, i64 4508838092137741732, i64 4607182418800017754, i64 4508806910799841458, i64 4607182418800017750, i64 4508775729461941185, i64 4607182418800017746, i64 4508744548124040911, i64 4607182418800017742, i64 4508713366786140637, i64 4607182418800017738, i64 4508682185448240364, i64 4607182418800017734, i64 4508651004110340090, i64 4607182418800017730, i64 4508619822772439816, i64 4607182418800017726, i64 4508588641434539543, i64 4607182418800017722, i64 4508557460096639269, i64 4607182418800017718, i64 4508526278758738996, i64 4607182418800017714, i64 4508495097420838722, i64 4607182418800017710, i64 4508463916082938449, i64 4607182418800017707, i64 4508432734745038175, i64 4607182418800017703, i64 4508401553407137902, i64 4607182418800017699, i64 4508370372069237628, i64 4607182418800017695, i64 4508339190731337355, i64 4607182418800017692, i64 4508308009393437081, i64 4607182418800017688, i64 4508276828055536808, i64 4607182418800017684, i64 4508245646717636535, i64 4607182418800017680, i64 4508214465379736261, i64 4607182418800017677, i64 4508183284041835988, i64 4607182418800017673, i64 4508152102703935715, i64 4607182418800017670, i64 4508120921366035442, i64 4607182418800017666, i64 4508076253058403841, i64 4607182418800017662, i64 4508013890382603295, i64 4607182418800017659, i64 4507951527706802749, i64 4607182418800017655, i64 4507889165031002202, i64 4607182418800017652, i64 4507826802355201656, i64 4607182418800017649, i64 4507764439679401110, i64 4607182418800017645, i64 4507702077003600564, i64 4607182418800017642, i64 4507639714327800018, i64 4607182418800017638, i64 4507577351651999472, i64 4607182418800017635, i64 4507514988976198926, i64 4607182418800017632, i64 4507452626300398380, i64 4607182418800017628, i64 4507390263624597834, i64 4607182418800017625, i64 4507327900948797288, i64 4607182418800017622, i64 4507265538272996742, i64 4607182418800017619, i64 4507203175597196197, i64 4607182418800017615, i64 4507140812921395651, i64 4607182418800017612, i64 4507078450245595105, i64 4607182418800017609, i64 4507047268907694833, i64 4607182418800017607, i64 4507016087569794560, i64 4607182418800017606, i64 4506984906231894287, i64 4607182418800017604, i64 4506953724893994014, i64 4607182418800017603, i64 4506922543556093742, i64 4607182418800017601, i64 4506891362218193469, i64 4607182418800017600, i64 4506860180880293196, i64 4607182418800017598, i64 4506828999542392923, i64 4607182418800017597, i64 4506797818204492651, i64 4607182418800017595, i64 4506766636866592378, i64 4607182418800017594, i64 4506735455528692105, i64 4607182418800017592, i64 4506704274190791833, i64 4607182418800017591, i64 4506673092852891560, i64 4607182418800017589, i64 4506641911514991287, i64 4607182418800017588, i64 4506610730177091015, i64 4607182418800017586, i64 4506579548839190742, i64 4607182418800017585, i64 4506548367501290469, i64 4607182418800017583, i64 4506517186163390197, i64 4607182418800017582, i64 4506486004825489924, i64 4607182418800017580, i64 4506454823487589651, i64 4607182418800017579, i64 4506423642149689379, i64 4607182418800017577, i64 4506392460811789106, i64 4607182418800017576, i64 4506361279473888834, i64 4607182418800017575, i64 4506330098135988561, i64 4607182418800017573, i64 4506298916798088289, i64 4607182418800017572, i64 4506267735460188016, i64 4607182418800017570, i64 4506236554122287743, i64 4607182418800017569, i64 4506205372784387471, i64 4607182418800017567, i64 4506174191446487198, i64 4607182418800017566, i64 4506143010108586926, i64 4607182418800017565, i64 4506111828770686653, i64 4607182418800017563, i64 4506080647432786381, i64 4607182418800017562, i64 4506049466094886108, i64 4607182418800017561, i64 4506018284756985836, i64 4607182418800017559, i64 4505987103419085563, i64 4607182418800017558, i64 4505955922081185291, i64 4607182418800017556, i64 4505924740743285019, i64 4607182418800017555, i64 4505893559405384746, i64 4607182418800017554, i64 4505862378067484474, i64 4607182418800017552, i64 4505831196729584201, i64 4607182418800017551, i64 4505800015391683929, i64 4607182418800017550, i64 4505768834053783657, i64 4607182418800017549, i64 4505737652715883384, i64 4607182418800017547, i64 4505706471377983112, i64 4607182418800017546, i64 4505675290040082839, i64 4607182418800017545, i64 4505644108702182567, i64 4607182418800017543, i64 4505612927364282295, i64 4607182418800017542, i64 4505581746026382022, i64 4607182418800017541, i64 4505550564688481750, i64 4607182418800017539, i64 4505519383350581478, i64 4607182418800017538, i64 4505488202012681205, i64 4607182418800017537, i64 4505457020674780933, i64 4607182418800017536, i64 4505425839336880661, i64 4607182418800017534, i64 4505394657998980389, i64 4607182418800017533, i64 4505363476661080116, i64 4607182418800017532, i64 4505332295323179844, i64 4607182418800017531, i64 4505301113985279572, i64 4607182418800017529, i64 4505269932647379299, i64 4607182418800017528, i64 4505238751309479027, i64 4607182418800017527, i64 4505207569971578755, i64 4607182418800017526, i64 4505176388633678483, i64 4607182418800017525, i64 4505145207295778211, i64 4607182418800017523, i64 4505114025957877938, i64 4607182418800017522, i64 4505082844619977666, i64 4607182418800017521, i64 4505051663282077394, i64 4607182418800017520, i64 4505020481944177122, i64 4607182418800017519, i64 4504989300606276850, i64 4607182418800017518, i64 4504958119268376577, i64 4607182418800017516, i64 4504926937930476305, i64 4607182418800017515, i64 4504895756592576033, i64 4607182418800017514, i64 4504864575254675761, i64 4607182418800017513, i64 4504833393916775489, i64 4607182418800017512, i64 4504802212578875217, i64 4607182418800017511, i64 4504771031240974945, i64 4607182418800017510, i64 4504739849903074672, i64 4607182418800017509, i64 4504708668565174400, i64 4607182418800017507, i64 4504677487227274128, i64 4607182418800017506, i64 4504646305889373856, i64 4607182418800017505, i64 4504615124551473584, i64 4607182418800017504, i64 4504583943213573312, i64 4607182418800017503, i64 4504552761875673040, i64 4607182418800017502, i64 4504521580537772768, i64 4607182418800017501, i64 4504490399199872496, i64 4607182418800017500, i64 4504459217861972224, i64 4607182418800017499, i64 4504428036524071952, i64 4607182418800017498, i64 4504396855186171680, i64 4607182418800017497, i64 4504365673848271408, i64 4607182418800017496, i64 4504334492510371136, i64 4607182418800017495, i64 4504303311172470864, i64 4607182418800017494, i64 4504272129834570592, i64 4607182418800017493, i64 4504240948496670320, i64 4607182418800017492, i64 4504209767158770048, i64 4607182418800017491, i64 4504178585820869776, i64 4607182418800017490, i64 4504147404482969504, i64 4607182418800017489, i64 4504116223145069232, i64 4607182418800017488, i64 4504085041807168960, i64 4607182418800017487, i64 4504053860469268688, i64 4607182418800017486, i64 4504022679131368416, i64 4607182418800017485, i64 4503991497793468144, i64 4607182418800017484, i64 4503960316455567872, i64 4607182418800017483, i64 4503929135117667600, i64 4607182418800017482, i64 4503897953779767328, i64 4607182418800017481, i64 4503866772441867056, i64 4607182418800017480, i64 4503835591103966784, i64 4607182418800017479, i64 4503804409766066512, i64 4607182418800017478, i64 4503773228428166240, i64 4607182418800017477, i64 4503742047090265968, i64 4607182418800017476, i64 4503710865752365697, i64 4607182418800017475, i64 4503679684414465425, i64 4607182418800017474, i64 4503648503076565153, i64 4607182418800017473, i64 4503617321738664881, i64 4607182418800017473, i64 4503572653431033218, i64 4607182418800017472, i64 4503510290755232675, i64 4607182418800017471, i64 4503447928079432131, i64 4607182418800017470, i64 4503385565403631587, i64 4607182418800017469, i64 4503323202727831044, i64 4607182418800017468, i64 4503260840052030500, i64 4607182418800017467, i64 4503198477376229956, i64 4607182418800017466, i64 4503136114700429413, i64 4607182418800017466, i64 4503073752024628869, i64 4607182418800017465, i64 4503011389348828325, i64 4607182418800017464, i64 4502949026673027782, i64 4607182418800017463, i64 4502886663997227238, i64 4607182418800017462, i64 4502824301321426695, i64 4607182418800017461, i64 4502761938645626151, i64 4607182418800017461, i64 4502699575969825607, i64 4607182418800017460, i64 4502637213294025064, i64 4607182418800017459, i64 4502574850618224520, i64 4607182418800017458, i64 4502543669280324249, i64 4607182418800017458, i64 4502512487942423977, i64 4607182418800017457, i64 4502481306604523705, i64 4607182418800017457, i64 4502450125266623433, i64 4607182418800017457, i64 4502418943928723162, i64 4607182418800017456, i64 4502387762590822890, i64 4607182418800017456, i64 4502356581252922618, i64 4607182418800017456, i64 4502325399915022346, i64 4607182418800017455, i64 4502294218577122075, i64 4607182418800017455, i64 4502263037239221803, i64 4607182418800017454, i64 4502231855901321531, i64 4607182418800017454, i64 4502200674563421259, i64 4607182418800017454, i64 4502169493225520988, i64 4607182418800017453, i64 4502138311887620716, i64 4607182418800017453, i64 4502107130549720444, i64 4607182418800017453, i64 4502075949211820172, i64 4607182418800017452, i64 4502044767873919901, i64 4607182418800017452, i64 4502013586536019629, i64 4607182418800017451, i64 4501982405198119357, i64 4607182418800017451, i64 4501951223860219086, i64 4607182418800017451, i64 4501920042522318814, i64 4607182418800017450, i64 4501888861184418542, i64 4607182418800017450, i64 4501857679846518270, i64 4607182418800017450, i64 4501826498508617999, i64 4607182418800017449, i64 4501795317170717727, i64 4607182418800017449, i64 4501764135832817455, i64 4607182418800017449, i64 4501732954494917184, i64 4607182418800017448, i64 4501701773157016912, i64 4607182418800017448, i64 4501670591819116640, i64 4607182418800017448, i64 4501639410481216369, i64 4607182418800017447, i64 4501608229143316097, i64 4607182418800017447, i64 4501577047805415825, i64 4607182418800017446, i64 4501545866467515554, i64 4607182418800017446, i64 4501514685129615282, i64 4607182418800017446, i64 4501483503791715010, i64 4607182418800017445, i64 4501452322453814739, i64 4607182418800017445, i64 4501421141115914467, i64 4607182418800017445, i64 4501389959778014195, i64 4607182418800017444, i64 4501358778440113923, i64 4607182418800017444, i64 4501327597102213652, i64 4607182418800017444, i64 4501296415764313380, i64 4607182418800017443, i64 4501265234426413109, i64 4607182418800017443, i64 4501234053088512837, i64 4607182418800017443, i64 4501202871750612565, i64 4607182418800017442, i64 4501171690412712294, i64 4607182418800017442, i64 4501140509074812022, i64 4607182418800017442, i64 4501109327736911750, i64 4607182418800017442, i64 4501078146399011479, i64 4607182418800017441, i64 4501046965061111207, i64 4607182418800017441, i64 4501015783723210935, i64 4607182418800017441, i64 4500984602385310664, i64 4607182418800017440, i64 4500953421047410392, i64 4607182418800017440, i64 4500922239709510120, i64 4607182418800017440, i64 4500891058371609849, i64 4607182418800017439, i64 4500859877033709577, i64 4607182418800017439, i64 4500828695695809305, i64 4607182418800017439, i64 4500797514357909034, i64 4607182418800017438, i64 4500766333020008762, i64 4607182418800017438, i64 4500735151682108491, i64 4607182418800017438, i64 4500703970344208219, i64 4607182418800017437, i64 4500672789006307947, i64 4607182418800017437, i64 4500641607668407676, i64 4607182418800017437, i64 4500610426330507404, i64 4607182418800017437, i64 4500579244992607133, i64 4607182418800017436, i64 4500548063654706861, i64 4607182418800017436, i64 4500516882316806589, i64 4607182418800017436, i64 4500485700978906318, i64 4607182418800017435, i64 4500454519641006046, i64 4607182418800017435, i64 4500423338303105774, i64 4607182418800017435, i64 4500392156965205503, i64 4607182418800017435, i64 4500360975627305231, i64 4607182418800017434, i64 4500329794289404960, i64 4607182418800017434, i64 4500298612951504688, i64 4607182418800017434, i64 4500267431613604416, i64 4607182418800017433, i64 4500236250275704145, i64 4607182418800017433, i64 4500205068937803873, i64 4607182418800017433, i64 4500173887599903602, i64 4607182418800017433, i64 4500142706262003330, i64 4607182418800017432, i64 4500111524924103059, i64 4607182418800017432, i64 4500080343586202787, i64 4607182418800017432, i64 4500049162248302515, i64 4607182418800017431, i64 4500017980910402244, i64 4607182418800017431, i64 4499986799572501972, i64 4607182418800017431, i64 4499955618234601701, i64 4607182418800017431, i64 4499924436896701429, i64 4607182418800017430, i64 4499893255558801158, i64 4607182418800017430, i64 4499862074220900886, i64 4607182418800017430, i64 4499830892883000614, i64 4607182418800017430, i64 4499799711545100343, i64 4607182418800017429, i64 4499768530207200071, i64 4607182418800017429, i64 4499737348869299800, i64 4607182418800017429, i64 4499706167531399528, i64 4607182418800017429, i64 4499674986193499257, i64 4607182418800017428, i64 4499643804855598985, i64 4607182418800017428, i64 4499612623517698713, i64 4607182418800017428, i64 4499581442179798442, i64 4607182418800017428, i64 4499550260841898170, i64 4607182418800017427, i64 4499519079503997899, i64 4607182418800017427, i64 4499487898166097627, i64 4607182418800017427, i64 4499456716828197356, i64 4607182418800017427, i64 4499425535490297084, i64 4607182418800017426, i64 4499394354152396813, i64 4607182418800017426, i64 4499363172814496541, i64 4607182418800017426, i64 4499331991476596270, i64 4607182418800017426, i64 4499300810138695998, i64 4607182418800017425, i64 4499269628800795726, i64 4607182418800017425, i64 4499238447462895455, i64 4607182418800017425, i64 4499207266124995183, i64 4607182418800017425, i64 4499176084787094912, i64 4607182418800017425, i64 4499144903449194640, i64 4607182418800017424, i64 4499113722111294369, i64 4607182418800017424, i64 4499069053803662691, i64 4607182418800017424, i64 4499006691127862148, i64 4607182418800017424, i64 4498944328452061604, i64 4607182418800017423, i64 4498881965776261061, i64 4607182418800017423, i64 4498819603100460518, i64 4607182418800017423, i64 4498757240424659975, i64 4607182418800017423, i64 4498694877748859432, i64 4607182418800017423, i64 4498632515073058889, i64 4607182418800017422, i64 4498570152397258346, i64 4607182418800017422, i64 4498507789721457803, i64 4607182418800017422, i64 4498445427045657260, i64 4607182418800017422, i64 4498383064369856717, i64 4607182418800017422, i64 4498320701694056174, i64 4607182418800017421, i64 4498258339018255631, i64 4607182418800017421, i64 4498195976342455088, i64 4607182418800017421, i64 4498133613666654545, i64 4607182418800017421, i64 4498071250990854002, i64 4607182418800017421, i64 4498040069652953731, i64 4607182418800017420, i64 4498008888315053459, i64 4607182418800017420, i64 4497977706977153188, i64 4607182418800017420, i64 4497946525639252916, i64 4607182418800017420, i64 4497915344301352645, i64 4607182418800017420, i64 4497884162963452373, i64 4607182418800017420, i64 4497852981625552102, i64 4607182418800017420, i64 4497821800287651830, i64 4607182418800017420, i64 4497790618949751559, i64 4607182418800017420, i64 4497759437611851287, i64 4607182418800017420, i64 4497728256273951016, i64 4607182418800017420, i64 4497697074936050744, i64 4607182418800017419, i64 4497665893598150473, i64 4607182418800017419, i64 4497634712260250201, i64 4607182418800017419, i64 4497603530922349930, i64 4607182418800017419, i64 4497572349584449658, i64 4607182418800017419, i64 4497541168246549387, i64 4607182418800017419, i64 4497509986908649115, i64 4607182418800017419, i64 4497478805570748844, i64 4607182418800017419, i64 4497447624232848572, i64 4607182418800017419, i64 4497416442894948301, i64 4607182418800017419, i64 4497385261557048029, i64 4607182418800017418, i64 4497354080219147758, i64 4607182418800017418, i64 4497322898881247486, i64 4607182418800017418, i64 4497291717543347215, i64 4607182418800017418, i64 4497260536205446943, i64 4607182418800017418, i64 4497229354867546672, i64 4607182418800017418, i64 4497198173529646400, i64 4607182418800017418, i64 4497166992191746129, i64 4607182418800017418, i64 4497135810853845857, i64 4607182418800017418, i64 4497104629515945586, i64 4607182418800017418, i64 4497073448178045314, i64 4607182418800017418, i64 4497042266840145043, i64 4607182418800017418, i64 4497011085502244771, i64 4607182418800017417, i64 4496979904164344500, i64 4607182418800017417, i64 4496948722826444228, i64 4607182418800017417, i64 4496917541488543957, i64 4607182418800017417, i64 4496886360150643685, i64 4607182418800017417, i64 4496855178812743414, i64 4607182418800017417, i64 4496823997474843142, i64 4607182418800017417, i64 4496792816136942871, i64 4607182418800017417, i64 4496761634799042599, i64 4607182418800017417, i64 4496730453461142328, i64 4607182418800017417, i64 4496699272123242057, i64 4607182418800017417, i64 4496668090785341785, i64 4607182418800017417, i64 4496636909447441514, i64 4607182418800017416, i64 4496605728109541242, i64 4607182418800017416, i64 4496574546771640971, i64 4607182418800017416, i64 4496543365433740699, i64 4607182418800017416, i64 4496512184095840428, i64 4607182418800017416, i64 4496481002757940156, i64 4607182418800017416, i64 4496449821420039885, i64 4607182418800017416, i64 4496418640082139613, i64 4607182418800017416, i64 4496387458744239342, i64 4607182418800017416, i64 4496356277406339070, i64 4607182418800017416, i64 4496325096068438799, i64 4607182418800017416, i64 4496293914730538527, i64 4607182418800017416, i64 4496262733392638256, i64 4607182418800017416, i64 4496231552054737984, i64 4607182418800017415, i64 4496200370716837713, i64 4607182418800017415, i64 4496169189378937442, i64 4607182418800017415, i64 4496138008041037170, i64 4607182418800017415, i64 4496106826703136899, i64 4607182418800017415, i64 4496075645365236627, i64 4607182418800017415, i64 4496044464027336356, i64 4607182418800017415, i64 4496013282689436084, i64 4607182418800017415, i64 4495982101351535813, i64 4607182418800017415, i64 4495950920013635541, i64 4607182418800017415, i64 4495919738675735270, i64 4607182418800017415, i64 4495888557337834998, i64 4607182418800017415, i64 4495857375999934727, i64 4607182418800017415, i64 4495826194662034455, i64 4607182418800017414, i64 4495795013324134184, i64 4607182418800017414, i64 4495763831986233912, i64 4607182418800017414, i64 4495732650648333641, i64 4607182418800017414, i64 4495701469310433370, i64 4607182418800017414, i64 4495670287972533098, i64 4607182418800017414, i64 4495639106634632827, i64 4607182418800017414, i64 4495607925296732555, i64 4607182418800017414, i64 4495576743958832284, i64 4607182418800017414, i64 4495545562620932012, i64 4607182418800017414, i64 4495514381283031741, i64 4607182418800017414, i64 4495483199945131469, i64 4607182418800017414, i64 4495452018607231198, i64 4607182418800017414, i64 4495420837269330926, i64 4607182418800017414, i64 4495389655931430655, i64 4607182418800017414, i64 4495358474593530384, i64 4607182418800017413, i64 4495327293255630112, i64 4607182418800017413, i64 4495296111917729841, i64 4607182418800017413, i64 4495264930579829569, i64 4607182418800017413, i64 4495233749241929298, i64 4607182418800017413, i64 4495202567904029026, i64 4607182418800017413, i64 4495171386566128755, i64 4607182418800017413, i64 4495140205228228483, i64 4607182418800017413, i64 4495109023890328212, i64 4607182418800017413, i64 4495077842552427940, i64 4607182418800017413, i64 4495046661214527669, i64 4607182418800017413, i64 4495015479876627398, i64 4607182418800017413, i64 4494984298538727126, i64 4607182418800017413, i64 4494953117200826855, i64 4607182418800017413, i64 4494921935862926583, i64 4607182418800017413, i64 4494890754525026312, i64 4607182418800017413, i64 4494859573187126040, i64 4607182418800017412, i64 4494828391849225769, i64 4607182418800017412, i64 4494797210511325497, i64 4607182418800017412, i64 4494766029173425226, i64 4607182418800017412, i64 4494734847835524955, i64 4607182418800017412, i64 4494703666497624683, i64 4607182418800017412, i64 4494672485159724412, i64 4607182418800017412, i64 4494641303821824140, i64 4607182418800017412, i64 4494610122483923869, i64 4607182418800017412, i64 4494565454176292187, i64 4607182418800017412, i64 4494503091500491644, i64 4607182418800017412, i64 4494440728824691101, i64 4607182418800017412, i64 4494378366148890558, i64 4607182418800017412, i64 4494316003473090015, i64 4607182418800017412, i64 4494253640797289472, i64 4607182418800017412, i64 4494191278121488929, i64 4607182418800017412, i64 4494128915445688386, i64 4607182418800017412, i64 4494066552769887844, i64 4607182418800017412, i64 4494004190094087301, i64 4607182418800017411, i64 4493941827418286758, i64 4607182418800017411, i64 4493879464742486215, i64 4607182418800017411, i64 4493817102066685672, i64 4607182418800017411, i64 4493754739390885129, i64 4607182418800017411, i64 4493692376715084586, i64 4607182418800017411, i64 4493630014039284043, i64 4607182418800017411, i64 4493567651363483501, i64 4607182418800017411, i64 4493536470025583229, i64 4607182418800017411, i64 4493505288687682958, i64 4607182418800017411, i64 4493474107349782686, i64 4607182418800017411, i64 4493442926011882415, i64 4607182418800017411, i64 4493411744673982143, i64 4607182418800017411, i64 4493380563336081872, i64 4607182418800017411, i64 4493349381998181600, i64 4607182418800017411, i64 4493318200660281329, i64 4607182418800017411, i64 4493287019322381058, i64 4607182418800017411, i64 4493255837984480786, i64 4607182418800017411, i64 4493224656646580515, i64 4607182418800017411, i64 4493193475308680243, i64 4607182418800017411, i64 4493162293970779972, i64 4607182418800017411, i64 4493131112632879700, i64 4607182418800017411, i64 4493099931294979429, i64 4607182418800017411, i64 4493068749957079158, i64 4607182418800017411, i64 4493037568619178886, i64 4607182418800017411, i64 4493006387281278615, i64 4607182418800017411, i64 4492975205943378343, i64 4607182418800017411, i64 4492944024605478072, i64 4607182418800017411, i64 4492912843267577800, i64 4607182418800017411, i64 4492881661929677529, i64 4607182418800017411, i64 4492850480591777257, i64 4607182418800017411, i64 4492819299253876986, i64 4607182418800017411, i64 4492788117915976715, i64 4607182418800017411, i64 4492756936578076443, i64 4607182418800017411, i64 4492725755240176172, i64 4607182418800017411, i64 4492694573902275900, i64 4607182418800017410, i64 4492663392564375629, i64 4607182418800017410, i64 4492632211226475357, i64 4607182418800017410, i64 4492601029888575086, i64 4607182418800017410, i64 4492569848550674815, i64 4607182418800017410, i64 4492538667212774543, i64 4607182418800017410, i64 4492507485874874272, i64 4607182418800017410, i64 4492476304536974000, i64 4607182418800017410, i64 4492445123199073729, i64 4607182418800017410, i64 4492413941861173457, i64 4607182418800017410, i64 4492382760523273186, i64 4607182418800017410, i64 4492351579185372915, i64 4607182418800017410, i64 4492320397847472643, i64 4607182418800017410, i64 4492289216509572372, i64 4607182418800017410, i64 4492258035171672100, i64 4607182418800017410, i64 4492226853833771829, i64 4607182418800017410, i64 4492195672495871557, i64 4607182418800017410, i64 4492164491157971286, i64 4607182418800017410, i64 4492133309820071015, i64 4607182418800017410, i64 4492102128482170743, i64 4607182418800017410, i64 4492070947144270472, i64 4607182418800017410, i64 4492039765806370200, i64 4607182418800017410, i64 4492008584468469929, i64 4607182418800017410, i64 4491977403130569657, i64 4607182418800017410, i64 4491946221792669386, i64 4607182418800017410, i64 4491915040454769114, i64 4607182418800017410, i64 4491883859116868843, i64 4607182418800017410, i64 4491852677778968572, i64 4607182418800017410, i64 4491821496441068300, i64 4607182418800017410, i64 4491790315103168029, i64 4607182418800017410, i64 4491759133765267757, i64 4607182418800017410, i64 4491727952427367486, i64 4607182418800017410, i64 4491696771089467214, i64 4607182418800017410, i64 4491665589751566943, i64 4607182418800017410, i64 4491634408413666672, i64 4607182418800017410, i64 4491603227075766400, i64 4607182418800017410, i64 4491572045737866129, i64 4607182418800017410, i64 4491540864399965857, i64 4607182418800017410, i64 4491509683062065586, i64 4607182418800017410, i64 4491478501724165314, i64 4607182418800017410, i64 4491447320386265043, i64 4607182418800017410, i64 4491416139048364772, i64 4607182418800017410, i64 4491384957710464500, i64 4607182418800017410, i64 4491353776372564229, i64 4607182418800017410, i64 4491322595034663957, i64 4607182418800017410, i64 4491291413696763686, i64 4607182418800017410, i64 4491260232358863414, i64 4607182418800017410, i64 4491229051020963143, i64 4607182418800017410, i64 4491197869683062872, i64 4607182418800017410, i64 4491166688345162600, i64 4607182418800017410, i64 4491135507007262329, i64 4607182418800017410, i64 4491104325669362057, i64 4607182418800017410, i64 4491073144331461786, i64 4607182418800017409, i64 4491041962993561515, i64 4607182418800017409, i64 4491010781655661243, i64 4607182418800017409, i64 4490979600317760972, i64 4607182418800017409, i64 4490948418979860700, i64 4607182418800017409, i64 4490917237641960429, i64 4607182418800017409, i64 4490886056304060157, i64 4607182418800017409, i64 4490854874966159886, i64 4607182418800017409, i64 4490823693628259615, i64 4607182418800017409, i64 4490792512290359343, i64 4607182418800017409, i64 4490761330952459072, i64 4607182418800017409, i64 4490730149614558800, i64 4607182418800017409, i64 4490698968276658529, i64 4607182418800017409, i64 4490667786938758257, i64 4607182418800017409, i64 4490636605600857986, i64 4607182418800017409, i64 4490605424262957715, i64 4607182418800017409, i64 4490574242925057443, i64 4607182418800017409, i64 4490543061587157172, i64 4607182418800017409, i64 4490511880249256900, i64 4607182418800017409, i64 4490480698911356629, i64 4607182418800017409, i64 4490449517573456357, i64 4607182418800017409, i64 4490418336235556086, i64 4607182418800017409, i64 4490387154897655815, i64 4607182418800017409, i64 4490355973559755543, i64 4607182418800017409, i64 4490324792221855272, i64 4607182418800017409, i64 4490293610883955000, i64 4607182418800017409, i64 4490262429546054729, i64 4607182418800017409, i64 4490231248208154457, i64 4607182418800017409, i64 4490200066870254186, i64 4607182418800017409, i64 4490168885532353915, i64 4607182418800017409, i64 4490137704194453643, i64 4607182418800017409, i64 4490106522856553372, i64 4607182418800017409, i64 4490061854548921689, i64 4607182418800017409, i64 4489999491873121146, i64 4607182418800017409, i64 4489937129197320603, i64 4607182418800017409, i64 4489874766521520060, i64 4607182418800017409, i64 4489812403845719517, i64 4607182418800017409, i64 4489750041169918974, i64 4607182418800017409, i64 4489687678494118432, i64 4607182418800017409, i64 4489625315818317889, i64 4607182418800017409, i64 4489562953142517346, i64 4607182418800017409, i64 4489500590466716803, i64 4607182418800017409, i64 4489438227790916260, i64 4607182418800017409, i64 4489375865115115717, i64 4607182418800017409, i64 4489313502439315174, i64 4607182418800017409, i64 4489251139763514632, i64 4607182418800017409, i64 4489188777087714089, i64 4607182418800017409, i64 4489126414411913546, i64 4607182418800017409, i64 4489064051736113003, i64 4607182418800017409, i64 4489032870398212732, i64 4607182418800017409, i64 4489001689060312460, i64 4607182418800017409, i64 4488970507722412189, i64 4607182418800017409, i64 4488939326384511917, i64 4607182418800017409, i64 4488908145046611646, i64 4607182418800017409, i64 4488876963708711375, i64 4607182418800017409, i64 4488845782370811103, i64 4607182418800017409, i64 4488814601032910832, i64 4607182418800017409, i64 4488783419695010560, i64 4607182418800017409, i64 4488752238357110289, i64 4607182418800017409, i64 4488721057019210017, i64 4607182418800017409, i64 4488689875681309746, i64 4607182418800017409, i64 4488658694343409475, i64 4607182418800017409, i64 4488627513005509203, i64 4607182418800017409, i64 4488596331667608932, i64 4607182418800017409, i64 4488565150329708660, i64 4607182418800017409, i64 4488533968991808389, i64 4607182418800017409, i64 4488502787653908118, i64 4607182418800017409, i64 4488471606316007846, i64 4607182418800017409, i64 4488440424978107575, i64 4607182418800017409, i64 4488409243640207303, i64 4607182418800017409, i64 4488378062302307032, i64 4607182418800017409, i64 4488346880964406760, i64 4607182418800017409, i64 4488315699626506489, i64 4607182418800017409, i64 4488284518288606218, i64 4607182418800017409, i64 4488253336950705946, i64 4607182418800017409, i64 4488222155612805675, i64 4607182418800017409, i64 4488190974274905403, i64 4607182418800017409, i64 4488159792937005132, i64 4607182418800017409, i64 4488128611599104860, i64 4607182418800017409, i64 4488097430261204589, i64 4607182418800017409, i64 4488066248923304318, i64 4607182418800017409, i64 4488035067585404046, i64 4607182418800017409, i64 4488003886247503775, i64 4607182418800017409, i64 4487972704909603503, i64 4607182418800017409, i64 4487941523571703232, i64 4607182418800017409, i64 4487910342233802961, i64 4607182418800017409, i64 4487879160895902689, i64 4607182418800017409, i64 4487847979558002418, i64 4607182418800017409, i64 4487816798220102146, i64 4607182418800017409, i64 4487785616882201875, i64 4607182418800017409, i64 4487754435544301603, i64 4607182418800017409, i64 4487723254206401332, i64 4607182418800017409, i64 4487692072868501061, i64 4607182418800017409, i64 4487660891530600789, i64 4607182418800017409, i64 4487629710192700518, i64 4607182418800017409, i64 4487598528854800246, i64 4607182418800017409, i64 4487567347516899975, i64 4607182418800017409, i64 4487536166178999703, i64 4607182418800017409, i64 4487504984841099432, i64 4607182418800017409, i64 4487473803503199161, i64 4607182418800017409, i64 4487442622165298889, i64 4607182418800017408, i64 4487411440827398618, i64 4607182418800017408, i64 4487380259489498346, i64 4607182418800017408, i64 4487349078151598075, i64 4607182418800017408, i64 4487317896813697804, i64 4607182418800017408, i64 4487286715475797532, i64 4607182418800017408, i64 4487255534137897261, i64 4607182418800017408, i64 4487224352799996989, i64 4607182418800017408, i64 4487193171462096718, i64 4607182418800017408, i64 4487161990124196446, i64 4607182418800017408, i64 4487130808786296175, i64 4607182418800017408, i64 4487099627448395904, i64 4607182418800017408, i64 4487068446110495632, i64 4607182418800017408, i64 4487037264772595361, i64 4607182418800017408, i64 4487006083434695089, i64 4607182418800017408, i64 4486974902096794818, i64 4607182418800017408, i64 4486943720758894547, i64 4607182418800017408, i64 4486912539420994275, i64 4607182418800017408, i64 4486881358083094004, i64 4607182418800017408, i64 4486850176745193732, i64 4607182418800017408, i64 4486818995407293461, i64 4607182418800017408, i64 4486787814069393189, i64 4607182418800017408, i64 4486756632731492918, i64 4607182418800017408, i64 4486725451393592647, i64 4607182418800017408, i64 4486694270055692375, i64 4607182418800017408, i64 4486663088717792104, i64 4607182418800017408, i64 4486631907379891832, i64 4607182418800017408, i64 4486600726041991561, i64 4607182418800017408, i64 4486569544704091289, i64 4607182418800017408, i64 4486538363366191018, i64 4607182418800017408, i64 4486507182028290747, i64 4607182418800017408, i64 4486476000690390475, i64 4607182418800017408, i64 4486444819352490204, i64 4607182418800017408, i64 4486413638014589932, i64 4607182418800017408, i64 4486382456676689661, i64 4607182418800017408, i64 4486351275338789390, i64 4607182418800017408, i64 4486320094000889118, i64 4607182418800017408, i64 4486288912662988847, i64 4607182418800017408, i64 4486257731325088575, i64 4607182418800017408, i64 4486226549987188304, i64 4607182418800017408, i64 4486195368649288032, i64 4607182418800017408, i64 4486164187311387761, i64 4607182418800017408, i64 4486133005973487490, i64 4607182418800017408, i64 4486101824635587218, i64 4607182418800017408, i64 4486070643297686947, i64 4607182418800017408, i64 4486039461959786675, i64 4607182418800017408, i64 4486008280621886404, i64 4607182418800017408, i64 4485977099283986133, i64 4607182418800017408, i64 4485945917946085861, i64 4607182418800017408, i64 4485914736608185590, i64 4607182418800017408, i64 4485883555270285318, i64 4607182418800017408, i64 4485852373932385047, i64 4607182418800017408, i64 4485821192594484775, i64 4607182418800017408, i64 4485790011256584504, i64 4607182418800017408, i64 4485758829918684233, i64 4607182418800017408, i64 4485727648580783961, i64 4607182418800017408, i64 4485696467242883690, i64 4607182418800017408, i64 4485665285904983418, i64 4607182418800017408, i64 4485634104567083147, i64 4607182418800017408, i64 4485602923229182875, i64 4607182418800017408, i64 4485558254921551192, i64 4607182418800017408, i64 4485495892245750649, i64 4607182418800017408, i64 4485433529569950106, i64 4607182418800017408, i64 4485371166894149564, i64 4607182418800017408, i64 4485308804218349021, i64 4607182418800017408, i64 4485246441542548478, i64 4607182418800017408, i64 4485184078866747935, i64 4607182418800017408, i64 4485121716190947392, i64 4607182418800017408, i64 4485059353515146849, i64 4607182418800017408, i64 4484996990839346307, i64 4607182418800017408, i64 4484934628163545764, i64 4607182418800017408, i64 4484872265487745221, i64 4607182418800017408, i64 4484809902811944678, i64 4607182418800017408, i64 4484747540136144135, i64 4607182418800017408, i64 4484685177460343592, i64 4607182418800017408, i64 4484622814784543050, i64 4607182418800017408, i64 4484560452108742507, i64 4607182418800017408, i64 4484529270770842235, i64 4607182418800017408, i64 4484498089432941964, i64 4607182418800017408, i64 4484466908095041693, i64 4607182418800017408, i64 4484435726757141421, i64 4607182418800017408, i64 4484404545419241150, i64 4607182418800017408, i64 4484373364081340878, i64 4607182418800017408, i64 4484342182743440607, i64 4607182418800017408, i64 4484311001405540335, i64 4607182418800017408, i64 4484279820067640064, i64 4607182418800017408, i64 4484248638729739793, i64 4607182418800017408, i64 4484217457391839521, i64 4607182418800017408, i64 4484186276053939250, i64 4607182418800017408, i64 4484155094716038978, i64 4607182418800017408, i64 4484123913378138707, i64 4607182418800017408, i64 4484092732040238436, i64 4607182418800017408, i64 4484061550702338164, i64 4607182418800017408, i64 4484030369364437893, i64 4607182418800017408, i64 4483999188026537621, i64 4607182418800017408, i64 4483968006688637350, i64 4607182418800017408, i64 4483936825350737078, i64 4607182418800017408, i64 4483905644012836807, i64 4607182418800017408, i64 4483874462674936536, i64 4607182418800017408, i64 4483843281337036264, i64 4607182418800017408, i64 4483812099999135993, i64 4607182418800017408, i64 4483780918661235721, i64 4607182418800017408, i64 4483749737323335450, i64 4607182418800017408, i64 4483718555985435178, i64 4607182418800017408, i64 4483687374647534907, i64 4607182418800017408, i64 4483656193309634636, i64 4607182418800017408, i64 4483625011971734364, i64 4607182418800017408, i64 4483593830633834093, i64 4607182418800017408, i64 4483562649295933821, i64 4607182418800017408, i64 4483531467958033550, i64 4607182418800017408, i64 4483500286620133279, i64 4607182418800017408, i64 4483469105282233007, i64 4607182418800017408, i64 4483437923944332736, i64 4607182418800017408, i64 4483406742606432464, i64 4607182418800017408, i64 4483375561268532193, i64 4607182418800017408, i64 4483344379930631921, i64 4607182418800017408, i64 4483313198592731650, i64 4607182418800017408, i64 4483282017254831379, i64 4607182418800017408, i64 4483250835916931107, i64 4607182418800017408, i64 4483219654579030836, i64 4607182418800017408, i64 4483188473241130564, i64 4607182418800017408, i64 4483157291903230293, i64 4607182418800017408, i64 4483126110565330022, i64 4607182418800017408, i64 4483094929227429750, i64 4607182418800017408, i64 4483063747889529479, i64 4607182418800017408, i64 4483032566551629207, i64 4607182418800017408, i64 4483001385213728936, i64 4607182418800017408, i64 4482970203875828664, i64 4607182418800017408, i64 4482939022537928393, i64 4607182418800017408, i64 4482907841200028122, i64 4607182418800017408, i64 4482876659862127850, i64 4607182418800017408, i64 4482845478524227579, i64 4607182418800017408, i64 4482814297186327307, i64 4607182418800017408, i64 4482783115848427036, i64 4607182418800017408, i64 4482751934510526765, i64 4607182418800017408, i64 4482720753172626493, i64 4607182418800017408, i64 4482689571834726222, i64 4607182418800017408, i64 4482658390496825950, i64 4607182418800017408, i64 4482627209158925679, i64 4607182418800017408, i64 4482596027821025407, i64 4607182418800017408, i64 4482564846483125136, i64 4607182418800017408, i64 4482533665145224865, i64 4607182418800017408, i64 4482502483807324593, i64 4607182418800017408, i64 4482471302469424322, i64 4607182418800017408, i64 4482440121131524050, i64 4607182418800017408, i64 4482408939793623779, i64 4607182418800017408, i64 4482377758455723508, i64 4607182418800017408, i64 4482346577117823236, i64 4607182418800017408, i64 4482315395779922965, i64 4607182418800017408, i64 4482284214442022693, i64 4607182418800017408, i64 4482253033104122422, i64 4607182418800017408, i64 4482221851766222150, i64 4607182418800017408, i64 4482190670428321879, i64 4607182418800017408, i64 4482159489090421608, i64 4607182418800017408, i64 4482128307752521336, i64 4607182418800017408, i64 4482097126414621065, i64 4607182418800017408, i64 4482065945076720793, i64 4607182418800017408, i64 4482034763738820522, i64 4607182418800017408, i64 4482003582400920251, i64 4607182418800017408, i64 4481972401063019979, i64 4607182418800017408, i64 4481941219725119708, i64 4607182418800017408, i64 4481910038387219436, i64 4607182418800017408, i64 4481878857049319165, i64 4607182418800017408, i64 4481847675711418893, i64 4607182418800017408, i64 4481816494373518622, i64 4607182418800017408, i64 4481785313035618351, i64 4607182418800017408, i64 4481754131697718079, i64 4607182418800017408, i64 4481722950359817808, i64 4607182418800017408, i64 4481691769021917536, i64 4607182418800017408, i64 4481660587684017265, i64 4607182418800017408, i64 4481629406346116994, i64 4607182418800017408, i64 4481598225008216722, i64 4607182418800017408, i64 4481567043670316451, i64 4607182418800017408, i64 4481535862332416179, i64 4607182418800017408, i64 4481504680994515908, i64 4607182418800017408, i64 4481473499656615636, i64 4607182418800017408, i64 4481442318318715365, i64 4607182418800017408, i64 4481411136980815094, i64 4607182418800017408, i64 4481379955642914822, i64 4607182418800017408, i64 4481348774305014551, i64 4607182418800017408, i64 4481317592967114279, i64 4607182418800017408, i64 4481286411629214008, i64 4607182418800017408, i64 4481255230291313737, i64 4607182418800017408, i64 4481224048953413465, i64 4607182418800017408, i64 4481192867615513194, i64 4607182418800017408, i64 4481161686277612922, i64 4607182418800017408, i64 4481130504939712651, i64 4607182418800017408, i64 4481099323601812379, i64 4607182418800017408, i64 4481054655294180696, i64 4607182418800017408, i64 4480992292618380153, i64 4607182418800017408, i64 4480929929942579610, i64 4607182418800017408, i64 4480867567266779068, i64 4607182418800017408, i64 4480805204590978525, i64 4607182418800017408, i64 4480742841915177982, i64 4607182418800017408, i64 4480680479239377439, i64 4607182418800017408, i64 4480618116563576896, i64 4607182418800017408, i64 4480555753887776353, i64 4607182418800017408, i64 4480493391211975811, i64 4607182418800017408, i64 4480431028536175268, i64 4607182418800017408, i64 4480368665860374725, i64 4607182418800017408, i64 4480306303184574182, i64 4607182418800017408, i64 4480243940508773639, i64 4607182418800017408, i64 4480181577832973096, i64 4607182418800017408, i64 4480119215157172554, i64 4607182418800017408, i64 4480056852481372011, i64 4607182418800017408, i64 4480025671143471739, i64 4607182418800017408, i64 4479994489805571468, i64 4607182418800017408, i64 4479963308467671196, i64 4607182418800017408, i64 4479932127129770925, i64 4607182418800017408, i64 4479900945791870654, i64 4607182418800017408, i64 4479869764453970382, i64 4607182418800017408, i64 4479838583116070111, i64 4607182418800017408, i64 4479807401778169839, i64 4607182418800017408, i64 4479776220440269568, i64 4607182418800017408, i64 4479745039102369297, i64 4607182418800017408, i64 4479713857764469025, i64 4607182418800017408, i64 4479682676426568754, i64 4607182418800017408, i64 4479651495088668482, i64 4607182418800017408, i64 4479620313750768211, i64 4607182418800017408, i64 4479589132412867939, i64 4607182418800017408, i64 4479557951074967668, i64 4607182418800017408, i64 4479526769737067397, i64 4607182418800017408, i64 4479495588399167125, i64 4607182418800017408, i64 4479464407061266854, i64 4607182418800017408, i64 4479433225723366582, i64 4607182418800017408, i64 4479402044385466311, i64 4607182418800017408, i64 4479370863047566040, i64 4607182418800017408, i64 4479339681709665768, i64 4607182418800017408, i64 4479308500371765497, i64 4607182418800017408, i64 4479277319033865225, i64 4607182418800017408, i64 4479246137695964954, i64 4607182418800017408, i64 4479214956358064682, i64 4607182418800017408, i64 4479183775020164411, i64 4607182418800017408, i64 4479152593682264140, i64 4607182418800017408, i64 4479121412344363868, i64 4607182418800017408, i64 4479090231006463597, i64 4607182418800017408, i64 4479059049668563325, i64 4607182418800017408, i64 4479027868330663054, i64 4607182418800017408, i64 4478996686992762783, i64 4607182418800017408, i64 4478965505654862511, i64 4607182418800017408, i64 4478934324316962240, i64 4607182418800017408, i64 4478903142979061968, i64 4607182418800017408, i64 4478871961641161697, i64 4607182418800017408, i64 4478840780303261425, i64 4607182418800017408, i64 4478809598965361154, i64 4607182418800017408, i64 4478778417627460883, i64 4607182418800017408, i64 4478747236289560611, i64 4607182418800017408, i64 4478716054951660340, i64 4607182418800017408, i64 4478684873613760068, i64 4607182418800017408, i64 4478653692275859797, i64 4607182418800017408, i64 4478622510937959526, i64 4607182418800017408, i64 4478591329600059254, i64 4607182418800017408, i64 4478560148262158983, i64 4607182418800017408, i64 4478528966924258711, i64 4607182418800017408, i64 4478497785586358440, i64 4607182418800017408, i64 4478466604248458168, i64 4607182418800017408, i64 4478435422910557897, i64 4607182418800017408, i64 4478404241572657626, i64 4607182418800017408, i64 4478373060234757354, i64 4607182418800017408, i64 4478341878896857083, i64 4607182418800017408, i64 4478310697558956811, i64 4607182418800017408, i64 4478279516221056540, i64 4607182418800017408, i64 4478248334883156269, i64 4607182418800017408, i64 4478217153545255997, i64 4607182418800017408, i64 4478185972207355726, i64 4607182418800017408, i64 4478154790869455454, i64 4607182418800017408, i64 4478123609531555183, i64 4607182418800017408, i64 4478092428193654911, i64 4607182418800017408, i64 4478061246855754640, i64 4607182418800017408, i64 4478030065517854369, i64 4607182418800017408, i64 4477998884179954097, i64 4607182418800017408, i64 4477967702842053826, i64 4607182418800017408, i64 4477936521504153554, i64 4607182418800017408, i64 4477905340166253283, i64 4607182418800017408, i64 4477874158828353012, i64 4607182418800017408, i64 4477842977490452740, i64 4607182418800017408, i64 4477811796152552469, i64 4607182418800017408, i64 4477780614814652197, i64 4607182418800017408, i64 4477749433476751926, i64 4607182418800017408, i64 4477718252138851654, i64 4607182418800017408, i64 4477687070800951383, i64 4607182418800017408, i64 4477655889463051112, i64 4607182418800017408, i64 4477624708125150840, i64 4607182418800017408, i64 4477593526787250569, i64 4607182418800017408, i64 4477562345449350297, i64 4607182418800017408, i64 4477531164111450026, i64 4607182418800017408, i64 4477499982773549755, i64 4607182418800017408, i64 4477468801435649483, i64 4607182418800017408, i64 4477437620097749212, i64 4607182418800017408, i64 4477406438759848940, i64 4607182418800017408, i64 4477375257421948669, i64 4607182418800017408, i64 4477344076084048397, i64 4607182418800017408, i64 4477312894746148126, i64 4607182418800017408, i64 4477281713408247855, i64 4607182418800017408, i64 4477250532070347583, i64 4607182418800017408, i64 4477219350732447312, i64 4607182418800017408, i64 4477188169394547040, i64 4607182418800017408, i64 4477156988056646769, i64 4607182418800017408, i64 4477125806718746497, i64 4607182418800017408, i64 4477094625380846226, i64 4607182418800017408, i64 4477063444042945955, i64 4607182418800017408, i64 4477032262705045683, i64 4607182418800017408, i64 4477001081367145412, i64 4607182418800017408, i64 4476969900029245140, i64 4607182418800017408, i64 4476938718691344869, i64 4607182418800017408, i64 4476907537353444598, i64 4607182418800017408, i64 4476876356015544326, i64 4607182418800017408, i64 4476845174677644055, i64 4607182418800017408, i64 4476813993339743783, i64 4607182418800017408, i64 4476782812001843512, i64 4607182418800017408, i64 4476751630663943240, i64 4607182418800017408, i64 4476720449326042969, i64 4607182418800017408, i64 4476689267988142698, i64 4607182418800017408, i64 4476658086650242426, i64 4607182418800017408, i64 4476626905312342155, i64 4607182418800017408, i64 4476595723974441883, i64 4607182418800017408, i64 4476551055666810200, i64 4607182418800017408, i64 4476488692991009657, i64 4607182418800017408, i64 4476426330315209114, i64 4607182418800017408, i64 4476363967639408571, i64 4607182418800017408, i64 4476301604963608029, i64 4607182418800017408, i64 4476239242287807486, i64 4607182418800017408, i64 4476176879612006943, i64 4607182418800017408, i64 4476114516936206400, i64 4607182418800017408, i64 4476052154260405857, i64 4607182418800017408, i64 4475989791584605314, i64 4607182418800017408, i64 4475927428908804772, i64 4607182418800017408, i64 4475865066233004229, i64 4607182418800017408, i64 4475802703557203686, i64 4607182418800017408, i64 4475740340881403143, i64 4607182418800017408, i64 4475677978205602600, i64 4607182418800017408, i64 4475615615529802057, i64 4607182418800017408, i64 4475553252854001515, i64 4607182418800017408, i64 4475522071516101243, i64 4607182418800017408, i64 4475490890178200972, i64 4607182418800017408, i64 4475459708840300700, i64 4607182418800017408, i64 4475428527502400429, i64 4607182418800017408, i64 4475397346164500158, i64 4607182418800017408, i64 4475366164826599886, i64 4607182418800017408, i64 4475334983488699615, i64 4607182418800017408, i64 4475303802150799343, i64 4607182418800017408, i64 4475272620812899072, i64 4607182418800017408, i64 4475241439474998800, i64 4607182418800017408, i64 4475210258137098529, i64 4607182418800017408, i64 4475179076799198258, i64 4607182418800017408, i64 4475147895461297986, i64 4607182418800017408, i64 4475116714123397715, i64 4607182418800017408, i64 4475085532785497443, i64 4607182418800017408, i64 4475054351447597172, i64 4607182418800017408, i64 4475023170109696901, i64 4607182418800017408, i64 4474991988771796629, i64 4607182418800017408, i64 4474960807433896358, i64 4607182418800017408, i64 4474929626095996086, i64 4607182418800017408, i64 4474898444758095815, i64 4607182418800017408, i64 4474867263420195543, i64 4607182418800017408, i64 4474836082082295272, i64 4607182418800017408, i64 4474804900744395001, i64 4607182418800017408, i64 4474773719406494729, i64 4607182418800017408, i64 4474742538068594458, i64 4607182418800017408, i64 4474711356730694186, i64 4607182418800017408, i64 4474680175392793915, i64 4607182418800017408, i64 4474648994054893644, i64 4607182418800017408, i64 4474617812716993372, i64 4607182418800017408, i64 4474586631379093101, i64 4607182418800017408, i64 4474555450041192829, i64 4607182418800017408, i64 4474524268703292558, i64 4607182418800017408, i64 4474493087365392286, i64 4607182418800017408, i64 4474461906027492015, i64 4607182418800017408, i64 4474430724689591744, i64 4607182418800017408, i64 4474399543351691472, i64 4607182418800017408, i64 4474368362013791201, i64 4607182418800017408, i64 4474337180675890929, i64 4607182418800017408, i64 4474305999337990658, i64 4607182418800017408, i64 4474274818000090387, i64 4607182418800017408, i64 4474243636662190115, i64 4607182418800017408, i64 4474212455324289844, i64 4607182418800017408, i64 4474181273986389572, i64 4607182418800017408, i64 4474150092648489301, i64 4607182418800017408, i64 4474118911310589029, i64 4607182418800017408, i64 4474087729972688758, i64 4607182418800017408, i64 4474056548634788487, i64 4607182418800017408, i64 4474025367296888215, i64 4607182418800017408, i64 4473994185958987944, i64 4607182418800017408, i64 4473963004621087672, i64 4607182418800017408, i64 4473931823283187401, i64 4607182418800017408, i64 4473900641945287130, i64 4607182418800017408, i64 4473869460607386858, i64 4607182418800017408, i64 4473838279269486587, i64 4607182418800017408, i64 4473807097931586315, i64 4607182418800017408, i64 4473775916593686044, i64 4607182418800017408, i64 4473744735255785772, i64 4607182418800017408, i64 4473713553917885501, i64 4607182418800017408, i64 4473682372579985230, i64 4607182418800017408, i64 4473651191242084958, i64 4607182418800017408, i64 4473620009904184687, i64 4607182418800017408, i64 4473588828566284415, i64 4607182418800017408, i64 4473557647228384144, i64 4607182418800017408, i64 4473526465890483873, i64 4607182418800017408, i64 4473495284552583601, i64 4607182418800017408, i64 4473464103214683330, i64 4607182418800017408, i64 4473432921876783058, i64 4607182418800017408, i64 4473401740538882787, i64 4607182418800017408, i64 4473370559200982515, i64 4607182418800017408, i64 4473339377863082244, i64 4607182418800017408, i64 4473308196525181973, i64 4607182418800017408, i64 4473277015187281701, i64 4607182418800017408, i64 4473245833849381430, i64 4607182418800017408, i64 4473214652511481158, i64 4607182418800017408, i64 4473183471173580887, i64 4607182418800017408, i64 4473152289835680616, i64 4607182418800017408, i64 4473121108497780344, i64 4607182418800017408, i64 4473089927159880073, i64 4607182418800017408, i64 4473058745821979801, i64 4607182418800017408, i64 4473027564484079530, i64 4607182418800017408, i64 4472996383146179258, i64 4607182418800017408, i64 4472965201808278987, i64 4607182418800017408, i64 4472934020470378716, i64 4607182418800017408, i64 4472902839132478444, i64 4607182418800017408, i64 4472871657794578173, i64 4607182418800017408, i64 4472840476456677901, i64 4607182418800017408, i64 4472809295118777630, i64 4607182418800017408, i64 4472778113780877359, i64 4607182418800017408, i64 4472746932442977087, i64 4607182418800017408, i64 4472715751105076816, i64 4607182418800017408, i64 4472684569767176544, i64 4607182418800017408, i64 4472653388429276273, i64 4607182418800017408, i64 4472622207091376001, i64 4607182418800017408, i64 4472591025753475730, i64 4607182418800017408, i64 4472559844415575459, i64 4607182418800017408, i64 4472528663077675187, i64 4607182418800017408, i64 4472497481739774916, i64 4607182418800017408, i64 4472466300401874644, i64 4607182418800017408, i64 4472435119063974373, i64 4607182418800017408, i64 4472403937726074102, i64 4607182418800017408, i64 4472372756388173830, i64 4607182418800017408, i64 4472341575050273559, i64 4607182418800017408, i64 4472310393712373287, i64 4607182418800017408, i64 4472279212374473016, i64 4607182418800017408, i64 4472248031036572744, i64 4607182418800017408, i64 4472216849698672473, i64 4607182418800017408, i64 4472185668360772202, i64 4607182418800017408, i64 4472154487022871930, i64 4607182418800017408, i64 4472123305684971659, i64 4607182418800017408, i64 4472092124347071387, i64 4607182418800017408, i64 4472047456039439704, i64 4607182418800017408, i64 4471985093363639161, i64 4607182418800017408, i64 4471922730687838618, i64 4607182418800017408, i64 4471860368012038075, i64 4607182418800017408, i64 4471798005336237533, i64 4607182418800017408, i64 4471735642660436990, i64 4607182418800017408, i64 4471673279984636447, i64 4607182418800017408, i64 4471610917308835904, i64 4607182418800017408, i64 4471548554633035361, i64 4607182418800017408, i64 4471486191957234818, i64 4607182418800017408, i64 4471423829281434276, i64 4607182418800017408, i64 4471361466605633733, i64 4607182418800017408, i64 4471299103929833190, i64 4607182418800017408, i64 4471236741254032647, i64 4607182418800017408, i64 4471174378578232104, i64 4607182418800017408, i64 4471112015902431561, i64 4607182418800017408, i64 4471049653226631019, i64 4607182418800017408, i64 4471018471888730747, i64 4607182418800017408, i64 4470987290550830476, i64 4607182418800017408, i64 4470956109212930204, i64 4607182418800017408, i64 4470924927875029933, i64 4607182418800017408, i64 4470893746537129662, i64 4607182418800017408, i64 4470862565199229390, i64 4607182418800017408, i64 4470831383861329119, i64 4607182418800017408, i64 4470800202523428847, i64 4607182418800017408, i64 4470769021185528576, i64 4607182418800017408, i64 4470737839847628304, i64 4607182418800017408, i64 4470706658509728033, i64 4607182418800017408, i64 4470675477171827762, i64 4607182418800017408, i64 4470644295833927490, i64 4607182418800017408, i64 4470613114496027219, i64 4607182418800017408, i64 4470581933158126947, i64 4607182418800017408, i64 4470550751820226676, i64 4607182418800017408, i64 4470519570482326405, i64 4607182418800017408, i64 4470488389144426133, i64 4607182418800017408, i64 4470457207806525862, i64 4607182418800017408, i64 4470426026468625590, i64 4607182418800017408, i64 4470394845130725319, i64 4607182418800017408, i64 4470363663792825047, i64 4607182418800017408, i64 4470332482454924776, i64 4607182418800017408, i64 4470301301117024505, i64 4607182418800017408, i64 4470270119779124233, i64 4607182418800017408, i64 4470238938441223962, i64 4607182418800017408, i64 4470207757103323690, i64 4607182418800017408, i64 4470176575765423419, i64 4607182418800017408, i64 4470145394427523148, i64 4607182418800017408, i64 4470114213089622876, i64 4607182418800017408, i64 4470083031751722605, i64 4607182418800017408, i64 4470051850413822333, i64 4607182418800017408, i64 4470020669075922062, i64 4607182418800017408, i64 4469989487738021790, i64 4607182418800017408, i64 4469958306400121519, i64 4607182418800017408, i64 4469927125062221248, i64 4607182418800017408, i64 4469895943724320976, i64 4607182418800017408, i64 4469864762386420705, i64 4607182418800017408, i64 4469833581048520433, i64 4607182418800017408, i64 4469802399710620162, i64 4607182418800017408, i64 4469771218372719891, i64 4607182418800017408, i64 4469740037034819619, i64 4607182418800017408, i64 4469708855696919348, i64 4607182418800017408, i64 4469677674359019076, i64 4607182418800017408, i64 4469646493021118805, i64 4607182418800017408, i64 4469615311683218533, i64 4607182418800017408, i64 4469584130345318262, i64 4607182418800017408, i64 4469552949007417991, i64 4607182418800017408, i64 4469521767669517719, i64 4607182418800017408, i64 4469490586331617448, i64 4607182418800017408, i64 4469459404993717176, i64 4607182418800017408, i64 4469428223655816905, i64 4607182418800017408, i64 4469397042317916634, i64 4607182418800017408, i64 4469365860980016362, i64 4607182418800017408, i64 4469334679642116091, i64 4607182418800017408, i64 4469303498304215819, i64 4607182418800017408, i64 4469272316966315548, i64 4607182418800017408, i64 4469241135628415276, i64 4607182418800017408, i64 4469209954290515005, i64 4607182418800017408, i64 4469178772952614734, i64 4607182418800017408, i64 4469147591614714462, i64 4607182418800017408, i64 4469116410276814191, i64 4607182418800017408, i64 4469085228938913919, i64 4607182418800017408, i64 4469054047601013648, i64 4607182418800017408, i64 4469022866263113377, i64 4607182418800017408, i64 4468991684925213105, i64 4607182418800017408, i64 4468960503587312834, i64 4607182418800017408, i64 4468929322249412562, i64 4607182418800017408, i64 4468898140911512291, i64 4607182418800017408, i64 4468866959573612019, i64 4607182418800017408, i64 4468835778235711748, i64 4607182418800017408, i64 4468804596897811477, i64 4607182418800017408, i64 4468773415559911205, i64 4607182418800017408, i64 4468742234222010934, i64 4607182418800017408, i64 4468711052884110662, i64 4607182418800017408, i64 4468679871546210391, i64 4607182418800017408, i64 4468648690208310120, i64 4607182418800017408, i64 4468617508870409848, i64 4607182418800017408, i64 4468586327532509577, i64 4607182418800017408, i64 4468555146194609305, i64 4607182418800017408, i64 4468523964856709034, i64 4607182418800017408, i64 4468492783518808762, i64 4607182418800017408, i64 4468461602180908491, i64 4607182418800017408, i64 4468430420843008220, i64 4607182418800017408, i64 4468399239505107948, i64 4607182418800017408, i64 4468368058167207677, i64 4607182418800017408, i64 4468336876829307405, i64 4607182418800017408, i64 4468305695491407134, i64 4607182418800017408, i64 4468274514153506863, i64 4607182418800017408, i64 4468243332815606591, i64 4607182418800017408, i64 4468212151477706320, i64 4607182418800017408, i64 4468180970139806048, i64 4607182418800017408, i64 4468149788801905777, i64 4607182418800017408, i64 4468118607464005505, i64 4607182418800017408, i64 4468087426126105234, i64 4607182418800017408, i64 4468056244788204963, i64 4607182418800017408, i64 4468025063450304691, i64 4607182418800017408, i64 4467993882112404420, i64 4607182418800017408, i64 4467962700774504148, i64 4607182418800017408, i64 4467931519436603877, i64 4607182418800017408, i64 4467900338098703606, i64 4607182418800017408, i64 4467869156760803334, i64 4607182418800017408, i64 4467837975422903063, i64 4607182418800017408, i64 4467806794085002791, i64 4607182418800017408, i64 4467775612747102520, i64 4607182418800017408, i64 4467744431409202248, i64 4607182418800017408, i64 4467713250071301977, i64 4607182418800017408, i64 4467682068733401706, i64 4607182418800017408, i64 4467650887395501434, i64 4607182418800017408, i64 4467619706057601163, i64 4607182418800017408, i64 4467588524719700891, i64 4607182418800017408, i64 4467543856412069208, i64 4607182418800017408, i64 4467481493736268665, i64 4607182418800017408, i64 4467419131060468122, i64 4607182418800017408, i64 4467356768384667579, i64 4607182418800017408, i64 4467294405708867037, i64 4607182418800017408, i64 4467232043033066494, i64 4607182418800017408, i64 4467169680357265951, i64 4607182418800017408, i64 4467107317681465408, i64 4607182418800017408, i64 4467044955005664865, i64 4607182418800017408, i64 4466982592329864322, i64 4607182418800017408, i64 4466920229654063780, i64 4607182418800017408, i64 4466857866978263237, i64 4607182418800017408, i64 4466795504302462694, i64 4607182418800017408, i64 4466733141626662151, i64 4607182418800017408, i64 4466670778950861608, i64 4607182418800017408, i64 4466608416275061065, i64 4607182418800017408, i64 4466546053599260523, i64 4607182418800017408, i64 4466514872261360251, i64 4607182418800017408, i64 4466483690923459980, i64 4607182418800017408, i64 4466452509585559708, i64 4607182418800017408, i64 4466421328247659437, i64 4607182418800017408, i64 4466390146909759166, i64 4607182418800017408, i64 4466358965571858894, i64 4607182418800017408, i64 4466327784233958623, i64 4607182418800017408, i64 4466296602896058351, i64 4607182418800017408, i64 4466265421558158080, i64 4607182418800017408, i64 4466234240220257808, i64 4607182418800017408, i64 4466203058882357537, i64 4607182418800017408, i64 4466171877544457266, i64 4607182418800017408, i64 4466140696206556994, i64 4607182418800017408, i64 4466109514868656723, i64 4607182418800017408, i64 4466078333530756451, i64 4607182418800017408, i64 4466047152192856180, i64 4607182418800017408, i64 4466015970854955909, i64 4607182418800017408, i64 4465984789517055637, i64 4607182418800017408, i64 4465953608179155366, i64 4607182418800017408, i64 4465922426841255094, i64 4607182418800017408, i64 4465891245503354823, i64 4607182418800017408, i64 4465860064165454551, i64 4607182418800017408, i64 4465828882827554280, i64 4607182418800017408, i64 4465797701489654009, i64 4607182418800017408, i64 4465766520151753737, i64 4607182418800017408, i64 4465735338813853466, i64 4607182418800017408, i64 4465704157475953194, i64 4607182418800017408, i64 4465672976138052923, i64 4607182418800017408, i64 4465641794800152652, i64 4607182418800017408, i64 4465610613462252380, i64 4607182418800017408, i64 4465579432124352109, i64 4607182418800017408, i64 4465548250786451837, i64 4607182418800017408, i64 4465517069448551566, i64 4607182418800017408, i64 4465485888110651294, i64 4607182418800017408, i64 4465454706772751023, i64 4607182418800017408, i64 4465423525434850752, i64 4607182418800017408, i64 4465392344096950480, i64 4607182418800017408, i64 4465361162759050209, i64 4607182418800017408, i64 4465329981421149937, i64 4607182418800017408, i64 4465298800083249666, i64 4607182418800017408, i64 4465267618745349395, i64 4607182418800017408, i64 4465236437407449123, i64 4607182418800017408, i64 4465205256069548852, i64 4607182418800017408, i64 4465174074731648580, i64 4607182418800017408, i64 4465142893393748309, i64 4607182418800017408, i64 4465111712055848037, i64 4607182418800017408, i64 4465080530717947766, i64 4607182418800017408, i64 4465049349380047495, i64 4607182418800017408, i64 4465018168042147223, i64 4607182418800017408, i64 4464986986704246952, i64 4607182418800017408, i64 4464955805366346680, i64 4607182418800017408, i64 4464924624028446409, i64 4607182418800017408, i64 4464893442690546138, i64 4607182418800017408, i64 4464862261352645866, i64 4607182418800017408, i64 4464831080014745595, i64 4607182418800017408, i64 4464799898676845323, i64 4607182418800017408, i64 4464768717338945052, i64 4607182418800017408, i64 4464737536001044780, i64 4607182418800017408, i64 4464706354663144509, i64 4607182418800017408, i64 4464675173325244238, i64 4607182418800017408, i64 4464643991987343966, i64 4607182418800017408, i64 4464612810649443695, i64 4607182418800017408, i64 4464581629311543423, i64 4607182418800017408, i64 4464550447973643152, i64 4607182418800017408, i64 4464519266635742881, i64 4607182418800017408, i64 4464488085297842609, i64 4607182418800017408, i64 4464456903959942338, i64 4607182418800017408, i64 4464425722622042066, i64 4607182418800017408, i64 4464394541284141795, i64 4607182418800017408, i64 4464363359946241523, i64 4607182418800017408, i64 4464332178608341252, i64 4607182418800017408, i64 4464300997270440981, i64 4607182418800017408, i64 4464269815932540709, i64 4607182418800017408, i64 4464238634594640438, i64 4607182418800017408, i64 4464207453256740166, i64 4607182418800017408, i64 4464176271918839895, i64 4607182418800017408, i64 4464145090580939624, i64 4607182418800017408, i64 4464113909243039352, i64 4607182418800017408, i64 4464082727905139081, i64 4607182418800017408, i64 4464051546567238809, i64 4607182418800017408, i64 4464020365229338538, i64 4607182418800017408, i64 4463989183891438266, i64 4607182418800017408, i64 4463958002553537995, i64 4607182418800017408, i64 4463926821215637724, i64 4607182418800017408, i64 4463895639877737452, i64 4607182418800017408, i64 4463864458539837181, i64 4607182418800017408, i64 4463833277201936909, i64 4607182418800017408, i64 4463802095864036638, i64 4607182418800017408, i64 4463770914526136367, i64 4607182418800017408, i64 4463739733188236095, i64 4607182418800017408, i64 4463708551850335824, i64 4607182418800017408, i64 4463677370512435552, i64 4607182418800017408, i64 4463646189174535281, i64 4607182418800017408, i64 4463615007836635009, i64 4607182418800017408, i64 4463583826498734738, i64 4607182418800017408, i64 4463552645160834467, i64 4607182418800017408, i64 4463521463822934195, i64 4607182418800017408, i64 4463490282485033924, i64 4607182418800017408, i64 4463459101147133652, i64 4607182418800017408, i64 4463427919809233381, i64 4607182418800017408, i64 4463396738471333110, i64 4607182418800017408, i64 4463365557133432838, i64 4607182418800017408, i64 4463334375795532567, i64 4607182418800017408, i64 4463303194457632295, i64 4607182418800017408, i64 4463272013119732024, i64 4607182418800017408, i64 4463240831781831752, i64 4607182418800017408, i64 4463209650443931481, i64 4607182418800017408, i64 4463178469106031210, i64 4607182418800017408, i64 4463147287768130938, i64 4607182418800017408, i64 4463116106430230667, i64 4607182418800017408, i64 4463084925092330395, i64 4607182418800017408, i64 4463040256784698712, i64 4607182418800017408, i64 4462977894108898169, i64 4607182418800017408, i64 4462915531433097626, i64 4607182418800017408, i64 4462853168757297083, i64 4607182418800017408, i64 4462790806081496541, i64 4607182418800017408, i64 4462728443405695998, i64 4607182418800017408, i64 4462666080729895455, i64 4607182418800017408, i64 4462603718054094912, i64 4607182418800017408, i64 4462541355378294369, i64 4607182418800017408, i64 4462478992702493826, i64 4607182418800017408, i64 4462416630026693284, i64 4607182418800017408, i64 4462354267350892741, i64 4607182418800017408, i64 4462291904675092198, i64 4607182418800017408, i64 4462229541999291655, i64 4607182418800017408, i64 4462167179323491112, i64 4607182418800017408, i64 4462104816647690569, i64 4607182418800017408, i64 4462042453971890027, i64 4607182418800017408, i64 4462011272633989755, i64 4607182418800017408, i64 4461980091296089484, i64 4607182418800017408, i64 4461948909958189212, i64 4607182418800017408, i64 4461917728620288941, i64 4607182418800017408, i64 4461886547282388670, i64 4607182418800017408, i64 4461855365944488398, i64 4607182418800017408, i64 4461824184606588127, i64 4607182418800017408, i64 4461793003268687855, i64 4607182418800017408, i64 4461761821930787584, i64 4607182418800017408, i64 4461730640592887312, i64 4607182418800017408, i64 4461699459254987041, i64 4607182418800017408, i64 4461668277917086770, i64 4607182418800017408, i64 4461637096579186498, i64 4607182418800017408, i64 4461605915241286227, i64 4607182418800017408, i64 4461574733903385955, i64 4607182418800017408, i64 4461543552565485684, i64 4607182418800017408, i64 4461512371227585413, i64 4607182418800017408, i64 4461481189889685141, i64 4607182418800017408, i64 4461450008551784870, i64 4607182418800017408, i64 4461418827213884598, i64 4607182418800017408, i64 4461387645875984327, i64 4607182418800017408, i64 4461356464538084055, i64 4607182418800017408, i64 4461325283200183784, i64 4607182418800017408, i64 4461294101862283513, i64 4607182418800017408, i64 4461262920524383241, i64 4607182418800017408, i64 4461231739186482970, i64 4607182418800017408, i64 4461200557848582698, i64 4607182418800017408, i64 4461169376510682427, i64 4607182418800017408, i64 4461138195172782156, i64 4607182418800017408, i64 4461107013834881884, i64 4607182418800017408, i64 4461075832496981613, i64 4607182418800017408, i64 4461044651159081341, i64 4607182418800017408, i64 4461013469821181070, i64 4607182418800017408, i64 4460982288483280798, i64 4607182418800017408, i64 4460951107145380527, i64 4607182418800017408, i64 4460919925807480256, i64 4607182418800017408, i64 4460888744469579984, i64 4607182418800017408, i64 4460857563131679713, i64 4607182418800017408, i64 4460826381793779441, i64 4607182418800017408, i64 4460795200455879170, i64 4607182418800017408, i64 4460764019117978899, i64 4607182418800017408, i64 4460732837780078627, i64 4607182418800017408, i64 4460701656442178356, i64 4607182418800017408, i64 4460670475104278084, i64 4607182418800017408, i64 4460639293766377813, i64 4607182418800017408, i64 4460608112428477541, i64 4607182418800017408, i64 4460576931090577270, i64 4607182418800017408, i64 4460545749752676999, i64 4607182418800017408, i64 4460514568414776727, i64 4607182418800017408, i64 4460483387076876456, i64 4607182418800017408, i64 4460452205738976184, i64 4607182418800017408, i64 4460421024401075913, i64 4607182418800017408, i64 4460389843063175642, i64 4607182418800017408, i64 4460358661725275370, i64 4607182418800017408, i64 4460327480387375099, i64 4607182418800017408, i64 4460296299049474827, i64 4607182418800017408, i64 4460265117711574556, i64 4607182418800017408, i64 4460233936373674284, i64 4607182418800017408, i64 4460202755035774013, i64 4607182418800017408, i64 4460171573697873742, i64 4607182418800017408, i64 4460140392359973470, i64 4607182418800017408, i64 4460109211022073199, i64 4607182418800017408, i64 4460078029684172927, i64 4607182418800017408, i64 4460046848346272656, i64 4607182418800017408, i64 4460015667008372385, i64 4607182418800017408, i64 4459984485670472113, i64 4607182418800017408, i64 4459953304332571842, i64 4607182418800017408, i64 4459922122994671570, i64 4607182418800017408, i64 4459890941656771299, i64 4607182418800017408, i64 4459859760318871027, i64 4607182418800017408, i64 4459828578980970756, i64 4607182418800017408, i64 4459797397643070485, i64 4607182418800017408, i64 4459766216305170213, i64 4607182418800017408, i64 4459735034967269942, i64 4607182418800017408, i64 4459703853629369670, i64 4607182418800017408, i64 4459672672291469399, i64 4607182418800017408, i64 4459641490953569128, i64 4607182418800017408, i64 4459610309615668856, i64 4607182418800017408, i64 4459579128277768585, i64 4607182418800017408, i64 4459547946939868313, i64 4607182418800017408, i64 4459516765601968042, i64 4607182418800017408, i64 4459485584264067770, i64 4607182418800017408, i64 4459454402926167499, i64 4607182418800017408, i64 4459423221588267228, i64 4607182418800017408, i64 4459392040250366956, i64 4607182418800017408, i64 4459360858912466685, i64 4607182418800017408, i64 4459329677574566413, i64 4607182418800017408, i64 4459298496236666142, i64 4607182418800017408, i64 4459267314898765871, i64 4607182418800017408, i64 4459236133560865599, i64 4607182418800017408, i64 4459204952222965328, i64 4607182418800017408, i64 4459173770885065056, i64 4607182418800017408, i64 4459142589547164785, i64 4607182418800017408, i64 4459111408209264513, i64 4607182418800017408, i64 4459080226871364242, i64 4607182418800017408, i64 4459049045533463971, i64 4607182418800017408, i64 4459017864195563699, i64 4607182418800017408, i64 4458986682857663428, i64 4607182418800017408, i64 4458955501519763156, i64 4607182418800017408, i64 4458924320181862885, i64 4607182418800017408, i64 4458893138843962614, i64 4607182418800017408, i64 4458861957506062342, i64 4607182418800017408, i64 4458830776168162071, i64 4607182418800017408, i64 4458799594830261799, i64 4607182418800017408, i64 4458768413492361528, i64 4607182418800017408, i64 4458737232154461256, i64 4607182418800017408, i64 4458706050816560985, i64 4607182418800017408, i64 4458674869478660714, i64 4607182418800017408, i64 4458643688140760442, i64 4607182418800017408, i64 4458612506802860171, i64 4607182418800017408, i64 4458581325464959899, i64 4607182418800017408, i64 4458536657157328216, i64 4607182418800017408, i64 4458474294481527673, i64 4607182418800017408, i64 4458411931805727130, i64 4607182418800017408, i64 4458349569129926587, i64 4607182418800017408, i64 4458287206454126045, i64 4607182418800017408, i64 4458224843778325502, i64 4607182418800017408, i64 4458162481102524959, i64 4607182418800017408, i64 4458100118426724416, i64 4607182418800017408, i64 4458037755750923873, i64 4607182418800017408, i64 4457975393075123330, i64 4607182418800017408, i64 4457913030399322788, i64 4607182418800017408, i64 4457850667723522245, i64 4607182418800017408, i64 4457788305047721702, i64 4607182418800017408, i64 4457725942371921159, i64 4607182418800017408, i64 4457663579696120616, i64 4607182418800017408, i64 4457601217020320073, i64 4607182418800017408, i64 4457538854344519531, i64 4607182418800017408, i64 4457507673006619259, i64 4607182418800017408, i64 4457476491668718988, i64 4607182418800017408, i64 4457445310330818716, i64 4607182418800017408, i64 4457414128992918445, i64 4607182418800017408, i64 4457382947655018174, i64 4607182418800017408, i64 4457351766317117902, i64 4607182418800017408, i64 4457320584979217631, i64 4607182418800017408, i64 4457289403641317359, i64 4607182418800017408, i64 4457258222303417088, i64 4607182418800017408, i64 4457227040965516816, i64 4607182418800017408, i64 4457195859627616545, i64 4607182418800017408, i64 4457164678289716274, i64 4607182418800017408, i64 4457133496951816002, i64 4607182418800017408, i64 4457102315613915731, i64 4607182418800017408, i64 4457071134276015459, i64 4607182418800017408, i64 4457039952938115188, i64 4607182418800017408, i64 4457008771600214917, i64 4607182418800017408, i64 4456977590262314645, i64 4607182418800017408, i64 4456946408924414374, i64 4607182418800017408, i64 4456915227586514102, i64 4607182418800017408, i64 4456884046248613831, i64 4607182418800017408, i64 4456852864910713559, i64 4607182418800017408, i64 4456821683572813288, i64 4607182418800017408, i64 4456790502234913017, i64 4607182418800017408, i64 4456759320897012745, i64 4607182418800017408, i64 4456728139559112474, i64 4607182418800017408, i64 4456696958221212202, i64 4607182418800017408, i64 4456665776883311931, i64 4607182418800017408, i64 4456634595545411660, i64 4607182418800017408, i64 4456603414207511388, i64 4607182418800017408, i64 4456572232869611117, i64 4607182418800017408, i64 4456541051531710845, i64 4607182418800017408, i64 4456509870193810574, i64 4607182418800017408, i64 4456478688855910302, i64 4607182418800017408, i64 4456447507518010031, i64 4607182418800017408, i64 4456416326180109760, i64 4607182418800017408, i64 4456385144842209488, i64 4607182418800017408, i64 4456353963504309217, i64 4607182418800017408, i64 4456322782166408945, i64 4607182418800017408, i64 4456291600828508674, i64 4607182418800017408, i64 4456260419490608403, i64 4607182418800017408, i64 4456229238152708131, i64 4607182418800017408, i64 4456198056814807860, i64 4607182418800017408, i64 4456166875476907588, i64 4607182418800017408, i64 4456135694139007317, i64 4607182418800017408, i64 4456104512801107045, i64 4607182418800017408, i64 4456073331463206774, i64 4607182418800017408, i64 4456042150125306503, i64 4607182418800017408, i64 4456010968787406231, i64 4607182418800017408, i64 4455979787449505960, i64 4607182418800017408, i64 4455948606111605688, i64 4607182418800017408, i64 4455917424773705417, i64 4607182418800017408, i64 4455886243435805146, i64 4607182418800017408, i64 4455855062097904874, i64 4607182418800017408, i64 4455823880760004603, i64 4607182418800017408, i64 4455792699422104331, i64 4607182418800017408, i64 4455761518084204060, i64 4607182418800017408, i64 4455730336746303788, i64 4607182418800017408, i64 4455699155408403517, i64 4607182418800017408, i64 4455667974070503246, i64 4607182418800017408, i64 4455636792732602974, i64 4607182418800017408, i64 4455605611394702703, i64 4607182418800017408, i64 4455574430056802431, i64 4607182418800017408, i64 4455543248718902160, i64 4607182418800017408, i64 4455512067381001889, i64 4607182418800017408, i64 4455480886043101617, i64 4607182418800017408, i64 4455449704705201346, i64 4607182418800017408, i64 4455418523367301074, i64 4607182418800017408, i64 4455387342029400803, i64 4607182418800017408, i64 4455356160691500531, i64 4607182418800017408, i64 4455324979353600260, i64 4607182418800017408, i64 4455293798015699989, i64 4607182418800017408, i64 4455262616677799717, i64 4607182418800017408, i64 4455231435339899446, i64 4607182418800017408, i64 4455200254001999174, i64 4607182418800017408, i64 4455169072664098903, i64 4607182418800017408, i64 4455137891326198632, i64 4607182418800017408, i64 4455106709988298360, i64 4607182418800017408, i64 4455075528650398089, i64 4607182418800017408, i64 4455044347312497817, i64 4607182418800017408, i64 4455013165974597546, i64 4607182418800017408, i64 4454981984636697274, i64 4607182418800017408, i64 4454950803298797003, i64 4607182418800017408, i64 4454919621960896732, i64 4607182418800017408, i64 4454888440622996460, i64 4607182418800017408, i64 4454857259285096189, i64 4607182418800017408, i64 4454826077947195917, i64 4607182418800017408, i64 4454794896609295646, i64 4607182418800017408, i64 4454763715271395375, i64 4607182418800017408, i64 4454732533933495103, i64 4607182418800017408, i64 4454701352595594832, i64 4607182418800017408, i64 4454670171257694560, i64 4607182418800017408, i64 4454638989919794289, i64 4607182418800017408, i64 4454607808581894017, i64 4607182418800017408, i64 4454576627243993746, i64 4607182418800017408, i64 4454545445906093475, i64 4607182418800017408, i64 4454514264568193203, i64 4607182418800017408, i64 4454483083230292932, i64 4607182418800017408, i64 4454451901892392660, i64 4607182418800017408, i64 4454420720554492389, i64 4607182418800017408, i64 4454389539216592118, i64 4607182418800017408, i64 4454358357878691846, i64 4607182418800017408, i64 4454327176540791575, i64 4607182418800017408, i64 4454295995202891303, i64 4607182418800017408, i64 4454264813864991032, i64 4607182418800017408, i64 4454233632527090760, i64 4607182418800017408, i64 4454202451189190489, i64 4607182418800017408, i64 4454171269851290218, i64 4607182418800017408, i64 4454140088513389946, i64 4607182418800017408, i64 4454108907175489675, i64 4607182418800017408, i64 4454077725837589403, i64 4607182418800017408, i64 4454033057529957720, i64 4607182418800017408, i64 4453970694854157177, i64 4607182418800017408, i64 4453908332178356634, i64 4607182418800017408, i64 4453845969502556091, i64 4607182418800017408, i64 4453783606826755549, i64 4607182418800017408, i64 4453721244150955006, i64 4607182418800017408, i64 4453658881475154463, i64 4607182418800017408, i64 4453596518799353920, i64 4607182418800017408, i64 4453534156123553377, i64 4607182418800017408, i64 4453471793447752834, i64 4607182418800017408, i64 4453409430771952292, i64 4607182418800017408, i64 4453347068096151749, i64 4607182418800017408, i64 4453284705420351206, i64 4607182418800017408, i64 4453222342744550663, i64 4607182418800017408, i64 4453159980068750120, i64 4607182418800017408, i64 4453097617392949577, i64 4607182418800017408, i64 4453035254717149035, i64 4607182418800017408, i64 4453004073379248763, i64 4607182418800017408, i64 4452972892041348492, i64 4607182418800017408, i64 4452941710703448220, i64 4607182418800017408, i64 4452910529365547949, i64 4607182418800017408, i64 4452879348027647678, i64 4607182418800017408, i64 4452848166689747406, i64 4607182418800017408, i64 4452816985351847135, i64 4607182418800017408, i64 4452785804013946863, i64 4607182418800017408, i64 4452754622676046592, i64 4607182418800017408, i64 4452723441338146320, i64 4607182418800017408, i64 4452692260000246049, i64 4607182418800017408, i64 4452661078662345778, i64 4607182418800017408, i64 4452629897324445506, i64 4607182418800017408, i64 4452598715986545235, i64 4607182418800017408, i64 4452567534648644963, i64 4607182418800017408, i64 4452536353310744692, i64 4607182418800017408, i64 4452505171972844421, i64 4607182418800017408, i64 4452473990634944149, i64 4607182418800017408, i64 4452442809297043878, i64 4607182418800017408, i64 4452411627959143606, i64 4607182418800017408, i64 4452380446621243335, i64 4607182418800017408, i64 4452349265283343063, i64 4607182418800017408, i64 4452318083945442792, i64 4607182418800017408, i64 4452286902607542521, i64 4607182418800017408, i64 4452255721269642249, i64 4607182418800017408, i64 4452224539931741978, i64 4607182418800017408, i64 4452193358593841706, i64 4607182418800017408, i64 4452162177255941435, i64 4607182418800017408, i64 4452130995918041164, i64 4607182418800017408, i64 4452099814580140892, i64 4607182418800017408, i64 4452068633242240621, i64 4607182418800017408, i64 4452037451904340349, i64 4607182418800017408, i64 4452006270566440078, i64 4607182418800017408, i64 4451975089228539806, i64 4607182418800017408, i64 4451943907890639535, i64 4607182418800017408, i64 4451912726552739264, i64 4607182418800017408, i64 4451881545214838992, i64 4607182418800017408, i64 4451850363876938721, i64 4607182418800017408, i64 4451819182539038449, i64 4607182418800017408, i64 4451788001201138178, i64 4607182418800017408, i64 4451756819863237907, i64 4607182418800017408, i64 4451725638525337635, i64 4607182418800017408, i64 4451694457187437364, i64 4607182418800017408, i64 4451663275849537092, i64 4607182418800017408, i64 4451632094511636821, i64 4607182418800017408, i64 4451600913173736549, i64 4607182418800017408, i64 4451569731835836278, i64 4607182418800017408, i64 4451538550497936007, i64 4607182418800017408, i64 4451507369160035735, i64 4607182418800017408, i64 4451476187822135464, i64 4607182418800017408, i64 4451445006484235192, i64 4607182418800017408, i64 4451413825146334921, i64 4607182418800017408, i64 4451382643808434650, i64 4607182418800017408, i64 4451351462470534378, i64 4607182418800017408, i64 4451320281132634107, i64 4607182418800017408, i64 4451289099794733835, i64 4607182418800017408, i64 4451257918456833564, i64 4607182418800017408, i64 4451226737118933292, i64 4607182418800017408, i64 4451195555781033021, i64 4607182418800017408, i64 4451164374443132750, i64 4607182418800017408, i64 4451133193105232478, i64 4607182418800017408, i64 4451102011767332207, i64 4607182418800017408, i64 4451070830429431935, i64 4607182418800017408, i64 4451039649091531664, i64 4607182418800017408, i64 4451008467753631393, i64 4607182418800017408, i64 4450977286415731121, i64 4607182418800017408, i64 4450946105077830850, i64 4607182418800017408, i64 4450914923739930578, i64 4607182418800017408, i64 4450883742402030307, i64 4607182418800017408, i64 4450852561064130035, i64 4607182418800017408, i64 4450821379726229764, i64 4607182418800017408, i64 4450790198388329493, i64 4607182418800017408, i64 4450759017050429221, i64 4607182418800017408, i64 4450727835712528950, i64 4607182418800017408, i64 4450696654374628678, i64 4607182418800017408, i64 4450665473036728407, i64 4607182418800017408, i64 4450634291698828136, i64 4607182418800017408, i64 4450603110360927864, i64 4607182418800017408, i64 4450571929023027593, i64 4607182418800017408, i64 4450540747685127321, i64 4607182418800017408, i64 4450509566347227050, i64 4607182418800017408, i64 4450478385009326778, i64 4607182418800017408, i64 4450447203671426507, i64 4607182418800017408, i64 4450416022333526236, i64 4607182418800017408, i64 4450384840995625964, i64 4607182418800017408, i64 4450353659657725693, i64 4607182418800017408, i64 4450322478319825421, i64 4607182418800017408, i64 4450291296981925150, i64 4607182418800017408, i64 4450260115644024879, i64 4607182418800017408, i64 4450228934306124607, i64 4607182418800017408, i64 4450197752968224336, i64 4607182418800017408, i64 4450166571630324064, i64 4607182418800017408, i64 4450135390292423793, i64 4607182418800017408, i64 4450104208954523521, i64 4607182418800017408, i64 4450073027616623250, i64 4607182418800017408, i64 4450041846278722979, i64 4607182418800017408, i64 4450010664940822707, i64 4607182418800017408, i64 4449979483602922436, i64 4607182418800017408, i64 4449948302265022164, i64 4607182418800017408, i64 4449917120927121893, i64 4607182418800017408, i64 4449885939589221622, i64 4607182418800017408, i64 4449854758251321350, i64 4607182418800017408, i64 4449823576913421079, i64 4607182418800017408, i64 4449792395575520807, i64 4607182418800017408, i64 4449761214237620536, i64 4607182418800017408, i64 4449730032899720264, i64 4607182418800017408, i64 4449698851561819993, i64 4607182418800017408, i64 4449667670223919722, i64 4607182418800017408, i64 4449636488886019450, i64 4607182418800017408, i64 4449605307548119179, i64 4607182418800017408, i64 4449574126210218907, i64 4607182418800017408, i64 4449529457902587224, i64 4607182418800017408, i64 4449467095226786681, i64 4607182418800017408, i64 4449404732550986138, i64 4607182418800017408, i64 4449342369875185595, i64 4607182418800017408, i64 4449280007199385053, i64 4607182418800017408, i64 4449217644523584510, i64 4607182418800017408, i64 4449155281847783967, i64 4607182418800017408, i64 4449092919171983424, i64 4607182418800017408, i64 4449030556496182881, i64 4607182418800017408, i64 4448968193820382338, i64 4607182418800017408, i64 4448905831144581796, i64 4607182418800017408, i64 4448843468468781253, i64 4607182418800017408, i64 4448781105792980710, i64 4607182418800017408, i64 4448718743117180167, i64 4607182418800017408, i64 4448656380441379624, i64 4607182418800017408, i64 4448594017765579081, i64 4607182418800017408, i64 4448531655089778539, i64 4607182418800017408, i64 4448500473751878267, i64 4607182418800017408, i64 4448469292413977996, i64 4607182418800017408, i64 4448438111076077724, i64 4607182418800017408, i64 4448406929738177453, i64 4607182418800017408, i64 4448375748400277182, i64 4607182418800017408, i64 4448344567062376910, i64 4607182418800017408, i64 4448313385724476639, i64 4607182418800017408, i64 4448282204386576367, i64 4607182418800017408, i64 4448251023048676096, i64 4607182418800017408, i64 4448219841710775824, i64 4607182418800017408, i64 4448188660372875553, i64 4607182418800017408, i64 4448157479034975282, i64 4607182418800017408, i64 4448126297697075010, i64 4607182418800017408, i64 4448095116359174739, i64 4607182418800017408, i64 4448063935021274467, i64 4607182418800017408, i64 4448032753683374196, i64 4607182418800017408, i64 4448001572345473925, i64 4607182418800017408, i64 4447970391007573653, i64 4607182418800017408, i64 4447939209669673382, i64 4607182418800017408, i64 4447908028331773110, i64 4607182418800017408, i64 4447876846993872839, i64 4607182418800017408, i64 4447845665655972567, i64 4607182418800017408, i64 4447814484318072296, i64 4607182418800017408, i64 4447783302980172025, i64 4607182418800017408, i64 4447752121642271753, i64 4607182418800017408, i64 4447720940304371482, i64 4607182418800017408, i64 4447689758966471210, i64 4607182418800017408, i64 4447658577628570939, i64 4607182418800017408, i64 4447627396290670668, i64 4607182418800017408, i64 4447596214952770396, i64 4607182418800017408, i64 4447565033614870125, i64 4607182418800017408, i64 4447533852276969853, i64 4607182418800017408, i64 4447502670939069582, i64 4607182418800017408, i64 4447471489601169310, i64 4607182418800017408, i64 4447440308263269039, i64 4607182418800017408, i64 4447409126925368768, i64 4607182418800017408, i64 4447377945587468496, i64 4607182418800017408, i64 4447346764249568225, i64 4607182418800017408, i64 4447315582911667953, i64 4607182418800017408, i64 4447284401573767682, i64 4607182418800017408, i64 4447253220235867411, i64 4607182418800017408, i64 4447222038897967139, i64 4607182418800017408, i64 4447190857560066868, i64 4607182418800017408, i64 4447159676222166596, i64 4607182418800017408, i64 4447128494884266325, i64 4607182418800017408, i64 4447097313546366053, i64 4607182418800017408, i64 4447066132208465782, i64 4607182418800017408, i64 4447034950870565511, i64 4607182418800017408, i64 4447003769532665239, i64 4607182418800017408, i64 4446972588194764968, i64 4607182418800017408, i64 4446941406856864696, i64 4607182418800017408, i64 4446910225518964425, i64 4607182418800017408, i64 4446879044181064154, i64 4607182418800017408, i64 4446847862843163882, i64 4607182418800017408, i64 4446816681505263611, i64 4607182418800017408, i64 4446785500167363339, i64 4607182418800017408, i64 4446754318829463068, i64 4607182418800017408, i64 4446723137491562796, i64 4607182418800017408, i64 4446691956153662525, i64 4607182418800017408, i64 4446660774815762254, i64 4607182418800017408, i64 4446629593477861982, i64 4607182418800017408, i64 4446598412139961711, i64 4607182418800017408, i64 4446567230802061439, i64 4607182418800017408, i64 4446536049464161168, i64 4607182418800017408, i64 4446504868126260897, i64 4607182418800017408, i64 4446473686788360625, i64 4607182418800017408, i64 4446442505450460354, i64 4607182418800017408, i64 4446411324112560082, i64 4607182418800017408, i64 4446380142774659811, i64 4607182418800017408, i64 4446348961436759539, i64 4607182418800017408, i64 4446317780098859268, i64 4607182418800017408, i64 4446286598760958997, i64 4607182418800017408, i64 4446255417423058725, i64 4607182418800017408, i64 4446224236085158454, i64 4607182418800017408, i64 4446193054747258182, i64 4607182418800017408, i64 4446161873409357911, i64 4607182418800017408, i64 4446130692071457640, i64 4607182418800017408, i64 4446099510733557368, i64 4607182418800017408, i64 4446068329395657097, i64 4607182418800017408, i64 4446037148057756825, i64 4607182418800017408, i64 4446005966719856554, i64 4607182418800017408, i64 4445974785381956282, i64 4607182418800017408, i64 4445943604044056011, i64 4607182418800017408, i64 4445912422706155740, i64 4607182418800017408, i64 4445881241368255468, i64 4607182418800017408, i64 4445850060030355197, i64 4607182418800017408, i64 4445818878692454925, i64 4607182418800017408, i64 4445787697354554654, i64 4607182418800017408, i64 4445756516016654383, i64 4607182418800017408, i64 4445725334678754111, i64 4607182418800017408, i64 4445694153340853840, i64 4607182418800017408, i64 4445662972002953568, i64 4607182418800017408, i64 4445631790665053297, i64 4607182418800017408, i64 4445600609327153025, i64 4607182418800017408, i64 4445569427989252754, i64 4607182418800017408, i64 4445538246651352483, i64 4607182418800017408, i64 4445507065313452211, i64 4607182418800017408, i64 4445475883975551940, i64 4607182418800017408, i64 4445444702637651668, i64 4607182418800017408, i64 4445413521299751397, i64 4607182418800017408, i64 4445382339961851126, i64 4607182418800017408, i64 4445351158623950854, i64 4607182418800017408, i64 4445319977286050583, i64 4607182418800017408, i64 4445288795948150311, i64 4607182418800017408, i64 4445257614610250040, i64 4607182418800017408, i64 4445226433272349768, i64 4607182418800017408, i64 4445195251934449497, i64 4607182418800017408, i64 4445164070596549226, i64 4607182418800017408, i64 4445132889258648954, i64 4607182418800017408, i64 4445101707920748683, i64 4607182418800017408, i64 4445070526582848411, i64 4607182418800017408, i64 4445025858275216728, i64 4607182418800017408, i64 4444963495599416185, i64 4607182418800017408, i64 4444901132923615642, i64 4607182418800017408, i64 4444838770247815099, i64 4607182418800017408, i64 4444776407572014557, i64 4607182418800017408, i64 4444714044896214014, i64 4607182418800017408, i64 4444651682220413471, i64 4607182418800017408, i64 4444589319544612928, i64 4607182418800017408, i64 4444526956868812385, i64 4607182418800017408, i64 4444464594193011842, i64 4607182418800017408, i64 4444402231517211300, i64 4607182418800017408, i64 4444339868841410757, i64 4607182418800017408, i64 4444277506165610214, i64 4607182418800017408, i64 4444215143489809671, i64 4607182418800017408, i64 4444152780814009128, i64 4607182418800017408, i64 4444090418138208585, i64 4607182418800017408, i64 4444028055462408043, i64 4607182418800017408, i64 4443996874124507771, i64 4607182418800017408, i64 4443965692786607500, i64 4607182418800017408, i64 4443934511448707228, i64 4607182418800017408, i64 4443903330110806957, i64 4607182418800017408, i64 4443872148772906686, i64 4607182418800017408, i64 4443840967435006414, i64 4607182418800017408, i64 4443809786097106143, i64 4607182418800017408, i64 4443778604759205871, i64 4607182418800017408, i64 4443747423421305600, i64 4607182418800017408, i64 4443716242083405328, i64 4607182418800017408, i64 4443685060745505057, i64 4607182418800017408, i64 4443653879407604786, i64 4607182418800017408, i64 4443622698069704514, i64 4607182418800017408, i64 4443591516731804243, i64 4607182418800017408, i64 4443560335393903971, i64 4607182418800017408, i64 4443529154056003700, i64 4607182418800017408, i64 4443497972718103429, i64 4607182418800017408, i64 4443466791380203157, i64 4607182418800017408, i64 4443435610042302886, i64 4607182418800017408, i64 4443404428704402614, i64 4607182418800017408, i64 4443373247366502343, i64 4607182418800017408, i64 4443342066028602071, i64 4607182418800017408, i64 4443310884690701800, i64 4607182418800017408, i64 4443279703352801529, i64 4607182418800017408, i64 4443248522014901257, i64 4607182418800017408, i64 4443217340677000986, i64 4607182418800017408, i64 4443186159339100714, i64 4607182418800017408, i64 4443154978001200443, i64 4607182418800017408, i64 4443123796663300172, i64 4607182418800017408, i64 4443092615325399900, i64 4607182418800017408, i64 4443061433987499629, i64 4607182418800017408, i64 4443030252649599357, i64 4607182418800017408, i64 4442999071311699086, i64 4607182418800017408, i64 4442967889973798814, i64 4607182418800017408, i64 4442936708635898543, i64 4607182418800017408, i64 4442905527297998272, i64 4607182418800017408, i64 4442874345960098000, i64 4607182418800017408, i64 4442843164622197729, i64 4607182418800017408, i64 4442811983284297457, i64 4607182418800017408, i64 4442780801946397186, i64 4607182418800017408, i64 4442749620608496915, i64 4607182418800017408, i64 4442718439270596643, i64 4607182418800017408, i64 4442687257932696372, i64 4607182418800017408, i64 4442656076594796100, i64 4607182418800017408, i64 4442624895256895829, i64 4607182418800017408, i64 4442593713918995557, i64 4607182418800017408, i64 4442562532581095286, i64 4607182418800017408, i64 4442531351243195015, i64 4607182418800017408, i64 4442500169905294743, i64 4607182418800017408, i64 4442468988567394472, i64 4607182418800017408, i64 4442437807229494200, i64 4607182418800017408, i64 4442406625891593929, i64 4607182418800017408, i64 4442375444553693658, i64 4607182418800017408, i64 4442344263215793386, i64 4607182418800017408, i64 4442313081877893115, i64 4607182418800017408, i64 4442281900539992843, i64 4607182418800017408, i64 4442250719202092572, i64 4607182418800017408, i64 4442219537864192300, i64 4607182418800017408, i64 4442188356526292029, i64 4607182418800017408, i64 4442157175188391758, i64 4607182418800017408, i64 4442125993850491486, i64 4607182418800017408, i64 4442094812512591215, i64 4607182418800017408, i64 4442063631174690943, i64 4607182418800017408, i64 4442032449836790672, i64 4607182418800017408, i64 4442001268498890401, i64 4607182418800017408, i64 4441970087160990129, i64 4607182418800017408, i64 4441938905823089858, i64 4607182418800017408, i64 4441907724485189586, i64 4607182418800017408, i64 4441876543147289315, i64 4607182418800017408, i64 4441845361809389043, i64 4607182418800017408, i64 4441814180471488772, i64 4607182418800017408, i64 4441782999133588501, i64 4607182418800017408, i64 4441751817795688229, i64 4607182418800017408, i64 4441720636457787958, i64 4607182418800017408, i64 4441689455119887686, i64 4607182418800017408, i64 4441658273781987415, i64 4607182418800017408, i64 4441627092444087144, i64 4607182418800017408, i64 4441595911106186872, i64 4607182418800017408, i64 4441564729768286601, i64 4607182418800017408, i64 4441533548430386329, i64 4607182418800017408, i64 4441502367092486058, i64 4607182418800017408, i64 4441471185754585786, i64 4607182418800017408, i64 4441440004416685515, i64 4607182418800017408, i64 4441408823078785244, i64 4607182418800017408, i64 4441377641740884972, i64 4607182418800017408, i64 4441346460402984701, i64 4607182418800017408, i64 4441315279065084429, i64 4607182418800017408, i64 4441284097727184158, i64 4607182418800017408, i64 4441252916389283887, i64 4607182418800017408, i64 4441221735051383615, i64 4607182418800017408, i64 4441190553713483344, i64 4607182418800017408, i64 4441159372375583072, i64 4607182418800017408, i64 4441128191037682801, i64 4607182418800017408, i64 4441097009699782529, i64 4607182418800017408, i64 4441065828361882258, i64 4607182418800017408, i64 4441034647023981987, i64 4607182418800017408, i64 4441003465686081715, i64 4607182418800017408, i64 4440972284348181444, i64 4607182418800017408, i64 4440941103010281172, i64 4607182418800017408, i64 4440909921672380901, i64 4607182418800017408, i64 4440878740334480630, i64 4607182418800017408, i64 4440847558996580358, i64 4607182418800017408, i64 4440816377658680087, i64 4607182418800017408, i64 4440785196320779815, i64 4607182418800017408, i64 4440754014982879544, i64 4607182418800017408, i64 4440722833644979272, i64 4607182418800017408, i64 4440691652307079001, i64 4607182418800017408, i64 4440660470969178730, i64 4607182418800017408, i64 4440629289631278458, i64 4607182418800017408, i64 4440598108293378187, i64 4607182418800017408, i64 4440566926955477915, i64 4607182418800017408, i64 4440522258647846232, i64 4607182418800017408, i64 4440459895972045689, i64 4607182418800017408, i64 4440397533296245146, i64 4607182418800017408, i64 4440335170620444603, i64 4607182418800017408, i64 4440272807944644061, i64 4607182418800017408, i64 4440210445268843518, i64 4607182418800017408, i64 4440148082593042975, i64 4607182418800017408, i64 4440085719917242432, i64 4607182418800017408, i64 4440023357241441889, i64 4607182418800017408, i64 4439960994565641346, i64 4607182418800017408, i64 4439898631889840804, i64 4607182418800017408, i64 4439836269214040261, i64 4607182418800017408, i64 4439773906538239718, i64 4607182418800017408, i64 4439711543862439175, i64 4607182418800017408, i64 4439649181186638632, i64 4607182418800017408, i64 4439586818510838089, i64 4607182418800017408, i64 4439524455835037547, i64 4607182418800017408, i64 4439493274497137275, i64 4607182418800017408, i64 4439462093159237004, i64 4607182418800017408, i64 4439430911821336732, i64 4607182418800017408, i64 4439399730483436461, i64 4607182418800017408, i64 4439368549145536190, i64 4607182418800017408, i64 4439337367807635918, i64 4607182418800017408, i64 4439306186469735647, i64 4607182418800017408, i64 4439275005131835375, i64 4607182418800017408, i64 4439243823793935104, i64 4607182418800017408, i64 4439212642456034832, i64 4607182418800017408, i64 4439181461118134561, i64 4607182418800017408, i64 4439150279780234290, i64 4607182418800017408, i64 4439119098442334018, i64 4607182418800017408, i64 4439087917104433747, i64 4607182418800017408, i64 4439056735766533475, i64 4607182418800017408, i64 4439025554428633204, i64 4607182418800017408, i64 4438994373090732933, i64 4607182418800017408, i64 4438963191752832661, i64 4607182418800017408, i64 4438932010414932390, i64 4607182418800017408, i64 4438900829077032118, i64 4607182418800017408, i64 4438869647739131847, i64 4607182418800017408, i64 4438838466401231575, i64 4607182418800017408, i64 4438807285063331304, i64 4607182418800017408, i64 4438776103725431033, i64 4607182418800017408, i64 4438744922387530761, i64 4607182418800017408, i64 4438713741049630490, i64 4607182418800017408, i64 4438682559711730218, i64 4607182418800017408, i64 4438651378373829947, i64 4607182418800017408, i64 4438620197035929676, i64 4607182418800017408, i64 4438589015698029404, i64 4607182418800017408, i64 4438557834360129133, i64 4607182418800017408, i64 4438526653022228861, i64 4607182418800017408, i64 4438495471684328590, i64 4607182418800017408, i64 4438464290346428318, i64 4607182418800017408, i64 4438433109008528047, i64 4607182418800017408, i64 4438401927670627776, i64 4607182418800017408, i64 4438370746332727504, i64 4607182418800017408, i64 4438339564994827233, i64 4607182418800017408, i64 4438308383656926961, i64 4607182418800017408, i64 4438277202319026690, i64 4607182418800017408, i64 4438246020981126419, i64 4607182418800017408, i64 4438214839643226147, i64 4607182418800017408, i64 4438183658305325876, i64 4607182418800017408, i64 4438152476967425604, i64 4607182418800017408, i64 4438121295629525333, i64 4607182418800017408, i64 4438090114291625061, i64 4607182418800017408, i64 4438058932953724790, i64 4607182418800017408, i64 4438027751615824519, i64 4607182418800017408, i64 4437996570277924247, i64 4607182418800017408, i64 4437965388940023976, i64 4607182418800017408, i64 4437934207602123704, i64 4607182418800017408, i64 4437903026264223433, i64 4607182418800017408, i64 4437871844926323162, i64 4607182418800017408, i64 4437840663588422890, i64 4607182418800017408, i64 4437809482250522619, i64 4607182418800017408, i64 4437778300912622347, i64 4607182418800017408, i64 4437747119574722076, i64 4607182418800017408, i64 4437715938236821804, i64 4607182418800017408, i64 4437684756898921533, i64 4607182418800017408, i64 4437653575561021262, i64 4607182418800017408, i64 4437622394223120990, i64 4607182418800017408, i64 4437591212885220719, i64 4607182418800017408, i64 4437560031547320447, i64 4607182418800017408, i64 4437528850209420176, i64 4607182418800017408, i64 4437497668871519905, i64 4607182418800017408, i64 4437466487533619633, i64 4607182418800017408, i64 4437435306195719362, i64 4607182418800017408, i64 4437404124857819090, i64 4607182418800017408, i64 4437372943519918819, i64 4607182418800017408, i64 4437341762182018547, i64 4607182418800017408, i64 4437310580844118276, i64 4607182418800017408, i64 4437279399506218005, i64 4607182418800017408, i64 4437248218168317733, i64 4607182418800017408, i64 4437217036830417462, i64 4607182418800017408, i64 4437185855492517190, i64 4607182418800017408, i64 4437154674154616919, i64 4607182418800017408, i64 4437123492816716648, i64 4607182418800017408, i64 4437092311478816376, i64 4607182418800017408, i64 4437061130140916105, i64 4607182418800017408, i64 4437029948803015833, i64 4607182418800017408, i64 4436998767465115562, i64 4607182418800017408, i64 4436967586127215290, i64 4607182418800017408, i64 4436936404789315019, i64 4607182418800017408, i64 4436905223451414748, i64 4607182418800017408, i64 4436874042113514476, i64 4607182418800017408, i64 4436842860775614205, i64 4607182418800017408, i64 4436811679437713933, i64 4607182418800017408, i64 4436780498099813662, i64 4607182418800017408, i64 4436749316761913391, i64 4607182418800017408, i64 4436718135424013119, i64 4607182418800017408, i64 4436686954086112848, i64 4607182418800017408, i64 4436655772748212576, i64 4607182418800017408, i64 4436624591410312305, i64 4607182418800017408, i64 4436593410072412033, i64 4607182418800017408, i64 4436562228734511762, i64 4607182418800017408, i64 4436531047396611491, i64 4607182418800017408, i64 4436499866058711219, i64 4607182418800017408, i64 4436468684720810948, i64 4607182418800017408, i64 4436437503382910676, i64 4607182418800017408, i64 4436406322045010405, i64 4607182418800017408, i64 4436375140707110134, i64 4607182418800017408, i64 4436343959369209862, i64 4607182418800017408, i64 4436312778031309591, i64 4607182418800017408, i64 4436281596693409319, i64 4607182418800017408, i64 4436250415355509048, i64 4607182418800017408, i64 4436219234017608776, i64 4607182418800017408, i64 4436188052679708505, i64 4607182418800017408, i64 4436156871341808234, i64 4607182418800017408, i64 4436125690003907962, i64 4607182418800017408, i64 4436094508666007691, i64 4607182418800017408, i64 4436063327328107419, i64 4607182418800017408, i64 4436018659020475736, i64 4607182418800017408, i64 4435956296344675193, i64 4607182418800017408, i64 4435893933668874650, i64 4607182418800017408, i64 4435831570993074107, i64 4607182418800017408, i64 4435769208317273565, i64 4607182418800017408, i64 4435706845641473022, i64 4607182418800017408, i64 4435644482965672479, i64 4607182418800017408, i64 4435582120289871936, i64 4607182418800017408, i64 4435519757614071393, i64 4607182418800017408, i64 4435457394938270850, i64 4607182418800017408, i64 4435395032262470308, i64 4607182418800017408, i64 4435332669586669765, i64 4607182418800017408, i64 4435270306910869222, i64 4607182418800017408, i64 4435207944235068679, i64 4607182418800017408, i64 4435145581559268136, i64 4607182418800017408, i64 4435083218883467593, i64 4607182418800017408, i64 4435020856207667051, i64 4607182418800017408, i64 4434989674869766779, i64 4607182418800017408, i64 4434958493531866508, i64 4607182418800017408, i64 4434927312193966236, i64 4607182418800017408, i64 4434896130856065965, i64 4607182418800017408, i64 4434864949518165694, i64 4607182418800017408, i64 4434833768180265422, i64 4607182418800017408, i64 4434802586842365151, i64 4607182418800017408, i64 4434771405504464879, i64 4607182418800017408, i64 4434740224166564608, i64 4607182418800017408, i64 4434709042828664336, i64 4607182418800017408, i64 4434677861490764065, i64 4607182418800017408, i64 4434646680152863794, i64 4607182418800017408, i64 4434615498814963522, i64 4607182418800017408, i64 4434584317477063251, i64 4607182418800017408, i64 4434553136139162979, i64 4607182418800017408, i64 4434521954801262708, i64 4607182418800017408, i64 4434490773463362437, i64 4607182418800017408, i64 4434459592125462165, i64 4607182418800017408, i64 4434428410787561894, i64 4607182418800017408, i64 4434397229449661622, i64 4607182418800017408, i64 4434366048111761351, i64 4607182418800017408, i64 4434334866773861079, i64 4607182418800017408, i64 4434303685435960808, i64 4607182418800017408, i64 4434272504098060537, i64 4607182418800017408, i64 4434241322760160265, i64 4607182418800017408, i64 4434210141422259994, i64 4607182418800017408, i64 4434178960084359722, i64 4607182418800017408, i64 4434147778746459451, i64 4607182418800017408, i64 4434116597408559180, i64 4607182418800017408, i64 4434085416070658908, i64 4607182418800017408, i64 4434054234732758637, i64 4607182418800017408, i64 4434023053394858365, i64 4607182418800017408, i64 4433991872056958094, i64 4607182418800017408, i64 4433960690719057822, i64 4607182418800017408, i64 4433929509381157551, i64 4607182418800017408, i64 4433898328043257280, i64 4607182418800017408, i64 4433867146705357008, i64 4607182418800017408, i64 4433835965367456737, i64 4607182418800017408, i64 4433804784029556465, i64 4607182418800017408, i64 4433773602691656194, i64 4607182418800017408, i64 4433742421353755923, i64 4607182418800017408, i64 4433711240015855651, i64 4607182418800017408, i64 4433680058677955380, i64 4607182418800017408, i64 4433648877340055108, i64 4607182418800017408, i64 4433617696002154837, i64 4607182418800017408, i64 4433586514664254565, i64 4607182418800017408, i64 4433555333326354294, i64 4607182418800017408, i64 4433524151988454023, i64 4607182418800017408, i64 4433492970650553751, i64 4607182418800017408, i64 4433461789312653480, i64 4607182418800017408, i64 4433430607974753208, i64 4607182418800017408, i64 4433399426636852937, i64 4607182418800017408, i64 4433368245298952666, i64 4607182418800017408, i64 4433337063961052394, i64 4607182418800017408, i64 4433305882623152123, i64 4607182418800017408, i64 4433274701285251851, i64 4607182418800017408, i64 4433243519947351580, i64 4607182418800017408, i64 4433212338609451308, i64 4607182418800017408, i64 4433181157271551037, i64 4607182418800017408, i64 4433149975933650766, i64 4607182418800017408, i64 4433118794595750494, i64 4607182418800017408, i64 4433087613257850223, i64 4607182418800017408, i64 4433056431919949951, i64 4607182418800017408, i64 4433025250582049680, i64 4607182418800017408, i64 4432994069244149409, i64 4607182418800017408, i64 4432962887906249137, i64 4607182418800017408, i64 4432931706568348866, i64 4607182418800017408, i64 4432900525230448594, i64 4607182418800017408, i64 4432869343892548323, i64 4607182418800017408, i64 4432838162554648051, i64 4607182418800017408, i64 4432806981216747780, i64 4607182418800017408, i64 4432775799878847509, i64 4607182418800017408, i64 4432744618540947237, i64 4607182418800017408, i64 4432713437203046966, i64 4607182418800017408, i64 4432682255865146694, i64 4607182418800017408, i64 4432651074527246423, i64 4607182418800017408, i64 4432619893189346152, i64 4607182418800017408, i64 4432588711851445880, i64 4607182418800017408, i64 4432557530513545609, i64 4607182418800017408, i64 4432526349175645337, i64 4607182418800017408, i64 4432495167837745066, i64 4607182418800017408, i64 4432463986499844794, i64 4607182418800017408, i64 4432432805161944523, i64 4607182418800017408, i64 4432401623824044252, i64 4607182418800017408, i64 4432370442486143980, i64 4607182418800017408, i64 4432339261148243709, i64 4607182418800017408, i64 4432308079810343437, i64 4607182418800017408, i64 4432276898472443166, i64 4607182418800017408, i64 4432245717134542895, i64 4607182418800017408, i64 4432214535796642623, i64 4607182418800017408, i64 4432183354458742352, i64 4607182418800017408, i64 4432152173120842080, i64 4607182418800017408, i64 4432120991782941809, i64 4607182418800017408, i64 4432089810445041537, i64 4607182418800017408, i64 4432058629107141266, i64 4607182418800017408, i64 4432027447769240995, i64 4607182418800017408, i64 4431996266431340723, i64 4607182418800017408, i64 4431965085093440452, i64 4607182418800017408, i64 4431933903755540180, i64 4607182418800017408, i64 4431902722417639909, i64 4607182418800017408, i64 4431871541079739638, i64 4607182418800017408, i64 4431840359741839366, i64 4607182418800017408, i64 4431809178403939095, i64 4607182418800017408, i64 4431777997066038823, i64 4607182418800017408, i64 4431746815728138552, i64 4607182418800017408, i64 4431715634390238280, i64 4607182418800017408, i64 4431684453052338009, i64 4607182418800017408, i64 4431653271714437738, i64 4607182418800017408, i64 4431622090376537466, i64 4607182418800017408, i64 4431590909038637195, i64 4607182418800017408, i64 4431559727700736923, i64 4607182418800017408, i64 4431515059393105240, i64 4607182418800017408, i64 4431452696717304697, i64 4607182418800017408, i64 4431390334041504154, i64 4607182418800017408, i64 4431327971365703611, i64 4607182418800017408, i64 4431265608689903069, i64 4607182418800017408, i64 4431203246014102526, i64 4607182418800017408, i64 4431140883338301983, i64 4607182418800017408, i64 4431078520662501440, i64 4607182418800017408, i64 4431016157986700897, i64 4607182418800017408, i64 4430953795310900354, i64 4607182418800017408, i64 4430891432635099812, i64 4607182418800017408, i64 4430829069959299269, i64 4607182418800017408, i64 4430766707283498726, i64 4607182418800017408, i64 4430704344607698183, i64 4607182418800017408, i64 4430641981931897640, i64 4607182418800017408, i64 4430579619256097097, i64 4607182418800017408, i64 4430517256580296555, i64 4607182418800017408, i64 4430486075242396283, i64 4607182418800017408, i64 4430454893904496012, i64 4607182418800017408, i64 4430423712566595740, i64 4607182418800017408, i64 4430392531228695469, i64 4607182418800017408, i64 4430361349890795198, i64 4607182418800017408, i64 4430330168552894926, i64 4607182418800017408, i64 4430298987214994655, i64 4607182418800017408, i64 4430267805877094383, i64 4607182418800017408, i64 4430236624539194112, i64 4607182418800017408, i64 4430205443201293840, i64 4607182418800017408, i64 4430174261863393569, i64 4607182418800017408, i64 4430143080525493298, i64 4607182418800017408, i64 4430111899187593026, i64 4607182418800017408, i64 4430080717849692755, i64 4607182418800017408, i64 4430049536511792483, i64 4607182418800017408, i64 4430018355173892212, i64 4607182418800017408, i64 4429987173835991941, i64 4607182418800017408, i64 4429955992498091669, i64 4607182418800017408, i64 4429924811160191398, i64 4607182418800017408, i64 4429893629822291126, i64 4607182418800017408, i64 4429862448484390855, i64 4607182418800017408, i64 4429831267146490583, i64 4607182418800017408, i64 4429800085808590312, i64 4607182418800017408, i64 4429768904470690041, i64 4607182418800017408, i64 4429737723132789769, i64 4607182418800017408, i64 4429706541794889498, i64 4607182418800017408, i64 4429675360456989226, i64 4607182418800017408, i64 4429644179119088955, i64 4607182418800017408, i64 4429612997781188684, i64 4607182418800017408, i64 4429581816443288412, i64 4607182418800017408, i64 4429550635105388141, i64 4607182418800017408, i64 4429519453767487869, i64 4607182418800017408, i64 4429488272429587598, i64 4607182418800017408, i64 4429457091091687326, i64 4607182418800017408, i64 4429425909753787055, i64 4607182418800017408, i64 4429394728415886784, i64 4607182418800017408, i64 4429363547077986512, i64 4607182418800017408, i64 4429332365740086241, i64 4607182418800017408, i64 4429301184402185969, i64 4607182418800017408, i64 4429270003064285698, i64 4607182418800017408, i64 4429238821726385427, i64 4607182418800017408, i64 4429207640388485155, i64 4607182418800017408, i64 4429176459050584884, i64 4607182418800017408, i64 4429145277712684612, i64 4607182418800017408, i64 4429114096374784341, i64 4607182418800017408, i64 4429082915036884069, i64 4607182418800017408, i64 4429051733698983798, i64 4607182418800017408, i64 4429020552361083527, i64 4607182418800017408, i64 4428989371023183255, i64 4607182418800017408, i64 4428958189685282984, i64 4607182418800017408, i64 4428927008347382712, i64 4607182418800017408, i64 4428895827009482441, i64 4607182418800017408, i64 4428864645671582170, i64 4607182418800017408, i64 4428833464333681898, i64 4607182418800017408, i64 4428802282995781627, i64 4607182418800017408, i64 4428771101657881355, i64 4607182418800017408, i64 4428739920319981084, i64 4607182418800017408, i64 4428708738982080812, i64 4607182418800017408, i64 4428677557644180541, i64 4607182418800017408, i64 4428646376306280270, i64 4607182418800017408, i64 4428615194968379998, i64 4607182418800017408, i64 4428584013630479727, i64 4607182418800017408, i64 4428552832292579455, i64 4607182418800017408, i64 4428521650954679184, i64 4607182418800017408, i64 4428490469616778913, i64 4607182418800017408, i64 4428459288278878641, i64 4607182418800017408, i64 4428428106940978370, i64 4607182418800017408, i64 4428396925603078098, i64 4607182418800017408, i64 4428365744265177827, i64 4607182418800017408, i64 4428334562927277555, i64 4607182418800017408, i64 4428303381589377284, i64 4607182418800017408, i64 4428272200251477013, i64 4607182418800017408, i64 4428241018913576741, i64 4607182418800017408, i64 4428209837575676470, i64 4607182418800017408, i64 4428178656237776198, i64 4607182418800017408, i64 4428147474899875927, i64 4607182418800017408, i64 4428116293561975656, i64 4607182418800017408, i64 4428085112224075384, i64 4607182418800017408, i64 4428053930886175113, i64 4607182418800017408, i64 4428022749548274841, i64 4607182418800017408, i64 4427991568210374570, i64 4607182418800017408, i64 4427960386872474298, i64 4607182418800017408, i64 4427929205534574027, i64 4607182418800017408, i64 4427898024196673756, i64 4607182418800017408, i64 4427866842858773484, i64 4607182418800017408, i64 4427835661520873213, i64 4607182418800017408, i64 4427804480182972941, i64 4607182418800017408, i64 4427773298845072670, i64 4607182418800017408, i64 4427742117507172399, i64 4607182418800017408, i64 4427710936169272127, i64 4607182418800017408, i64 4427679754831371856, i64 4607182418800017408, i64 4427648573493471584, i64 4607182418800017408, i64 4427617392155571313, i64 4607182418800017408, i64 4427586210817671041, i64 4607182418800017408, i64 4427555029479770770, i64 4607182418800017408, i64 4427523848141870499, i64 4607182418800017408, i64 4427492666803970227, i64 4607182418800017408, i64 4427461485466069956, i64 4607182418800017408, i64 4427430304128169684, i64 4607182418800017408, i64 4427399122790269413, i64 4607182418800017408, i64 4427367941452369142, i64 4607182418800017408, i64 4427336760114468870, i64 4607182418800017408, i64 4427305578776568599, i64 4607182418800017408, i64 4427274397438668327, i64 4607182418800017408, i64 4427243216100768056, i64 4607182418800017408, i64 4427212034762867784, i64 4607182418800017408, i64 4427180853424967513, i64 4607182418800017408, i64 4427149672087067242, i64 4607182418800017408, i64 4427118490749166970, i64 4607182418800017408, i64 4427087309411266699, i64 4607182418800017408, i64 4427056128073366427, i64 4607182418800017408, i64 4427011459765734744, i64 4607182418800017408, i64 4426949097089934201, i64 4607182418800017408, i64 4426886734414133658, i64 4607182418800017408, i64 4426824371738333115, i64 4607182418800017408, i64 4426762009062532573, i64 4607182418800017408, i64 4426699646386732030, i64 4607182418800017408, i64 4426637283710931487, i64 4607182418800017408, i64 4426574921035130944, i64 4607182418800017408, i64 4426512558359330401, i64 4607182418800017408, i64 4426450195683529858, i64 4607182418800017408, i64 4426387833007729316, i64 4607182418800017408, i64 4426325470331928773, i64 4607182418800017408, i64 4426263107656128230, i64 4607182418800017408, i64 4426200744980327687, i64 4607182418800017408, i64 4426138382304527144, i64 4607182418800017408, i64 4426076019628726601, i64 4607182418800017408, i64 4426013656952926059, i64 4607182418800017408, i64 4425982475615025787, i64 4607182418800017408, i64 4425951294277125516, i64 4607182418800017408, i64 4425920112939225244, i64 4607182418800017408, i64 4425888931601324973, i64 4607182418800017408, i64 4425857750263424702, i64 4607182418800017408, i64 4425826568925524430, i64 4607182418800017408, i64 4425795387587624159, i64 4607182418800017408, i64 4425764206249723887, i64 4607182418800017408, i64 4425733024911823616, i64 4607182418800017408, i64 4425701843573923344, i64 4607182418800017408, i64 4425670662236023073, i64 4607182418800017408, i64 4425639480898122802, i64 4607182418800017408, i64 4425608299560222530, i64 4607182418800017408, i64 4425577118222322259, i64 4607182418800017408, i64 4425545936884421987, i64 4607182418800017408, i64 4425514755546521716, i64 4607182418800017408, i64 4425483574208621445, i64 4607182418800017408, i64 4425452392870721173, i64 4607182418800017408, i64 4425421211532820902, i64 4607182418800017408, i64 4425390030194920630, i64 4607182418800017408, i64 4425358848857020359, i64 4607182418800017408, i64 4425327667519120087, i64 4607182418800017408, i64 4425296486181219816, i64 4607182418800017408, i64 4425265304843319545, i64 4607182418800017408, i64 4425234123505419273, i64 4607182418800017408, i64 4425202942167519002, i64 4607182418800017408, i64 4425171760829618730, i64 4607182418800017408, i64 4425140579491718459, i64 4607182418800017408, i64 4425109398153818188, i64 4607182418800017408, i64 4425078216815917916, i64 4607182418800017408, i64 4425047035478017645, i64 4607182418800017408, i64 4425015854140117373, i64 4607182418800017408, i64 4424984672802217102, i64 4607182418800017408, i64 4424953491464316830, i64 4607182418800017408, i64 4424922310126416559, i64 4607182418800017408, i64 4424891128788516288, i64 4607182418800017408, i64 4424859947450616016, i64 4607182418800017408, i64 4424828766112715745, i64 4607182418800017408, i64 4424797584774815473, i64 4607182418800017408, i64 4424766403436915202, i64 4607182418800017408, i64 4424735222099014931, i64 4607182418800017408, i64 4424704040761114659, i64 4607182418800017408, i64 4424672859423214388, i64 4607182418800017408, i64 4424641678085314116, i64 4607182418800017408, i64 4424610496747413845, i64 4607182418800017408, i64 4424579315409513573, i64 4607182418800017408, i64 4424548134071613302, i64 4607182418800017408, i64 4424516952733713031, i64 4607182418800017408, i64 4424485771395812759, i64 4607182418800017408, i64 4424454590057912488, i64 4607182418800017408, i64 4424423408720012216, i64 4607182418800017408, i64 4424392227382111945, i64 4607182418800017408, i64 4424361046044211674, i64 4607182418800017408, i64 4424329864706311402, i64 4607182418800017408, i64 4424298683368411131, i64 4607182418800017408, i64 4424267502030510859, i64 4607182418800017408, i64 4424236320692610588, i64 4607182418800017408, i64 4424205139354710316, i64 4607182418800017408, i64 4424173958016810045, i64 4607182418800017408, i64 4424142776678909774, i64 4607182418800017408, i64 4424111595341009502, i64 4607182418800017408, i64 4424080414003109231, i64 4607182418800017408, i64 4424049232665208959, i64 4607182418800017408, i64 4424018051327308688, i64 4607182418800017408, i64 4423986869989408417, i64 4607182418800017408, i64 4423955688651508145, i64 4607182418800017408, i64 4423924507313607874, i64 4607182418800017408, i64 4423893325975707602, i64 4607182418800017408, i64 4423862144637807331, i64 4607182418800017408, i64 4423830963299907059, i64 4607182418800017408, i64 4423799781962006788, i64 4607182418800017408, i64 4423768600624106517, i64 4607182418800017408, i64 4423737419286206245, i64 4607182418800017408, i64 4423706237948305974, i64 4607182418800017408, i64 4423675056610405702, i64 4607182418800017408, i64 4423643875272505431, i64 4607182418800017408, i64 4423612693934605160, i64 4607182418800017408, i64 4423581512596704888, i64 4607182418800017408, i64 4423550331258804617, i64 4607182418800017408, i64 4423519149920904345, i64 4607182418800017408, i64 4423487968583004074, i64 4607182418800017408, i64 4423456787245103802, i64 4607182418800017408, i64 4423425605907203531, i64 4607182418800017408, i64 4423394424569303260, i64 4607182418800017408, i64 4423363243231402988, i64 4607182418800017408, i64 4423332061893502717, i64 4607182418800017408, i64 4423300880555602445, i64 4607182418800017408, i64 4423269699217702174, i64 4607182418800017408, i64 4423238517879801903, i64 4607182418800017408, i64 4423207336541901631, i64 4607182418800017408, i64 4423176155204001360, i64 4607182418800017408, i64 4423144973866101088, i64 4607182418800017408, i64 4423113792528200817, i64 4607182418800017408, i64 4423082611190300545, i64 4607182418800017408, i64 4423051429852400274, i64 4607182418800017408, i64 4423020248514500003, i64 4607182418800017408, i64 4422989067176599731, i64 4607182418800017408, i64 4422957885838699460, i64 4607182418800017408, i64 4422926704500799188, i64 4607182418800017408, i64 4422895523162898917, i64 4607182418800017408, i64 4422864341824998646, i64 4607182418800017408, i64 4422833160487098374, i64 4607182418800017408, i64 4422801979149198103, i64 4607182418800017408, i64 4422770797811297831, i64 4607182418800017408, i64 4422739616473397560, i64 4607182418800017408, i64 4422708435135497288, i64 4607182418800017408, i64 4422677253797597017, i64 4607182418800017408, i64 4422646072459696746, i64 4607182418800017408, i64 4422614891121796474, i64 4607182418800017408, i64 4422583709783896203, i64 4607182418800017408, i64 4422552528445995931, i64 4607182418800017408, i64 4422507860138364248, i64 4607182418800017408, i64 4422445497462563705, i64 4607182418800017408, i64 4422383134786763162, i64 4607182418800017408, i64 4422320772110962619, i64 4607182418800017408, i64 4422258409435162077, i64 4607182418800017408, i64 4422196046759361534, i64 4607182418800017408, i64 4422133684083560991, i64 4607182418800017408, i64 4422071321407760448, i64 4607182418800017408, i64 4422008958731959905, i64 4607182418800017408, i64 4421946596056159362, i64 4607182418800017408, i64 4421884233380358820, i64 4607182418800017408, i64 4421821870704558277, i64 4607182418800017408, i64 4421759508028757734, i64 4607182418800017408, i64 4421697145352957191, i64 4607182418800017408, i64 4421634782677156648, i64 4607182418800017408, i64 4421572420001356105, i64 4607182418800017408, i64 4421510057325555563, i64 4607182418800017408, i64 4421478875987655291, i64 4607182418800017408, i64 4421447694649755020, i64 4607182418800017408, i64 4421416513311854748, i64 4607182418800017408, i64 4421385331973954477, i64 4607182418800017408, i64 4421354150636054206, i64 4607182418800017408, i64 4421322969298153934, i64 4607182418800017408, i64 4421291787960253663, i64 4607182418800017408, i64 4421260606622353391, i64 4607182418800017408, i64 4421229425284453120, i64 4607182418800017408, i64 4421198243946552848, i64 4607182418800017408, i64 4421167062608652577, i64 4607182418800017408, i64 4421135881270752306, i64 4607182418800017408, i64 4421104699932852034, i64 4607182418800017408, i64 4421073518594951763, i64 4607182418800017408, i64 4421042337257051491, i64 4607182418800017408, i64 4421011155919151220, i64 4607182418800017408, i64 4420979974581250949, i64 4607182418800017408, i64 4420948793243350677, i64 4607182418800017408, i64 4420917611905450406, i64 4607182418800017408, i64 4420886430567550134, i64 4607182418800017408, i64 4420855249229649863, i64 4607182418800017408, i64 4420824067891749591, i64 4607182418800017408, i64 4420792886553849320, i64 4607182418800017408, i64 4420761705215949049, i64 4607182418800017408, i64 4420730523878048777, i64 4607182418800017408, i64 4420699342540148506, i64 4607182418800017408, i64 4420668161202248234, i64 4607182418800017408, i64 4420636979864347963, i64 4607182418800017408, i64 4420605798526447692, i64 4607182418800017408, i64 4420574617188547420, i64 4607182418800017408, i64 4420543435850647149, i64 4607182418800017408, i64 4420512254512746877, i64 4607182418800017408, i64 4420481073174846606, i64 4607182418800017408, i64 4420449891836946334, i64 4607182418800017408, i64 4420418710499046063, i64 4607182418800017408, i64 4420387529161145792, i64 4607182418800017408, i64 4420356347823245520, i64 4607182418800017408, i64 4420325166485345249, i64 4607182418800017408, i64 4420293985147444977, i64 4607182418800017408, i64 4420262803809544706, i64 4607182418800017408, i64 4420231622471644435, i64 4607182418800017408, i64 4420200441133744163, i64 4607182418800017408, i64 4420169259795843892, i64 4607182418800017408, i64 4420138078457943620, i64 4607182418800017408, i64 4420106897120043349, i64 4607182418800017408, i64 4420075715782143077, i64 4607182418800017408, i64 4420044534444242806, i64 4607182418800017408, i64 4420013353106342535, i64 4607182418800017408, i64 4419982171768442263, i64 4607182418800017408, i64 4419950990430541992, i64 4607182418800017408, i64 4419919809092641720, i64 4607182418800017408, i64 4419888627754741449, i64 4607182418800017408, i64 4419857446416841178, i64 4607182418800017408, i64 4419826265078940906, i64 4607182418800017408, i64 4419795083741040635, i64 4607182418800017408, i64 4419763902403140363, i64 4607182418800017408, i64 4419732721065240092, i64 4607182418800017408, i64 4419701539727339820, i64 4607182418800017408, i64 4419670358389439549, i64 4607182418800017408, i64 4419639177051539278, i64 4607182418800017408, i64 4419607995713639006, i64 4607182418800017408, i64 4419576814375738735, i64 4607182418800017408, i64 4419545633037838463, i64 4607182418800017408, i64 4419514451699938192, i64 4607182418800017408, i64 4419483270362037921, i64 4607182418800017408, i64 4419452089024137649, i64 4607182418800017408, i64 4419420907686237378, i64 4607182418800017408, i64 4419389726348337106, i64 4607182418800017408, i64 4419358545010436835, i64 4607182418800017408, i64 4419327363672536563, i64 4607182418800017408, i64 4419296182334636292, i64 4607182418800017408, i64 4419265000996736021, i64 4607182418800017408, i64 4419233819658835749, i64 4607182418800017408, i64 4419202638320935478, i64 4607182418800017408, i64 4419171456983035206, i64 4607182418800017408, i64 4419140275645134935, i64 4607182418800017408, i64 4419109094307234664, i64 4607182418800017408, i64 4419077912969334392, i64 4607182418800017408, i64 4419046731631434121, i64 4607182418800017408, i64 4419015550293533849, i64 4607182418800017408, i64 4418984368955633578, i64 4607182418800017408, i64 4418953187617733306, i64 4607182418800017408, i64 4418922006279833035, i64 4607182418800017408, i64 4418890824941932764, i64 4607182418800017408, i64 4418859643604032492, i64 4607182418800017408, i64 4418828462266132221, i64 4607182418800017408, i64 4418797280928231949, i64 4607182418800017408, i64 4418766099590331678, i64 4607182418800017408, i64 4418734918252431407, i64 4607182418800017408, i64 4418703736914531135, i64 4607182418800017408, i64 4418672555576630864, i64 4607182418800017408, i64 4418641374238730592, i64 4607182418800017408, i64 4418610192900830321, i64 4607182418800017408, i64 4418579011562930049, i64 4607182418800017408, i64 4418547830225029778, i64 4607182418800017408, i64 4418516648887129507, i64 4607182418800017408, i64 4418485467549229235, i64 4607182418800017408, i64 4418454286211328964, i64 4607182418800017408, i64 4418423104873428692, i64 4607182418800017408, i64 4418391923535528421, i64 4607182418800017408, i64 4418360742197628150, i64 4607182418800017408, i64 4418329560859727878, i64 4607182418800017408, i64 4418298379521827607, i64 4607182418800017408, i64 4418267198183927335, i64 4607182418800017408, i64 4418236016846027064, i64 4607182418800017408, i64 4418204835508126792, i64 4607182418800017408, i64 4418173654170226521, i64 4607182418800017408, i64 4418142472832326250, i64 4607182418800017408, i64 4418111291494425978, i64 4607182418800017408, i64 4418080110156525707, i64 4607182418800017408, i64 4418048928818625435, i64 4607182418800017408, i64 4418004260510993752, i64 4607182418800017408, i64 4417941897835193209, i64 4607182418800017408, i64 4417879535159392666, i64 4607182418800017408, i64 4417817172483592123, i64 4607182418800017408, i64 4417754809807791581, i64 4607182418800017408, i64 4417692447131991038, i64 4607182418800017408, i64 4417630084456190495, i64 4607182418800017408, i64 4417567721780389952, i64 4607182418800017408, i64 4417505359104589409, i64 4607182418800017408, i64 4417442996428788866, i64 4607182418800017408, i64 4417380633752988324, i64 4607182418800017408, i64 4417318271077187781, i64 4607182418800017408, i64 4417255908401387238, i64 4607182418800017408, i64 4417193545725586695, i64 4607182418800017408, i64 4417131183049786152, i64 4607182418800017408, i64 4417068820373985609, i64 4607182418800017408, i64 4417006457698185067, i64 4607182418800017408, i64 4416975276360284795, i64 4607182418800017408, i64 4416944095022384524, i64 4607182418800017408, i64 4416912913684484252, i64 4607182418800017408, i64 4416881732346583981, i64 4607182418800017408, i64 4416850551008683710, i64 4607182418800017408, i64 4416819369670783438, i64 4607182418800017408, i64 4416788188332883167, i64 4607182418800017408, i64 4416757006994982895, i64 4607182418800017408, i64 4416725825657082624, i64 4607182418800017408, i64 4416694644319182352, i64 4607182418800017408, i64 4416663462981282081, i64 4607182418800017408, i64 4416632281643381810, i64 4607182418800017408, i64 4416601100305481538, i64 4607182418800017408, i64 4416569918967581267, i64 4607182418800017408, i64 4416538737629680995, i64 4607182418800017408, i64 4416507556291780724, i64 4607182418800017408, i64 4416476374953880453, i64 4607182418800017408, i64 4416445193615980181, i64 4607182418800017408, i64 4416414012278079910, i64 4607182418800017408, i64 4416382830940179638, i64 4607182418800017408, i64 4416351649602279367, i64 4607182418800017408, i64 4416320468264379095, i64 4607182418800017408, i64 4416289286926478824, i64 4607182418800017408, i64 4416258105588578553, i64 4607182418800017408, i64 4416226924250678281, i64 4607182418800017408, i64 4416195742912778010, i64 4607182418800017408, i64 4416164561574877738, i64 4607182418800017408, i64 4416133380236977467, i64 4607182418800017408, i64 4416102198899077196, i64 4607182418800017408, i64 4416071017561176924, i64 4607182418800017408, i64 4416039836223276653, i64 4607182418800017408, i64 4416008654885376381, i64 4607182418800017408, i64 4415977473547476110, i64 4607182418800017408, i64 4415946292209575838, i64 4607182418800017408, i64 4415915110871675567, i64 4607182418800017408, i64 4415883929533775296, i64 4607182418800017408, i64 4415852748195875024, i64 4607182418800017408, i64 4415821566857974753, i64 4607182418800017408, i64 4415790385520074481, i64 4607182418800017408, i64 4415759204182174210, i64 4607182418800017408, i64 4415728022844273939, i64 4607182418800017408, i64 4415696841506373667, i64 4607182418800017408, i64 4415665660168473396, i64 4607182418800017408, i64 4415634478830573124, i64 4607182418800017408, i64 4415603297492672853, i64 4607182418800017408, i64 4415572116154772581, i64 4607182418800017408, i64 4415540934816872310, i64 4607182418800017408, i64 4415509753478972039, i64 4607182418800017408, i64 4415478572141071767, i64 4607182418800017408, i64 4415447390803171496, i64 4607182418800017408, i64 4415416209465271224, i64 4607182418800017408, i64 4415385028127370953, i64 4607182418800017408, i64 4415353846789470682, i64 4607182418800017408, i64 4415322665451570410, i64 4607182418800017408, i64 4415291484113670139, i64 4607182418800017408, i64 4415260302775769867, i64 4607182418800017408, i64 4415229121437869596, i64 4607182418800017408, i64 4415197940099969324, i64 4607182418800017408, i64 4415166758762069053, i64 4607182418800017408, i64 4415135577424168782, i64 4607182418800017408, i64 4415104396086268510, i64 4607182418800017408, i64 4415073214748368239, i64 4607182418800017408, i64 4415042033410467967, i64 4607182418800017408, i64 4415010852072567696, i64 4607182418800017408, i64 4414979670734667425, i64 4607182418800017408, i64 4414948489396767153, i64 4607182418800017408, i64 4414917308058866882, i64 4607182418800017408, i64 4414886126720966610, i64 4607182418800017408, i64 4414854945383066339, i64 4607182418800017408, i64 4414823764045166067, i64 4607182418800017408, i64 4414792582707265796, i64 4607182418800017408, i64 4414761401369365525, i64 4607182418800017408, i64 4414730220031465253, i64 4607182418800017408, i64 4414699038693564982, i64 4607182418800017408, i64 4414667857355664710, i64 4607182418800017408, i64 4414636676017764439, i64 4607182418800017408, i64 4414605494679864168, i64 4607182418800017408, i64 4414574313341963896, i64 4607182418800017408, i64 4414543132004063625, i64 4607182418800017408, i64 4414511950666163353, i64 4607182418800017408, i64 4414480769328263082, i64 4607182418800017408, i64 4414449587990362810, i64 4607182418800017408, i64 4414418406652462539, i64 4607182418800017408, i64 4414387225314562268, i64 4607182418800017408, i64 4414356043976661996, i64 4607182418800017408, i64 4414324862638761725, i64 4607182418800017408, i64 4414293681300861453, i64 4607182418800017408, i64 4414262499962961182, i64 4607182418800017408, i64 4414231318625060911, i64 4607182418800017408, i64 4414200137287160639, i64 4607182418800017408, i64 4414168955949260368, i64 4607182418800017408, i64 4414137774611360096, i64 4607182418800017408, i64 4414106593273459825, i64 4607182418800017408, i64 4414075411935559553, i64 4607182418800017408, i64 4414044230597659282, i64 4607182418800017408, i64 4414013049259759011, i64 4607182418800017408, i64 4413981867921858739, i64 4607182418800017408, i64 4413950686583958468, i64 4607182418800017408, i64 4413919505246058196, i64 4607182418800017408, i64 4413888323908157925, i64 4607182418800017408, i64 4413857142570257654, i64 4607182418800017408, i64 4413825961232357382, i64 4607182418800017408, i64 4413794779894457111, i64 4607182418800017408, i64 4413763598556556839, i64 4607182418800017408, i64 4413732417218656568, i64 4607182418800017408, i64 4413701235880756296, i64 4607182418800017408, i64 4413670054542856025, i64 4607182418800017408, i64 4413638873204955754, i64 4607182418800017408, i64 4413607691867055482, i64 4607182418800017408, i64 4413576510529155211, i64 4607182418800017408, i64 4413545329191254939, i64 4607182418800017408, i64 4413500660883623256, i64 4607182418800017408, i64 4413438298207822713, i64 4607182418800017408, i64 4413375935532022170, i64 4607182418800017408, i64 4413313572856221627, i64 4607182418800017408, i64 4413251210180421085, i64 4607182418800017408, i64 4413188847504620542, i64 4607182418800017408, i64 4413126484828819999, i64 4607182418800017408, i64 4413064122153019456, i64 4607182418800017408, i64 4413001759477218913, i64 4607182418800017408, i64 4412939396801418370, i64 4607182418800017408, i64 4412877034125617828, i64 4607182418800017408, i64 4412814671449817285, i64 4607182418800017408, i64 4412752308774016742, i64 4607182418800017408, i64 4412689946098216199, i64 4607182418800017408, i64 4412627583422415656, i64 4607182418800017408, i64 4412565220746615113, i64 4607182418800017408, i64 4412502858070814571, i64 4607182418800017408, i64 4412471676732914299, i64 4607182418800017408, i64 4412440495395014028, i64 4607182418800017408, i64 4412409314057113756, i64 4607182418800017408, i64 4412378132719213485, i64 4607182418800017408, i64 4412346951381313214, i64 4607182418800017408, i64 4412315770043412942, i64 4607182418800017408, i64 4412284588705512671, i64 4607182418800017408, i64 4412253407367612399, i64 4607182418800017408, i64 4412222226029712128, i64 4607182418800017408, i64 4412191044691811856, i64 4607182418800017408, i64 4412159863353911585, i64 4607182418800017408, i64 4412128682016011314, i64 4607182418800017408, i64 4412097500678111042, i64 4607182418800017408, i64 4412066319340210771, i64 4607182418800017408, i64 4412035138002310499, i64 4607182418800017408, i64 4412003956664410228, i64 4607182418800017408, i64 4411972775326509957, i64 4607182418800017408, i64 4411941593988609685, i64 4607182418800017408, i64 4411910412650709414, i64 4607182418800017408, i64 4411879231312809142, i64 4607182418800017408, i64 4411848049974908871, i64 4607182418800017408, i64 4411816868637008599, i64 4607182418800017408, i64 4411785687299108328, i64 4607182418800017408, i64 4411754505961208057, i64 4607182418800017408, i64 4411723324623307785, i64 4607182418800017408, i64 4411692143285407514, i64 4607182418800017408, i64 4411660961947507242, i64 4607182418800017408, i64 4411629780609606971, i64 4607182418800017408, i64 4411598599271706700, i64 4607182418800017408, i64 4411567417933806428, i64 4607182418800017408, i64 4411536236595906157, i64 4607182418800017408, i64 4411505055258005885, i64 4607182418800017408, i64 4411473873920105614, i64 4607182418800017408, i64 4411442692582205342, i64 4607182418800017408, i64 4411411511244305071, i64 4607182418800017408, i64 4411380329906404800, i64 4607182418800017408, i64 4411349148568504528, i64 4607182418800017408, i64 4411317967230604257, i64 4607182418800017408, i64 4411286785892703985, i64 4607182418800017408, i64 4411255604554803714, i64 4607182418800017408, i64 4411224423216903443, i64 4607182418800017408, i64 4411193241879003171, i64 4607182418800017408, i64 4411162060541102900, i64 4607182418800017408, i64 4411130879203202628, i64 4607182418800017408, i64 4411099697865302357, i64 4607182418800017408, i64 4411068516527402085, i64 4607182418800017408, i64 4411037335189501814, i64 4607182418800017408, i64 4411006153851601543, i64 4607182418800017408, i64 4410974972513701271, i64 4607182418800017408, i64 4410943791175801000, i64 4607182418800017408, i64 4410912609837900728, i64 4607182418800017408, i64 4410881428500000457, i64 4607182418800017408, i64 4410850247162100186, i64 4607182418800017408, i64 4410819065824199914, i64 4607182418800017408, i64 4410787884486299643, i64 4607182418800017408, i64 4410756703148399371, i64 4607182418800017408, i64 4410725521810499100, i64 4607182418800017408, i64 4410694340472598828, i64 4607182418800017408, i64 4410663159134698557, i64 4607182418800017408, i64 4410631977796798286, i64 4607182418800017408, i64 4410600796458898014, i64 4607182418800017408, i64 4410569615120997743, i64 4607182418800017408, i64 4410538433783097471, i64 4607182418800017408, i64 4410507252445197200, i64 4607182418800017408, i64 4410476071107296929, i64 4607182418800017408, i64 4410444889769396657, i64 4607182418800017408, i64 4410413708431496386, i64 4607182418800017408, i64 4410382527093596114, i64 4607182418800017408, i64 4410351345755695843, i64 4607182418800017408, i64 4410320164417795571, i64 4607182418800017408, i64 4410288983079895300, i64 4607182418800017408, i64 4410257801741995029, i64 4607182418800017408, i64 4410226620404094757, i64 4607182418800017408, i64 4410195439066194486, i64 4607182418800017408, i64 4410164257728294214, i64 4607182418800017408, i64 4410133076390393943, i64 4607182418800017408, i64 4410101895052493672, i64 4607182418800017408, i64 4410070713714593400, i64 4607182418800017408, i64 4410039532376693129, i64 4607182418800017408, i64 4410008351038792857, i64 4607182418800017408, i64 4409977169700892586, i64 4607182418800017408, i64 4409945988362992314, i64 4607182418800017408, i64 4409914807025092043, i64 4607182418800017408, i64 4409883625687191772, i64 4607182418800017408, i64 4409852444349291500, i64 4607182418800017408, i64 4409821263011391229, i64 4607182418800017408, i64 4409790081673490957, i64 4607182418800017408, i64 4409758900335590686, i64 4607182418800017408, i64 4409727718997690415, i64 4607182418800017408, i64 4409696537659790143, i64 4607182418800017408, i64 4409665356321889872, i64 4607182418800017408, i64 4409634174983989600, i64 4607182418800017408, i64 4409602993646089329, i64 4607182418800017408, i64 4409571812308189057, i64 4607182418800017408, i64 4409540630970288786, i64 4607182418800017408, i64 4409509449632388515, i64 4607182418800017408, i64 4409478268294488243, i64 4607182418800017408, i64 4409447086956587972, i64 4607182418800017408, i64 4409415905618687700, i64 4607182418800017408, i64 4409384724280787429, i64 4607182418800017408, i64 4409353542942887158, i64 4607182418800017408, i64 4409322361604986886, i64 4607182418800017408, i64 4409291180267086615, i64 4607182418800017408, i64 4409259998929186343, i64 4607182418800017408, i64 4409228817591286072, i64 4607182418800017408, i64 4409197636253385800, i64 4607182418800017408, i64 4409166454915485529, i64 4607182418800017408, i64 4409135273577585258, i64 4607182418800017408, i64 4409104092239684986, i64 4607182418800017408, i64 4409072910901784715, i64 4607182418800017408, i64 4409041729563884443, i64 4607182418800017408, i64 4408997061256252760, i64 4607182418800017408, i64 4408934698580452217, i64 4607182418800017408, i64 4408872335904651674, i64 4607182418800017408, i64 4408809973228851131, i64 4607182418800017408, i64 4408747610553050589, i64 4607182418800017408, i64 4408685247877250046, i64 4607182418800017408, i64 4408622885201449503, i64 4607182418800017408, i64 4408560522525648960, i64 4607182418800017408, i64 4408498159849848417, i64 4607182418800017408, i64 4408435797174047874, i64 4607182418800017408, i64 4408373434498247332, i64 4607182418800017408, i64 4408311071822446789, i64 4607182418800017408, i64 4408248709146646246, i64 4607182418800017408, i64 4408186346470845703, i64 4607182418800017408, i64 4408123983795045160, i64 4607182418800017408, i64 4408061621119244617, i64 4607182418800017408, i64 4407999258443444075, i64 4607182418800017408, i64 4407968077105543803, i64 4607182418800017408, i64 4407936895767643532, i64 4607182418800017408, i64 4407905714429743260, i64 4607182418800017408, i64 4407874533091842989, i64 4607182418800017408, i64 4407843351753942718, i64 4607182418800017408, i64 4407812170416042446, i64 4607182418800017408, i64 4407780989078142175, i64 4607182418800017408, i64 4407749807740241903, i64 4607182418800017408, i64 4407718626402341632, i64 4607182418800017408, i64 4407687445064441360, i64 4607182418800017408, i64 4407656263726541089, i64 4607182418800017408, i64 4407625082388640818, i64 4607182418800017408, i64 4407593901050740546, i64 4607182418800017408, i64 4407562719712840275, i64 4607182418800017408, i64 4407531538374940003, i64 4607182418800017408, i64 4407500357037039732, i64 4607182418800017408, i64 4407469175699139461, i64 4607182418800017408, i64 4407437994361239189, i64 4607182418800017408, i64 4407406813023338918, i64 4607182418800017408, i64 4407375631685438646, i64 4607182418800017408, i64 4407344450347538375, i64 4607182418800017408, i64 4407313269009638103, i64 4607182418800017408, i64 4407282087671737832, i64 4607182418800017408, i64 4407250906333837561, i64 4607182418800017408, i64 4407219724995937289, i64 4607182418800017408, i64 4407188543658037018, i64 4607182418800017408, i64 4407157362320136746, i64 4607182418800017408, i64 4407126180982236475, i64 4607182418800017408, i64 4407094999644336204, i64 4607182418800017408, i64 4407063818306435932, i64 4607182418800017408, i64 4407032636968535661, i64 4607182418800017408, i64 4407001455630635389, i64 4607182418800017408, i64 4406970274292735118, i64 4607182418800017408, i64 4406939092954834846, i64 4607182418800017408, i64 4406907911616934575, i64 4607182418800017408, i64 4406876730279034304, i64 4607182418800017408, i64 4406845548941134032, i64 4607182418800017408, i64 4406814367603233761, i64 4607182418800017408, i64 4406783186265333489, i64 4607182418800017408, i64 4406752004927433218, i64 4607182418800017408, i64 4406720823589532947, i64 4607182418800017408, i64 4406689642251632675, i64 4607182418800017408, i64 4406658460913732404, i64 4607182418800017408, i64 4406627279575832132, i64 4607182418800017408, i64 4406596098237931861, i64 4607182418800017408, i64 4406564916900031589, i64 4607182418800017408, i64 4406533735562131318, i64 4607182418800017408, i64 4406502554224231047, i64 4607182418800017408, i64 4406471372886330775, i64 4607182418800017408, i64 4406440191548430504, i64 4607182418800017408, i64 4406409010210530232, i64 4607182418800017408, i64 4406377828872629961, i64 4607182418800017408, i64 4406346647534729690, i64 4607182418800017408, i64 4406315466196829418, i64 4607182418800017408, i64 4406284284858929147, i64 4607182418800017408, i64 4406253103521028875, i64 4607182418800017408, i64 4406221922183128604, i64 4607182418800017408, i64 4406190740845228332, i64 4607182418800017408, i64 4406159559507328061, i64 4607182418800017408, i64 4406128378169427790, i64 4607182418800017408, i64 4406097196831527518, i64 4607182418800017408, i64 4406066015493627247, i64 4607182418800017408, i64 4406034834155726975, i64 4607182418800017408, i64 4406003652817826704, i64 4607182418800017408, i64 4405972471479926433, i64 4607182418800017408, i64 4405941290142026161, i64 4607182418800017408, i64 4405910108804125890, i64 4607182418800017408, i64 4405878927466225618, i64 4607182418800017408, i64 4405847746128325347, i64 4607182418800017408, i64 4405816564790425075, i64 4607182418800017408, i64 4405785383452524804, i64 4607182418800017408, i64 4405754202114624533, i64 4607182418800017408, i64 4405723020776724261, i64 4607182418800017408, i64 4405691839438823990, i64 4607182418800017408, i64 4405660658100923718, i64 4607182418800017408, i64 4405629476763023447, i64 4607182418800017408, i64 4405598295425123176, i64 4607182418800017408, i64 4405567114087222904, i64 4607182418800017408, i64 4405535932749322633, i64 4607182418800017408, i64 4405504751411422361, i64 4607182418800017408, i64 4405473570073522090, i64 4607182418800017408, i64 4405442388735621818, i64 4607182418800017408, i64 4405411207397721547, i64 4607182418800017408, i64 4405380026059821276, i64 4607182418800017408, i64 4405348844721921004, i64 4607182418800017408, i64 4405317663384020733, i64 4607182418800017408, i64 4405286482046120461, i64 4607182418800017408, i64 4405255300708220190, i64 4607182418800017408, i64 4405224119370319919, i64 4607182418800017408, i64 4405192938032419647, i64 4607182418800017408, i64 4405161756694519376, i64 4607182418800017408, i64 4405130575356619104, i64 4607182418800017408, i64 4405099394018718833, i64 4607182418800017408, i64 4405068212680818561, i64 4607182418800017408, i64 4405037031342918290, i64 4607182418800017408, i64 4405005850005018019, i64 4607182418800017408, i64 4404974668667117747, i64 4607182418800017408, i64 4404943487329217476, i64 4607182418800017408, i64 4404912305991317204, i64 4607182418800017408, i64 4404881124653416933, i64 4607182418800017408, i64 4404849943315516662, i64 4607182418800017408, i64 4404818761977616390, i64 4607182418800017408, i64 4404787580639716119, i64 4607182418800017408, i64 4404756399301815847, i64 4607182418800017408, i64 4404725217963915576, i64 4607182418800017408, i64 4404694036626015304, i64 4607182418800017408, i64 4404662855288115033, i64 4607182418800017408, i64 4404631673950214762, i64 4607182418800017408, i64 4404600492612314490, i64 4607182418800017408, i64 4404569311274414219, i64 4607182418800017408, i64 4404538129936513947, i64 4607182418800017408, i64 4404493461628882264, i64 4607182418800017408, i64 4404431098953081721, i64 4607182418800017408, i64 4404368736277281178, i64 4607182418800017408, i64 4404306373601480635, i64 4607182418800017408, i64 4404244010925680093, i64 4607182418800017408, i64 4404181648249879550, i64 4607182418800017408, i64 4404119285574079007, i64 4607182418800017408, i64 4404056922898278464, i64 4607182418800017408, i64 4403994560222477921, i64 4607182418800017408, i64 4403932197546677378, i64 4607182418800017408, i64 4403869834870876836, i64 4607182418800017408, i64 4403807472195076293, i64 4607182418800017408, i64 4403745109519275750, i64 4607182418800017408, i64 4403682746843475207, i64 4607182418800017408, i64 4403620384167674664, i64 4607182418800017408, i64 4403558021491874121, i64 4607182418800017408, i64 4403495658816073579, i64 4607182418800017408, i64 4403464477478173307, i64 4607182418800017408, i64 4403433296140273036, i64 4607182418800017408, i64 4403402114802372764, i64 4607182418800017408, i64 4403370933464472493, i64 4607182418800017408, i64 4403339752126572222, i64 4607182418800017408, i64 4403308570788671950, i64 4607182418800017408, i64 4403277389450771679, i64 4607182418800017408, i64 4403246208112871407, i64 4607182418800017408, i64 4403215026774971136, i64 4607182418800017408, i64 4403183845437070864, i64 4607182418800017408, i64 4403152664099170593, i64 4607182418800017408, i64 4403121482761270322, i64 4607182418800017408, i64 4403090301423370050, i64 4607182418800017408, i64 4403059120085469779, i64 4607182418800017408, i64 4403027938747569507, i64 4607182418800017408, i64 4402996757409669236, i64 4607182418800017408, i64 4402965576071768965, i64 4607182418800017408, i64 4402934394733868693, i64 4607182418800017408, i64 4402903213395968422, i64 4607182418800017408, i64 4402872032058068150, i64 4607182418800017408, i64 4402840850720167879, i64 4607182418800017408, i64 4402809669382267607, i64 4607182418800017408, i64 4402778488044367336, i64 4607182418800017408, i64 4402747306706467065, i64 4607182418800017408, i64 4402716125368566793, i64 4607182418800017408, i64 4402684944030666522, i64 4607182418800017408, i64 4402653762692766250, i64 4607182418800017408, i64 4402622581354865979, i64 4607182418800017408, i64 4402591400016965708, i64 4607182418800017408, i64 4402560218679065436, i64 4607182418800017408, i64 4402529037341165165, i64 4607182418800017408, i64 4402497856003264893, i64 4607182418800017408, i64 4402466674665364622, i64 4607182418800017408, i64 4402435493327464350, i64 4607182418800017408, i64 4402404311989564079, i64 4607182418800017408, i64 4402373130651663808, i64 4607182418800017408, i64 4402341949313763536, i64 4607182418800017408, i64 4402310767975863265, i64 4607182418800017408, i64 4402279586637962993, i64 4607182418800017408, i64 4402248405300062722, i64 4607182418800017408, i64 4402217223962162451, i64 4607182418800017408, i64 4402186042624262179, i64 4607182418800017408, i64 4402154861286361908, i64 4607182418800017408, i64 4402123679948461636, i64 4607182418800017408, i64 4402092498610561365, i64 4607182418800017408, i64 4402061317272661093, i64 4607182418800017408, i64 4402030135934760822, i64 4607182418800017408, i64 4401998954596860551, i64 4607182418800017408, i64 4401967773258960279, i64 4607182418800017408, i64 4401936591921060008, i64 4607182418800017408, i64 4401905410583159736, i64 4607182418800017408, i64 4401874229245259465, i64 4607182418800017408, i64 4401843047907359194, i64 4607182418800017408, i64 4401811866569458922, i64 4607182418800017408, i64 4401780685231558651, i64 4607182418800017408, i64 4401749503893658379, i64 4607182418800017408, i64 4401718322555758108, i64 4607182418800017408, i64 4401687141217857836, i64 4607182418800017408, i64 4401655959879957565, i64 4607182418800017408, i64 4401624778542057294, i64 4607182418800017408, i64 4401593597204157022, i64 4607182418800017408, i64 4401562415866256751, i64 4607182418800017408, i64 4401531234528356479, i64 4607182418800017408, i64 4401500053190456208, i64 4607182418800017408, i64 4401468871852555937, i64 4607182418800017408, i64 4401437690514655665, i64 4607182418800017408, i64 4401406509176755394, i64 4607182418800017408, i64 4401375327838855122, i64 4607182418800017408, i64 4401344146500954851, i64 4607182418800017408, i64 4401312965163054579, i64 4607182418800017408, i64 4401281783825154308, i64 4607182418800017408, i64 4401250602487254037, i64 4607182418800017408, i64 4401219421149353765, i64 4607182418800017408, i64 4401188239811453494, i64 4607182418800017408, i64 4401157058473553222, i64 4607182418800017408, i64 4401125877135652951, i64 4607182418800017408, i64 4401094695797752680, i64 4607182418800017408, i64 4401063514459852408, i64 4607182418800017408, i64 4401032333121952137, i64 4607182418800017408, i64 4401001151784051865, i64 4607182418800017408, i64 4400969970446151594, i64 4607182418800017408, i64 4400938789108251322, i64 4607182418800017408, i64 4400907607770351051, i64 4607182418800017408, i64 4400876426432450780, i64 4607182418800017408, i64 4400845245094550508, i64 4607182418800017408, i64 4400814063756650237, i64 4607182418800017408, i64 4400782882418749965, i64 4607182418800017408, i64 4400751701080849694, i64 4607182418800017408, i64 4400720519742949423, i64 4607182418800017408, i64 4400689338405049151, i64 4607182418800017408, i64 4400658157067148880, i64 4607182418800017408, i64 4400626975729248608, i64 4607182418800017408, i64 4400595794391348337, i64 4607182418800017408, i64 4400564613053448065, i64 4607182418800017408, i64 4400533431715547794, i64 4607182418800017408, i64 4400502250377647523, i64 4607182418800017408, i64 4400471069039747251, i64 4607182418800017408, i64 4400439887701846980, i64 4607182418800017408, i64 4400408706363946708, i64 4607182418800017408, i64 4400377525026046437, i64 4607182418800017408, i64 4400346343688146166, i64 4607182418800017408, i64 4400315162350245894, i64 4607182418800017408, i64 4400283981012345623, i64 4607182418800017408, i64 4400252799674445351, i64 4607182418800017408, i64 4400221618336545080, i64 4607182418800017408, i64 4400190436998644808, i64 4607182418800017408, i64 4400159255660744537, i64 4607182418800017408, i64 4400128074322844266, i64 4607182418800017408, i64 4400096892984943994, i64 4607182418800017408, i64 4400065711647043723, i64 4607182418800017408, i64 4400034530309143451, i64 4607182418800017408, i64 4399989862001511768, i64 4607182418800017408, i64 4399927499325711225, i64 4607182418800017408, i64 4399865136649910682, i64 4607182418800017408, i64 4399802773974110139, i64 4607182418800017408, i64 4399740411298309597, i64 4607182418800017408, i64 4399678048622509054, i64 4607182418800017408, i64 4399615685946708511, i64 4607182418800017408, i64 4399553323270907968, i64 4607182418800017408, i64 4399490960595107425, i64 4607182418800017408, i64 4399428597919306882, i64 4607182418800017408, i64 4399366235243506340, i64 4607182418800017408, i64 4399303872567705797, i64 4607182418800017408, i64 4399241509891905254, i64 4607182418800017408, i64 4399179147216104711, i64 4607182418800017408, i64 4399116784540304168, i64 4607182418800017408, i64 4399054421864503625, i64 4607182418800017408, i64 4398992059188703083, i64 4607182418800017408, i64 4398960877850802811, i64 4607182418800017408, i64 4398929696512902540, i64 4607182418800017408, i64 4398898515175002268, i64 4607182418800017408, i64 4398867333837101997, i64 4607182418800017408, i64 4398836152499201726, i64 4607182418800017408, i64 4398804971161301454, i64 4607182418800017408, i64 4398773789823401183, i64 4607182418800017408, i64 4398742608485500911, i64 4607182418800017408, i64 4398711427147600640, i64 4607182418800017408, i64 4398680245809700368, i64 4607182418800017408, i64 4398649064471800097, i64 4607182418800017408, i64 4398617883133899826, i64 4607182418800017408, i64 4398586701795999554, i64 4607182418800017408, i64 4398555520458099283, i64 4607182418800017408, i64 4398524339120199011, i64 4607182418800017408, i64 4398493157782298740, i64 4607182418800017408, i64 4398461976444398469, i64 4607182418800017408, i64 4398430795106498197, i64 4607182418800017408, i64 4398399613768597926, i64 4607182418800017408, i64 4398368432430697654, i64 4607182418800017408, i64 4398337251092797383, i64 4607182418800017408, i64 4398306069754897111, i64 4607182418800017408, i64 4398274888416996840, i64 4607182418800017408, i64 4398243707079096569, i64 4607182418800017408, i64 4398212525741196297, i64 4607182418800017408, i64 4398181344403296026, i64 4607182418800017408, i64 4398150163065395754, i64 4607182418800017408, i64 4398118981727495483, i64 4607182418800017408, i64 4398087800389595212, i64 4607182418800017408, i64 4398056619051694940, i64 4607182418800017408, i64 4398025437713794669, i64 4607182418800017408, i64 4397994256375894397, i64 4607182418800017408, i64 4397963075037994126, i64 4607182418800017408, i64 4397931893700093854, i64 4607182418800017408, i64 4397900712362193583, i64 4607182418800017408, i64 4397869531024293312, i64 4607182418800017408, i64 4397838349686393040, i64 4607182418800017408, i64 4397807168348492769, i64 4607182418800017408, i64 4397775987010592497, i64 4607182418800017408, i64 4397744805672692226, i64 4607182418800017408, i64 4397713624334791955, i64 4607182418800017408, i64 4397682442996891683, i64 4607182418800017408, i64 4397651261658991412, i64 4607182418800017408, i64 4397620080321091140, i64 4607182418800017408, i64 4397588898983190869, i64 4607182418800017408, i64 4397557717645290597, i64 4607182418800017408, i64 4397526536307390326, i64 4607182418800017408, i64 4397495354969490055, i64 4607182418800017408, i64 4397464173631589783, i64 4607182418800017408, i64 4397432992293689512, i64 4607182418800017408, i64 4397401810955789240, i64 4607182418800017408, i64 4397370629617888969, i64 4607182418800017408, i64 4397339448279988698, i64 4607182418800017408, i64 4397308266942088426, i64 4607182418800017408, i64 4397277085604188155, i64 4607182418800017408, i64 4397245904266287883, i64 4607182418800017408, i64 4397214722928387612, i64 4607182418800017408, i64 4397183541590487340, i64 4607182418800017408, i64 4397152360252587069, i64 4607182418800017408, i64 4397121178914686798, i64 4607182418800017408, i64 4397089997576786526, i64 4607182418800017408, i64 4397058816238886255, i64 4607182418800017408, i64 4397027634900985983, i64 4607182418800017408, i64 4396996453563085712, i64 4607182418800017408, i64 4396965272225185441, i64 4607182418800017408, i64 4396934090887285169, i64 4607182418800017408, i64 4396902909549384898, i64 4607182418800017408, i64 4396871728211484626, i64 4607182418800017408, i64 4396840546873584355, i64 4607182418800017408, i64 4396809365535684083, i64 4607182418800017408, i64 4396778184197783812, i64 4607182418800017408, i64 4396747002859883541, i64 4607182418800017408, i64 4396715821521983269, i64 4607182418800017408, i64 4396684640184082998, i64 4607182418800017408, i64 4396653458846182726, i64 4607182418800017408, i64 4396622277508282455, i64 4607182418800017408, i64 4396591096170382184, i64 4607182418800017408, i64 4396559914832481912, i64 4607182418800017408, i64 4396528733494581641, i64 4607182418800017408, i64 4396497552156681369, i64 4607182418800017408, i64 4396466370818781098, i64 4607182418800017408, i64 4396435189480880826, i64 4607182418800017408, i64 4396404008142980555, i64 4607182418800017408, i64 4396372826805080284, i64 4607182418800017408, i64 4396341645467180012, i64 4607182418800017408, i64 4396310464129279741, i64 4607182418800017408, i64 4396279282791379469, i64 4607182418800017408, i64 4396248101453479198, i64 4607182418800017408, i64 4396216920115578927, i64 4607182418800017408, i64 4396185738777678655, i64 4607182418800017408, i64 4396154557439778384, i64 4607182418800017408, i64 4396123376101878112, i64 4607182418800017408, i64 4396092194763977841, i64 4607182418800017408, i64 4396061013426077569, i64 4607182418800017408, i64 4396029832088177298, i64 4607182418800017408, i64 4395998650750277027, i64 4607182418800017408, i64 4395967469412376755, i64 4607182418800017408, i64 4395936288074476484, i64 4607182418800017408, i64 4395905106736576212, i64 4607182418800017408, i64 4395873925398675941, i64 4607182418800017408, i64 4395842744060775670, i64 4607182418800017408, i64 4395811562722875398, i64 4607182418800017408, i64 4395780381384975127, i64 4607182418800017408, i64 4395749200047074855, i64 4607182418800017408, i64 4395718018709174584, i64 4607182418800017408, i64 4395686837371274312, i64 4607182418800017408, i64 4395655656033374041, i64 4607182418800017408, i64 4395624474695473770, i64 4607182418800017408, i64 4395593293357573498, i64 4607182418800017408, i64 4395562112019673227, i64 4607182418800017408, i64 4395530930681772955, i64 4607182418800017408, i64 4395486262374141272, i64 4607182418800017408, i64 4395423899698340729, i64 4607182418800017408, i64 4395361537022540186, i64 4607182418800017408, i64 4395299174346739643, i64 4607182418800017408, i64 4395236811670939101, i64 4607182418800017408, i64 4395174448995138558, i64 4607182418800017408, i64 4395112086319338015, i64 4607182418800017408, i64 4395049723643537472, i64 4607182418800017408, i64 4394987360967736929, i64 4607182418800017408, i64 4394924998291936386, i64 4607182418800017408, i64 4394862635616135844, i64 4607182418800017408, i64 4394800272940335301, i64 4607182418800017408, i64 4394737910264534758, i64 4607182418800017408, i64 4394675547588734215, i64 4607182418800017408, i64 4394613184912933672, i64 4607182418800017408, i64 4394550822237133129, i64 4607182418800017408, i64 4394488459561332587, i64 4607182418800017408, i64 4394457278223432315, i64 4607182418800017408, i64 4394426096885532044, i64 4607182418800017408, i64 4394394915547631772, i64 4607182418800017408, i64 4394363734209731501, i64 4607182418800017408, i64 4394332552871831230, i64 4607182418800017408, i64 4394301371533930958, i64 4607182418800017408, i64 4394270190196030687, i64 4607182418800017408, i64 4394239008858130415, i64 4607182418800017408, i64 4394207827520230144, i64 4607182418800017408, i64 4394176646182329872, i64 4607182418800017408, i64 4394145464844429601, i64 4607182418800017408, i64 4394114283506529330, i64 4607182418800017408, i64 4394083102168629058, i64 4607182418800017408, i64 4394051920830728787, i64 4607182418800017408, i64 4394020739492828515, i64 4607182418800017408, i64 4393989558154928244, i64 4607182418800017408, i64 4393958376817027973, i64 4607182418800017408, i64 4393927195479127701, i64 4607182418800017408, i64 4393896014141227430, i64 4607182418800017408, i64 4393864832803327158, i64 4607182418800017408, i64 4393833651465426887, i64 4607182418800017408, i64 4393802470127526615, i64 4607182418800017408, i64 4393771288789626344, i64 4607182418800017408, i64 4393740107451726073, i64 4607182418800017408, i64 4393708926113825801, i64 4607182418800017408, i64 4393677744775925530, i64 4607182418800017408, i64 4393646563438025258, i64 4607182418800017408, i64 4393615382100124987, i64 4607182418800017408, i64 4393584200762224716, i64 4607182418800017408, i64 4393553019424324444, i64 4607182418800017408, i64 4393521838086424173, i64 4607182418800017408, i64 4393490656748523901, i64 4607182418800017408, i64 4393459475410623630, i64 4607182418800017408, i64 4393428294072723358, i64 4607182418800017408, i64 4393397112734823087, i64 4607182418800017408, i64 4393365931396922816, i64 4607182418800017408, i64 4393334750059022544, i64 4607182418800017408, i64 4393303568721122273, i64 4607182418800017408, i64 4393272387383222001, i64 4607182418800017408, i64 4393241206045321730, i64 4607182418800017408, i64 4393210024707421459, i64 4607182418800017408, i64 4393178843369521187, i64 4607182418800017408, i64 4393147662031620916, i64 4607182418800017408, i64 4393116480693720644, i64 4607182418800017408, i64 4393085299355820373, i64 4607182418800017408, i64 4393054118017920101, i64 4607182418800017408, i64 4393022936680019830, i64 4607182418800017408, i64 4392991755342119559, i64 4607182418800017408, i64 4392960574004219287, i64 4607182418800017408, i64 4392929392666319016, i64 4607182418800017408, i64 4392898211328418744, i64 4607182418800017408, i64 4392867029990518473, i64 4607182418800017408, i64 4392835848652618202, i64 4607182418800017408, i64 4392804667314717930, i64 4607182418800017408, i64 4392773485976817659, i64 4607182418800017408, i64 4392742304638917387, i64 4607182418800017408, i64 4392711123301017116, i64 4607182418800017408, i64 4392679941963116844, i64 4607182418800017408, i64 4392648760625216573, i64 4607182418800017408, i64 4392617579287316302, i64 4607182418800017408, i64 4392586397949416030, i64 4607182418800017408, i64 4392555216611515759, i64 4607182418800017408, i64 4392524035273615487, i64 4607182418800017408, i64 4392492853935715216, i64 4607182418800017408, i64 4392461672597814945, i64 4607182418800017408, i64 4392430491259914673, i64 4607182418800017408, i64 4392399309922014402, i64 4607182418800017408, i64 4392368128584114130, i64 4607182418800017408, i64 4392336947246213859, i64 4607182418800017408, i64 4392305765908313587, i64 4607182418800017408, i64 4392274584570413316, i64 4607182418800017408, i64 4392243403232513045, i64 4607182418800017408, i64 4392212221894612773, i64 4607182418800017408, i64 4392181040556712502, i64 4607182418800017408, i64 4392149859218812230, i64 4607182418800017408, i64 4392118677880911959, i64 4607182418800017408, i64 4392087496543011688, i64 4607182418800017408, i64 4392056315205111416, i64 4607182418800017408, i64 4392025133867211145, i64 4607182418800017408, i64 4391993952529310873, i64 4607182418800017408, i64 4391962771191410602, i64 4607182418800017408, i64 4391931589853510330, i64 4607182418800017408, i64 4391900408515610059, i64 4607182418800017408, i64 4391869227177709788, i64 4607182418800017408, i64 4391838045839809516, i64 4607182418800017408, i64 4391806864501909245, i64 4607182418800017408, i64 4391775683164008973, i64 4607182418800017408, i64 4391744501826108702, i64 4607182418800017408, i64 4391713320488208431, i64 4607182418800017408, i64 4391682139150308159, i64 4607182418800017408, i64 4391650957812407888, i64 4607182418800017408, i64 4391619776474507616, i64 4607182418800017408, i64 4391588595136607345, i64 4607182418800017408, i64 4391557413798707073, i64 4607182418800017408, i64 4391526232460806802, i64 4607182418800017408, i64 4391495051122906531, i64 4607182418800017408, i64 4391463869785006259, i64 4607182418800017408, i64 4391432688447105988, i64 4607182418800017408, i64 4391401507109205716, i64 4607182418800017408, i64 4391370325771305445, i64 4607182418800017408, i64 4391339144433405174, i64 4607182418800017408, i64 4391307963095504902, i64 4607182418800017408, i64 4391276781757604631, i64 4607182418800017408, i64 4391245600419704359, i64 4607182418800017408, i64 4391214419081804088, i64 4607182418800017408, i64 4391183237743903816, i64 4607182418800017408, i64 4391152056406003545, i64 4607182418800017408, i64 4391120875068103274, i64 4607182418800017408, i64 4391089693730203002, i64 4607182418800017408, i64 4391058512392302731, i64 4607182418800017408, i64 4391027331054402459, i64 4607182418800017408, i64 4390982662746770776, i64 4607182418800017408, i64 4390920300070970233, i64 4607182418800017408, i64 4390857937395169690, i64 4607182418800017408, i64 4390795574719369147, i64 4607182418800017408, i64 4390733212043568605, i64 4607182418800017408, i64 4390670849367768062, i64 4607182418800017408, i64 4390608486691967519, i64 4607182418800017408, i64 4390546124016166976, i64 4607182418800017408, i64 4390483761340366433, i64 4607182418800017408, i64 4390421398664565890, i64 4607182418800017408, i64 4390359035988765348, i64 4607182418800017408, i64 4390296673312964805, i64 4607182418800017408, i64 4390234310637164262, i64 4607182418800017408, i64 4390171947961363719, i64 4607182418800017408, i64 4390109585285563176, i64 4607182418800017408, i64 4390047222609762633, i64 4607182418800017408, i64 4389984859933962091, i64 4607182418800017408, i64 4389953678596061819, i64 4607182418800017408, i64 4389922497258161548, i64 4607182418800017408, i64 4389891315920261276, i64 4607182418800017408, i64 4389860134582361005, i64 4607182418800017408, i64 4389828953244460734, i64 4607182418800017408, i64 4389797771906560462, i64 4607182418800017408, i64 4389766590568660191, i64 4607182418800017408, i64 4389735409230759919, i64 4607182418800017408, i64 4389704227892859648, i64 4607182418800017408, i64 4389673046554959376, i64 4607182418800017408, i64 4389641865217059105, i64 4607182418800017408, i64 4389610683879158834, i64 4607182418800017408, i64 4389579502541258562, i64 4607182418800017408, i64 4389548321203358291, i64 4607182418800017408, i64 4389517139865458019, i64 4607182418800017408, i64 4389485958527557748, i64 4607182418800017408, i64 4389454777189657477, i64 4607182418800017408, i64 4389423595851757205, i64 4607182418800017408, i64 4389392414513856934, i64 4607182418800017408, i64 4389361233175956662, i64 4607182418800017408, i64 4389330051838056391, i64 4607182418800017408, i64 4389298870500156119, i64 4607182418800017408, i64 4389267689162255848, i64 4607182418800017408, i64 4389236507824355577, i64 4607182418800017408, i64 4389205326486455305, i64 4607182418800017408, i64 4389174145148555034, i64 4607182418800017408, i64 4389142963810654762, i64 4607182418800017408, i64 4389111782472754491, i64 4607182418800017408, i64 4389080601134854220, i64 4607182418800017408, i64 4389049419796953948, i64 4607182418800017408, i64 4389018238459053677, i64 4607182418800017408, i64 4388987057121153405, i64 4607182418800017408, i64 4388955875783253134, i64 4607182418800017408, i64 4388924694445352862, i64 4607182418800017408, i64 4388893513107452591, i64 4607182418800017408, i64 4388862331769552320, i64 4607182418800017408, i64 4388831150431652048, i64 4607182418800017408, i64 4388799969093751777, i64 4607182418800017408, i64 4388768787755851505, i64 4607182418800017408, i64 4388737606417951234, i64 4607182418800017408, i64 4388706425080050963, i64 4607182418800017408, i64 4388675243742150691, i64 4607182418800017408, i64 4388644062404250420, i64 4607182418800017408, i64 4388612881066350148, i64 4607182418800017408, i64 4388581699728449877, i64 4607182418800017408, i64 4388550518390549605, i64 4607182418800017408, i64 4388519337052649334, i64 4607182418800017408, i64 4388488155714749063, i64 4607182418800017408, i64 4388456974376848791, i64 4607182418800017408, i64 4388425793038948520, i64 4607182418800017408, i64 4388394611701048248, i64 4607182418800017408, i64 4388363430363147977, i64 4607182418800017408, i64 4388332249025247706, i64 4607182418800017408, i64 4388301067687347434, i64 4607182418800017408, i64 4388269886349447163, i64 4607182418800017408, i64 4388238705011546891, i64 4607182418800017408, i64 4388207523673646620, i64 4607182418800017408, i64 4388176342335746348, i64 4607182418800017408, i64 4388145160997846077, i64 4607182418800017408, i64 4388113979659945806, i64 4607182418800017408, i64 4388082798322045534, i64 4607182418800017408, i64 4388051616984145263, i64 4607182418800017408, i64 4388020435646244991, i64 4607182418800017408, i64 4387989254308344720, i64 4607182418800017408, i64 4387958072970444449, i64 4607182418800017408, i64 4387926891632544177, i64 4607182418800017408, i64 4387895710294643906, i64 4607182418800017408, i64 4387864528956743634, i64 4607182418800017408, i64 4387833347618843363, i64 4607182418800017408, i64 4387802166280943091, i64 4607182418800017408, i64 4387770984943042820, i64 4607182418800017408, i64 4387739803605142549, i64 4607182418800017408, i64 4387708622267242277, i64 4607182418800017408, i64 4387677440929342006, i64 4607182418800017408, i64 4387646259591441734, i64 4607182418800017408, i64 4387615078253541463, i64 4607182418800017408, i64 4387583896915641192, i64 4607182418800017408, i64 4387552715577740920, i64 4607182418800017408, i64 4387521534239840649, i64 4607182418800017408, i64 4387490352901940377, i64 4607182418800017408, i64 4387459171564040106, i64 4607182418800017408, i64 4387427990226139834, i64 4607182418800017408, i64 4387396808888239563, i64 4607182418800017408, i64 4387365627550339292, i64 4607182418800017408, i64 4387334446212439020, i64 4607182418800017408, i64 4387303264874538749, i64 4607182418800017408, i64 4387272083536638477, i64 4607182418800017408, i64 4387240902198738206, i64 4607182418800017408, i64 4387209720860837935, i64 4607182418800017408, i64 4387178539522937663, i64 4607182418800017408, i64 4387147358185037392, i64 4607182418800017408, i64 4387116176847137120, i64 4607182418800017408, i64 4387084995509236849, i64 4607182418800017408, i64 4387053814171336577, i64 4607182418800017408, i64 4387022632833436306, i64 4607182418800017408, i64 4386991451495536035, i64 4607182418800017408, i64 4386960270157635763, i64 4607182418800017408, i64 4386929088819735492, i64 4607182418800017408, i64 4386897907481835220, i64 4607182418800017408, i64 4386866726143934949, i64 4607182418800017408, i64 4386835544806034678, i64 4607182418800017408, i64 4386804363468134406, i64 4607182418800017408, i64 4386773182130234135, i64 4607182418800017408, i64 4386742000792333863, i64 4607182418800017408, i64 4386710819454433592, i64 4607182418800017408, i64 4386679638116533320, i64 4607182418800017408, i64 4386648456778633049, i64 4607182418800017408, i64 4386617275440732778, i64 4607182418800017408, i64 4386586094102832506, i64 4607182418800017408, i64 4386554912764932235, i64 4607182418800017408, i64 4386523731427031963, i64 4607182418800017408, i64 4386479063119400280, i64 4607182418800017408, i64 4386416700443599737, i64 4607182418800017408, i64 4386354337767799194, i64 4607182418800017408, i64 4386291975091998651, i64 4607182418800017408, i64 4386229612416198109, i64 4607182418800017408, i64 4386167249740397566, i64 4607182418800017408, i64 4386104887064597023, i64 4607182418800017408, i64 4386042524388796480, i64 4607182418800017408, i64 4385980161712995937, i64 4607182418800017408, i64 4385917799037195394, i64 4607182418800017408, i64 4385855436361394852, i64 4607182418800017408, i64 4385793073685594309, i64 4607182418800017408, i64 4385730711009793766, i64 4607182418800017408, i64 4385668348333993223, i64 4607182418800017408, i64 4385605985658192680, i64 4607182418800017408, i64 4385543622982392137, i64 4607182418800017408, i64 4385481260306591595, i64 4607182418800017408, i64 4385450078968691323, i64 4607182418800017408, i64 4385418897630791052, i64 4607182418800017408, i64 4385387716292890780, i64 4607182418800017408, i64 4385356534954990509, i64 4607182418800017408, i64 4385325353617090238, i64 4607182418800017408, i64 4385294172279189966, i64 4607182418800017408, i64 4385262990941289695, i64 4607182418800017408, i64 4385231809603389423, i64 4607182418800017408, i64 4385200628265489152, i64 4607182418800017408, i64 4385169446927588880, i64 4607182418800017408, i64 4385138265589688609, i64 4607182418800017408, i64 4385107084251788338, i64 4607182418800017408, i64 4385075902913888066, i64 4607182418800017408, i64 4385044721575987795, i64 4607182418800017408, i64 4385013540238087523, i64 4607182418800017408, i64 4384982358900187252, i64 4607182418800017408, i64 4384951177562286981, i64 4607182418800017408, i64 4384919996224386709, i64 4607182418800017408, i64 4384888814886486438, i64 4607182418800017408, i64 4384857633548586166, i64 4607182418800017408, i64 4384826452210685895, i64 4607182418800017408, i64 4384795270872785623, i64 4607182418800017408, i64 4384764089534885352, i64 4607182418800017408, i64 4384732908196985081, i64 4607182418800017408, i64 4384701726859084809, i64 4607182418800017408, i64 4384670545521184538, i64 4607182418800017408, i64 4384639364183284266, i64 4607182418800017408, i64 4384608182845383995, i64 4607182418800017408, i64 4384577001507483724, i64 4607182418800017408, i64 4384545820169583452, i64 4607182418800017408, i64 4384514638831683181, i64 4607182418800017408, i64 4384483457493782909, i64 4607182418800017408, i64 4384452276155882638, i64 4607182418800017408, i64 4384421094817982366, i64 4607182418800017408, i64 4384389913480082095, i64 4607182418800017408, i64 4384358732142181824, i64 4607182418800017408, i64 4384327550804281552, i64 4607182418800017408, i64 4384296369466381281, i64 4607182418800017408, i64 4384265188128481009, i64 4607182418800017408, i64 4384234006790580738, i64 4607182418800017408, i64 4384202825452680467, i64 4607182418800017408, i64 4384171644114780195, i64 4607182418800017408, i64 4384140462776879924, i64 4607182418800017408, i64 4384109281438979652, i64 4607182418800017408, i64 4384078100101079381, i64 4607182418800017408, i64 4384046918763179109, i64 4607182418800017408, i64 4384015737425278838, i64 4607182418800017408, i64 4383984556087378567, i64 4607182418800017408, i64 4383953374749478295, i64 4607182418800017408, i64 4383922193411578024, i64 4607182418800017408, i64 4383891012073677752, i64 4607182418800017408, i64 4383859830735777481, i64 4607182418800017408, i64 4383828649397877210, i64 4607182418800017408, i64 4383797468059976938, i64 4607182418800017408, i64 4383766286722076667, i64 4607182418800017408, i64 4383735105384176395, i64 4607182418800017408, i64 4383703924046276124, i64 4607182418800017408, i64 4383672742708375852, i64 4607182418800017408, i64 4383641561370475581, i64 4607182418800017408, i64 4383610380032575310, i64 4607182418800017408, i64 4383579198694675038, i64 4607182418800017408, i64 4383548017356774767, i64 4607182418800017408, i64 4383516836018874495, i64 4607182418800017408, i64 4383485654680974224, i64 4607182418800017408, i64 4383454473343073953, i64 4607182418800017408, i64 4383423292005173681, i64 4607182418800017408, i64 4383392110667273410, i64 4607182418800017408, i64 4383360929329373138, i64 4607182418800017408, i64 4383329747991472867, i64 4607182418800017408, i64 4383298566653572595, i64 4607182418800017408, i64 4383267385315672324, i64 4607182418800017408, i64 4383236203977772053, i64 4607182418800017408, i64 4383205022639871781, i64 4607182418800017408, i64 4383173841301971510, i64 4607182418800017408, i64 4383142659964071238, i64 4607182418800017408, i64 4383111478626170967, i64 4607182418800017408, i64 4383080297288270696, i64 4607182418800017408, i64 4383049115950370424, i64 4607182418800017408, i64 4383017934612470153, i64 4607182418800017408, i64 4382986753274569881, i64 4607182418800017408, i64 4382955571936669610, i64 4607182418800017408, i64 4382924390598769338, i64 4607182418800017408, i64 4382893209260869067, i64 4607182418800017408, i64 4382862027922968796, i64 4607182418800017408, i64 4382830846585068524, i64 4607182418800017408, i64 4382799665247168253, i64 4607182418800017408, i64 4382768483909267981, i64 4607182418800017408, i64 4382737302571367710, i64 4607182418800017408, i64 4382706121233467439, i64 4607182418800017408, i64 4382674939895567167, i64 4607182418800017408, i64 4382643758557666896, i64 4607182418800017408, i64 4382612577219766624, i64 4607182418800017408, i64 4382581395881866353, i64 4607182418800017408, i64 4382550214543966081, i64 4607182418800017408, i64 4382519033206065810, i64 4607182418800017408, i64 4382487851868165539, i64 4607182418800017408, i64 4382456670530265267, i64 4607182418800017408, i64 4382425489192364996, i64 4607182418800017408, i64 4382394307854464724, i64 4607182418800017408, i64 4382363126516564453, i64 4607182418800017408, i64 4382331945178664182, i64 4607182418800017408, i64 4382300763840763910, i64 4607182418800017408, i64 4382269582502863639, i64 4607182418800017408, i64 4382238401164963367, i64 4607182418800017408, i64 4382207219827063096, i64 4607182418800017408, i64 4382176038489162824, i64 4607182418800017408, i64 4382144857151262553, i64 4607182418800017408, i64 4382113675813362282, i64 4607182418800017408, i64 4382082494475462010, i64 4607182418800017408, i64 4382051313137561739, i64 4607182418800017408, i64 4382020131799661467, i64 4607182418800017408, i64 4381975463492029784, i64 4607182418800017408, i64 4381913100816229241, i64 4607182418800017408, i64 4381850738140428698, i64 4607182418800017408, i64 4381788375464628155, i64 4607182418800017408, i64 4381726012788827613, i64 4607182418800017408, i64 4381663650113027070, i64 4607182418800017408, i64 4381601287437226527, i64 4607182418800017408, i64 4381538924761425984, i64 4607182418800017408, i64 4381476562085625441, i64 4607182418800017408, i64 4381414199409824898, i64 4607182418800017408, i64 4381351836734024356, i64 4607182418800017408, i64 4381289474058223813, i64 4607182418800017408, i64 4381227111382423270, i64 4607182418800017408, i64 4381164748706622727, i64 4607182418800017408, i64 4381102386030822184, i64 4607182418800017408, i64 4381040023355021641, i64 4607182418800017408, i64 4380977660679221099, i64 4607182418800017408, i64 4380946479341320827, i64 4607182418800017408, i64 4380915298003420556, i64 4607182418800017408, i64 4380884116665520284, i64 4607182418800017408, i64 4380852935327620013, i64 4607182418800017408, i64 4380821753989719742, i64 4607182418800017408, i64 4380790572651819470, i64 4607182418800017408, i64 4380759391313919199, i64 4607182418800017408, i64 4380728209976018927, i64 4607182418800017408, i64 4380697028638118656, i64 4607182418800017408, i64 4380665847300218384, i64 4607182418800017408, i64 4380634665962318113, i64 4607182418800017408, i64 4380603484624417842, i64 4607182418800017408, i64 4380572303286517570, i64 4607182418800017408, i64 4380541121948617299, i64 4607182418800017408, i64 4380509940610717027, i64 4607182418800017408, i64 4380478759272816756, i64 4607182418800017408, i64 4380447577934916485, i64 4607182418800017408, i64 4380416396597016213, i64 4607182418800017408, i64 4380385215259115942, i64 4607182418800017408, i64 4380354033921215670, i64 4607182418800017408, i64 4380322852583315399, i64 4607182418800017408, i64 4380291671245415127, i64 4607182418800017408, i64 4380260489907514856, i64 4607182418800017408, i64 4380229308569614585, i64 4607182418800017408, i64 4380198127231714313, i64 4607182418800017408, i64 4380166945893814042, i64 4607182418800017408, i64 4380135764555913770, i64 4607182418800017408, i64 4380104583218013499, i64 4607182418800017408, i64 4380073401880113228, i64 4607182418800017408, i64 4380042220542212956, i64 4607182418800017408, i64 4380011039204312685, i64 4607182418800017408, i64 4379979857866412413, i64 4607182418800017408, i64 4379948676528512142, i64 4607182418800017408, i64 4379917495190611870, i64 4607182418800017408, i64 4379886313852711599, i64 4607182418800017408, i64 4379855132514811328, i64 4607182418800017408, i64 4379823951176911056, i64 4607182418800017408, i64 4379792769839010785, i64 4607182418800017408, i64 4379761588501110513, i64 4607182418800017408, i64 4379730407163210242, i64 4607182418800017408, i64 4379699225825309971, i64 4607182418800017408, i64 4379668044487409699, i64 4607182418800017408, i64 4379636863149509428, i64 4607182418800017408, i64 4379605681811609156, i64 4607182418800017408, i64 4379574500473708885, i64 4607182418800017408, i64 4379543319135808613, i64 4607182418800017408, i64 4379512137797908342, i64 4607182418800017408, i64 4379480956460008071, i64 4607182418800017408, i64 4379449775122107799, i64 4607182418800017408, i64 4379418593784207528, i64 4607182418800017408, i64 4379387412446307256, i64 4607182418800017408, i64 4379356231108406985, i64 4607182418800017408, i64 4379325049770506714, i64 4607182418800017408, i64 4379293868432606442, i64 4607182418800017408, i64 4379262687094706171, i64 4607182418800017408, i64 4379231505756805899, i64 4607182418800017408, i64 4379200324418905628, i64 4607182418800017408, i64 4379169143081005356, i64 4607182418800017408, i64 4379137961743105085, i64 4607182418800017408, i64 4379106780405204814, i64 4607182418800017408, i64 4379075599067304542, i64 4607182418800017408, i64 4379044417729404271, i64 4607182418800017408, i64 4379013236391503999, i64 4607182418800017408, i64 4378982055053603728, i64 4607182418800017408, i64 4378950873715703457, i64 4607182418800017408, i64 4378919692377803185, i64 4607182418800017408, i64 4378888511039902914, i64 4607182418800017408, i64 4378857329702002642, i64 4607182418800017408, i64 4378826148364102371, i64 4607182418800017408, i64 4378794967026202099, i64 4607182418800017408, i64 4378763785688301828, i64 4607182418800017408, i64 4378732604350401557, i64 4607182418800017408, i64 4378701423012501285, i64 4607182418800017408, i64 4378670241674601014, i64 4607182418800017408, i64 4378639060336700742, i64 4607182418800017408, i64 4378607878998800471, i64 4607182418800017408, i64 4378576697660900200, i64 4607182418800017408, i64 4378545516322999928, i64 4607182418800017408, i64 4378514334985099657, i64 4607182418800017408, i64 4378483153647199385, i64 4607182418800017408, i64 4378451972309299114, i64 4607182418800017408, i64 4378420790971398842, i64 4607182418800017408, i64 4378389609633498571, i64 4607182418800017408, i64 4378358428295598300, i64 4607182418800017408, i64 4378327246957698028, i64 4607182418800017408, i64 4378296065619797757, i64 4607182418800017408, i64 4378264884281897485, i64 4607182418800017408, i64 4378233702943997214, i64 4607182418800017408, i64 4378202521606096943, i64 4607182418800017408, i64 4378171340268196671, i64 4607182418800017408, i64 4378140158930296400, i64 4607182418800017408, i64 4378108977592396128, i64 4607182418800017408, i64 4378077796254495857, i64 4607182418800017408, i64 4378046614916595585, i64 4607182418800017408, i64 4378015433578695314, i64 4607182418800017408, i64 4377984252240795043, i64 4607182418800017408, i64 4377953070902894771, i64 4607182418800017408, i64 4377921889564994500, i64 4607182418800017408, i64 4377890708227094228, i64 4607182418800017408, i64 4377859526889193957, i64 4607182418800017408, i64 4377828345551293686, i64 4607182418800017408, i64 4377797164213393414, i64 4607182418800017408, i64 4377765982875493143, i64 4607182418800017408, i64 4377734801537592871, i64 4607182418800017408, i64 4377703620199692600, i64 4607182418800017408, i64 4377672438861792328, i64 4607182418800017408, i64 4377641257523892057, i64 4607182418800017408, i64 4377610076185991786, i64 4607182418800017408, i64 4377578894848091514, i64 4607182418800017408, i64 4377547713510191243, i64 4607182418800017408, i64 4377516532172290971, i64 4607182418800017408, i64 4377471863864659288, i64 4607182418800017408, i64 4377409501188858745, i64 4607182418800017408, i64 4377347138513058202, i64 4607182418800017408, i64 4377284775837257659, i64 4607182418800017408, i64 4377222413161457117, i64 4607182418800017408, i64 4377160050485656574, i64 4607182418800017408, i64 4377097687809856031, i64 4607182418800017408, i64 4377035325134055488, i64 4607182418800017408, i64 4376972962458254945, i64 4607182418800017408, i64 4376910599782454402, i64 4607182418800017408, i64 4376848237106653860, i64 4607182418800017408, i64 4376785874430853317, i64 4607182418800017408, i64 4376723511755052774, i64 4607182418800017408, i64 4376661149079252231, i64 4607182418800017408, i64 4376598786403451688, i64 4607182418800017408, i64 4376536423727651145, i64 4607182418800017408, i64 4376474061051850603, i64 4607182418800017408, i64 4376442879713950331, i64 4607182418800017408, i64 4376411698376050060, i64 4607182418800017408, i64 4376380517038149788, i64 4607182418800017408, i64 4376349335700249517, i64 4607182418800017408, i64 4376318154362349246, i64 4607182418800017408, i64 4376286973024448974, i64 4607182418800017408, i64 4376255791686548703, i64 4607182418800017408, i64 4376224610348648431, i64 4607182418800017408, i64 4376193429010748160, i64 4607182418800017408, i64 4376162247672847888, i64 4607182418800017408, i64 4376131066334947617, i64 4607182418800017408, i64 4376099884997047346, i64 4607182418800017408, i64 4376068703659147074, i64 4607182418800017408, i64 4376037522321246803, i64 4607182418800017408, i64 4376006340983346531, i64 4607182418800017408, i64 4375975159645446260, i64 4607182418800017408, i64 4375943978307545989, i64 4607182418800017408, i64 4375912796969645717, i64 4607182418800017408, i64 4375881615631745446, i64 4607182418800017408, i64 4375850434293845174, i64 4607182418800017408, i64 4375819252955944903, i64 4607182418800017408, i64 4375788071618044631, i64 4607182418800017408, i64 4375756890280144360, i64 4607182418800017408, i64 4375725708942244089, i64 4607182418800017408, i64 4375694527604343817, i64 4607182418800017408, i64 4375663346266443546, i64 4607182418800017408, i64 4375632164928543274, i64 4607182418800017408, i64 4375600983590643003, i64 4607182418800017408, i64 4375569802252742732, i64 4607182418800017408, i64 4375538620914842460, i64 4607182418800017408, i64 4375507439576942189, i64 4607182418800017408, i64 4375476258239041917, i64 4607182418800017408, i64 4375445076901141646, i64 4607182418800017408, i64 4375413895563241374, i64 4607182418800017408, i64 4375382714225341103, i64 4607182418800017408, i64 4375351532887440832, i64 4607182418800017408, i64 4375320351549540560, i64 4607182418800017408, i64 4375289170211640289, i64 4607182418800017408, i64 4375257988873740017, i64 4607182418800017408, i64 4375226807535839746, i64 4607182418800017408, i64 4375195626197939475, i64 4607182418800017408, i64 4375164444860039203, i64 4607182418800017408, i64 4375133263522138932, i64 4607182418800017408, i64 4375102082184238660, i64 4607182418800017408, i64 4375070900846338389, i64 4607182418800017408, i64 4375039719508438117, i64 4607182418800017408, i64 4375008538170537846, i64 4607182418800017408, i64 4374977356832637575, i64 4607182418800017408, i64 4374946175494737303, i64 4607182418800017408, i64 4374914994156837032, i64 4607182418800017408, i64 4374883812818936760, i64 4607182418800017408, i64 4374852631481036489, i64 4607182418800017408, i64 4374821450143136218, i64 4607182418800017408, i64 4374790268805235946, i64 4607182418800017408, i64 4374759087467335675, i64 4607182418800017408, i64 4374727906129435403, i64 4607182418800017408, i64 4374696724791535132, i64 4607182418800017408, i64 4374665543453634860, i64 4607182418800017408, i64 4374634362115734589, i64 4607182418800017408, i64 4374603180777834318, i64 4607182418800017408, i64 4374571999439934046, i64 4607182418800017408, i64 4374540818102033775, i64 4607182418800017408, i64 4374509636764133503, i64 4607182418800017408, i64 4374478455426233232, i64 4607182418800017408, i64 4374447274088332961, i64 4607182418800017408, i64 4374416092750432689, i64 4607182418800017408, i64 4374384911412532418, i64 4607182418800017408, i64 4374353730074632146, i64 4607182418800017408, i64 4374322548736731875, i64 4607182418800017408, i64 4374291367398831603, i64 4607182418800017408, i64 4374260186060931332, i64 4607182418800017408, i64 4374229004723031061, i64 4607182418800017408, i64 4374197823385130789, i64 4607182418800017408, i64 4374166642047230518, i64 4607182418800017408, i64 4374135460709330246, i64 4607182418800017408, i64 4374104279371429975, i64 4607182418800017408, i64 4374073098033529704, i64 4607182418800017408, i64 4374041916695629432, i64 4607182418800017408, i64 4374010735357729161, i64 4607182418800017408, i64 4373979554019828889, i64 4607182418800017408, i64 4373948372681928618, i64 4607182418800017408, i64 4373917191344028346, i64 4607182418800017408, i64 4373886010006128075, i64 4607182418800017408, i64 4373854828668227804, i64 4607182418800017408, i64 4373823647330327532, i64 4607182418800017408, i64 4373792465992427261, i64 4607182418800017408, i64 4373761284654526989, i64 4607182418800017408, i64 4373730103316626718, i64 4607182418800017408, i64 4373698921978726447, i64 4607182418800017408, i64 4373667740640826175, i64 4607182418800017408, i64 4373636559302925904, i64 4607182418800017408, i64 4373605377965025632, i64 4607182418800017408, i64 4373574196627125361, i64 4607182418800017408, i64 4373543015289225089, i64 4607182418800017408, i64 4373511833951324818, i64 4607182418800017408, i64 4373480652613424547, i64 4607182418800017408, i64 4373449471275524275, i64 4607182418800017408, i64 4373418289937624004, i64 4607182418800017408, i64 4373387108599723732, i64 4607182418800017408, i64 4373355927261823461, i64 4607182418800017408, i64 4373324745923923190, i64 4607182418800017408, i64 4373293564586022918, i64 4607182418800017408, i64 4373262383248122647, i64 4607182418800017408, i64 4373231201910222375, i64 4607182418800017408, i64 4373200020572322104, i64 4607182418800017408, i64 4373168839234421832, i64 4607182418800017408, i64 4373137657896521561, i64 4607182418800017408, i64 4373106476558621290, i64 4607182418800017408, i64 4373075295220721018, i64 4607182418800017408, i64 4373044113882820747, i64 4607182418800017408, i64 4373012932544920475, i64 4607182418800017408, i64 4372968264237288792, i64 4607182418800017408, i64 4372905901561488249, i64 4607182418800017408, i64 4372843538885687706, i64 4607182418800017408, i64 4372781176209887163, i64 4607182418800017408, i64 4372718813534086621, i64 4607182418800017408, i64 4372656450858286078, i64 4607182418800017408, i64 4372594088182485535, i64 4607182418800017408, i64 4372531725506684992, i64 4607182418800017408, i64 4372469362830884449, i64 4607182418800017408, i64 4372407000155083906, i64 4607182418800017408, i64 4372344637479283364, i64 4607182418800017408, i64 4372282274803482821, i64 4607182418800017408, i64 4372219912127682278, i64 4607182418800017408, i64 4372157549451881735, i64 4607182418800017408, i64 4372095186776081192, i64 4607182418800017408, i64 4372032824100280649, i64 4607182418800017408, i64 4371970461424480107, i64 4607182418800017408, i64 4371939280086579835, i64 4607182418800017408, i64 4371908098748679564, i64 4607182418800017408, i64 4371876917410779292, i64 4607182418800017408, i64 4371845736072879021, i64 4607182418800017408, i64 4371814554734978750, i64 4607182418800017408, i64 4371783373397078478, i64 4607182418800017408, i64 4371752192059178207, i64 4607182418800017408, i64 4371721010721277935, i64 4607182418800017408, i64 4371689829383377664, i64 4607182418800017408, i64 4371658648045477392, i64 4607182418800017408, i64 4371627466707577121, i64 4607182418800017408, i64 4371596285369676850, i64 4607182418800017408, i64 4371565104031776578, i64 4607182418800017408, i64 4371533922693876307, i64 4607182418800017408, i64 4371502741355976035, i64 4607182418800017408, i64 4371471560018075764, i64 4607182418800017408, i64 4371440378680175493, i64 4607182418800017408, i64 4371409197342275221, i64 4607182418800017408, i64 4371378016004374950, i64 4607182418800017408, i64 4371346834666474678, i64 4607182418800017408, i64 4371315653328574407, i64 4607182418800017408, i64 4371284471990674135, i64 4607182418800017408, i64 4371253290652773864, i64 4607182418800017408, i64 4371222109314873593, i64 4607182418800017408, i64 4371190927976973321, i64 4607182418800017408, i64 4371159746639073050, i64 4607182418800017408, i64 4371128565301172778, i64 4607182418800017408, i64 4371097383963272507, i64 4607182418800017408, i64 4371066202625372236, i64 4607182418800017408, i64 4371035021287471964, i64 4607182418800017408, i64 4371003839949571693, i64 4607182418800017408, i64 4370972658611671421, i64 4607182418800017408, i64 4370941477273771150, i64 4607182418800017408, i64 4370910295935870878, i64 4607182418800017408, i64 4370879114597970607, i64 4607182418800017408, i64 4370847933260070336, i64 4607182418800017408, i64 4370816751922170064, i64 4607182418800017408, i64 4370785570584269793, i64 4607182418800017408, i64 4370754389246369521, i64 4607182418800017408, i64 4370723207908469250, i64 4607182418800017408, i64 4370692026570568979, i64 4607182418800017408, i64 4370660845232668707, i64 4607182418800017408, i64 4370629663894768436, i64 4607182418800017408, i64 4370598482556868164, i64 4607182418800017408, i64 4370567301218967893, i64 4607182418800017408, i64 4370536119881067621, i64 4607182418800017408, i64 4370504938543167350, i64 4607182418800017408, i64 4370473757205267079, i64 4607182418800017408, i64 4370442575867366807, i64 4607182418800017408, i64 4370411394529466536, i64 4607182418800017408, i64 4370380213191566264, i64 4607182418800017408, i64 4370349031853665993, i64 4607182418800017408, i64 4370317850515765722, i64 4607182418800017408, i64 4370286669177865450, i64 4607182418800017408, i64 4370255487839965179, i64 4607182418800017408, i64 4370224306502064907, i64 4607182418800017408, i64 4370193125164164636, i64 4607182418800017408, i64 4370161943826264364, i64 4607182418800017408, i64 4370130762488364093, i64 4607182418800017408, i64 4370099581150463822, i64 4607182418800017408, i64 4370068399812563550, i64 4607182418800017408, i64 4370037218474663279, i64 4607182418800017408, i64 4370006037136763007, i64 4607182418800017408, i64 4369974855798862736, i64 4607182418800017408, i64 4369943674460962465, i64 4607182418800017408, i64 4369912493123062193, i64 4607182418800017408, i64 4369881311785161922, i64 4607182418800017408, i64 4369850130447261650, i64 4607182418800017408, i64 4369818949109361379, i64 4607182418800017408, i64 4369787767771461107, i64 4607182418800017408, i64 4369756586433560836, i64 4607182418800017408, i64 4369725405095660565, i64 4607182418800017408, i64 4369694223757760293, i64 4607182418800017408, i64 4369663042419860022, i64 4607182418800017408, i64 4369631861081959750, i64 4607182418800017408, i64 4369600679744059479, i64 4607182418800017408, i64 4369569498406159208, i64 4607182418800017408, i64 4369538317068258936, i64 4607182418800017408, i64 4369507135730358665, i64 4607182418800017408, i64 4369475954392458393, i64 4607182418800017408, i64 4369444773054558122, i64 4607182418800017408, i64 4369413591716657850, i64 4607182418800017408, i64 4369382410378757579, i64 4607182418800017408, i64 4369351229040857308, i64 4607182418800017408, i64 4369320047702957036, i64 4607182418800017408, i64 4369288866365056765, i64 4607182418800017408, i64 4369257685027156493, i64 4607182418800017408, i64 4369226503689256222, i64 4607182418800017408, i64 4369195322351355951, i64 4607182418800017408, i64 4369164141013455679, i64 4607182418800017408, i64 4369132959675555408, i64 4607182418800017408, i64 4369101778337655136, i64 4607182418800017408, i64 4369070596999754865, i64 4607182418800017408, i64 4369039415661854593, i64 4607182418800017408, i64 4369008234323954322, i64 4607182418800017408, i64 4368977052986054051, i64 4607182418800017408, i64 4368945871648153779, i64 4607182418800017408, i64 4368914690310253508, i64 4607182418800017408, i64 4368883508972353236, i64 4607182418800017408, i64 4368852327634452965, i64 4607182418800017408, i64 4368821146296552694, i64 4607182418800017408, i64 4368789964958652422, i64 4607182418800017408, i64 4368758783620752151, i64 4607182418800017408, i64 4368727602282851879, i64 4607182418800017408, i64 4368696420944951608, i64 4607182418800017408, i64 4368665239607051336, i64 4607182418800017408, i64 4368634058269151065, i64 4607182418800017408, i64 4368602876931250794, i64 4607182418800017408, i64 4368571695593350522, i64 4607182418800017408, i64 4368540514255450251, i64 4607182418800017408, i64 4368509332917549979, i64 4607182418800017408, i64 4368464664609918296, i64 4607182418800017408, i64 4368402301934117753, i64 4607182418800017408, i64 4368339939258317210, i64 4607182418800017408, i64 4368277576582516667, i64 4607182418800017408, i64 4368215213906716125, i64 4607182418800017408, i64 4368152851230915582, i64 4607182418800017408, i64 4368090488555115039, i64 4607182418800017408, i64 4368028125879314496, i64 4607182418800017408, i64 4367965763203513953, i64 4607182418800017408, i64 4367903400527713410, i64 4607182418800017408, i64 4367841037851912868, i64 4607182418800017408, i64 4367778675176112325, i64 4607182418800017408, i64 4367716312500311782, i64 4607182418800017408, i64 4367653949824511239, i64 4607182418800017408, i64 4367591587148710696, i64 4607182418800017408, i64 4367529224472910153, i64 4607182418800017408, i64 4367466861797109611, i64 4607182418800017408], i64 -9223372036854775808, i64 4449556431842050048, i64 4607182418800017408, i64 4611686018427387904, i64 4602678819172646912, i64 0, i64 9223336852482686976, i64 35184372088832, i64 139264, i64 1, i64 -288230376151711744, i64 4367365738642538496, i64 -4617214394807029909, i64 4605249457297304856, i64 -4625844843267037724, i64 -4616837644012296732, i64 4604657328439469785, i64 4608234912510526942, i64 -4629608321015639611, i64 -4613143146423713340, i64 -4612814882455956142, i64 4604332949310953564, i64 4615085646766988865, i64 4613000746137665107, i64 -4632470877999605176, i64 -4610849104051761390, i64 -4603840987512640572, i64 -4607350146601521970, [2 x i64] [i64 9218868437227405312, i64 -4503599627370496], [2 x i64] [i64 4607182418800017408, i64 -4616189618054758400], [2 x i64] [i64 0, i64 -9223372036854775808] }, align 8 +@_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE = internal unnamed_addr addrspace(1) constant [2246 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 -1850413205, i32 1072454648] }, { [2 x i32] } { [2 x i32] [i32 -1006346511, i32 -1132062480] }, { [2 x i32] } { [2 x i32] [i32 -1291917852, i32 1070445215] }, { [2 x i32] } { [2 x i32] [i32 -441575267, i32 -1137289561] }, { [2 x i32] } { [2 x i32] [i32 -1062497843, i32 1069568962] }, { [2 x i32] } { [2 x i32] [i32 2125431403, i32 1011406677] }, { [2 x i32] } { [2 x i32] [i32 -998395668, i32 1068902471] }, { [2 x i32] } { [2 x i32] [i32 -480985973, i32 1012454148] }, { [2 x i32] } { [2 x i32] [i32 -1979973228, i32 1068540209] }, { [2 x i32] } { [2 x i32] [i32 1640550904, i32 1005730020] }, { [2 x i32] } { [2 x i32] [i32 2082886492, i32 1068137605] }, { [2 x i32] } { [2 x i32] [i32 1597164124, i32 -1136360483] }, { [2 x i32] } { [2 x i32] [i32 617668189, i32 1067839186] }, { [2 x i32] } { [2 x i32] [i32 760476234, i32 -1135767523] }, { [2 x i32] } { [2 x i32] [i32 -268552405, i32 1067623352] }, { [2 x i32] } { [2 x i32] [i32 76249107, i32 -1137929863] }, { [2 x i32] } { [2 x i32] [i32 2002800613, i32 1067533624] }, { [2 x i32] } { [2 x i32] [i32 227083111, i32 -1135683466] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1067533624] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 -1110182397] }, { [2 x i32] } { [2 x i32] [i32 148864492, i32 1072944651] }, { [2 x i32] } { [2 x i32] [i32 -1076509504, i32 1016788180] }, { [2 x i32] } { [2 x i32] [i32 -122714852, i32 -1070292254] }, { [2 x i32] } { [2 x i32] [i32 2048229555, i32 -1126841454] }, { [2 x i32] } { [2 x i32] [i32 -2004565049, i32 1080145834] }, { [2 x i32] } { [2 x i32] [i32 179387338, i32 -1124384000] }, { [2 x i32] } { [2 x i32] [i32 -1288082608, i32 -1065335693] }, { [2 x i32] } { [2 x i32] [i32 1257107192, i32 -1121626543] }, { [2 x i32] } { [2 x i32] [i32 -1760856247, i32 1083265838] }, { [2 x i32] } { [2 x i32] [i32 -1818860399, i32 1025207498] }, { [2 x i32] } { [2 x i32] [i32 667863272, i32 -1063927414] }, { [2 x i32] } { [2 x i32] [i32 1383567378, i32 -1122966856] }, { [2 x i32] } { [2 x i32] [i32 -1233553087, i32 1083140398] }, { [2 x i32] } { [2 x i32] [i32 342343907, i32 1026519371] }, { [2 x i32] } { [2 x i32] [i32 751392108, i32 -1065854118] }, { [2 x i32] } { [2 x i32] [i32 -619236532, i32 -1122196091] }, { [2 x i32] } { [2 x i32] [i32 1019588352, i32 1079099894] }, { [2 x i32] } { [2 x i32] [i32 566900822, i32 1023028517] }, { [2 x i32] } { [2 x i32] [i32 -383236041, i32 -1072531269] }, { [2 x i32] } { [2 x i32] [i32 -897981801, i32 -1129241972] }, { [2 x i32] } { [2 x i32] [i32 -1960821719, i32 1067983371] }, { [2 x i32] } { [2 x i32] [i32 -169404137, i32 1011641801] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1067983371] }, { [2 x i32] } { [2 x i32] [i32 1207959552, i32 1039729121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 2100197358, i32 -1070497353] }, { [2 x i32] } { [2 x i32] [i32 -1659420669, i32 1019558388] }, { [2 x i32] } { [2 x i32] [i32 -2131604366, i32 1080025937] }, { [2 x i32] } { [2 x i32] [i32 911451104, i32 -1126617252] }, { [2 x i32] } { [2 x i32] [i32 1752461254, i32 -1065392379] }, { [2 x i32] } { [2 x i32] [i32 -621393892, i32 1023074480] }, { [2 x i32] } { [2 x i32] [i32 -1232669512, i32 1083323159] }, { [2 x i32] } { [2 x i32] [i32 1978139564, i32 1025827328] }, { [2 x i32] } { [2 x i32] [i32 -1757609428, i32 -1063690120] }, { [2 x i32] } { [2 x i32] [i32 833723557, i32 1026754431] }, { [2 x i32] } { [2 x i32] [i32 2077070738, i32 1083502208] }, { [2 x i32] } { [2 x i32] [i32 1738394989, i32 -1121025882] }, { [2 x i32] } { [2 x i32] [i32 -2072209515, i32 -1065132192] }, { [2 x i32] } { [2 x i32] [i32 -40561026, i32 -1121229592] }, { [2 x i32] } { [2 x i32] [i32 -820290386, i32 1080174106] }, { [2 x i32] } { [2 x i32] [i32 1316890121, i32 1021510048] }, { [2 x i32] } { [2 x i32] [i32 1764995085, i32 -1070843824] }, { [2 x i32] } { [2 x i32] [i32 1433954987, i32 1020193490] }, { [2 x i32] } { [2 x i32] [i32 -2009034911, i32 1071039456] }, { [2 x i32] } { [2 x i32] [i32 1854942612, i32 1013489120] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 1071039456] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1039147992] }, { [2 x i32] } { [2 x i32] [i32 654795864, i32 -1089561097] }, { [2 x i32] } { [2 x i32] [i32 1919104869, i32 1000371671] }, { [2 x i32] } { [2 x i32] [i32 -124281782, i32 1072455860] }, { [2 x i32] } { [2 x i32] [i32 -430215357, i32 -1132114844] }, { [2 x i32] } { [2 x i32] [i32 -785522369, i32 1074229541] }, { [2 x i32] } { [2 x i32] [i32 -53795573, i32 1016078832] }, { [2 x i32] } { [2 x i32] [i32 115976104, i32 1075432335] }, { [2 x i32] } { [2 x i32] [i32 -49724415, i32 1016184159] }, { [2 x i32] } { [2 x i32] [i32 -936942995, i32 1076017538] }, { [2 x i32] } { [2 x i32] [i32 -447611791, i32 1019731860] }, { [2 x i32] } { [2 x i32] [i32 -661955378, i32 1076087511] }, { [2 x i32] } { [2 x i32] [i32 -1412024772, i32 -1132808820] }, { [2 x i32] } { [2 x i32] [i32 -1087536662, i32 1075689530] }, { [2 x i32] } { [2 x i32] [i32 1789831668, i32 -1129947350] }, { [2 x i32] } { [2 x i32] [i32 -907302011, i32 1074523607] }, { [2 x i32] } { [2 x i32] [i32 -217508829, i32 1017281255] }, { [2 x i32] } { [2 x i32] [i32 167906560, i32 1072584871] }, { [2 x i32] } { [2 x i32] [i32 1006427236, i32 1015824222] }, { [2 x i32] } { [2 x i32] [i32 -1665057021, i32 1069541741] }, { [2 x i32] } { [2 x i32] [i32 -1715792124, i32 -1136407650] }, { [2 x i32] } { [2 x i32] [i32 77633347, i32 1064987091] }, { [2 x i32] } { [2 x i32] [i32 -829739469, i32 1006576331] }, { [2 x i32] } { [2 x i32] [i32 1662141866, i32 1058560648] }, { [2 x i32] } { [2 x i32] [i32 157070368, i32 1002255421] }, { [2 x i32] } { [2 x i32] [i32 1610612736, i32 1058560648] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1030263341] }, { [2 x i32] } { [2 x i32] [i32 -558201220, i32 1067908800] }, { [2 x i32] } { [2 x i32] [i32 -1602223769, i32 1008387278] }, { [2 x i32] } { [2 x i32] [i32 -2126114872, i32 1071968203] }, { [2 x i32] } { [2 x i32] [i32 -830458049, i32 -1133095925] }, { [2 x i32] } { [2 x i32] [i32 -1003826710, i32 1073775692] }, { [2 x i32] } { [2 x i32] [i32 246132211, i32 -1129488856] }, { [2 x i32] } { [2 x i32] [i32 -1879570205, i32 1073494832] }, { [2 x i32] } { [2 x i32] [i32 -619025767, i32 -1132130103] }, { [2 x i32] } { [2 x i32] [i32 -669224106, i32 1073857989] }, { [2 x i32] } { [2 x i32] [i32 912314248, i32 1017589501] }, { [2 x i32] } { [2 x i32] [i32 188226579, i32 1072884447] }, { [2 x i32] } { [2 x i32] [i32 -540201084, i32 1017018926] }, { [2 x i32] } { [2 x i32] [i32 -1637510617, i32 1070593969] }, { [2 x i32] } { [2 x i32] [i32 1393943292, i32 1009890248] }, { [2 x i32] } { [2 x i32] [i32 -1624119268, i32 1066931654] }, { [2 x i32] } { [2 x i32] [i32 -669015581, i32 1009710509] }, { [2 x i32] } { [2 x i32] [i32 871100639, i32 1062265959] }, { [2 x i32] } { [2 x i32] [i32 -4083827, i32 1006087675] }, { [2 x i32] } { [2 x i32] [i32 1774035250, i32 1056276817] }, { [2 x i32] } { [2 x i32] [i32 -2001717096, i32 998357684] }, { [2 x i32] } { [2 x i32] [i32 833393274, i32 1048982948] }, { [2 x i32] } { [2 x i32] [i32 688851015, i32 -1155334525] }, { [2 x i32] } { [2 x i32] [i32 2047496935, i32 1039864008] }, { [2 x i32] } { [2 x i32] [i32 428901529, i32 982523974] }, { [2 x i32] } { [2 x i32] [i32 2013265920, i32 1039864008] }, { [2 x i32] } { [2 x i32] [i32 939524096, i32 1010848407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -497390049, i32 1074428174] }, { [2 x i32] } { [2 x i32] [i32 -2116978032, i32 1015381114] }, { [2 x i32] } { [2 x i32] [i32 -2000967651, i32 1075779167] }, { [2 x i32] } { [2 x i32] [i32 -735534922, i32 -1129476158] }, { [2 x i32] } { [2 x i32] [i32 1981157540, i32 1076391590] }, { [2 x i32] } { [2 x i32] [i32 763638500, i32 1018049058] }, { [2 x i32] } { [2 x i32] [i32 1195781901, i32 1076712041] }, { [2 x i32] } { [2 x i32] [i32 -726086109, i32 -1127897485] }, { [2 x i32] } { [2 x i32] [i32 1825625435, i32 1076491341] }, { [2 x i32] } { [2 x i32] [i32 535467216, i32 1019393982] }, { [2 x i32] } { [2 x i32] [i32 1735397714, i32 1075905574] }, { [2 x i32] } { [2 x i32] [i32 -895936810, i32 1017241906] }, { [2 x i32] } { [2 x i32] [i32 -1755506874, i32 1074623128] }, { [2 x i32] } { [2 x i32] [i32 591104994, i32 1017648688] }, { [2 x i32] } { [2 x i32] [i32 -1356758068, i32 1072612513] }, { [2 x i32] } { [2 x i32] [i32 -1384323578, i32 -1132364377] }, { [2 x i32] } { [2 x i32] [i32 421614208, i32 1069546188] }, { [2 x i32] } { [2 x i32] [i32 -781864625, i32 1012547125] }, { [2 x i32] } { [2 x i32] [i32 1572567036, i32 1064987182] }, { [2 x i32] } { [2 x i32] [i32 1452624855, i32 -1139306647] }, { [2 x i32] } { [2 x i32] [i32 -1810526161, i32 1058560631] }, { [2 x i32] } { [2 x i32] [i32 1693335727, i32 -1145051245] }, { [2 x i32] } { [2 x i32] [i32 -1744830464, i32 1058560631] }, { [2 x i32] } { [2 x i32] [i32 -2013265920, i32 -1116777602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 -1614553673, i32 -1492866958] }, { [2 x i32] } { [2 x i32] [i32 -1413092810, i32 1073446113] }, { [2 x i32] } { [2 x i32] [i32 317447375, i32 -1131454303] }, { [2 x i32] } { [2 x i32] [i32 -1505741550, i32 1074416586] }, { [2 x i32] } { [2 x i32] [i32 -512538025, i32 1017688192] }, { [2 x i32] } { [2 x i32] [i32 -1187107443, i32 1074182672] }, { [2 x i32] } { [2 x i32] [i32 -1138435477, i32 1017533104] }, { [2 x i32] } { [2 x i32] [i32 1278569347, i32 1074027370] }, { [2 x i32] } { [2 x i32] [i32 366826632, i32 1015273854] }, { [2 x i32] } { [2 x i32] [i32 1874768324, i32 1072925538] }, { [2 x i32] } { [2 x i32] [i32 332254730, i32 1015862841] }, { [2 x i32] } { [2 x i32] [i32 -1531134353, i32 1070603872] }, { [2 x i32] } { [2 x i32] [i32 -976901510, i32 -1132835205] }, { [2 x i32] } { [2 x i32] [i32 -1752019972, i32 1066935035] }, { [2 x i32] } { [2 x i32] [i32 -614116946, i32 -1137391300] }, { [2 x i32] } { [2 x i32] [i32 -391289782, i32 1062266484] }, { [2 x i32] } { [2 x i32] [i32 -351029795, i32 -1142782313] }, { [2 x i32] } { [2 x i32] [i32 -1736427831, i32 1056276918] }, { [2 x i32] } { [2 x i32] [i32 1257513179, i32 -1147518663] }, { [2 x i32] } { [2 x i32] [i32 1772514876, i32 1048982950] }, { [2 x i32] } { [2 x i32] [i32 538293425, i32 -1157760609] }, { [2 x i32] } { [2 x i32] [i32 -526363140, i32 1039864007] }, { [2 x i32] } { [2 x i32] [i32 -65741763, i32 -1166581933] }, { [2 x i32] } { [2 x i32] [i32 -536870912, i32 1039864007] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1008995007] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072689160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072681032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072672966] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072664963] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072657021] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072649140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072641319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072633557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072625854] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072618209] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072610621] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072603090] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072595615] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072588196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072580831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072573521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072566264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072559061] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072551910] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072544811] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072537763] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072530766] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072523819] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072516922] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072510074] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072503275] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072496524] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072489821] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072483164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072476555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072469991] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072463473] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072457000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072450572] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072444189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072437849] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072431552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072425298] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072419087] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072412918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072406790] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072400704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072394659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072388653] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072382688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072376762] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072370876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072365028] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072359219] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072353448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072347714] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072342018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072336358] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072330735] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072325149] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072319598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072314083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072308603] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072303158] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072297747] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072292371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072287028] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072281719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072276443] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072271200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072265990] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072260812] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072255666] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072250552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072245469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072240417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072235396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072230406] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072225446] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072220516] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072215616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072210745] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072205904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072201091] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072196307] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072191552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072186825] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072182125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072177454] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072172809] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072168192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072163602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072159039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072154502] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072149992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072145507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072141048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072136615] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072132207] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072127825] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072123467] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072119134] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072114826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072110541] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072106281] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072102045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072097833] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072093644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072089478] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072085336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072081216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072077119] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072073045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072068993] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072064963] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072060955] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072056969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072053005] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072049062] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072045140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072041240] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072037360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072033501] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072029663] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072025845] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072022048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072018271] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072014513] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072010776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072007058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072003359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071999680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071996020] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071992379] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071988757] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071985154] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071981569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071978003] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071974455] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071970925] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071967414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071963920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071960444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071956986] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071953545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071950121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071946715] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071943325] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071939953] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071936598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071933259] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071929937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071926631] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071923342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071920069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071916812] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071913571] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071910345] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071907136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071903942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071900764] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071897601] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071894454] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071891321] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071888204] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071885102] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071882014] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071878942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071875884] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071872840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071869811] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071866796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071863796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071860810] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071857837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071854879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071851934] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071849004] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071846086] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071843183] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071840293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071837416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071834553] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071831702] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071828865] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071826041] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071823230] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071820431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071817645] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071814872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071812112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071809364] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071806628] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071803905] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071801193] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071798494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071795808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071793133] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071790470] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071787818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071785179] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071782551] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071779935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071777330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071774737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071772155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071769584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071764477] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071761939] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071759413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071756898] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071754394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071751900] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071749417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071746945] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071744483] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071739591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071737161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071732331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071729931] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071727542] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071725162] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071722793] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071720433] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071718083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071715743] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071713413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071711093] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071708782] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071706481] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071704189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071701906] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071699633] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071697370] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695115] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071692870] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071690634] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071688407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071686189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071683980] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071681780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071679589] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071677407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071675234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071673069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071670913] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071668765] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071666626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071664496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071662374] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071660260] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071658155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071656058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071653970] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071651889] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071649817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071647753] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071645697] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071640584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071632456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071624390] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071616387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071608445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071600564] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071592743] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071584981] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071577278] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071569633] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071562045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071554514] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071547039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071539620] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071532255] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071524945] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071517688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071510485] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071503334] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071496235] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071489187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071482190] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071475243] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071468346] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071461498] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071454699] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071447948] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071441245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071434588] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071427979] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071421415] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071414897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071408424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071401996] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071395613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071389273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071382976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071376722] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071370511] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071364342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071358214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071352128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071346083] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071340077] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071334112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071328186] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071322300] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071316452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071310643] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071304872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071299138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071293442] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071287782] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071282159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071276573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071271022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071265507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071260027] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071254582] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071249171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071243795] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071238452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071233143] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071227867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071222624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071217414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071212236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071207090] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071201976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071196893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071191841] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071186820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071181830] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071176870] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071171940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071167040] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071162169] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071157328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071152515] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071147731] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071142976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071138249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071133549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071128878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071124233] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071119616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071115026] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071110463] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071105926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071101416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071096931] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071092472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071088039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071083631] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071079249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071074891] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071070558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071066250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071061965] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071057705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071053469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071049257] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071045068] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071040902] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071036760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071032640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071028543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071024469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071020417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071016387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071012379] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071008393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071004429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071000486] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070996564] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070992664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070988784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070984925] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070981087] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070977269] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070973472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070969695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070965937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070962200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070958482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070954783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070951104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070947444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070943803] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070940181] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070936578] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070932993] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070929427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070925879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070922349] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070918838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070915344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070911868] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070908410] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070904969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070901545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070898139] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070894749] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070891377] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070888022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070884683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070881361] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070878055] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070874766] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070871493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070868236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070864995] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070861769] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070858560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070855366] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070852188] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070849025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070845878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070842745] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070839628] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070836526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070833438] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070830366] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070827308] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070824264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070821235] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070818220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070815220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070812234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070809261] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070806303] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070803358] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070800428] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070797510] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070794607] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070791717] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070788840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070785977] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070783126] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070780289] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070777465] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070774654] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070771855] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070769069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070766296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070763536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070760788] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070758052] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070755329] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070752617] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070749918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070747232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070744557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070741894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070739242] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070736603] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070733975] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070731359] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070728754] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070726161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070723579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070721008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070718449] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070715901] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070713363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070710837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070708322] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070705818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070703324] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070700841] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070698369] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070695907] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070693456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070691015] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070688585] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070686165] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070683755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070681355] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070678966] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070676586] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070674217] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070671857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070669507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070667167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070664837] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070662517] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070660206] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070657905] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070655613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070653330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070651057] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070648794] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070646539] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070644294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070642058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070639831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070637613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070635404] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070633204] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070631013] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070628831] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070626658] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070624493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070622337] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070620189] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070618050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070615920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070613798] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070611684] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070609579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070607482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070605394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070603313] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070601241] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070599177] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070597121] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1063254011] }, { [2 x i32] } { [2 x i32] [i32 -1503537633, i32 -1107978949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1064824284] }, { [2 x i32] } { [2 x i32] [i32 1280919396, i32 -1108072586] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1065609006] }, { [2 x i32] } { [2 x i32] [i32 -1048445168, i32 -1104628075] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066127199] }, { [2 x i32] } { [2 x i32] [i32 -2122335093, i32 -1104354580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066522610] }, { [2 x i32] } { [2 x i32] [i32 -947477937, i32 -1103554493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1066779727] }, { [2 x i32] } { [2 x i32] [i32 -849667798, i32 -1103392314] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067035864] }, { [2 x i32] } { [2 x i32] [i32 170185599, i32 -1103710009] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067291039] }, { [2 x i32] } { [2 x i32] [i32 -163623017, i32 -1104090386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067497803] }, { [2 x i32] } { [2 x i32] [i32 475160131, i32 -1102251610] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067624423] }, { [2 x i32] } { [2 x i32] [i32 -292167094, i32 -1102218557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067750573] }, { [2 x i32] } { [2 x i32] [i32 -1193421148, i32 -1103024997] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1067876246] }, { [2 x i32] } { [2 x i32] [i32 265265863, i32 1037211580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068001452] }, { [2 x i32] } { [2 x i32] [i32 2016679056, i32 -1106382826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068126184] }, { [2 x i32] } { [2 x i32] [i32 411193448, i32 -1102571765] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068250468] }, { [2 x i32] } { [2 x i32] [i32 111727877, i32 -1102980234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068374281] }, { [2 x i32] } { [2 x i32] [i32 -720529146, i32 -1102383577] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068497649] }, { [2 x i32] } { [2 x i32] [i32 30268491, i32 1044670185] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068559747] }, { [2 x i32] } { [2 x i32] [i32 471044782, i32 1044337959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068620977] }, { [2 x i32] } { [2 x i32] [i32 1864095636, i32 1046148806] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068681984] }, { [2 x i32] } { [2 x i32] [i32 587903413, i32 1045691768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068742773] }, { [2 x i32] } { [2 x i32] [i32 -2107729198, i32 1044797659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068803341] }, { [2 x i32] } { [2 x i32] [i32 -714585051, i32 -1102663897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068863693] }, { [2 x i32] } { [2 x i32] [i32 609506180, i32 -1102116879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068923826] }, { [2 x i32] } { [2 x i32] [i32 61264354, i32 -1102919521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1068983746] }, { [2 x i32] } { [2 x i32] [i32 -1545142429, i32 -1101982129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069043449] }, { [2 x i32] } { [2 x i32] [i32 466532078, i32 1045772810] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069102942] }, { [2 x i32] } { [2 x i32] [i32 -1215243040, i32 1046042199] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069162222] }, { [2 x i32] } { [2 x i32] [i32 2065737250, i32 -1103889957] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069221303] }, { [2 x i32] } { [2 x i32] [i32 2018418301, i32 -1101724562] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069280164] }, { [2 x i32] } { [2 x i32] [i32 299998482, i32 -1104685280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069338830] }, { [2 x i32] } { [2 x i32] [i32 112890557, i32 -1101325061] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069397288] }, { [2 x i32] } { [2 x i32] [i32 1186976918, i32 -1102234605] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069455545] }, { [2 x i32] } { [2 x i32] [i32 2040715867, i32 -1101683143] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069513597] }, { [2 x i32] } { [2 x i32] [i32 -237779938, i32 1046196448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069559482] }, { [2 x i32] } { [2 x i32] [i32 44487770, i32 -1100492752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069588309] }, { [2 x i32] } { [2 x i32] [i32 790540255, i32 -1101034382] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069617039] }, { [2 x i32] } { [2 x i32] [i32 124192850, i32 -1101075101] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069645670] }, { [2 x i32] } { [2 x i32] [i32 2019798917, i32 1046691626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069674202] }, { [2 x i32] } { [2 x i32] [i32 1839259298, i32 1043356551] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069702637] }, { [2 x i32] } { [2 x i32] [i32 1823036359, i32 1046175285] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069730979] }, { [2 x i32] } { [2 x i32] [i32 -1786010955, i32 1045756667] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069759222] }, { [2 x i32] } { [2 x i32] [i32 -516727636, i32 -1103818270] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069787369] }, { [2 x i32] } { [2 x i32] [i32 -2096816292, i32 -1103049129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069815428] }, { [2 x i32] } { [2 x i32] [i32 -538369825, i32 1045739838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069843389] }, { [2 x i32] } { [2 x i32] [i32 -627794789, i32 1043975623] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069871260] }, { [2 x i32] } { [2 x i32] [i32 200957322, i32 -1100884109] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069899034] }, { [2 x i32] } { [2 x i32] [i32 -461031610, i32 1046352278] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069926721] }, { [2 x i32] } { [2 x i32] [i32 1430594275, i32 -1101507770] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069954314] }, { [2 x i32] } { [2 x i32] [i32 254473567, i32 -1099999914] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1069981816] }, { [2 x i32] } { [2 x i32] [i32 1828972396, i32 -1102116783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070009232] }, { [2 x i32] } { [2 x i32] [i32 1649369387, i32 -1100015723] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070036554] }, { [2 x i32] } { [2 x i32] [i32 -275366034, i32 1047372744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070063793] }, { [2 x i32] } { [2 x i32] [i32 464503657, i32 1045764194] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070090942] }, { [2 x i32] } { [2 x i32] [i32 2027706448, i32 -1100669334] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070117999] }, { [2 x i32] } { [2 x i32] [i32 -1803624649, i32 -1101533618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070144973] }, { [2 x i32] } { [2 x i32] [i32 513978270, i32 1045699078] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070171859] }, { [2 x i32] } { [2 x i32] [i32 -1017097366, i32 -1100947553] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070198659] }, { [2 x i32] } { [2 x i32] [i32 -1653242699, i32 1046748582] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070225374] }, { [2 x i32] } { [2 x i32] [i32 755355429, i32 -1101402664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070252006] }, { [2 x i32] } { [2 x i32] [i32 -1582985866, i32 1042356297] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070278550] }, { [2 x i32] } { [2 x i32] [i32 1871005969, i32 -1104222424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070305014] }, { [2 x i32] } { [2 x i32] [i32 246834755, i32 1047400579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070331394] }, { [2 x i32] } { [2 x i32] [i32 -994284667, i32 -1100039058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070357691] }, { [2 x i32] } { [2 x i32] [i32 1276573519, i32 1043625417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070383906] }, { [2 x i32] } { [2 x i32] [i32 1089025017, i32 1036478098] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070410037] }, { [2 x i32] } { [2 x i32] [i32 -84542034, i32 1046965676] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070436089] }, { [2 x i32] } { [2 x i32] [i32 -1357249590, i32 1045526926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070462060] }, { [2 x i32] } { [2 x i32] [i32 1347704345, i32 1046748299] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070487950] }, { [2 x i32] } { [2 x i32] [i32 -264978933, i32 -1102424192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070513762] }, { [2 x i32] } { [2 x i32] [i32 -366897025, i32 -1104001783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070539496] }, { [2 x i32] } { [2 x i32] [i32 985719045, i32 -1100172229] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070565150] }, { [2 x i32] } { [2 x i32] [i32 1420797922, i32 -1100752214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070590723] }, { [2 x i32] } { [2 x i32] [i32 1337648066, i32 1047132546] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070606158] }, { [2 x i32] } { [2 x i32] [i32 116475219, i32 1048304393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070618869] }, { [2 x i32] } { [2 x i32] [i32 -1119982816, i32 -1099219196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070631540] }, { [2 x i32] } { [2 x i32] [i32 205401070, i32 -1099538198] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070644174] }, { [2 x i32] } { [2 x i32] [i32 -1032231863, i32 -1100285588] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070656768] }, { [2 x i32] } { [2 x i32] [i32 -108092034, i32 -1102013823] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070669327] }, { [2 x i32] } { [2 x i32] [i32 888047672, i32 -1100699343] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070681847] }, { [2 x i32] } { [2 x i32] [i32 -1982194876, i32 1048355354] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070694329] }, { [2 x i32] } { [2 x i32] [i32 1599554950, i32 1047758146] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070706775] }, { [2 x i32] } { [2 x i32] [i32 -1295521762, i32 -1099283488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070719186] }, { [2 x i32] } { [2 x i32] [i32 154162391, i32 -1098943942] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070731556] }, { [2 x i32] } { [2 x i32] [i32 82414149, i32 1047912838] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070743895] }, { [2 x i32] } { [2 x i32] [i32 1871678281, i32 -1099349830] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070756195] }, { [2 x i32] } { [2 x i32] [i32 816897865, i32 -1099190242] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070768458] }, { [2 x i32] } { [2 x i32] [i32 1270221736, i32 1048403339] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070780686] }, { [2 x i32] } { [2 x i32] [i32 1028833567, i32 -1100851267] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070792879] }, { [2 x i32] } { [2 x i32] [i32 745966691, i32 1044125909] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070805035] }, { [2 x i32] } { [2 x i32] [i32 -1081062273, i32 -1100950581] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070817158] }, { [2 x i32] } { [2 x i32] [i32 1333959446, i32 1048011978] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070829246] }, { [2 x i32] } { [2 x i32] [i32 172758963, i32 1048241077] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070841299] }, { [2 x i32] } { [2 x i32] [i32 413845862, i32 -1099426899] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070853317] }, { [2 x i32] } { [2 x i32] [i32 1071084729, i32 1047722968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070865299] }, { [2 x i32] } { [2 x i32] [i32 1303084562, i32 1047786371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070877250] }, { [2 x i32] } { [2 x i32] [i32 -522129208, i32 -1099946226] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070889165] }, { [2 x i32] } { [2 x i32] [i32 -125378681, i32 1048499820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070901046] }, { [2 x i32] } { [2 x i32] [i32 377142675, i32 1046408444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070912897] }, { [2 x i32] } { [2 x i32] [i32 854364890, i32 -1100445683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070924712] }, { [2 x i32] } { [2 x i32] [i32 807781792, i32 -1099494088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070936493] }, { [2 x i32] } { [2 x i32] [i32 -801612228, i32 1040169507] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070948241] }, { [2 x i32] } { [2 x i32] [i32 638885393, i32 -1098983696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070959957] }, { [2 x i32] } { [2 x i32] [i32 854091708, i32 -1099373441] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070971641] }, { [2 x i32] } { [2 x i32] [i32 259144873, i32 -1101834780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070983290] }, { [2 x i32] } { [2 x i32] [i32 -1382213590, i32 1047670949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070994910] }, { [2 x i32] } { [2 x i32] [i32 1191620030, i32 -1102675331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071006497] }, { [2 x i32] } { [2 x i32] [i32 -913919943, i32 -1100128805] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071018050] }, { [2 x i32] } { [2 x i32] [i32 -1622303896, i32 1048012303] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071029573] }, { [2 x i32] } { [2 x i32] [i32 891860950, i32 1047318555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071041065] }, { [2 x i32] } { [2 x i32] [i32 1789249196, i32 1042166937] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071052525] }, { [2 x i32] } { [2 x i32] [i32 -508344224, i32 1048027848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071063954] }, { [2 x i32] } { [2 x i32] [i32 2145833234, i32 -1103022596] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071075350] }, { [2 x i32] } { [2 x i32] [i32 -1347029908, i32 1048377518] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071086717] }, { [2 x i32] } { [2 x i32] [i32 1239803578, i32 1048020718] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071098054] }, { [2 x i32] } { [2 x i32] [i32 -1349527685, i32 1048097661] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071109358] }, { [2 x i32] } { [2 x i32] [i32 1386166232, i32 1047648187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071120635] }, { [2 x i32] } { [2 x i32] [i32 -1530724011, i32 -1098970918] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071131880] }, { [2 x i32] } { [2 x i32] [i32 -346946339, i32 -1100971817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071143094] }, { [2 x i32] } { [2 x i32] [i32 2013157676, i32 1043371827] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071154280] }, { [2 x i32] } { [2 x i32] [i32 -1464541358, i32 -1099126787] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071165433] }, { [2 x i32] } { [2 x i32] [i32 -1007389445, i32 1047343883] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071176558] }, { [2 x i32] } { [2 x i32] [i32 -2082365200, i32 -1099573131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071187655] }, { [2 x i32] } { [2 x i32] [i32 64231733, i32 1048528658] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071198720] }, { [2 x i32] } { [2 x i32] [i32 2026400359, i32 1048570069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071209758] }, { [2 x i32] } { [2 x i32] [i32 76144771, i32 1047718259] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071220769] }, { [2 x i32] } { [2 x i32] [i32 353391663, i32 -1099272618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071231748] }, { [2 x i32] } { [2 x i32] [i32 1058848061, i32 1045912118] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071242699] }, { [2 x i32] } { [2 x i32] [i32 -357630780, i32 1048517049] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071253622] }, { [2 x i32] } { [2 x i32] [i32 -1852862165, i32 1048471943] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071264517] }, { [2 x i32] } { [2 x i32] [i32 1019566476, i32 -1100055166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071275382] }, { [2 x i32] } { [2 x i32] [i32 1874345042, i32 1044925016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071286221] }, { [2 x i32] } { [2 x i32] [i32 -83865678, i32 1045347174] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071297030] }, { [2 x i32] } { [2 x i32] [i32 906422266, i32 1048522472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071307813] }, { [2 x i32] } { [2 x i32] [i32 -826481163, i32 1045562089] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071318569] }, { [2 x i32] } { [2 x i32] [i32 -427694029, i32 -1099033543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071329294] }, { [2 x i32] } { [2 x i32] [i32 515741166, i32 -1099021569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071339994] }, { [2 x i32] } { [2 x i32] [i32 1000165771, i32 -1101250216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071350666] }, { [2 x i32] } { [2 x i32] [i32 -2126538114, i32 1047670128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071361310] }, { [2 x i32] } { [2 x i32] [i32 2086574179, i32 1048268453] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071371929] }, { [2 x i32] } { [2 x i32] [i32 -1277651276, i32 1046440335] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071382522] }, { [2 x i32] } { [2 x i32] [i32 -2075215479, i32 1046223632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071393086] }, { [2 x i32] } { [2 x i32] [i32 -1825299689, i32 1043566679] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071403627] }, { [2 x i32] } { [2 x i32] [i32 -794087667, i32 -1100286826] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071414138] }, { [2 x i32] } { [2 x i32] [i32 490481955, i32 -1102037871] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071424622] }, { [2 x i32] } { [2 x i32] [i32 -795668669, i32 1047735853] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071435083] }, { [2 x i32] } { [2 x i32] [i32 2079550009, i32 -1099948330] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071445516] }, { [2 x i32] } { [2 x i32] [i32 646588016, i32 -1101296940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071455925] }, { [2 x i32] } { [2 x i32] [i32 -1049172207, i32 -1099392558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071466306] }, { [2 x i32] } { [2 x i32] [i32 1142643558, i32 -1098952632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071476661] }, { [2 x i32] } { [2 x i32] [i32 -1836080767, i32 1048469058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071486992] }, { [2 x i32] } { [2 x i32] [i32 185940719, i32 1047561919] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071497298] }, { [2 x i32] } { [2 x i32] [i32 -468993452, i32 -1099378400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071507580] }, { [2 x i32] } { [2 x i32] [i32 -247947665, i32 1048481082] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071517834] }, { [2 x i32] } { [2 x i32] [i32 -1004577093, i32 1047335656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071528065] }, { [2 x i32] } { [2 x i32] [i32 1685787938, i32 -1110646524] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071538269] }, { [2 x i32] } { [2 x i32] [i32 1388552547, i32 1047949362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071548450] }, { [2 x i32] } { [2 x i32] [i32 1133083637, i32 1047511311] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071558604] }, { [2 x i32] } { [2 x i32] [i32 -1655200122, i32 1047360847] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071568738] }, { [2 x i32] } { [2 x i32] [i32 -1030793632, i32 -1098980763] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071578843] }, { [2 x i32] } { [2 x i32] [i32 -1924634282, i32 1048189514] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071588925] }, { [2 x i32] } { [2 x i32] [i32 1545540390, i32 -1101385405] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071598985] }, { [2 x i32] } { [2 x i32] [i32 1236653318, i32 1043061972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071609017] }, { [2 x i32] } { [2 x i32] [i32 -1972209865, i32 1041290989] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071619027] }, { [2 x i32] } { [2 x i32] [i32 -999702330, i32 1046803920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071629015] }, { [2 x i32] } { [2 x i32] [i32 -492504810, i32 1047646707] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071638978] }, { [2 x i32] } { [2 x i32] [i32 1746213909, i32 -1100713775] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071646795] }, { [2 x i32] } { [2 x i32] [i32 -1072817226, i32 -1101608683] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071651752] }, { [2 x i32] } { [2 x i32] [i32 397018598, i32 -1102989719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071656698] }, { [2 x i32] } { [2 x i32] [i32 -652096597, i32 -1098025206] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661633] }, { [2 x i32] } { [2 x i32] [i32 270088784, i32 1047982835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071666555] }, { [2 x i32] } { [2 x i32] [i32 -655780502, i32 1049507160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071671468] }, { [2 x i32] } { [2 x i32] [i32 478700949, i32 -1098429819] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071676366] }, { [2 x i32] } { [2 x i32] [i32 -704661387, i32 1048369429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071681256] }, { [2 x i32] } { [2 x i32] [i32 1480934732, i32 1047744019] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071686132] }, { [2 x i32] } { [2 x i32] [i32 -1423734552, i32 1048701784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071690998] }, { [2 x i32] } { [2 x i32] [i32 -1489501012, i32 -1099838363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071695853] }, { [2 x i32] } { [2 x i32] [i32 1702160875, i32 -1099274611] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071700695] }, { [2 x i32] } { [2 x i32] [i32 -1223712699, i32 1048721534] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071705529] }, { [2 x i32] } { [2 x i32] [i32 -42872500, i32 -1098345369] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071710349] }, { [2 x i32] } { [2 x i32] [i32 1378075748, i32 1048768172] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071715159] }, { [2 x i32] } { [2 x i32] [i32 423305009, i32 -1100649059] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071719957] }, { [2 x i32] } { [2 x i32] [i32 1338728653, i32 1049102975] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071724746] }, { [2 x i32] } { [2 x i32] [i32 1420377925, i32 1048721362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071729524] }, { [2 x i32] } { [2 x i32] [i32 443661523, i32 -1099627727] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734290] }, { [2 x i32] } { [2 x i32] [i32 -1374755065, i32 -1100818934] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071739044] }, { [2 x i32] } { [2 x i32] [i32 749984806, i32 1049428686] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071743789] }, { [2 x i32] } { [2 x i32] [i32 -1882107602, i32 1045775561] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071748524] }, { [2 x i32] } { [2 x i32] [i32 1981411387, i32 -1098274737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753246] }, { [2 x i32] } { [2 x i32] [i32 -529887191, i32 1048774279] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071757961] }, { [2 x i32] } { [2 x i32] [i32 1600617836, i32 -1097909820] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071762663] }, { [2 x i32] } { [2 x i32] [i32 -750534366, i32 -1098588835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767353] }, { [2 x i32] } { [2 x i32] [i32 1733995816, i32 -1098605142] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071772034] }, { [2 x i32] } { [2 x i32] [i32 1194001992, i32 -1100749568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071776705] }, { [2 x i32] } { [2 x i32] [i32 1136186766, i32 -1098148904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071781366] }, { [2 x i32] } { [2 x i32] [i32 593243686, i32 1048717754] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071786015] }, { [2 x i32] } { [2 x i32] [i32 1997945118, i32 1049440664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071790656] }, { [2 x i32] } { [2 x i32] [i32 1759973301, i32 -1097920739] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071795285] }, { [2 x i32] } { [2 x i32] [i32 94199092, i32 -1098297282] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071799904] }, { [2 x i32] } { [2 x i32] [i32 527731518, i32 1049227637] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071804513] }, { [2 x i32] } { [2 x i32] [i32 -297729506, i32 1046192856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071809112] }, { [2 x i32] } { [2 x i32] [i32 -317480997, i32 1048470523] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071813702] }, { [2 x i32] } { [2 x i32] [i32 -1905822683, i32 -1099923005] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071818280] }, { [2 x i32] } { [2 x i32] [i32 1806448012, i32 1046753006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071822849] }, { [2 x i32] } { [2 x i32] [i32 1861165381, i32 -1098105636] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071827409] }, { [2 x i32] } { [2 x i32] [i32 236146699, i32 1044954995] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071831958] }, { [2 x i32] } { [2 x i32] [i32 -2070653151, i32 -1099288688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071836497] }, { [2 x i32] } { [2 x i32] [i32 1760344807, i32 -1098200403] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071841025] }, { [2 x i32] } { [2 x i32] [i32 907328524, i32 1048767529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071845546] }, { [2 x i32] } { [2 x i32] [i32 858897087, i32 -1098555673] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071850056] }, { [2 x i32] } { [2 x i32] [i32 -1418247735, i32 -1099319319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071854556] }, { [2 x i32] } { [2 x i32] [i32 -828324700, i32 -1098309755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071859047] }, { [2 x i32] } { [2 x i32] [i32 -182735744, i32 -1099578103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071863528] }, { [2 x i32] } { [2 x i32] [i32 2007097037, i32 -1098112459] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071868000] }, { [2 x i32] } { [2 x i32] [i32 1039272885, i32 -1098047443] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071872461] }, { [2 x i32] } { [2 x i32] [i32 127930479, i32 -1099905904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071876913] }, { [2 x i32] } { [2 x i32] [i32 -2005750052, i32 1048726878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071881357] }, { [2 x i32] } { [2 x i32] [i32 -949011626, i32 -1098776695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071885791] }, { [2 x i32] } { [2 x i32] [i32 -1749143896, i32 1046942224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071890214] }, { [2 x i32] } { [2 x i32] [i32 2008928735, i32 1049494250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071894630] }, { [2 x i32] } { [2 x i32] [i32 1728986996, i32 1049542894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071899035] }, { [2 x i32] } { [2 x i32] [i32 173141860, i32 1048936393] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071903433] }, { [2 x i32] } { [2 x i32] [i32 1282246781, i32 -1098595494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071907821] }, { [2 x i32] } { [2 x i32] [i32 635647981, i32 -1098125493] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071912199] }, { [2 x i32] } { [2 x i32] [i32 -228327301, i32 -1100727475] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071916568] }, { [2 x i32] } { [2 x i32] [i32 -2077236696, i32 -1098567509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071920927] }, { [2 x i32] } { [2 x i32] [i32 1212996535, i32 -1098815632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071925278] }, { [2 x i32] } { [2 x i32] [i32 -2032469775, i32 -1100437893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071929619] }, { [2 x i32] } { [2 x i32] [i32 -446101773, i32 1048485103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071933953] }, { [2 x i32] } { [2 x i32] [i32 -623551235, i32 -1098056371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938278] }, { [2 x i32] } { [2 x i32] [i32 490376793, i32 -1098981976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071942593] }, { [2 x i32] } { [2 x i32] [i32 -1874073255, i32 -1100468486] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071946898] }, { [2 x i32] } { [2 x i32] [i32 -1561828790, i32 -1100483173] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071951196] }, { [2 x i32] } { [2 x i32] [i32 -1958630787, i32 1049612075] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071955485] }, { [2 x i32] } { [2 x i32] [i32 943475400, i32 -1099289238] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071959765] }, { [2 x i32] } { [2 x i32] [i32 1090533296, i32 -1098431659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071964036] }, { [2 x i32] } { [2 x i32] [i32 254340656, i32 -1101433656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071968299] }, { [2 x i32] } { [2 x i32] [i32 262392641, i32 -1098558476] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071972553] }, { [2 x i32] } { [2 x i32] [i32 -1855662525, i32 -1098763678] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071976798] }, { [2 x i32] } { [2 x i32] [i32 -760071946, i32 1045117409] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071981035] }, { [2 x i32] } { [2 x i32] [i32 743608227, i32 -1097979927] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071985262] }, { [2 x i32] } { [2 x i32] [i32 1447326565, i32 1047749436] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071989481] }, { [2 x i32] } { [2 x i32] [i32 -1692690572, i32 -1099523777] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071993692] }, { [2 x i32] } { [2 x i32] [i32 -1971226063, i32 1049292064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071997895] }, { [2 x i32] } { [2 x i32] [i32 1023765836, i32 -1100918058] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072002090] }, { [2 x i32] } { [2 x i32] [i32 188535770, i32 1048505821] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072006276] }, { [2 x i32] } { [2 x i32] [i32 1182594950, i32 1048909264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072010453] }, { [2 x i32] } { [2 x i32] [i32 -148322514, i32 1047505312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072014623] }, { [2 x i32] } { [2 x i32] [i32 1955123642, i32 -1097937902] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072018784] }, { [2 x i32] } { [2 x i32] [i32 -1056594661, i32 1049431643] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072022937] }, { [2 x i32] } { [2 x i32] [i32 -1431176132, i32 -1100270047] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072027082] }, { [2 x i32] } { [2 x i32] [i32 1631037714, i32 -1098880474] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072031217] }, { [2 x i32] } { [2 x i32] [i32 835822376, i32 -1101748095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072035346] }, { [2 x i32] } { [2 x i32] [i32 -625719172, i32 1049379079] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072039466] }, { [2 x i32] } { [2 x i32] [i32 -1656916662, i32 1047808164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072043578] }, { [2 x i32] } { [2 x i32] [i32 -1321713845, i32 1045421761] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072047682] }, { [2 x i32] } { [2 x i32] [i32 -1580986898, i32 -1105850601] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072694271] }, { [2 x i32] } { [2 x i32] [i32 -2098909751, i32 1050658797] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072696315] }, { [2 x i32] } { [2 x i32] [i32 1231651949, i32 1050284584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072698356] }, { [2 x i32] } { [2 x i32] [i32 -1198849653, i32 -1097134916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072700392] }, { [2 x i32] } { [2 x i32] [i32 -2046749919, i32 -1097199784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072702424] }, { [2 x i32] } { [2 x i32] [i32 -1181781868, i32 -1098298182] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072704452] }, { [2 x i32] } { [2 x i32] [i32 861607976, i32 1047058570] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072706476] }, { [2 x i32] } { [2 x i32] [i32 -550622081, i32 1050387613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072708497] }, { [2 x i32] } { [2 x i32] [i32 1936587891, i32 1047357903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072710514] }, { [2 x i32] } { [2 x i32] [i32 -1271002023, i32 -1098042394] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072712527] }, { [2 x i32] } { [2 x i32] [i32 626983247, i32 -1097583916] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072714536] }, { [2 x i32] } { [2 x i32] [i32 322333361, i32 -1099474445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072716541] }, { [2 x i32] } { [2 x i32] [i32 -1735668927, i32 1049818203] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072718543] }, { [2 x i32] } { [2 x i32] [i32 -582537409, i32 -1100870535] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072720541] }, { [2 x i32] } { [2 x i32] [i32 -1612482139, i32 -1098003776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072722535] }, { [2 x i32] } { [2 x i32] [i32 1701631187, i32 1048123294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072724526] }, { [2 x i32] } { [2 x i32] [i32 -1499262680, i32 -1096990363] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072726513] }, { [2 x i32] } { [2 x i32] [i32 -710151991, i32 -1096826935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072728496] }, { [2 x i32] } { [2 x i32] [i32 -233500340, i32 -1097086015] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072730475] }, { [2 x i32] } { [2 x i32] [i32 -380335786, i32 1048685767] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072732451] }, { [2 x i32] } { [2 x i32] [i32 265669271, i32 1047881025] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072734424] }, { [2 x i32] } { [2 x i32] [i32 -1435056708, i32 -1096994722] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072736392] }, { [2 x i32] } { [2 x i32] [i32 1681801313, i32 1050184574] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072738358] }, { [2 x i32] } { [2 x i32] [i32 2035310036, i32 -1097855362] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072740320] }, { [2 x i32] } { [2 x i32] [i32 -1969273879, i32 -1096840348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072742278] }, { [2 x i32] } { [2 x i32] [i32 1727739703, i32 -1098357170] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072744233] }, { [2 x i32] } { [2 x i32] [i32 -719405131, i32 -1096912699] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072746184] }, { [2 x i32] } { [2 x i32] [i32 -2053830217, i32 -1098355042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072748132] }, { [2 x i32] } { [2 x i32] [i32 -584266125, i32 -1096954256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072750076] }, { [2 x i32] } { [2 x i32] [i32 -1289894524, i32 1048827797] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072752017] }, { [2 x i32] } { [2 x i32] [i32 571454029, i32 -1100710300] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072753955] }, { [2 x i32] } { [2 x i32] [i32 1758903399, i32 -1097666710] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072755889] }, { [2 x i32] } { [2 x i32] [i32 -1487076263, i32 -1101074616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072757820] }, { [2 x i32] } { [2 x i32] [i32 -413913182, i32 -1099831125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072759747] }, { [2 x i32] } { [2 x i32] [i32 -1951653932, i32 1050515644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072761671] }, { [2 x i32] } { [2 x i32] [i32 -1779248102, i32 1050435893] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072763592] }, { [2 x i32] } { [2 x i32] [i32 1489918542, i32 1050068540] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072765510] }, { [2 x i32] } { [2 x i32] [i32 1028565755, i32 1047876273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072767425] }, { [2 x i32] } { [2 x i32] [i32 -1453345928, i32 -1096845276] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072769336] }, { [2 x i32] } { [2 x i32] [i32 382926292, i32 -1096862129] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072771243] }, { [2 x i32] } { [2 x i32] [i32 1359661770, i32 1049774700] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072773148] }, { [2 x i32] } { [2 x i32] [i32 1345549980, i32 1046021247] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072775049] }, { [2 x i32] } { [2 x i32] [i32 1917751890, i32 1049846099] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072776947] }, { [2 x i32] } { [2 x i32] [i32 -1283024077, i32 1049908725] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072778843] }, { [2 x i32] } { [2 x i32] [i32 -339389841, i32 -1097178312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072780734] }, { [2 x i32] } { [2 x i32] [i32 -1791876519, i32 1050132289] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072782623] }, { [2 x i32] } { [2 x i32] [i32 -572640619, i32 1049126705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072784509] }, { [2 x i32] } { [2 x i32] [i32 -863777043, i32 -1097304222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072786391] }, { [2 x i32] } { [2 x i32] [i32 1345191716, i32 1049073214] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072788270] }, { [2 x i32] } { [2 x i32] [i32 -531314118, i32 1050510557] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072790147] }, { [2 x i32] } { [2 x i32] [i32 -551947894, i32 -1097498374] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072792020] }, { [2 x i32] } { [2 x i32] [i32 1256629546, i32 1045138134] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072793890] }, { [2 x i32] } { [2 x i32] [i32 -455153021, i32 1047782638] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072795757] }, { [2 x i32] } { [2 x i32] [i32 1629753409, i32 1050294719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072797622] }, { [2 x i32] } { [2 x i32] [i32 -464123762, i32 -1097135935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072799482] }, { [2 x i32] } { [2 x i32] [i32 595803948, i32 1050571382] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072801341] }, { [2 x i32] } { [2 x i32] [i32 -1595152782, i32 -1097519417] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072803196] }, { [2 x i32] } { [2 x i32] [i32 614484511, i32 -1097744914] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072805048] }, { [2 x i32] } { [2 x i32] [i32 -323813821, i32 -1098887783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072806897] }, { [2 x i32] } { [2 x i32] [i32 -424490049, i32 1045683050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072808743] }, { [2 x i32] } { [2 x i32] [i32 206027828, i32 1050275081] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072810587] }, { [2 x i32] } { [2 x i32] [i32 775549112, i32 -1097188421] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072812427] }, { [2 x i32] } { [2 x i32] [i32 -996326747, i32 1048897808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072814265] }, { [2 x i32] } { [2 x i32] [i32 1061254449, i32 -1097587469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072816099] }, { [2 x i32] } { [2 x i32] [i32 -942290766, i32 1050278604] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072817931] }, { [2 x i32] } { [2 x i32] [i32 575747378, i32 1049466484] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072819760] }, { [2 x i32] } { [2 x i32] [i32 -820499365, i32 1047583719] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072821586] }, { [2 x i32] } { [2 x i32] [i32 1245904344, i32 1048934147] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072823409] }, { [2 x i32] } { [2 x i32] [i32 -2109858252, i32 1050442477] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072825230] }, { [2 x i32] } { [2 x i32] [i32 1294744872, i32 -1098323450] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072827048] }, { [2 x i32] } { [2 x i32] [i32 247630748, i32 -1096869293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072828862] }, { [2 x i32] } { [2 x i32] [i32 1065087501, i32 1050597744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072830675] }, { [2 x i32] } { [2 x i32] [i32 1302929525, i32 -1097312457] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072832484] }, { [2 x i32] } { [2 x i32] [i32 -2111160222, i32 -1098585261] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072834290] }, { [2 x i32] } { [2 x i32] [i32 -198368632, i32 1050281478] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072836094] }, { [2 x i32] } { [2 x i32] [i32 -552902922, i32 1049565506] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072837895] }, { [2 x i32] } { [2 x i32] [i32 -1600723328, i32 1049658228] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072839694] }, { [2 x i32] } { [2 x i32] [i32 -2122373733, i32 -1097790310] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072841489] }, { [2 x i32] } { [2 x i32] [i32 43062731, i32 1049322871] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072843282] }, { [2 x i32] } { [2 x i32] [i32 491415853, i32 1050071138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072845073] }, { [2 x i32] } { [2 x i32] [i32 -382486578, i32 -1097672687] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072846860] }, { [2 x i32] } { [2 x i32] [i32 -1861674211, i32 1048998396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072848645] }, { [2 x i32] } { [2 x i32] [i32 -1477636810, i32 1047364726] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072850428] }, { [2 x i32] } { [2 x i32] [i32 -1976479117, i32 -1097441039] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072852207] }, { [2 x i32] } { [2 x i32] [i32 1356923175, i32 1048357307] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072853985] }, { [2 x i32] } { [2 x i32] [i32 -1270499776, i32 -1096829111] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072855759] }, { [2 x i32] } { [2 x i32] [i32 -1801296190, i32 -1101985706] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072857531] }, { [2 x i32] } { [2 x i32] [i32 -999359686, i32 -1098704977] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072859300] }, { [2 x i32] } { [2 x i32] [i32 -290328521, i32 1046161702] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072861067] }, { [2 x i32] } { [2 x i32] [i32 -1697149404, i32 -1098444100] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072862831] }, { [2 x i32] } { [2 x i32] [i32 1771874898, i32 -1097960241] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072864593] }, { [2 x i32] } { [2 x i32] [i32 931325628, i32 -1097056549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072866352] }, { [2 x i32] } { [2 x i32] [i32 -1662479083, i32 -1097823985] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072868108] }, { [2 x i32] } { [2 x i32] [i32 -880934461, i32 1049479750] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072869862] }, { [2 x i32] } { [2 x i32] [i32 653610561, i32 1050052135] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072871614] }, { [2 x i32] } { [2 x i32] [i32 -2129752776, i32 -1097332529] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072873363] }, { [2 x i32] } { [2 x i32] [i32 -946852003, i32 -1098066876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072875109] }, { [2 x i32] } { [2 x i32] [i32 501101881, i32 1049954534] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072876853] }, { [2 x i32] } { [2 x i32] [i32 -1574586256, i32 1049290580] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072878595] }, { [2 x i32] } { [2 x i32] [i32 2001180821, i32 1048849171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072880334] }, { [2 x i32] } { [2 x i32] [i32 -1431028919, i32 1049774965] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072882071] }, { [2 x i32] } { [2 x i32] [i32 425253141, i32 -1099801386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072883805] }, { [2 x i32] } { [2 x i32] [i32 1716212194, i32 1044920002] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072885537] }, { [2 x i32] } { [2 x i32] [i32 -1524846324, i32 -1098946042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072887266] }, { [2 x i32] } { [2 x i32] [i32 290278520, i32 1050487823] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072888993] }, { [2 x i32] } { [2 x i32] [i32 1252466368, i32 1049667611] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072890718] }, { [2 x i32] } { [2 x i32] [i32 -589441703, i32 1047260509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072892440] }, { [2 x i32] } { [2 x i32] [i32 -890838024, i32 1050053398] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072894160] }, { [2 x i32] } { [2 x i32] [i32 1736092905, i32 1047861897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072895878] }, { [2 x i32] } { [2 x i32] [i32 450091948, i32 -1097223488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072897593] }, { [2 x i32] } { [2 x i32] [i32 -618393169, i32 -1098560806] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072899306] }, { [2 x i32] } { [2 x i32] [i32 -1924394315, i32 -1097736762] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072901016] }, { [2 x i32] } { [2 x i32] [i32 -278474088, i32 1049141167] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072902724] }, { [2 x i32] } { [2 x i32] [i32 -654444511, i32 1049038397] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072904430] }, { [2 x i32] } { [2 x i32] [i32 621934517, i32 1047073796] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072906134] }, { [2 x i32] } { [2 x i32] [i32 938438313, i32 -1097796721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072907835] }, { [2 x i32] } { [2 x i32] [i32 1789377736, i32 -1097805660] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072909534] }, { [2 x i32] } { [2 x i32] [i32 -1399898334, i32 -1098806482] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072911231] }, { [2 x i32] } { [2 x i32] [i32 -435343139, i32 -1097278919] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072912925] }, { [2 x i32] } { [2 x i32] [i32 1277921259, i32 -1099626122] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072914617] }, { [2 x i32] } { [2 x i32] [i32 1060593096, i32 1048864286] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072916307] }, { [2 x i32] } { [2 x i32] [i32 1715654436, i32 -1098523178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072917994] }, { [2 x i32] } { [2 x i32] [i32 293509621, i32 1049867318] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072919680] }, { [2 x i32] } { [2 x i32] [i32 -1286114930, i32 -1101947741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072921363] }, { [2 x i32] } { [2 x i32] [i32 1519513281, i32 -1099230894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072923044] }, { [2 x i32] } { [2 x i32] [i32 -1385381811, i32 -1098990730] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072924723] }, { [2 x i32] } { [2 x i32] [i32 957730885, i32 -1099021452] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072926399] }, { [2 x i32] } { [2 x i32] [i32 470028159, i32 1050189467] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072928074] }, { [2 x i32] } { [2 x i32] [i32 1012739935, i32 -1098133780] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072929746] }, { [2 x i32] } { [2 x i32] [i32 775453334, i32 1045499818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072931416] }, { [2 x i32] } { [2 x i32] [i32 203421052, i32 1046172614] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072933084] }, { [2 x i32] } { [2 x i32] [i32 1570461335, i32 -1097881554] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072934750] }, { [2 x i32] } { [2 x i32] [i32 -1766027147, i32 -1097228510] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072936413] }, { [2 x i32] } { [2 x i32] [i32 -1927107673, i32 1046930458] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072938074] }, { [2 x i32] } { [2 x i32] [i32 1885630823, i32 1050654894] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072939734] }, { [2 x i32] } { [2 x i32] [i32 -1356478053, i32 -1099262348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072941391] }, { [2 x i32] } { [2 x i32] [i32 1380482335, i32 -1097719279] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072943046] }, { [2 x i32] } { [2 x i32] [i32 1369571436, i32 -1098646880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072944699] }, { [2 x i32] } { [2 x i32] [i32 -55987563, i32 -1097856512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072946349] }, { [2 x i32] } { [2 x i32] [i32 611512446, i32 1050149794] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072947998] }, { [2 x i32] } { [2 x i32] [i32 930496036, i32 1048728832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072949645] }, { [2 x i32] } { [2 x i32] [i32 -1291544907, i32 1038848549] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072951289] }, { [2 x i32] } { [2 x i32] [i32 -584468688, i32 1050291258] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072952932] }, { [2 x i32] } { [2 x i32] [i32 782099201, i32 1049755157] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072954573] }, { [2 x i32] } { [2 x i32] [i32 -574718737, i32 -1097201605] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072956211] }, { [2 x i32] } { [2 x i32] [i32 -154656541, i32 -1098063555] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072957847] }, { [2 x i32] } { [2 x i32] [i32 1377129783, i32 1049668879] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072959482] }, { [2 x i32] } { [2 x i32] [i32 1970814356, i32 -1096848681] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072961114] }, { [2 x i32] } { [2 x i32] [i32 647541107, i32 -1100677979] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072962744] }, { [2 x i32] } { [2 x i32] [i32 862605254, i32 1047539319] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072964372] }, { [2 x i32] } { [2 x i32] [i32 -1681422729, i32 1049682006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072965999] }, { [2 x i32] } { [2 x i32] [i32 1165956690, i32 -1096849283] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072967623] }, { [2 x i32] } { [2 x i32] [i32 303918222, i32 -1097852041] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072969245] }, { [2 x i32] } { [2 x i32] [i32 -1653457949, i32 1050391976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072970866] }, { [2 x i32] } { [2 x i32] [i32 -962942187, i32 -1096831215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072972484] }, { [2 x i32] } { [2 x i32] [i32 500994149, i32 -1099686314] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072974100] }, { [2 x i32] } { [2 x i32] [i32 -63124813, i32 1048580804] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072975715] }, { [2 x i32] } { [2 x i32] [i32 -1511152715, i32 -1097127413] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072977327] }, { [2 x i32] } { [2 x i32] [i32 -825995579, i32 -1097692155] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072978938] }, { [2 x i32] } { [2 x i32] [i32 -707815329, i32 -1096834771] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072980546] }, { [2 x i32] } { [2 x i32] [i32 1457818143, i32 -1099082799] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072982152] }, { [2 x i32] } { [2 x i32] [i32 2094021637, i32 1049890757] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072983757] }, { [2 x i32] } { [2 x i32] [i32 1873770911, i32 1049672017] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072985360] }, { [2 x i32] } { [2 x i32] [i32 1210116041, i32 -1097397629] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072986960] }, { [2 x i32] } { [2 x i32] [i32 833227968, i32 1050433509] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072988560] }, { [2 x i32] } { [2 x i32] [i32 -941635991, i32 -1097336626] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072990157] }, { [2 x i32] } { [2 x i32] [i32 845338699, i32 -1097291682] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072991752] }, { [2 x i32] } { [2 x i32] [i32 -1840071415, i32 -1099159791] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072993345] }, { [2 x i32] } { [2 x i32] [i32 2138666670, i32 -1098899411] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072994936] }, { [2 x i32] } { [2 x i32] [i32 1356030677, i32 1047080084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072996526] }, { [2 x i32] } { [2 x i32] [i32 -1999691881, i32 -1099414380] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072998113] }, { [2 x i32] } { [2 x i32] [i32 817816405, i32 1049944690] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072999699] }, { [2 x i32] } { [2 x i32] [i32 -1685552274, i32 1049999018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073001283] }, { [2 x i32] } { [2 x i32] [i32 1211022958, i32 -1098447348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073002865] }, { [2 x i32] } { [2 x i32] [i32 1076326844, i32 1050026867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073004445] }, { [2 x i32] } { [2 x i32] [i32 333572456, i32 1049583201] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073006024] }, { [2 x i32] } { [2 x i32] [i32 -1656096149, i32 -1097055296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073007600] }, { [2 x i32] } { [2 x i32] [i32 -1796782968, i32 1049570388] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073009175] }, { [2 x i32] } { [2 x i32] [i32 -1685538667, i32 -1097679449] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073010748] }, { [2 x i32] } { [2 x i32] [i32 -1479199058, i32 1043985857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073012319] }, { [2 x i32] } { [2 x i32] [i32 52248539, i32 -1103663151] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073013888] }, { [2 x i32] } { [2 x i32] [i32 -1844727752, i32 1049025194] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073015456] }, { [2 x i32] } { [2 x i32] [i32 -1485785913, i32 -1096875713] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073017022] }, { [2 x i32] } { [2 x i32] [i32 914426002, i32 -1096902203] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073018586] }, { [2 x i32] } { [2 x i32] [i32 -518902438, i32 -1097216344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073020148] }, { [2 x i32] } { [2 x i32] [i32 -797339923, i32 -1097631997] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073021708] }, { [2 x i32] } { [2 x i32] [i32 9598204, i32 -1098064798] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073023266] }, { [2 x i32] } { [2 x i32] [i32 926311218, i32 1050069119] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073024823] }, { [2 x i32] } { [2 x i32] [i32 -1014838755, i32 1050257389] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073026378] }, { [2 x i32] } { [2 x i32] [i32 -501005439, i32 1049824131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073027932] }, { [2 x i32] } { [2 x i32] [i32 -680254488, i32 1048771294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073029484] }, { [2 x i32] } { [2 x i32] [i32 -1650605722, i32 -1098001384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073031033] }, { [2 x i32] } { [2 x i32] [i32 942161091, i32 1048281985] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073032581] }, { [2 x i32] } { [2 x i32] [i32 -1314497018, i32 1049762396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073034128] }, { [2 x i32] } { [2 x i32] [i32 -298136008, i32 -1097550487] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073035673] }, { [2 x i32] } { [2 x i32] [i32 2021331400, i32 -1098536166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073037216] }, { [2 x i32] } { [2 x i32] [i32 -961289798, i32 -1096974652] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073038757] }, { [2 x i32] } { [2 x i32] [i32 -136538491, i32 -1099818824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073040296] }, { [2 x i32] } { [2 x i32] [i32 503374068, i32 1050152404] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073041834] }, { [2 x i32] } { [2 x i32] [i32 895454281, i32 1050371674] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073043370] }, { [2 x i32] } { [2 x i32] [i32 -971950153, i32 1050490277] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073044905] }, { [2 x i32] } { [2 x i32] [i32 -1205094287, i32 1045145572] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073046438] }, { [2 x i32] } { [2 x i32] [i32 1244687635, i32 1047529000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073047969] }, { [2 x i32] } { [2 x i32] [i32 -560884443, i32 -1100958976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073049498] }, { [2 x i32] } { [2 x i32] [i32 2069834962, i32 1049775131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073051027] }, { [2 x i32] } { [2 x i32] [i32 118537074, i32 -1097161852] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073052553] }, { [2 x i32] } { [2 x i32] [i32 109037468, i32 -1097309419] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073054077] }, { [2 x i32] } { [2 x i32] [i32 2135196624, i32 -1100532969] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073055600] }, { [2 x i32] } { [2 x i32] [i32 1611202273, i32 -1097032042] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073057121] }, { [2 x i32] } { [2 x i32] [i32 -897256276, i32 -1102271651] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073058641] }, { [2 x i32] } { [2 x i32] [i32 1552219380, i32 -1097265861] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073060158] }, { [2 x i32] } { [2 x i32] [i32 -1843214607, i32 1050177066] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073061675] }, { [2 x i32] } { [2 x i32] [i32 -1917690414, i32 -1099048850] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073063189] }, { [2 x i32] } { [2 x i32] [i32 179528874, i32 1050511381] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073064703] }, { [2 x i32] } { [2 x i32] [i32 -2065967218, i32 -1097637855] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073066214] }, { [2 x i32] } { [2 x i32] [i32 1839905049, i32 -1099902731] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073067724] }, { [2 x i32] } { [2 x i32] [i32 -796965804, i32 -1097923150] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073069232] }, { [2 x i32] } { [2 x i32] [i32 -401228193, i32 1048644395] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073070739] }, { [2 x i32] } { [2 x i32] [i32 1702093213, i32 1046165056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073072244] }, { [2 x i32] } { [2 x i32] [i32 1984273681, i32 -1098048326] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073073748] }, { [2 x i32] } { [2 x i32] [i32 -1777815221, i32 -1097213856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073075249] }, { [2 x i32] } { [2 x i32] [i32 -1062857069, i32 1049195125] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073076750] }, { [2 x i32] } { [2 x i32] [i32 -1256851409, i32 -1098388560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073078249] }, { [2 x i32] } { [2 x i32] [i32 -559463554, i32 -1098035220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073079746] }, { [2 x i32] } { [2 x i32] [i32 2011785725, i32 1046671537] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073081242] }, { [2 x i32] } { [2 x i32] [i32 -414344051, i32 -1097127006] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073082735] }, { [2 x i32] } { [2 x i32] [i32 238179521, i32 1050046411] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073084228] }, { [2 x i32] } { [2 x i32] [i32 -696155999, i32 -1101302602] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073085719] }, { [2 x i32] } { [2 x i32] [i32 -1784710946, i32 -1097978456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073087208] }, { [2 x i32] } { [2 x i32] [i32 1313879480, i32 1049994587] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073088697] }, { [2 x i32] } { [2 x i32] [i32 458460127, i32 -1097500912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073090183] }, { [2 x i32] } { [2 x i32] [i32 2002850349, i32 1047367862] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073091667] }, { [2 x i32] } { [2 x i32] [i32 1000709626, i32 1050592106] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073093151] }, { [2 x i32] } { [2 x i32] [i32 1142188894, i32 1049324613] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073094633] }, { [2 x i32] } { [2 x i32] [i32 -2091989227, i32 -1099515609] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073096113] }, { [2 x i32] } { [2 x i32] [i32 983061285, i32 1049181688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073097592] }, { [2 x i32] } { [2 x i32] [i32 -1757843506, i32 1046790652] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073099069] }, { [2 x i32] } { [2 x i32] [i32 300424458, i32 1050293495] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073100545] }, { [2 x i32] } { [2 x i32] [i32 -321228597, i32 1049717190] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073102020] }, { [2 x i32] } { [2 x i32] [i32 -1970413947, i32 -1097214084] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073103492] }, { [2 x i32] } { [2 x i32] [i32 1420301880, i32 1050042419] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073104963] }, { [2 x i32] } { [2 x i32] [i32 -55891630, i32 1050672401] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073106433] }, { [2 x i32] } { [2 x i32] [i32 -1666629069, i32 1045238342] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073107902] }, { [2 x i32] } { [2 x i32] [i32 1424329094, i32 -1096975215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073109368] }, { [2 x i32] } { [2 x i32] [i32 -240832446, i32 1050114689] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073110834] }, { [2 x i32] } { [2 x i32] [i32 1349822780, i32 1048762444] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073112298] }, { [2 x i32] } { [2 x i32] [i32 -981665772, i32 1048934851] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073113760] }, { [2 x i32] } { [2 x i32] [i32 1366930054, i32 1050232973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073115221] }, { [2 x i32] } { [2 x i32] [i32 1108190204, i32 1050610229] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073116681] }, { [2 x i32] } { [2 x i32] [i32 -1746229526, i32 1050295618] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073118139] }, { [2 x i32] } { [2 x i32] [i32 1214823431, i32 1050457414] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073119596] }, { [2 x i32] } { [2 x i32] [i32 288626203, i32 1049676409] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073121051] }, { [2 x i32] } { [2 x i32] [i32 -925790768, i32 1048579989] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073122505] }, { [2 x i32] } { [2 x i32] [i32 -239531767, i32 1050267234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073123958] }, { [2 x i32] } { [2 x i32] [i32 -1669188362, i32 -1097521536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073125409] }, { [2 x i32] } { [2 x i32] [i32 173338922, i32 -1097203247] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073126858] }, { [2 x i32] } { [2 x i32] [i32 -785500168, i32 1048759392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073129030] }, { [2 x i32] } { [2 x i32] [i32 1816559715, i32 -1098640220] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073131920] }, { [2 x i32] } { [2 x i32] [i32 -561385853, i32 1050125653] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073134806] }, { [2 x i32] } { [2 x i32] [i32 705405499, i32 -1097253141] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073137685] }, { [2 x i32] } { [2 x i32] [i32 -217295754, i32 -1100919897] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073140559] }, { [2 x i32] } { [2 x i32] [i32 1587391555, i32 -1100191178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073143427] }, { [2 x i32] } { [2 x i32] [i32 -2118358941, i32 1049908779] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073146290] }, { [2 x i32] } { [2 x i32] [i32 1778304494, i32 1049441809] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073149148] }, { [2 x i32] } { [2 x i32] [i32 1884157487, i32 -1098481802] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073152000] }, { [2 x i32] } { [2 x i32] [i32 -881928084, i32 -1099144193] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073154847] }, { [2 x i32] } { [2 x i32] [i32 1642480530, i32 -1097134795] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157688] }, { [2 x i32] } { [2 x i32] [i32 1404146161, i32 1047097774] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073160524] }, { [2 x i32] } { [2 x i32] [i32 -377777265, i32 1048084880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073163355] }, { [2 x i32] } { [2 x i32] [i32 1475438996, i32 -1099034922] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073166180] }, { [2 x i32] } { [2 x i32] [i32 -377749901, i32 1049221742] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073169001] }, { [2 x i32] } { [2 x i32] [i32 -600198112, i32 -1097278567] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073171816] }, { [2 x i32] } { [2 x i32] [i32 910352101, i32 -1096918384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073174626] }, { [2 x i32] } { [2 x i32] [i32 1520942007, i32 -1096864884] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073177430] }, { [2 x i32] } { [2 x i32] [i32 777026528, i32 -1102246840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073180230] }, { [2 x i32] } { [2 x i32] [i32 -1762159981, i32 -1096910940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073183024] }, { [2 x i32] } { [2 x i32] [i32 2146570200, i32 -1099878367] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073185813] }, { [2 x i32] } { [2 x i32] [i32 543039258, i32 1050308384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073188598] }, { [2 x i32] } { [2 x i32] [i32 302934745, i32 -1098049365] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073191377] }, { [2 x i32] } { [2 x i32] [i32 181467601, i32 1049367659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073194152] }, { [2 x i32] } { [2 x i32] [i32 -148427745, i32 -1097079542] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073196921] }, { [2 x i32] } { [2 x i32] [i32 -564140288, i32 1045842096] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073199685] }, { [2 x i32] } { [2 x i32] [i32 513175950, i32 1050279767] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073202445] }, { [2 x i32] } { [2 x i32] [i32 -582291285, i32 -1100025935] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073205199] }, { [2 x i32] } { [2 x i32] [i32 -610755537, i32 1050416885] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073207950] }, { [2 x i32] } { [2 x i32] [i32 230474168, i32 -1097011521] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073210694] }, { [2 x i32] } { [2 x i32] [i32 -571630496, i32 1049669117] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073213435] }, { [2 x i32] } { [2 x i32] [i32 -1013125823, i32 -1097417399] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073216170] }, { [2 x i32] } { [2 x i32] [i32 1016402876, i32 1048314554] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073218901] }, { [2 x i32] } { [2 x i32] [i32 1240570498, i32 -1099320284] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073221627] }, { [2 x i32] } { [2 x i32] [i32 2007168900, i32 -1098631348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073224348] }, { [2 x i32] } { [2 x i32] [i32 -1662493027, i32 -1097960293] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073227064] }, { [2 x i32] } { [2 x i32] [i32 -976264993, i32 1050012370] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073229776] }, { [2 x i32] } { [2 x i32] [i32 474150073, i32 1050331808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073232484] }, { [2 x i32] } { [2 x i32] [i32 -1655791142, i32 -1098483311] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073235186] }, { [2 x i32] } { [2 x i32] [i32 1031011410, i32 1050221070] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073237884] }, { [2 x i32] } { [2 x i32] [i32 1775657115, i32 1050217431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073240578] }, { [2 x i32] } { [2 x i32] [i32 643013225, i32 1048132469] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073243267] }, { [2 x i32] } { [2 x i32] [i32 1715083499, i32 -1099532434] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073245951] }, { [2 x i32] } { [2 x i32] [i32 -414833965, i32 1048336043] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073248631] }, { [2 x i32] } { [2 x i32] [i32 -169919456, i32 1050367644] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073251307] }, { [2 x i32] } { [2 x i32] [i32 92768735, i32 -1098386198] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073253978] }, { [2 x i32] } { [2 x i32] [i32 448355392, i32 1044199774] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073256644] }, { [2 x i32] } { [2 x i32] [i32 -211212478, i32 1050269070] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073259307] }, { [2 x i32] } { [2 x i32] [i32 -2073842738, i32 -1097899504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073261964] }, { [2 x i32] } { [2 x i32] [i32 698197088, i32 1050479320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073264618] }, { [2 x i32] } { [2 x i32] [i32 -733145649, i32 -1098322018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073267267] }, { [2 x i32] } { [2 x i32] [i32 -411106231, i32 1048515275] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073269912] }, { [2 x i32] } { [2 x i32] [i32 976873675, i32 -1098208245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073272553] }, { [2 x i32] } { [2 x i32] [i32 80473786, i32 -1097221341] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073275189] }, { [2 x i32] } { [2 x i32] [i32 221263660, i32 -1099819671] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073277821] }, { [2 x i32] } { [2 x i32] [i32 628423071, i32 -1097384095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073280449] }, { [2 x i32] } { [2 x i32] [i32 1753061689, i32 -1096889768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073283072] }, { [2 x i32] } { [2 x i32] [i32 -199756792, i32 -1100747777] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073285691] }, { [2 x i32] } { [2 x i32] [i32 -526980078, i32 1049819721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073288306] }, { [2 x i32] } { [2 x i32] [i32 942677081, i32 1050190610] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073290918] }, { [2 x i32] } { [2 x i32] [i32 -2017340282, i32 -1097098446] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073293524] }, { [2 x i32] } { [2 x i32] [i32 -1653428357, i32 1049422361] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073296127] }, { [2 x i32] } { [2 x i32] [i32 -1251433630, i32 1049117556] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073298726] }, { [2 x i32] } { [2 x i32] [i32 -1562546423, i32 -1098596645] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073301321] }, { [2 x i32] } { [2 x i32] [i32 2019345755, i32 -1096914538] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073303911] }, { [2 x i32] } { [2 x i32] [i32 935608808, i32 1048439725] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073306497] }, { [2 x i32] } { [2 x i32] [i32 348014703, i32 1050588073] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073309080] }, { [2 x i32] } { [2 x i32] [i32 1568229475, i32 -1101605598] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073311658] }, { [2 x i32] } { [2 x i32] [i32 -1527196557, i32 1050594299] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073314233] }, { [2 x i32] } { [2 x i32] [i32 712177618, i32 -1098777649] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073316803] }, { [2 x i32] } { [2 x i32] [i32 1657480411, i32 1050621740] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073319370] }, { [2 x i32] } { [2 x i32] [i32 326857124, i32 1049541594] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073321933] }, { [2 x i32] } { [2 x i32] [i32 843733628, i32 -1102775721] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073324492] }, { [2 x i32] } { [2 x i32] [i32 3191684, i32 -1097266930] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073327046] }, { [2 x i32] } { [2 x i32] [i32 1705383420, i32 1050608927] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073329597] }, { [2 x i32] } { [2 x i32] [i32 1217606551, i32 1050650103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073332145] }, { [2 x i32] } { [2 x i32] [i32 873003614, i32 -1096871044] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073334688] }, { [2 x i32] } { [2 x i32] [i32 -84960695, i32 -1100140635] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073337227] }, { [2 x i32] } { [2 x i32] [i32 -17402310, i32 1048666331] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073339763] }, { [2 x i32] } { [2 x i32] [i32 -1124112119, i32 1045866069] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073342295] }, { [2 x i32] } { [2 x i32] [i32 2034163765, i32 -1100647050] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073344823] }, { [2 x i32] } { [2 x i32] [i32 -1371039702, i32 -1098463972] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073347347] }, { [2 x i32] } { [2 x i32] [i32 152032567, i32 1046184387] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073349868] }, { [2 x i32] } { [2 x i32] [i32 1291771260, i32 -1103483526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073352385] }, { [2 x i32] } { [2 x i32] [i32 224746575, i32 -1096946318] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073354898] }, { [2 x i32] } { [2 x i32] [i32 611763659, i32 1048743131] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073357408] }, { [2 x i32] } { [2 x i32] [i32 1372458844, i32 -1097385496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073359913] }, { [2 x i32] } { [2 x i32] [i32 -103417665, i32 1050405142] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073362415] }, { [2 x i32] } { [2 x i32] [i32 -1245512462, i32 1050372625] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073364914] }, { [2 x i32] } { [2 x i32] [i32 1018428853, i32 1047150865] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073367409] }, { [2 x i32] } { [2 x i32] [i32 -1650623795, i32 -1097407888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073369900] }, { [2 x i32] } { [2 x i32] [i32 372895842, i32 1049197426] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073372388] }, { [2 x i32] } { [2 x i32] [i32 -1756689565, i32 1047426623] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073374872] }, { [2 x i32] } { [2 x i32] [i32 80551737, i32 1048375230] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073377353] }, { [2 x i32] } { [2 x i32] [i32 862303213, i32 -1098380839] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073379829] }, { [2 x i32] } { [2 x i32] [i32 -1984473784, i32 1050612563] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073382303] }, { [2 x i32] } { [2 x i32] [i32 1030845439, i32 1048849849] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073384773] }, { [2 x i32] } { [2 x i32] [i32 -1335818440, i32 1048851587] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073387239] }, { [2 x i32] } { [2 x i32] [i32 1098141104, i32 1050164569] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073389703] }, { [2 x i32] } { [2 x i32] [i32 -1550359580, i32 -1098818344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073392162] }, { [2 x i32] } { [2 x i32] [i32 -1602139920, i32 1050099245] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073394618] }, { [2 x i32] } { [2 x i32] [i32 -781845495, i32 1050029018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073397071] }, { [2 x i32] } { [2 x i32] [i32 267045085, i32 -1097695094] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073399520] }, { [2 x i32] } { [2 x i32] [i32 1473810722, i32 -1099990910] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073401966] }, { [2 x i32] } { [2 x i32] [i32 1062241652, i32 -1099862976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073404408] }, { [2 x i32] } { [2 x i32] [i32 -1321069449, i32 1042422161] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073406847] }, { [2 x i32] } { [2 x i32] [i32 1377739008, i32 1049454115] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073409283] }, { [2 x i32] } { [2 x i32] [i32 361017126, i32 -1099770614] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073411715] }, { [2 x i32] } { [2 x i32] [i32 449916960, i32 -1103106591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073414144] }, { [2 x i32] } { [2 x i32] [i32 -328499689, i32 -1099774465] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073416570] }, { [2 x i32] } { [2 x i32] [i32 1957187000, i32 -1097378959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073418992] }, { [2 x i32] } { [2 x i32] [i32 -194560332, i32 1045980294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073421411] }, { [2 x i32] } { [2 x i32] [i32 1419087278, i32 -1104088573] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073423826] }, { [2 x i32] } { [2 x i32] [i32 -382188499, i32 1050485673] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073426239] }, { [2 x i32] } { [2 x i32] [i32 -170840262, i32 -1099632045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073428648] }, { [2 x i32] } { [2 x i32] [i32 -487188841, i32 1049810138] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073431054] }, { [2 x i32] } { [2 x i32] [i32 518367882, i32 -1098903665] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073433457] }, { [2 x i32] } { [2 x i32] [i32 -324551149, i32 -1098287716] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073435856] }, { [2 x i32] } { [2 x i32] [i32 1027843506, i32 1050111866] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073438252] }, { [2 x i32] } { [2 x i32] [i32 -1149282633, i32 1050576290] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073440646] }, { [2 x i32] } { [2 x i32] [i32 -1047836341, i32 -1097514494] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073443035] }, { [2 x i32] } { [2 x i32] [i32 1017092707, i32 1049387973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073445422] }, { [2 x i32] } { [2 x i32] [i32 1169002840, i32 -1097553173] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073447806] }, { [2 x i32] } { [2 x i32] [i32 -2116123467, i32 -1097151959] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073450186] }, { [2 x i32] } { [2 x i32] [i32 -441220719, i32 -1097136103] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073452563] }, { [2 x i32] } { [2 x i32] [i32 1376691771, i32 -1098701159] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073454937] }, { [2 x i32] } { [2 x i32] [i32 1342469394, i32 1049907882] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073457308] }, { [2 x i32] } { [2 x i32] [i32 45061853, i32 1049627429] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073459676] }, { [2 x i32] } { [2 x i32] [i32 -1690058940, i32 1049265003] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073462041] }, { [2 x i32] } { [2 x i32] [i32 -1082116568, i32 1048207164] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073464403] }, { [2 x i32] } { [2 x i32] [i32 -285534658, i32 -1098730171] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073466761] }, { [2 x i32] } { [2 x i32] [i32 -1760051427, i32 1050147022] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073469117] }, { [2 x i32] } { [2 x i32] [i32 1153388962, i32 1049523543] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073471470] }, { [2 x i32] } { [2 x i32] [i32 1970561607, i32 -1097668238] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073473819] }, { [2 x i32] } { [2 x i32] [i32 1496195158, i32 1050047996] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073476166] }, { [2 x i32] } { [2 x i32] [i32 1711114186, i32 1048116912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073478509] }, { [2 x i32] } { [2 x i32] [i32 -1253014680, i32 1049169063] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073480850] }, { [2 x i32] } { [2 x i32] [i32 2107603643, i32 -1099311873] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073483187] }, { [2 x i32] } { [2 x i32] [i32 2133394946, i32 1050507201] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073485522] }, { [2 x i32] } { [2 x i32] [i32 -1727209168, i32 -1098260659] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073487854] }, { [2 x i32] } { [2 x i32] [i32 99089929, i32 -1096843781] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073490183] }, { [2 x i32] } { [2 x i32] [i32 -2114438450, i32 -1096875207] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073492508] }, { [2 x i32] } { [2 x i32] [i32 568250694, i32 1047462640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073494831] }, { [2 x i32] } { [2 x i32] [i32 161607409, i32 1050390843] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073497151] }, { [2 x i32] } { [2 x i32] [i32 1479788044, i32 1049073705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073499468] }, { [2 x i32] } { [2 x i32] [i32 -1073789069, i32 -1099701227] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073501782] }, { [2 x i32] } { [2 x i32] [i32 711219506, i32 1049680195] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073504093] }, { [2 x i32] } { [2 x i32] [i32 780407382, i32 1050420285] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073506402] }, { [2 x i32] } { [2 x i32] [i32 -1767100659, i32 1047695345] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073508707] }, { [2 x i32] } { [2 x i32] [i32 942681162, i32 1050203286] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073511010] }, { [2 x i32] } { [2 x i32] [i32 66034265, i32 1044833851] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073513310] }, { [2 x i32] } { [2 x i32] [i32 1020095656, i32 -1098863196] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073515607] }, { [2 x i32] } { [2 x i32] [i32 171775954, i32 -1099169892] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073517902] }, { [2 x i32] } { [2 x i32] [i32 -1041229316, i32 -1097704952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073520193] }, { [2 x i32] } { [2 x i32] [i32 -2013423052, i32 -1098622576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073522482] }, { [2 x i32] } { [2 x i32] [i32 1902913530, i32 -1097345445] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073524767] }, { [2 x i32] } { [2 x i32] [i32 -1369143950, i32 1049772992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073527050] }, { [2 x i32] } { [2 x i32] [i32 -457895732, i32 1050515660] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073529330] }, { [2 x i32] } { [2 x i32] [i32 458574808, i32 1050107468] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073531608] }, { [2 x i32] } { [2 x i32] [i32 123365756, i32 1050145052] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073533883] }, { [2 x i32] } { [2 x i32] [i32 54740831, i32 -1100926249] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073536155] }, { [2 x i32] } { [2 x i32] [i32 -1014154052, i32 -1098267647] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073538425] }, { [2 x i32] } { [2 x i32] [i32 -1733625005, i32 -1096968705] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073540691] }, { [2 x i32] } { [2 x i32] [i32 -698673247, i32 -1097411836] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073542955] }, { [2 x i32] } { [2 x i32] [i32 -128485932, i32 -1096896547] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073545216] }, { [2 x i32] } { [2 x i32] [i32 641433660, i32 1048260608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073547475] }, { [2 x i32] } { [2 x i32] [i32 -298111781, i32 -1097188431] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073549731] }, { [2 x i32] } { [2 x i32] [i32 -1757325536, i32 -1097439973] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073551983] }, { [2 x i32] } { [2 x i32] [i32 96911446, i32 1050545817] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073554234] }, { [2 x i32] } { [2 x i32] [i32 -1692042248, i32 -1097779878] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073556482] }, { [2 x i32] } { [2 x i32] [i32 -1180998088, i32 1048593497] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073558727] }, { [2 x i32] } { [2 x i32] [i32 349495128, i32 1047813637] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073560970] }, { [2 x i32] } { [2 x i32] [i32 296139530, i32 1046792170] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073563209] }, { [2 x i32] } { [2 x i32] [i32 834365108, i32 1050340489] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073565447] }, { [2 x i32] } { [2 x i32] [i32 -1777730125, i32 1050463923] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073567682] }, { [2 x i32] } { [2 x i32] [i32 2146177276, i32 -1097984288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073569914] }, { [2 x i32] } { [2 x i32] [i32 501172731, i32 -1098588857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073572144] }, { [2 x i32] } { [2 x i32] [i32 1162041460, i32 -1097257425] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073574370] }, { [2 x i32] } { [2 x i32] [i32 -300763924, i32 1049493552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073576595] }, { [2 x i32] } { [2 x i32] [i32 -1999434224, i32 1049334292] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073578817] }, { [2 x i32] } { [2 x i32] [i32 -1469212983, i32 -1099794273] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073581036] }, { [2 x i32] } { [2 x i32] [i32 -1237882380, i32 1047980802] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073583253] }, { [2 x i32] } { [2 x i32] [i32 -720249525, i32 -1097392526] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073585467] }, { [2 x i32] } { [2 x i32] [i32 1213218903, i32 1049860032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073587679] }, { [2 x i32] } { [2 x i32] [i32 631385988, i32 1049558045] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073589888] }, { [2 x i32] } { [2 x i32] [i32 1471385599, i32 1050185778] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073592095] }, { [2 x i32] } { [2 x i32] [i32 1496608178, i32 -1097516001] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073594299] }, { [2 x i32] } { [2 x i32] [i32 769855612, i32 -1098574187] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073596501] }, { [2 x i32] } { [2 x i32] [i32 -1999659203, i32 -1098523828] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073598700] }, { [2 x i32] } { [2 x i32] [i32 693008625, i32 -1098154778] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073600897] }, { [2 x i32] } { [2 x i32] [i32 621556562, i32 1049674862] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073603092] }, { [2 x i32] } { [2 x i32] [i32 -578098553, i32 -1097155166] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073605283] }, { [2 x i32] } { [2 x i32] [i32 -925804859, i32 -1097567729] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073607472] }, { [2 x i32] } { [2 x i32] [i32 -1037545730, i32 1048627696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073609659] }, { [2 x i32] } { [2 x i32] [i32 -1871404397, i32 1047507958] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073611844] }, { [2 x i32] } { [2 x i32] [i32 -28925408, i32 1049541281] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073614026] }, { [2 x i32] } { [2 x i32] [i32 764376936, i32 -1100685815] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073616206] }, { [2 x i32] } { [2 x i32] [i32 1141552630, i32 -1098397038] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073618383] }, { [2 x i32] } { [2 x i32] [i32 -1896733013, i32 -1099667608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073620558] }, { [2 x i32] } { [2 x i32] [i32 -738473320, i32 1047265309] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073622730] }, { [2 x i32] } { [2 x i32] [i32 1834483210, i32 1049946322] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073624901] }, { [2 x i32] } { [2 x i32] [i32 -62582080, i32 -1096886748] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073627069] }, { [2 x i32] } { [2 x i32] [i32 -817510648, i32 -1097133436] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073629234] }, { [2 x i32] } { [2 x i32] [i32 1549669126, i32 -1097243818] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073631396] }, { [2 x i32] } { [2 x i32] [i32 -298269707, i32 1050196222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073633558] }, { [2 x i32] } { [2 x i32] [i32 -961745357, i32 -1097757876] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073635716] }, { [2 x i32] } { [2 x i32] [i32 920821107, i32 -1098828165] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073637872] }, { [2 x i32] } { [2 x i32] [i32 1488656152, i32 -1097237460] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073640025] }, { [2 x i32] } { [2 x i32] [i32 1695724135, i32 -1099003694] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073642177] }, { [2 x i32] } { [2 x i32] [i32 736982768, i32 -1096861512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073644326] }, { [2 x i32] } { [2 x i32] [i32 1584977878, i32 -1097158648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073646472] }, { [2 x i32] } { [2 x i32] [i32 587487114, i32 1046718377] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073648617] }, { [2 x i32] } { [2 x i32] [i32 1577643861, i32 -1097631108] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073650759] }, { [2 x i32] } { [2 x i32] [i32 -1697268769, i32 -1097365900] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073652899] }, { [2 x i32] } { [2 x i32] [i32 1046460223, i32 -1097527923] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073655036] }, { [2 x i32] } { [2 x i32] [i32 352407933, i32 -1099041622] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073657171] }, { [2 x i32] } { [2 x i32] [i32 -1488615996, i32 1048082940] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073659304] }, { [2 x i32] } { [2 x i32] [i32 -1518054790, i32 1049669545] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073661435] }, { [2 x i32] } { [2 x i32] [i32 -451063, i32 1049959424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073663563] }, { [2 x i32] } { [2 x i32] [i32 266592604, i32 1050094407] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073665690] }, { [2 x i32] } { [2 x i32] [i32 -258644690, i32 1047984732] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073667814] }, { [2 x i32] } { [2 x i32] [i32 964972695, i32 -1097551095] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073669936] }, { [2 x i32] } { [2 x i32] [i32 -747360683, i32 -1098829531] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073672056] }, { [2 x i32] } { [2 x i32] [i32 2000630531, i32 -1097700733] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073674173] }, { [2 x i32] } { [2 x i32] [i32 -1023888366, i32 1048920976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073676288] }, { [2 x i32] } { [2 x i32] [i32 832542073, i32 1049011456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073678401] }, { [2 x i32] } { [2 x i32] [i32 1027807618, i32 -1097623908] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073680512] }, { [2 x i32] } { [2 x i32] [i32 346274734, i32 -1097150558] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073682620] }, { [2 x i32] } { [2 x i32] [i32 -1701294490, i32 -1098957816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073684726] }, { [2 x i32] } { [2 x i32] [i32 2109092534, i32 1050479053] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073686831] }, { [2 x i32] } { [2 x i32] [i32 1974416289, i32 1049687867] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073688933] }, { [2 x i32] } { [2 x i32] [i32 1857055638, i32 1050012225] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073691033] }, { [2 x i32] } { [2 x i32] [i32 -86429704, i32 -1097370295] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073693131] }, { [2 x i32] } { [2 x i32] [i32 563954814, i32 -1100362101] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073695226] }, { [2 x i32] } { [2 x i32] [i32 -1592438416, i32 1050193250] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073697320] }, { [2 x i32] } { [2 x i32] [i32 -302848819, i32 -1098497215] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073699411] }, { [2 x i32] } { [2 x i32] [i32 -1648733363, i32 1049426427] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073701501] }, { [2 x i32] } { [2 x i32] [i32 -2073781455, i32 -1096984857] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073703588] }, { [2 x i32] } { [2 x i32] [i32 -783842948, i32 -1097760396] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073705673] }, { [2 x i32] } { [2 x i32] [i32 895292416, i32 -1097798968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073707756] }, { [2 x i32] } { [2 x i32] [i32 -1164952749, i32 -1096909066] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073709836] }, { [2 x i32] } { [2 x i32] [i32 -259114778, i32 1046908856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073711914] }, { [2 x i32] } { [2 x i32] [i32 -160312888, i32 1049629704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073713991] }, { [2 x i32] } { [2 x i32] [i32 1684107943, i32 1047420163] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073716065] }, { [2 x i32] } { [2 x i32] [i32 -605503118, i32 1050533737] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073718138] }, { [2 x i32] } { [2 x i32] [i32 -1145849850, i32 1050225388] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073720209] }, { [2 x i32] } { [2 x i32] [i32 1423251692, i32 -1098538264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073722277] }, { [2 x i32] } { [2 x i32] [i32 1424806669, i32 -1097786130] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073724343] }, { [2 x i32] } { [2 x i32] [i32 805532460, i32 1046114783] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073726408] }, { [2 x i32] } { [2 x i32] [i32 -2119295020, i32 -1097530018] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073728470] }, { [2 x i32] } { [2 x i32] [i32 -694394493, i32 -1097437439] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073730530] }, { [2 x i32] } { [2 x i32] [i32 1686528792, i32 -1099248222] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073732587] }, { [2 x i32] } { [2 x i32] [i32 -1786532568, i32 1050180120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073734644] }, { [2 x i32] } { [2 x i32] [i32 1867845012, i32 1046831649] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073736698] }, { [2 x i32] } { [2 x i32] [i32 -278764431, i32 -1098752178] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073738750] }, { [2 x i32] } { [2 x i32] [i32 -160901793, i32 -1098052234] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073740800] }, { [2 x i32] } { [2 x i32] [i32 -1604604594, i32 -1097866236] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072049731] }, { [2 x i32] } { [2 x i32] [i32 212364345, i32 -1105175455] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075838976] }, { [2 x i32] } { [2 x i32] [i32 1431639746, i32 1070945621] }, { [2 x i32] } { [2 x i32] [i32 -36437, i32 -1076887553] }, { [2 x i32] } { [2 x i32] [i32 -246297237, i32 1070176671] }, { [2 x i32] } { [2 x i32] [i32 1991081892, i32 -1077586597] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 -17279, i32 1068498943] }, { [2 x i32] } { [2 x i32] [i32 -47923, i32 -1079771137] }, { [2 x i32] } { [2 x i32] [i32 515387228, i32 1067188230] }, { [2 x i32] } { [2 x i32] [i32 314873814, i32 -1080754168] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1069547520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1077936128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072431104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1075052544] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } { [2 x i32] [i32 1048576, i32 1106247680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1073741824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -2147483648] }], align 8 +@_ZN21__imf_impl_expm1_d_ha12_GLOBAL__N_119__dexpm1_ha_Tbl_expE = internal unnamed_addr addrspace(1) constant [32 x %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int"] [%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" zeroinitializer, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" zeroinitializer, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 480866366753039 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4366128403083131757 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 970560544526715 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 -4863857816615152824 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 343573467062840 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4365834109879625876 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 1978012999464725 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4360414030434708406 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 1933655682462754 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4361066948569222253 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 773896554293799 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4356828907110576048 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 751000219046953 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4364097860734309385 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4117251858840525 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 -4858341730713460183 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4117758890148231 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 -4865239048860621539 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 753050610999515 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4363345029737015989 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 779079194505360 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4355455812241575463 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 1944622030574509 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4362891239881388934 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 309632203838108 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4355946959017544883 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 941288740070535 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 4356286533989107624 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 462549231636698 }, %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int" { i64 -4859393813814996496 }], align 8 +@_ZN21__imf_impl_hypot_d_la12_GLOBAL__N_115_vmldHypotHATabE = internal unnamed_addr addrspace(1) constant [517 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072689152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072685056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072680960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072676864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072672768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072668672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072665600] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072661504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072657408] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072653312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072649216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072646144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072642048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072637952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072634880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072630784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072626688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072623616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072619520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072615424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072612352] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072608256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072605184] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072601088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072598016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072593920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072590848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072586752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072583680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072580608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072576512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072573440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072570368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072566272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072563200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072560128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072556032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072552960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072549888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072546816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072542720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072539648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072536576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072533504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072530432] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072527360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072523264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072520192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072517120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072514048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072510976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072507904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072504832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072501760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072498688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072495616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072492544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072489472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072486400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072483328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072480256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072478208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072475136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072472064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072468992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072465920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072462848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072459776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072457728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072454656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072451584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072448512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072446464] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072443392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072440320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072437248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072435200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072432128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072429056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072427008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072423936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072420864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072418816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072415744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072412672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072410624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072407552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072405504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072402432] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072400384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072397312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072395264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072392192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072390144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072387072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072385024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072381952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072379904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072376832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072374784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072371712] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072369664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072366592] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072364544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072362496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072359424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072357376] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072355328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072352256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072350208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072347136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072345088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072343040] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072340992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072337920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072335872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072333824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072330752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072328704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072326656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072324608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072321536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072319488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072317440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072315392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072313344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072310272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072308224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072306176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072304128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072302080] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072300032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072296960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072294912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072292864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072290816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072288768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072286720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072284672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072282624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072280576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072278528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072275456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072273408] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072271360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072269312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072267264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072265216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072263168] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072261120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072259072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072257024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072254976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072252928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072250880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072248832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072246784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072244736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072243712] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072241664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072239616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072237568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072235520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072233472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072231424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072229376] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072227328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072225280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072223232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072222208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072220160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072218112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072216064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072214016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072211968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072210944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072208896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072206848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072204800] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072202752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072201728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072199680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072197632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072195584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072192512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072190464] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072188416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072186368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072185344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072183296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072181248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072179200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072178176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072176128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072174080] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072173056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072171008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072168960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072167936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072165888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072163840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072161792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072160768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072158720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072157696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072155648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072153600] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072152576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072150528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072148480] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072147456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072145408] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072143360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072142336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072140288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072139264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072137216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072135168] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072134144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072132096] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072131072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072129024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072128000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072125952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072124928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072122880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072120832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072119808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072117760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072116736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072114688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072113664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072111616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072110592] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072108544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072107520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072105472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072104448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072102400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072101376] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072099328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072098304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072096256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072095232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072094208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072092160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072091136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072089088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072088064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072086016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072084992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072082944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072081920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072080896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072078848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072075776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072073728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072070656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072067584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072064512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072061440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072059392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072056320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072053248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072051200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072048128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072045056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072043008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072039936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072037888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072034816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072031744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072029696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072026624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072024576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072021504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072019456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072016384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072014336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072011264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072009216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072006144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072004096] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072002048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071998976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071996928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071993856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071991808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071989760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071986688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071984640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071982592] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071979520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071977472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071975424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071972352] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071970304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071968256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071966208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071964160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071961088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071959040] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071956992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071954944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071952896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071949824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071947776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071945728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071943680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071941632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071939584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071937536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071935488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071933440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071930368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071928320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071926272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071924224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071922176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071920128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071918080] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071916032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071913984] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071911936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071909888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071907840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071905792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071903744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071901696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071900672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071898624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071896576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071894528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071892480] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071890432] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071888384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071886336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071884288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071883264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071881216] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071879168] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071877120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071875072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071873024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071872000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071869952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071867904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071865856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071864832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071862784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071860736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071858688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071856640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071855616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071853568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071851520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071850496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071848448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071846400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071844352] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071843328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071841280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071839232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071838208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071836160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071834112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071833088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071831040] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071830016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071827968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071825920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071824896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071822848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071821824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071819776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071817728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071816704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071814656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071813632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071811584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071810560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071808512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071806464] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071805440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071803392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071802368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071800320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071799296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071797248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071796224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071794176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071793152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071791104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071790080] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071788032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071787008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071784960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071783936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071782912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071780864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071779840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071777792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071776768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071774720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071773696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071772672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071770624] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071769600] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071766528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071765504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071763456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071762432] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071760384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071759360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071758336] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071756288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071755264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071754240] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071752192] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071751168] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071750144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071748096] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071747072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071746048] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071744000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071741952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071739904] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071738880] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071737856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071736832] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071733760] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071732736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071730688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071729664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071728640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071727616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071725568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071724544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071723520] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071722496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071720448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071719424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071718400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071717376] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071715328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071714304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071713280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071712256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071711232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071709184] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071708160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071707136] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071706112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071705088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071704064] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071702016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071700992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071699968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071698944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071697920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071696896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071694848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071693824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071692800] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071691776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071690752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071689728] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071688704] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071686656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071685632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071684608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071683584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071682560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071681536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071680512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071679488] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071677440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071676416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071675392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071674368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071673344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071672320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071671296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071670272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071669248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071668224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071667200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071666176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071665152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071663104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071662080] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071660032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071659008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071657984] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071656960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071655936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071654912] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071653888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071652864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071651840] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071650816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071649792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071648768] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071647744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071646720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071645696] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }], align 8 +@_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_138__devicelib_imf_internal_dinvcbrt_dataE = internal unnamed_addr addrspace(1) constant { [32 x i64], [96 x [2 x i64]], i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, [8 x i64], [8 x i64], [16 x i64], <{ [8 x i64], [8 x i64] }>, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } { [32 x i64] [i64 -4616328190350985184, i64 -4616592925484075161, i64 -4616842313652928037, i64 -4617077651784099061, i64 -4617300094675205920, i64 -4617510673945453745, i64 -4617710314032831554, i64 -4617899845761354791, i64 -4618080017898346016, i64 -4618251507040783446, i64 -4618414926105929704, i64 -4618570831650839352, i64 -4618719730204966544, i64 -4618862083767703529, i64 -4618998314596559354, i64 -4619128809390515987, i64 -4619253922955855851, i64 -4619373981427646629, i64 -4619489285108475397, i64 -4619600110976456446, i64 -4619706714906609644, i64 -4619809333643112257, i64 -4619908186554422112, i64 -4620003477198657739, i64 -4620095394722743432, i64 -4620184115115556579, i64 -4620269802332547054, i64 -4620352609306949615, i64 -4620432678860710768, i64 -4620510144526544729, i64 -4620585131291072004, i64 -4620657756267740152], [96 x [2 x i64]] [[2 x i64] [i64 4607135989113307610, i64 4346874553071941158], [2 x i64] [i64 4607045925031938133, i64 4363078054317707144], [2 x i64] [i64 4606959376044640207, i64 4364116494460601370], [2 x i64] [i64 4606876108886273289, i64 4367298557746021431], [2 x i64] [i64 4606795911794941208, i64 4364044865925396388], [2 x i64] [i64 4606718592004315380, i64 4366786641743024840], [2 x i64] [i64 4606643973586466962, i64 4366006599648593710], [2 x i64] [i64 4606571895588513461, i64 4365243740132256811], [2 x i64] [i64 4606502210416739484, i64 4364351871865308975], [2 x i64] [i64 4606434782430108734, i64 4366569317894344368], [2 x i64] [i64 4606369486711709376, i64 4367324380859913937], [2 x i64] [i64 4606306207992020540, i64 4357137407793143144], [2 x i64] [i64 4606244839702224473, i64 4366888751787099986], [2 x i64] [i64 4606185283139325243, i64 4366792073525616276], [2 x i64] [i64 4606127446727732736, i64 4365358643691975640], [2 x i64] [i64 4606071245364356482, i64 4364025949740726743], [2 x i64] [i64 4606016599836226700, i64 4356143395461272956], [2 x i64] [i64 4605963436301298388, i64 4355155114171370383], [2 x i64] [i64 4605911685824460483, i64 4368244545133150378], [2 x i64] [i64 4605861283961915755, i64 4365753358722094124], [2 x i64] [i64 4605812170388058002, i64 4366325219336895013], [2 x i64] [i64 4605764288559783414, i64 4354346592195719555], [2 x i64] [i64 4605717585413858520, i64 4337338495294668689], [2 x i64] [i64 4605672011093549180, i64 4368056796801884732], [2 x i64] [i64 4605627518701210697, i64 4364657610280077230], [2 x i64] [i64 4605584064073962502, i64 4349266549602521819], [2 x i64] [i64 4605541605579933603, i64 4357352889408110082], [2 x i64] [i64 4605500103932876574, i64 4357569971142420951], [2 x i64] [i64 4605459522023216322, i64 4362532491378155410], [2 x i64] [i64 4605419824763831751, i64 4360425951615856302], [2 x i64] [i64 4605380978949069209, i64 4364888758847484723], [2 x i64] [i64 4605342953125660915, i64 4353763650370401289], [2 x i64] [i64 4605287387064645088, i64 4367613677234235074], [2 x i64] [i64 4605215903155889860, i64 4364679979169610880], [2 x i64] [i64 4605147209179148105, i64 4364843291762980172], [2 x i64] [i64 4605081119991755081, i64 4366036616395973805], [2 x i64] [i64 4605017467518182413, i64 4367277168534205357], [2 x i64] [i64 4604956098759693713, i64 4368121976532149955], [2 x i64] [i64 4604896874082199323, i64 4357243292617036051], [2 x i64] [i64 4604839665737311748, i64 4364099989722775549], [2 x i64] [i64 4604784356579821450, i64 4364423620688480156], [2 x i64] [i64 4604730838951366575, i64 4365102034607500808], [2 x i64] [i64 4604679013705328495, i64 4364768258966003142], [2 x i64] [i64 4604628789352227865, i64 4363999144952497584], [2 x i64] [i64 4604580081308337982, i64 4368205768142902987], [2 x i64] [i64 4604532811233039058, i64 4368390208289966103], [2 x i64] [i64 4604486906442737053, i64 4356710302157921241], [2 x i64] [i64 4604442299391064296, i64 4366116396889813601], [2 x i64] [i64 4604398927206645009, i64 4364614135513238389], [2 x i64] [i64 4604356731281009234, i64 4359578375465932538], [2 x i64] [i64 4604315656900323061, i64 4366285094429075355], [2 x i64] [i64 4604275652915510732, i64 4365125010125574542], [2 x i64] [i64 4604236671446106875, i64 4357325064449615380], [2 x i64] [i64 4604198667613820253, i64 4367096459061046036], [2 x i64] [i64 4604161599302334553, i64 4358676741869189120], [2 x i64] [i64 4604125426940333662, i64 4368304295839595115], [2 x i64] [i64 4604090113305132317, i64 4366629405511417134], [2 x i64] [i64 4604055623344628982, i64 4341656575738174553], [2 x i64] [i64 4604021924015585752, i64 4358782107284682527], [2 x i64] [i64 4603988984136487381, i64 4367168290794001980], [2 x i64] [i64 4603956774253444600, i64 4366680088518132799], [2 x i64] [i64 4603925266517790939, i64 4363338265914797926], [2 x i64] [i64 4603894434574181629, i64 4357985738975746853], [2 x i64] [i64 4603864253458141487, i64 4361790352590173885], [2 x i64] [i64 4603820150646286361, i64 4364341774225120019], [2 x i64] [i64 4603763413830307937, i64 4362633936818731932], [2 x i64] [i64 4603708891384836066, i64 4368327985381788503], [2 x i64] [i64 4603656436362040362, i64 4357859191749259504], [2 x i64] [i64 4603605915360285546, i64 4365919443440838571], [2 x i64] [i64 4603557206944394074, i64 4362424260229630689], [2 x i64] [i64 4603510200286715537, i64 4366546054241340193], [2 x i64] [i64 4603464793993287589, i64 4368320519487404217], [2 x i64] [i64 4603420895085895803, i64 4351533078208302770], [2 x i64] [i64 4603378418116041747, i64 4358638363950063204], [2 x i64] [i64 4603337284391002067, i64 4365970499904738284], [2 x i64] [i64 4603297421295528886, i64 4363461969638322237], [2 x i64] [i64 4603258761695473830, i64 4352386027317874393], [2 x i64] [i64 4603221243411845766, i64 4355010376745697420], [2 x i64] [i64 4603184808755637874, i64 4360551540342923675], [2 x i64] [i64 4603149404115262607, i64 4364973320614220536], [2 x i64] [i64 4603114979589675940, i64 4338048268241696282], [2 x i64] [i64 4603081488661304439, i64 4357128651552091541], [2 x i64] [i64 4603048887903749352, i64 4367804624884930824], [2 x i64] [i64 4603017136719962347, i64 4361408031060880667], [2 x i64] [i64 4602986197107192872, i64 4365058720452024934], [2 x i64] [i64 4602956033445517569, i64 4366199531169085599], [2 x i64] [i64 4602926612307194026, i64 4365967882814238943], [2 x i64] [i64 4602897902284447832, i64 4367295969039664805], [2 x i64] [i64 4602869873833614114, i64 4364648552215109427], [2 x i64] [i64 4602842499133821446, i64 4355586815559102793], [2 x i64] [i64 4602815751958634523, i64 4362408177433123966], [2 x i64] [i64 4602789607559268294, i64 4357348707255848977], [2 x i64] [i64 4602764042558155352, i64 4364286164269812789], [2 x i64] [i64 4602739034851794473, i64 4364519433948387117], [2 x i64] [i64 4602714563521934651, i64 4367651157116356912], [2 x i64] [i64 4602690608754258804, i64 4357195061708957817]], i64 4591298688957709127, i64 -4631473668681738910, i64 4592659836708917691, i64 -4629712772491317409, i64 4594357353194520982, i64 -4627976817079481181, i64 4597174419628082972, i64 -4623695617433709227, i64 -4616119249310580736, i64 4433230883192832, i64 -4616189618054758400, i64 4503599627370495, i64 -4503599627370496, i64 2047, i64 5462, i32 1015808, i32 2147483647, i32 2048, i32 1364, i32 -2146435072, i32 -2097153, [8 x i64] [i64 4607182418800017408, i64 4605324238331407933, i64 4603849399516099211, i64 0, i64 -4616189618054758400, i64 -4618047798523367875, i64 -4619522637338676597, i64 0], [8 x i64] [i64 0, i64 -4859573210140299511, i64 -4868993582112005090, i64 0, i64 0, i64 4363798826714476297, i64 4354378454742770718, i64 0], [16 x i64] [i64 4605324238331407933, i64 4605610498709139580, i64 4605876266581542100, i64 4606124857269007670, i64 4606358803170042495, i64 4606580087472775605, i64 4606790295707195550, i64 4606990717770262869, i64 4607182418800017408, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0], <{ [8 x i64], [8 x i64] }> <{ [8 x i64] [i64 -4859573210140299511, i64 -4868099515322933823, i64 -4862972152910630034, i64 4353068187833020087, i64 -4875064639029347764, i64 4351296550046985079, i64 -4863591290372995612, i64 4361591692657664268], [8 x i64] zeroinitializer }>, i64 4843621399236968448, i64 -9223372036854775808, i64 -4623695617433709226, i64 4836865999795912704, i64 4613937818241073152, i64 4607182418800017408, i64 4590455324468632793, i64 -4632509410268279975, i64 4591295273825306829, i64 -4631473896465199114, i64 4592659837821781258, i64 -4629712772098860496, i64 4594357353194263580, i64 -4627976817079619042, i64 4597174419628083042, i64 -4623695617433709213 }, align 8 +@_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_117_vmldInvCbrtHATabE = internal unnamed_addr addrspace(1) constant [111 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072668672] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072652288] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072627712] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072611328] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072594944] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072578560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072562176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072545792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072529408] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072513024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072496640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072480256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072463872] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072455680] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072439296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072431104] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072414720] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072406528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072390144] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072381952] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072365568] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072357376] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072349184] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072332800] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072324608] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072316416] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072308224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072300032] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072283648] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072275456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072267264] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072259072] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072242688] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072226304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072209920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193536] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072185344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072168960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072152576] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072144384] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072128000] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072119808] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072103424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072095232] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072078848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072070656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072062464] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072054272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072037888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072029696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072021504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072013312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072005120] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071996928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071988736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071980544] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071972352] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071964160] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071955968] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071947776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071939584] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071931392] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071923200] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071915008] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071906816] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071890432] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071882240] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071865856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071857664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071841280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071833088] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071824896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071808512] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071800320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071792128] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071783936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071775744] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071767552] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071759360] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071751168] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071742976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071734784] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071726592] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071718400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071710208] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071702016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071702016] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071693824] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071685632] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071677440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071677440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071669248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071652864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071652864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 32, i32 1121976320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1111490560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1167065088] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1070945632] }, { [2 x i32] } { [2 x i32] [i32 1431760561, i32 -1094363819] }, { [2 x i32] } { [2 x i32] [i32 477218758, i32 1070363079] }, { [2 x i32] } { [2 x i32] [i32 -583167378, i32 1069948826] }, { [2 x i32] } { [2 x i32] [i32 -1205169471, i32 1069707179] }, { [2 x i32] } { [2 x i32] [i32 -891720256, i32 1069544642] }, { [2 x i32] } { [2 x i32] [i32 35306824, i32 1069311953] }, { [2 x i32] } { [2 x i32] [i32 -98780341, i32 1069136092] }, { [2 x i32] } { [2 x i32] [i32 693378170, i32 1068985883] }], align 8 +@_ZN21__imf_impl_ldexp_d_xa12_GLOBAL__N_115_large_value_64E = internal unnamed_addr addrspace(1) constant [4 x i32] [i32 0, i32 2121269248, i32 0, i32 -26214400], align 4 +@_ZN21__imf_impl_ldexp_d_xa12_GLOBAL__N_115_small_value_64E = internal unnamed_addr addrspace(1) constant [4 x i32] [i32 0, i32 24117248, i32 0, i32 -2123366400], align 4 +@_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_16_zerosE = internal unnamed_addr addrspace(1) constant [2 x { [2 x i32] }] [{ [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 -2147483648] }], align 8 +@_ZN25__imf_impl_nextafter_d_xa12_GLOBAL__N_117_min_subnormal_64E = internal unnamed_addr addrspace(1) constant [2 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 1, i32 0] }, { [2 x i32] } { [2 x i32] [i32 1, i32 -2147483648] }], align 8 +@_ZN22__imf_impl_scalbn_d_xa12_GLOBAL__N_115_large_value_64E = internal unnamed_addr addrspace(1) constant [4 x i32] [i32 0, i32 2121269248, i32 0, i32 -26214400], align 4 +@_ZN22__imf_impl_scalbn_d_xa12_GLOBAL__N_115_small_value_64E = internal unnamed_addr addrspace(1) constant [4 x i32] [i32 0, i32 24117248, i32 0, i32 -2123366400], align 4 +@_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE = internal unnamed_addr addrspace(1) constant [44 x i32] [i32 0, i32 0, i32 683565275, i32 -1819212470, i32 2131351028, i32 2102212464, i32 920167782, i32 1326507024, i32 2140428522, i32 -139529896, i32 1841896334, i32 -1869384520, i32 26364858, i32 -2106301305, i32 1065843399, i32 743074255, i32 -1172271747, i32 1269748001, i32 979835913, i32 -1390944368, i32 1315206542, i32 1624559229, i32 656480226, i32 -276936178, i32 -939645441, i32 -142514685, i32 -70531998, i32 -696083641, i32 -615669837, i32 -906837395, i32 -741240871, i32 -1483212149, i32 1565126321, i32 -84312994, i32 -817770883, i32 -493574982, i32 -1694574612, i32 1206081346, i32 360762385, i32 -1088496918, i32 0, i32 0, i32 0, i32 0], align 4 +@_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_135__devicelib_imf_internal_dsinh_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_sinh_d_la::(anonymous namespace)::__devicelib_imf_internal_dsinh_data_t" { [16 x i64] [i64 4602678819172646912, i64 4602878210562689295, i64 4603086429763752315, i64 4603303867616420408, i64 4603530932265269013, i64 4603768049924977698, i64 4604015665680362023, i64 4604274244321825833, i64 4604544271217802189, i64 4604826253225820551, i64 4605120719643910363, i64 4605428223204126864, i64 4605749341110064045, i64 4606084676120302236, i64 4606434857679824007, i64 4606800543101522138], [16 x i64] [i64 0, i64 4361918956862988555, i64 -4867951110245610890, i64 4362211772363900275, i64 4356938429157704420, i64 4358035321924918972, i64 4354210733507756770, i64 4361228591242299309, i64 -4860548157077822378, i64 -4867241692442093265, i64 4361430511902935847, i64 4353991582810239678, i64 4361632666850544769, i64 4355280342925461725, i64 4355804386079487751, i64 -4859775273352288109], [16 x i64] [i64 4602678819172646912, i64 4602296943474151642, i64 4601931258052453511, i64 4601581076492931740, i64 4601245741482693549, i64 4600924623576756368, i64 4600617120016539867, i64 4600322653598450055, i64 4600040671590431693, i64 4599770644694455337, i64 4599512066052991527, i64 4599264450297607202, i64 4599027332637898517, i64 4598800267989049912, i64 4598582830136381819, i64 4598374610935318799], [16 x i64] [i64 0, i64 -4864278872979658605, i64 4351300786452117255, i64 4350776743298091229, i64 4357129067223174273, i64 4349487983182869182, i64 4356926912275565351, i64 -4871745292069463761, i64 -4865051756705192874, i64 4356724991614928813, i64 4349707133880386274, i64 4353531722297548476, i64 4352434829530333924, i64 4357708172736529779, i64 -4872454709872981386, i64 4357415357235618059], i64 4825607000727486464, i64 4825607000727486465, i32 1082453555, i64 15, i64 4602678819172646912, i64 4595172819793697958, i64 4586165620538952524, i64 4575957461346578138, i64 4564047942406789131, i64 4551453040686751430, i64 4537941413236597337, i64 4609176140021203710, i64 4604418534313426944, i64 4430688377387236154, i64 -9223372036854775808, i64 4602678819172646912, i64 0, [128 x [2 x i64]] [[2 x i64] [i64 0, i64 4602678819172646912], [2 x i64] [i64 4572893367435599476, i64 4602630175103873521], [2 x i64] [i64 4577397058604760374, i64 4602581793741115608], [2 x i64] [i64 4580339913454784351, i64 4602533673665609236], [2 x i64] [i64 4581901024407345793, i64 4602485813466252608], [2 x i64] [i64 4583462318456910404, i64 4602438211739564695], [2 x i64] [i64 4584844131025480517, i64 4602390867089644071], [2 x i64] [i64 4585625029827098800, i64 4602343778128127985], [2 x i64] [i64 4586406088864434730, i64 4602296943474151642], [2 x i64] [i64 4587187331041729370, i64 4602250361754307715], [2 x i64] [i64 4587968779268594287, i64 4602204031602606070], [2 x i64] [i64 4588750456460683370, i64 4602157951660433705], [2 x i64] [i64 4589350202915450122, i64 4602112120576514911], [2 x i64] [i64 4589741304863964383, i64 4602066537006871648], [2 x i64] [i64 4590132555690058984, i64 4602021199614784133], [2 x i64] [i64 4590523966867006506, i64 4601976107070751640], [2 x i64] [i64 4590915549872781754, i64 4601931258052453511], [2 x i64] [i64 4591307316190398344, i64 4601886651244710386], [2 x i64] [i64 4591699277308245436, i64 4601842285339445628], [2 x i64] [i64 4592091444720424630, i64 4601798159035646970], [2 x i64] [i64 4592483829927087023, i64 4601754271039328361], [2 x i64] [i64 4592876444434770449, i64 4601710620063492021], [2 x i64] [i64 4593269299756736901, i64 4601667204828090699], [2 x i64] [i64 4593662407413310151, i64 4601624024059990138], [2 x i64] [i64 4593863699425059753, i64 4601581076492931740], [2 x i64] [i64 4594060522883407084, i64 4601538360867495433], [2 x i64] [i64 4594257489812418512, i64 4601495875931062738], [2 x i64] [i64 4594454605988069743, i64 4601453620437780042], [2 x i64] [i64 4594651877190713079, i64 4601411593148522055], [2 x i64] [i64 4594849309205246925, i64 4601369792830855482], [2 x i64] [i64 4595046907821285431, i64 4601328218259002875], [2 x i64] [i64 4595244678833328269, i64 4601286868213806694], [2 x i64] [i64 4595442628040930554, i64 4601245741482693549], [2 x i64] [i64 4595640761248872913, i64 4601204836859638650], [2 x i64] [i64 4595839084267331711, i64 4601164153145130431], [2 x i64] [i64 4596037602912049426, i64 4601123689146135384], [2 x i64] [i64 4596236323004505202, i64 4601083443676063069], [2 x i64] [i64 4596435250372085551, i64 4601043415554731315], [2 x i64] [i64 4596634390848255250, i64 4601003603608331621], [2 x i64] [i64 4596833750272728396, i64 4600964006669394723], [2 x i64] [i64 4597033334491639657, i64 4600924623576756368], [2 x i64] [i64 4597233149357715707, i64 4600885453175523258], [2 x i64] [i64 4597433200730446857, i64 4600846494317039184], [2 x i64] [i64 4597633494476258878, i64 4600807745858851343], [2 x i64] [i64 4597834036468685034, i64 4600769206664676837], [2 x i64] [i64 4598034832588538323, i64 4600730875604369350], [2 x i64] [i64 4598205554134680170, i64 4600692751553886006], [2 x i64] [i64 4598306215158244145, i64 4600654833395254412], [2 x i64] [i64 4598407012089443187, i64 4600617120016539867], [2 x i64] [i64 4598507947884106625, i64 4600579610311812761], [2 x i64] [i64 4598609025502135905, i64 4600542303181116141], [2 x i64] [i64 4598710247907591383, i64 4600505197530433453], [2 x i64] [i64 4598811618068779249, i64 4600468292271656467], [2 x i64] [i64 4598913138958338572, i64 4600431586322553362], [2 x i64] [i64 4599014813553328467, i64 4600395078606736994], [2 x i64] [i64 4599116644835315400, i64 4600358768053633330], [2 x i64] [i64 4599218635790460620, i64 4600322653598450055], [2 x i64] [i64 4599320789409607727, i64 4600286734182145343], [2 x i64] [i64 4599423108688370376, i64 4600251008751396809], [2 x i64] [i64 4599525596627220126, i64 4600215476258570612], [2 x i64] [i64 4599628256231574422, i64 4600180135661690740], [2 x i64] [i64 4599731090511884732, i64 4600144985924408452], [2 x i64] [i64 4599834102483724826, i64 4600110026015971887], [2 x i64] [i64 4599937295167879207, i64 4600075254911195839], [2 x i64] [i64 4600040671590431693, i64 4600040671590431693], [2 x i64] [i64 4600144234782854155, i64 4600006275039537523], [2 x i64] [i64 4600247987782095417, i64 4599972064249848357], [2 x i64] [i64 4600351933630670312, i64 4599938038218146592], [2 x i64] [i64 4600456075376748899, i64 4599904195946632581], [2 x i64] [i64 4600560416074245855, i64 4599870536442895369], [2 x i64] [i64 4600664958782910025, i64 4599837058719883592], [2 x i64] [i64 4600769706568414152, i64 4599803761795876535], [2 x i64] [i64 4600874662502444772, i64 4599770644694455337], [2 x i64] [i64 4600979829662792296, i64 4599737706444474365], [2 x i64] [i64 4601085211133441258, i64 4599704946080032730], [2 x i64] [i64 4601190810004660757, i64 4599672362640445967], [2 x i64] [i64 4601296629373095075, i64 4599639955170217858], [2 x i64] [i64 4601402672341854488, i64 4599607722719012418], [2 x i64] [i64 4601508942020606258, i64 4599575664341626023], [2 x i64] [i64 4601615441525665829, i64 4599543779097959693], [2 x i64] [i64 4601722173980088208, i64 4599512066052991527], [2 x i64] [i64 4601829142513759545, i64 4599480524276749278], [2 x i64] [i64 4601936350263488924, i64 4599449152844283088], [2 x i64] [i64 4602043800373100340, i64 4599417950835638359], [2 x i64] [i64 4602151495993524893, i64 4599386917335828781], [2 x i64] [i64 4602259440282893191, i64 4599356051434809495], [2 x i64] [i64 4602367636406627957, i64 4599325352227450410], [2 x i64] [i64 4602476087537536856, i64 4599294818813509660], [2 x i64] [i64 4602584796855905534, i64 4599264450297607202], [2 x i64] [i64 4602686293361118897, i64 4599234245789198565], [2 x i64] [i64 4602740910993380713, i64 4599204204402548727], [2 x i64] [i64 4602795662512701697, i64 4599174325256706150], [2 x i64] [i64 4602850549524648055, i64 4599144607475476939], [2 x i64] [i64 4602905573638759264, i64 4599115050187399153], [2 x i64] [i64 4602960736468595264, i64 4599085652525717247], [2 x i64] [i64 4603016039631783777, i64 4599056413628356657], [2 x i64] [i64 4603071484750067747, i64 4599027332637898517], [2 x i64] [i64 4603127073449352891, i64 4598998408701554518], [2 x i64] [i64 4603182807359755381, i64 4598969640971141899], [2 x i64] [i64 4603238688115649650, i64 4598941028603058576], [2 x i64] [i64 4603294717355716310, i64 4598912570758258401], [2 x i64] [i64 4603350896722990217, i64 4598884266602226561], [2 x i64] [i64 4603407227864908644, i64 4598856115304955101], [2 x i64] [i64 4603463712433359593, i64 4598828116040918591], [2 x i64] [i64 4603520352084730240, i64 4598800267989049912], [2 x i64] [i64 4603577148479955503, i64 4598772570332716182], [2 x i64] [i64 4603634103284566752, i64 4598745022259694806], [2 x i64] [i64 4603691218168740647, i64 4598717622962149661], [2 x i64] [i64 4603748494807348116, i64 4598690371636607402], [2 x i64] [i64 4603805934880003472, i64 4598663267483933908], [2 x i64] [i64 4603863540071113665, i64 4598636309709310837], [2 x i64] [i64 4603921312069927677, i64 4598609497522212330], [2 x i64] [i64 4603979252570586058, i64 4598582830136381819], [2 x i64] [i64 4604037363272170607, i64 4598556306769808977], [2 x i64] [i64 4604095645878754198, i64 4598529926644706784], [2 x i64] [i64 4604154102099450746, i64 4598503688987488716], [2 x i64] [i64 4604212733648465334, i64 4598477593028746065], [2 x i64] [i64 4604271542245144475, i64 4598451638003225371], [2 x i64] [i64 4604330529614026533, i64 4598425823149805986], [2 x i64] [i64 4604389697484892296, i64 4598400147711477751], [2 x i64] [i64 4604449047592815698, i64 4598374610935318799], [2 x i64] [i64 4604508581678214703, i64 4598349212072473475], [2 x i64] [i64 4604568301486902339, i64 4598323950378130376], [2 x i64] [i64 4604628208770137896, i64 4598298825111500510], [2 x i64] [i64 4604688305284678278, i64 4598273835535795572], [2 x i64] [i64 4604748592792829521, i64 4598248980918206341], [2 x i64] [i64 4604809073062498472, i64 4598224260529881185], [2 x i64] [i64 4604869747867244630, i64 4598199673645904693]], i64 4812096201845374976, i32 1082531225, i64 4607182418800017408, i64 4602678819172646333, i64 4595172819793695917, i64 4586165622581678745, i64 4575957462558110757, i64 9218868437227405312, i64 65472, i64 127 }, align 8 +@_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE = internal unnamed_addr addrspace(1) constant [149 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1048019041, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 1398474845, i32 -1133408125] }, { [2 x i32] } { [2 x i32] [i32 -753564300, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1535789979, i32 1015903202] }, { [2 x i32] } { [2 x i32] [i32 410360776, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 1269990655, i32 1013024446] }, { [2 x i32] } { [2 x i32] [i32 1828292879, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1255956747, i32 1016636974] }, { [2 x i32] } { [2 x i32] [i32 852742562, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 667253587, i32 1010842135] }, { [2 x i32] } { [2 x i32] [i32 -804103343, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 960797498, i32 -1130969840] }, { [2 x i32] } { [2 x i32] [i32 -1364644384, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 -1695467874, i32 -1131204673] }, { [2 x i32] } { [2 x i32] [i32 1014845819, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -1177056650, i32 -1132359615] }, { [2 x i32] } { [2 x i32] [i32 -344994955, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 2068408548, i32 1015962444] }, { [2 x i32] } { [2 x i32] [i32 828946858, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 10642492, i32 1016988014] }, { [2 x i32] } { [2 x i32] [i32 -2006807338, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -2125822827, i32 1015924597] }, { [2 x i32] } { [2 x i32] [i32 1853186616, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -1228470925, i32 1016705150] }, { [2 x i32] } { [2 x i32] [i32 1709341917, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 -1723799079, i32 1015201075] }, { [2 x i32] } { [2 x i32] [i32 -182460703, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -1347612075, i32 1015419624] }, { [2 x i32] } { [2 x i32] [i32 -1495006453, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 1423655381, i32 1016070727] }, { [2 x i32] } { [2 x i32] [i32 171030293, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -768507164, i32 1015477354] }, { [2 x i32] } { [2 x i32] [i32 -1302063361, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -2076812890, i32 1016276769] }, { [2 x i32] } { [2 x i32] [i32 926591435, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 -1086133534, i32 -1131005206] }, { [2 x i32] } { [2 x i32] [i32 887463927, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -698223133, i32 -1133124554] }, { [2 x i32] } { [2 x i32] [i32 1276261410, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 300981948, i32 1015732745] }, { [2 x i32] } { [2 x i32] [i32 569847338, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 472945272, i32 -1134627991] }, { [2 x i32] } { [2 x i32] [i32 1617004845, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 82804944, i32 1011391354] }, { [2 x i32] } { [2 x i32] [i32 -1245627184, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 -1232051472, i32 1014219171] }, { [2 x i32] } { [2 x i32] [i32 -717870553, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1343470878, i32 1014842263] }, { [2 x i32] } { [2 x i32] [i32 1990012071, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -765896733, i32 -1131105527] }, { [2 x i32] } { [2 x i32] [i32 1453150082, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 498154669, i32 -1132430658] }, { [2 x i32] } { [2 x i32] [i32 917841882, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 18715565, i32 1016707884] }, { [2 x i32] } { [2 x i32] [i32 -582462423, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 88491949, i32 1016476236] }, { [2 x i32] } { [2 x i32] [i32 363667784, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 813753950, i32 1016833785] }, { [2 x i32] } { [2 x i32] [i32 -1338354299, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 2118169751, i32 -1131183167] }, { [2 x i32] } { [2 x i32] [i32 -2108349915, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 -2024203212, i32 -1130646007] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 330458198, i32 -1130635980] }, { [2 x i32] } { [2 x i32] [i32 1013258799, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 1748797611, i32 -1133789638] }, { [2 x i32] } { [2 x i32] [i32 -387162252, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 -2037876071, i32 -1132368313] }, { [2 x i32] } { [2 x i32] [i32 1447192521, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 1462857171, i32 -1131404199] }, { [2 x i32] } { [2 x i32] [i32 1944781191, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 -301688529, i32 -1132194441] }, { [2 x i32] } { [2 x i32] [i32 919555682, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -1172997762, i32 1013996802] }, { [2 x i32] } { [2 x i32] [i32 -1723019757, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 -736808232, i32 -1130542051] }, { [2 x i32] } { [2 x i32] [i32 -1690004755, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 -1680542022, i32 -1130379528] }, { [2 x i32] } { [2 x i32] [i32 1110089947, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 1451641639, i32 1016523249] }, { [2 x i32] } { [2 x i32] [i32 -1726646474, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 -1562142868, i32 1015401491] }, { [2 x i32] } { [2 x i32] [i32 -1328691739, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -2118811972, i32 -1134075961] }, { [2 x i32] } { [2 x i32] [i32 -1612820912, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 2082178513, i32 -1130555301] }, { [2 x i32] } { [2 x i32] [i32 -2103185264, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -1334709570, i32 1014791238] }, { [2 x i32] } { [2 x i32] [i32 2069751141, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 1562170675, i32 -1131194039] }, { [2 x i32] } { [2 x i32] [i32 -1304550051, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -611499551, i32 -1130549394] }, { [2 x i32] } { [2 x i32] [i32 1434058175, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 251133233, i32 1016134345] }, { [2 x i32] } { [2 x i32] [i32 -1722100819, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 878562433, i32 1016570317] }, { [2 x i32] } { [2 x i32] [i32 -1202776581, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 814012168, i32 -1134395298] }, { [2 x i32] } { [2 x i32] [i32 -218407353, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 2119478331, i32 -1133160369] }, { [2 x i32] } { [2 x i32] [i32 -1874083374, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 2049810052, i32 1015168464] }, { [2 x i32] } { [2 x i32] [i32 -578465124, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 -1991227171, i32 1015091301] }, { [2 x i32] } { [2 x i32] [i32 777507147, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 -12043091, i32 1016236109] }, { [2 x i32] } { [2 x i32] [i32 -588279703, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -773240357, i32 1014301643] }, { [2 x i32] } { [2 x i32] [i32 1242007932, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 1132034716, i32 -1130578889] }, { [2 x i32] } { [2 x i32] [i32 -587488121, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 -681887993, i32 1015213314] }, { [2 x i32] } { [2 x i32] [i32 64696965, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 1768797490, i32 1016865536] }, { [2 x i32] } { [2 x i32] [i32 863738719, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 1326992220, i32 -1131305523] }, { [2 x i32] } { [2 x i32] [i32 -410304522, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -2136355697, i32 1015258761] }, { [2 x i32] } { [2 x i32] [i32 -1566273318, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 396109971, i32 -1130456029] }, { [2 x i32] } { [2 x i32] [i32 -295609817, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -2036025680, i32 1016973300] }, { [2 x i32] } { [2 x i32] [i32 1533953344, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 769171851, i32 1016714209] }, { [2 x i32] } { [2 x i32] [i32 -2120314664, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -207252706, i32 1015498835] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073741824] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } { [2 x i32] [i32 1431652600, i32 1069897045] }, { [2 x i32] } { [2 x i32] [i32 1431670732, i32 1067799893] }, { [2 x i32] } { [2 x i32] [i32 984555731, i32 1065423122] }, { [2 x i32] } { [2 x i32] [i32 472530941, i32 1062650218] }, { [2 x i32] } { [2 x i32] [i32 1431655765, i32 1069897045] }, { [2 x i32] } { [2 x i32] [i32 286331153, i32 1065423121] }, { [2 x i32] } { [2 x i32] [i32 436314138, i32 1059717536] }, { [2 x i32] } { [2 x i32] [i32 -1521039564, i32 1053236707] }, { [2 x i32] } { [2 x i32] [i32 1697350398, i32 1079448903] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1127743488] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } { [2 x i32] [i32 -1883637634, i32 1082536910] }, { [2 x i32] } { [2 x i32] [i32 -17170432, i32 1065758274] }, { [2 x i32] } { [2 x i32] [i32 -1130480838, i32 1025308570] }, { [2 x i32] } { [2 x i32] [i32 1, i32 1048576] }, { [2 x i32] } { [2 x i32] [i32 -1, i32 2146435071] }, { [2 x i32] } { [2 x i32] [i32 -623124192, i32 1067178892] }, { [2 x i32] } { [2 x i32] [i32 -419272672, i32 1077247184] }], align 8 +@_ZN19__imf_impl_tan_d_ha12_GLOBAL__N_134__devicelib_imf_internal_dtan_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_tan_d_ha::(anonymous namespace)::__devicelib_imf_internal_dtan_data_t" { i64 4617420179566610563, i64 4596242258042563864, i64 4350941398012550150, i64 4115195844171550217, i64 4350941398011215872, i64 4207589136483649864, [16 x i64] [i64 -9223372036854775808, i64 4596334593599418712, i64 4601133428098527026, i64 4604193637674776976, i64 4607182418800017408, i64 4609418932327707745, i64 4612618744449965542, i64 4617346299493238641, i64 -4503599627370497, i64 -4606025737361537167, i64 -4610753292404810266, i64 -4613953104527068063, i64 -4616189618054758400, i64 -4619178399179998832, i64 -4622238608756248782, i64 -4627037443255357096], [16 x i64] [i64 -9223372036854775808, i64 4336673779523787078, i64 4355133876620127913, i64 4361640328754804341, i64 0, i64 4365142502128521871, i64 4369073718121909717, i64 4359773640897822478, i64 -243194379878006784, i64 -4863598395956953330, i64 -4854298318732866091, i64 -4858229534726253937, i64 0, i64 -4861731708099971467, i64 -4868238160234647895, i64 -4886698257330988730], i64 4599676419421066716, i64 4593971859892668418, i64 4587938466861229514, i64 4581960358214695849, i64 4576322205956831837, i64 4607182418800017408, i64 9223372036854775807, i64 9218868437227405312, i64 4843621399236968448, i64 4578227859532808192, i64 4422733163225153536, i64 4265781353318150259, i64 511, i64 4635434578076092547, [256 x [13 x i64]] [[13 x i64] [i64 4609753056924675352, i64 4364452196894661639, i64 0, i64 0, i64 0, i64 4607182418800017408, i64 0, i64 0, i64 4599676419421066585, i64 0, i64 4593971859891847773, i64 0, i64 4587938692205057315], [13 x i64] [i64 4609697789442237630, i64 4356682229132873019, i64 0, i64 4578228214676993678, i64 -4892555650858061560, i64 4607182418800017408, i64 4549688675227465728, i64 4578229280205008226, i64 4599680037441164782, i64 4575871793090067664, i64 4593978012568017791, i64 4571998923527908058, i64 4587896362579954088], [13 x i64] [i64 4609642521959799908, i64 -4865433744600738395, i64 0, i64 4582732879992885744, i64 -4904095805230460352, i64 4607182418800017408, i64 4558697548671946752, i64 4582737144031317375, i64 4599690900769056092, i64 4580381436430369044, i64 4593996493907606840, i64 4576514458031773879, i64 4587970526531955585], [13 x i64] [i64 4609587254477362186, i64 -4858605824179823071, i64 0, i64 4585468897727110576, i64 -4880932258782607492, i64 4607182418800017408, i64 4563899080224672512, i64 4585476098714678408, i64 4599709037248100161, i64 4582758679827627882, i64 4594027390858454401, i64 4579224267409808918, i64 4587856275545052357], [13 x i64] [i64 4609531986994924464, i64 -4855189313853045031, i64 0, i64 4587240746229895522, i64 4322050180704753088, i64 4607182418800017408, i64 4567711453268547200, i64 4587257833256722785, i64 4599734493420244173, i64 4584909290780442776, i64 4594070830168138068, i64 4581065347647787156, i64 4588069815116219561], [13 x i64] [i64 4609476719512486741, i64 4365384043770253423, i64 0, i64 4589014732542785411, i64 -4881762285798863862, i64 4607182418800017408, i64 4570849654991428096, i64 4589048150971430835, i64 4599767334730872831, i64 4586119252220432274, i64 4594127008215646259, i64 4582462066734329836, i64 4588366822552387562], [13 x i64] [i64 4609421452030049019, i64 4359947027964940141, i64 0, i64 4589979708124248113, i64 4348359500113440430, i64 4607182418800017408, i64 4572923288680806208, i64 4590008629620445756, i64 4599807645818145134, i64 4587344590702216881, i64 4594196177382401486, i64 4583888961181433089, i64 4588559783104782900], [13 x i64] [i64 4609366184547611297, i64 -4869931067018704884, i64 0, i64 4590869649651400172, i64 4340658874995133976, i64 4607182418800017408, i64 4575199820089188288, i64 4590915666187461814, i64 4599855530888227072, i64 4588588530630526658, i64 4594278638224949848, i64 4585008503214636392, i64 4589041695870996767], [13 x i64] [i64 4609310917065173575, i64 -4859691344178064525, i64 0, i64 4591761474222501282, i64 4348363030462737314, i64 4607182418800017408, i64 4576745611899133408, i64 4591830319591787432, i64 4599911114178544056, i64 4589511199820962294, i64 4594374775917072425, i64 4585761987648433733, i64 4588898528619844723], [13 x i64] [i64 4609255649582735853, i64 -4856121160728636814, i64 0, i64 4592655457356597250, i64 -4876202689310249911, i64 4607182418800017408, i64 4578243136027357088, i64 4592753733897115333, i64 4599974540513721415, i64 4590156781329337099, i64 4594485004048793083, i64 4586540733163590155, i64 4589136990572245138], [13 x i64] [i64 4609200382100298130, i64 4366315890645845206, i64 0, i64 4593551877212060137, i64 -4881580198779718942, i64 4607182418800017408, i64 4579922927496914560, i64 4593679347983679180, i64 4600045975955834672, i64 4590816779775452255, i64 4594609814318192200, i64 4587348439132346218, i64 4589642571632022651], [13 x i64] [i64 4609145114617860408, i64 4361810721716123709, i64 0, i64 4594061317428026992, i64 -4877389289968034636, i64 4607182418800017408, i64 4580973936671091168, i64 4594151579488268615, i64 4600125608554848251, i64 4591493020335776122, i64 4594749806006105199, i64 4588188923323535248, i64 4589645054785830365], [13 x i64] [i64 4609089847135422686, i64 -4911502930658878397, i64 0, i64 4594512387476162112, i64 4346764833367741882, i64 4607182418800017408, i64 4581999317282403728, i64 4594629982607978334, i64 4600213649205515642, i64 4592187402370357453, i64 4594905599300244507, i64 4589066363507078895, i64 4589754824291309857], [13 x i64] [i64 4609034579652984964, i64 -4861555037929248092, i64 0, i64 4594965102818446935, i64 4353198574876045170, i64 4607182418800017408, i64 4583119289224394176, i64 4595115184928235694, i64 4600310332613649310, i64 4592901908754476231, i64 4595077913081901066, i64 4589576588289929039, i64 4590006700520719707], [13 x i64] [i64 4608979312170547242, i64 -4857053007604228598, i64 0, i64 4595419609612291382, i64 -4874619102627620488, i64 4607182418800017408, i64 4584335250603197632, i64 4595607832225647666, i64 4600415918381454958, i64 4593638615796378382, i64 4595267547381653176, i64 4590059001139094521, i64 4590498844804212759], [13 x i64] [i64 4608924044688109519, i64 4367247737521436990, i64 0, i64 4595876056258009448, i64 4345892647143517172, i64 4607182418800017408, i64 4585156574462392640, i64 4596108590344927595, i64 4600530692218172242, i64 4594035661872035502, i64 4595475406922306483, i64 4590566931853014490, i64 4590904866150445068], [13 x i64] [i64 4608868777205671797, i64 4363674415467307276, i64 0, i64 4596334593599418712, i64 4336665875499911696, i64 4607182418800017408, i64 4585862901287273808, i64 4596618147169871376, i64 4600654967285626376, i64 4594429544228017415, i64 4595702486355301744, i64 4591103069660834507, i64 4591058484381737452], [13 x i64] [i64 4608813509723234075, i64 4353415860998454896, i64 0, i64 4596795375131080546, i64 4348299127337198048, i64 4607182418800017408, i64 4586619714662796800, i64 4597137214698639216, i64 4600789085688113748, i64 4594837976547747618, i64 4595949852170213684, i64 4591670341456558723, i64 4591651261663731568], [13 x i64] [i64 4608758242240796353, i64 -4863418731680431660, i64 0, i64 4597258557212806386, i64 4351784649418138664, i64 4607182418800017408, i64 4587427984317008192, i64 4597666531234363982, i64 4600933420116373938, i64 4595262240799238132, i64 4596218733599082998, i64 4592271866403108499, i64 4591957775406454049], [13 x i64] [i64 4608702974758358631, i64 -4857984854479820382, i64 0, i64 4597724299292090154, i64 4354807841483391106, i64 4607182418800017408, i64 4588288753846197392, i64 4598191041624119877, i64 4601088375661073474, i64 4595703696389611411, i64 4596510437111995749, i64 4592911056185117492, i64 4592436148978474689], [13 x i64] [i64 4608647707275920908, i64 4368179584397028774, i64 0, i64 4598183991840220846, i64 4352067046287410614, i64 4607182418800017408, i64 4589185581967457980, i64 4598467114828132597, i64 4601254391805832103, i64 4596163787852424621, i64 4596826419202212310, i64 4593591604061034641, i64 4593006150023304037], [13 x i64] [i64 4608592439793483186, i64 4364763074070250734, i64 0, i64 4598419668806351676, i64 4352644154296350928, i64 4607182418800017408, i64 4589670187186028256, i64 4598749510851344065, i64 4601431944617582392, i64 4596644053191394094, i64 4597168290369442602, i64 4593994562148931594, i64 4593250407973581896], [13 x i64] [i64 4608537172311045464, i64 4357925737835229399, i64 0, i64 4598656875384641513, i64 4354062429611081648, i64 4607182418800017408, i64 4590182844618432868, i64 4599038663779856115, i64 4601621549151122357, i64 4597146132953624191, i64 4597537766641029631, i64 4594382392821251773, i64 4593882438360641856], [13 x i64] [i64 4608481904828607742, i64 -4866677253303094775, i64 0, i64 4598895698678306637, i64 4337015398769578304, i64 4607182418800017408, i64 4590724239730785780, i64 4599335027419512848, i64 4601823762084289515, i64 4597671780124472973, i64 4597936800428814605, i64 4594797478831065195, i64 4594130258167349703], [13 x i64] [i64 4608426637346170020, i64 -4858916701355412166, i64 0, i64 4599136227962938332, i64 -4869111077886956668, i64 4607182418800017408, i64 4591295103573863268, i64 4599639076880691413, i64 4602039184609499292, i64 4598199045234460523, i64 4598271345727757190, i64 4595242439197630832, i64 4594504086520137480], [13 x i64] [i64 4608371369863732298, i64 -4855500191028634126, i64 0, i64 4599378554829646994, i64 -4868302739646565263, i64 4607182418800017408, i64 4591896214956980768, i64 4599951310274523298, i64 4602268465600253903, i64 4598488318081615460, i64 4598503654275004773, i64 4595720132936340827, i64 4594940918741352034], [13 x i64] [i64 4608316102381294575, i64 4365694920945842517, i64 0, i64 4599622773335137047, i64 4358333029770181719, i64 4607182418800017408, i64 4592528402794298572, i64 4600272250531227018, i64 4602512305082367477, i64 4598792398001640392, i64 4598754197328378418, i64 4596233701546111982, i64 4595450020350996566], [13 x i64] [i64 4608260834898856853, i64 4360568782316118331, i64 0, i64 4599868980159260639, i64 4353510001437784272, i64 4607182418800017408, i64 4593192548636110200, i64 4600602447352252117, i64 4602725138604941882, i64 4599112445708753596, i64 4599024367536294088, i64 4596786588929747806, i64 4595771801174239209], [13 x i64] [i64 4608205567416419131, i64 -4872418084423417643, i64 0, i64 4600117274770638409, i64 4352602779629540122, i64 4607182418800017408, i64 4593780604658388246, i64 4600942479309070285, i64 4602862778872021926, i64 4599449710802222444, i64 4599315664826464807, i64 4597382595093420221, i64 4596359641553546472], [13 x i64] [i64 4608150299933981409, i64 -4860313098529242715, i64 0, i64 4600367759600979844, i64 -4864198041788678786, i64 4607182418800017408, i64 4594146070113474164, i64 4601292956102715810, i64 4603008921829160954, i64 4599805540344865132, i64 4599629762385695315, i64 4598025896443142489, i64 4596935705991924232], [13 x i64] [i64 4608095032451543687, i64 -4856432037904225909, i64 0, i64 4600620540228784162, i64 -4870867164715541260, i64 4607182418800017408, i64 4594529008997598806, i64 4601654520999590771, i64 4603164040730513497, i64 4600181388312502774, i64 4599968485072938234, i64 4598448162627633984, i64 4597497187469120928], [13 x i64] [i64 4608039764969105964, i64 4366626767821434301, i64 0, i64 4600875725573155824, i64 4356066245837989096, i64 4607182418800017408, i64 4594929982119534182, i64 4602027853460628084, i64 4603328645933811289, i64 4600578826018692397, i64 4600333828871841274, i64 4598824266875389635, i64 4598209123961278513], [13 x i64] [i64 4607984497486668242, i64 4362432476067301898, i64 0, i64 4601133428098527026, i64 4355132645313501417, i64 4607182418800017408, i64 4595349584587014966, i64 4602413671982668645, i64 4603503287919033323, i64 4600999553628826201, i64 4600727995552010285, i64 4599231688538665146, i64 4598656324956209769], [13 x i64] [i64 4607929230004230520, i64 4346418966756967634, i64 0, i64 4601393764031143515, i64 -4870048416720755010, i64 4607182418800017408, i64 4595788447797368100, i64 4602745778172763747, i64 4603688560604516267, i64 4601445412894826985, i64 4601153416204218342, i64 4599673543924606521, i64 4599008164575218322], [13 x i64] [i64 4607873962521792798, i64 -4862176792280426282, i64 0, i64 4601656853588240310, i64 4345951246206230272, i64 4607182418800017408, i64 4596247241585243600, i64 4602952337125951431, i64 4603885104992495150, i64 4601918401256068566, i64 4601612738519547796, i64 4600153290353951684, i64 4599442235995991052], [13 x i64] [i64 4607818695039355076, i64 -4857363884779817693, i64 0, i64 4601922821220911104, i64 4354442714958277038, i64 4607182418800017408, i64 4596726676540632136, i64 4603166349987670183, i64 4604093613178431443, i64 4602420687473943302, i64 4602108886512127433, i64 4600674768719939187, i64 4600026226828499889], [13 x i64] [i64 4607763427556917353, i64 4367558614697026085, i64 0, i64 4602191795871759994, i64 4356128230453955085, i64 4607182418800017408, i64 4597227506511673834, i64 4603388270795798471, i64 4604314832765052023, i64 4602816724080634982, i64 4602645099641635350, i64 4601242241975938007, i64 4600588822112888321], [13 x i64] [i64 4607708160074479631, i64 4364142104370248045, i64 0, i64 4602463911248517614, i64 4342978785305777752, i64 4607182418800017408, i64 4597750531308226072, i64 4603618582207253082, i64 4604549571726114713, i64 4603100805191313419, i64 4602951876673776200, i64 4601860458195494971, i64 4601160628133984818], [13 x i64] [i64 4607652892592041909, i64 4355441859035218643, i64 0, i64 4602709062643776759, i64 4359694281044899423, i64 4607182418800017408, i64 4598235909584529996, i64 4603857797817681600, i64 4604798703769407346, i64 4603403394079922740, i64 4603265564479486914, i64 4602534710827471784, i64 4601851230309663791], [13 x i64] [i64 4607597625109604187, i64 -4864193374503084019, i64 0, i64 4602848471886400845, i64 -4880462096879910112, i64 4607182418800017408, i64 4598520915870214229, i64 4604106464688658591, i64 4605063174256148249, i64 4603726014852905846, i64 4603605192590428617, i64 4602974858123219050, i64 4602656822139077863], [13 x i64] [i64 4607542357627166465, i64 -4858295731655409477, i64 0, i64 4602989667850663148, i64 -4859850766256737950, i64 4607182418800017408, i64 4598818372383283171, i64 4604365166104026374, i64 4605344006741041490, i64 4604070331644240906, i64 4603973163111589147, i64 4603377216627531291, i64 4603090872929857700], [13 x i64] [i64 4607487090144728742, i64 4368490461572617869, i64 0, i64 4603132728472125533, i64 -4862509076996490343, i64 4607182418800017408, i64 4599128786805127270, i64 4604634524579526312, i64 4605642310205129441, i64 4604438163525871926, i64 4604372132856934335, i64 4603817527094330985, i64 4603526438933085672], [13 x i64] [i64 4607431822662291020, i64 4365073951245839829, i64 0, i64 4603277734897285157, i64 4349036840197801232, i64 4607182418800017408, i64 4599452698404380140, i64 4604915205152696518, i64 4605959287063014606, i64 4604831501186152922, i64 4604805041146828759, i64 4604299922136848289, i64 4604035609408121395], [13 x i64] [i64 4607376555179853298, i64 4359169246537585778, i64 0, i64 4603424771683971721, i64 4356920075587335232, i64 4607182418800017408, i64 4599790680211231894, i64 4605207918983212858, i64 4606296242036656162, i64 4605252525612627221, i64 4605275154934586316, i64 4604829031889749957, i64 4604605669257458494], [13 x i64] [i64 4607321287697415576, i64 -4867920762005451154, i64 0, i64 4603573927015645181, i64 -4863591790544728625, i64 4607182418800017408, i64 4600143341376776571, i64 4605513427297475971, i64 4606654592001238699, i64 4605703629046046368, i64 4605786099914943368, i64 4605410062987824782, i64 4605264647590304050], [13 x i64] [i64 4607266020214977854, i64 -4859227578531001260, i64 0, i64 4603725292930782963, i64 -4860425287736230164, i64 4607182418800017408, i64 4600511329735204476, i64 4605832545715359559, i64 4607035876921278988, i64 4606187438516838040, i64 4606341913854143179, i64 4606048866110895363, i64 4605964506241248225], [13 x i64] [i64 4607210752732540132, i64 -4855811068204223220, i64 0, i64 4603878965568660955, i64 -4860932687219381026, i64 4607182418800017408, i64 4600895334588623602, i64 4606166149001706779, i64 4607312095406518729, i64 4606706842316536513, i64 4606947084766703106, i64 4606752033804798096, i64 4606757894251740584], [13 x i64] [i64 4607128551700187411, i64 -4863419516331607161, i64 0, i64 4604035045432960605, i64 -4865986924778491696, i64 4607182418800017408, i64 4601296089736512412, i64 4606515176290475655, i64 4607528260043034475, i64 4607223719307429011, i64 4607394519190081000, i64 4607354710073933003, i64 4607418268682453459], [13 x i64] [i64 4607018016735311966, i64 4361190536667296521, i64 0, i64 4604193637674776976, i64 4361637258335878418, i64 4607182418800017408, i64 4601714376774302918, i64 4606880636835488844, i64 4607758635720233074, i64 4607523946946516801, i64 4607754263464686574, i64 4607782293619544815, i64 4607917611652833784], [13 x i64] [i64 4606907481770436522, i64 -4876915406841384132, i64 0, i64 4604354852396761390, i64 4363828474079866901, i64 4607182418800017408, i64 4602151028688407341, i64 4607223017574334431, i64 4608004306759764329, i64 4607847246869619518, i64 4608147108616940483, i64 4608254728071065505, i64 4608468078986997970], [13 x i64] [i64 4606796946805561078, i64 -4860934852880420904, i64 0, i64 4604518804980309430, i64 4356162679466477602, i64 4607182418800017408, i64 4602606933778178717, i64 4607423851397206729, i64 4608266457273682393, i64 4608195755318294076, i64 4608576551143396173, i64 4608777397359159945, i64 4609071513279993214], [13 x i64] [i64 4606686411840685633, i64 4357927307137580401, i64 0, i64 4604685616437902957, i64 4362529316301103572, i64 4611686018427387904, i64 -4621097438448369808, i64 4607634659459084806, i64 4608546381707013176, i64 4608571835738039466, i64 4609046507870463880, i64 4609356413220001386, i64 4609760724463972777], [13 x i64] [i64 4606575876875810189, i64 -4866678822605445776, i64 0, i64 4604855413792936143, i64 -4860884070414719250, i64 4611686018427387904, i64 -4621594757853348193, i64 4607856121798509564, i64 4608845496654624700, i64 4608978106422798561, i64 4609561376512589568, i64 4609998721328107050, i64 4610556433587772218], [13 x i64] [i64 4606465341910934744, i64 4363054230418480088, i64 0, i64 4605028330489603441, i64 4362971269156502254, i64 4611686018427387904, i64 -4622114372078060056, i64 4608088973056301147, i64 4609165354125752824, i64 4609417471942011886, i64 4610126104686276798, i64 4610712232016876845, i64 4611427675136608063], [13 x i64] [i64 4606354806946059300, i64 4350935120803146144, i64 0, i64 4605204506835705579, i64 -4866254719655180128, i64 4611686018427387904, i64 -4622657437714105971, i64 4608334007730019084, i64 4609507656455975118, i64 4609893158928458291, i64 4610746255789907766, i64 4611505968726718332, i64 4612060521279480311], [13 x i64] [i64 4606244271981183856, i64 -4862798546631604472, i64 0, i64 4605384090481542036, i64 4359943097857136479, i64 4611686018427387904, i64 -4623225192527124089, i64 4608592086011205952, i64 4609874273095991113, i64 4610408756901918657, i64 4611428111112474336, i64 4612038129660097563, i64 4612612690055544986], [13 x i64] [i64 4606133737016308411, i64 4360569566967293832, i64 0, i64 4605567236938410064, i64 -4865440090683790990, i64 4611686018427387904, i64 -4623818962219350600, i64 4608864140279308932, i64 4610267259544466367, i64 4610968264919059731, i64 4611932387709263303, i64 4612531435312594114, i64 4613246940492727626], [13 x i64] [i64 4606023202051432967, i64 -4872421223028119647, i64 0, i64 4605754110140626342, i64 4342935725017792288, i64 4611686018427387904, i64 -4624440167865361067, i64 4609151182336723884, i64 4610688878731868472, i64 4611576144978574266, i64 4612346117389140085, i64 4613082677922879985, i64 4613960610807716593], [13 x i64] [i64 4605912667086557523, i64 -4860313883180418216, i64 0, i64 4605944883055434482, i64 4356927083868028180, i64 4611686018427387904, i64 -4625090334098390049, i64 4609454311481638291, i64 4611141625214066317, i64 4611961700849877550, i64 4612802797350764406, i64 4613699635301432268, i64 4614785316066004955], [13 x i64] [i64 4605802132121682078, i64 4356685367737575023, i64 0, i64 4606139738345666947, i64 -4876476221710064200, i64 4611686018427387904, i64 -4626345378960095888, i64 4609774723529559069, i64 4611628252590595851, i64 4612321789499367252, i64 4613307589263707017, i64 4614391260926021448, i64 4615707978465902451], [13 x i64] [i64 4605691597156806634, i64 -4865436883205440399, i64 0, i64 4606338869090602286, i64 4357449227758806422, i64 4611686018427387904, i64 -4627771622162358618, i64 4610113720910953071, i64 4611918911530319174, i64 4612714475846533328, i64 4613866360388203856, i64 4615167884592997078, i64 4616473625846248820], [13 x i64] [i64 4605581062191931189, i64 4362433260718477399, i64 0, i64 4606542479571107791, i64 4334833839392762944, i64 4611686018427387904, i64 -4629266367130592658, i64 4610472723991725783, i64 4612200834558723074, i64 4613143272644650173, i64 4614485796047268442, i64 4616041448802913235, i64 4617078847109990930], [13 x i64] [i64 4605470527227055745, i64 4346425243966371641, i64 0, i64 4606750786125895430, i64 4362024744640739833, i64 4611686018427387904, i64 -4631966967054104732, i64 4610853283785825880, i64 4612504772227446102, i64 4613612131251820742, i64 4615173530976516972, i64 4616607702604150579, i64 4617765850325629337], [13 x i64] [i64 4605359992262180301, i64 -4862177576931601783, i64 0, i64 4606964018086558866, i64 -4875977911617241336, i64 4611686018427387904, i64 -4636307123205176000, i64 4611257096255701726, i64 4612832798157929597, i64 4614125504248163639, i64 4615938295505137316, i64 4617163291062279913, i64 4618556259395197173], [13 x i64] [i64 4605249457297304856, i64 4359948597267291143, i64 4607182418800017408, i64 -4624778170889461237, i64 4358007217889156756, i64 4602678819172646912, i64 -4629978635755032069, i64 -4634088853849051197, i64 4585720094603129508, i64 -4644807068348501325, i64 4573758146279805502, i64 -4655653169592236157, i64 4557542383519422958], [13 x i64] [i64 4605138922332429412, i64 -4869937344228108891, i64 4607182418800017408, i64 -4624861753062476631, i64 4352022627572386178, i64 4602678819172646912, i64 -4629866523298428714, i64 -4634190358725102618, i64 4585630469023165094, i64 -4645022033950979143, i64 4573556792717509146, i64 -4655861217281668997, i64 4562932398758119701], [13 x i64] [i64 4605028387367553968, i64 -4859692913480415527, i64 4607182418800017408, i64 -4624944995079842857, i64 -4870749607521037466, i64 4602678819172646912, i64 -4629756882097348095, i64 -4634376459123557109, i64 4585543444050344226, i64 -4645230939861744347, i64 4573363070843569366, i64 -4656061095567726120, i64 4554834341779086067], [13 x i64] [i64 4604917852402678523, i64 4355443428337569645, i64 4607182418800017408, i64 -4625027904462664385, i64 -4865436732782028959, i64 4598175219545276416, i64 4593620875812663444, i64 -4634573060237708096, i64 4585458946716358619, i64 -4645434011855648989, i64 4573176430879285906, i64 -4656253123002123529, i64 4562652305574550693], [13 x i64] [i64 4604807317437803079, i64 -4864194943805435021, i64 4607182418800017408, i64 -4625110488613173129, i64 -4867352057027187453, i64 4598175219545276416, i64 4593516060304215649, i64 -4634766595983421739, i64 4585376906767691494, i64 -4645631466863480547, i64 4572996767732426827, i64 -4656437689187745113, i64 4563613983259267816], [13 x i64] [i64 4604696782472927634, i64 4361812291018474710, i64 4607182418800017408, i64 -4625192754818183290, i64 -4867989963725377232, i64 4598175219545276416, i64 4593413601485285508, i64 -4634957155577660294, i64 4585297256561248921, i64 -4645823513381453746, i64 4572823829815882177, i64 -4656615138167919989, i64 4560145923673512303], [13 x i64] [i64 4604586247508052190, i64 -4916006530286248893, i64 4607182418800017408, i64 -4625352603195401866, i64 -4881702226370730028, i64 4598175219545276416, i64 4593313463367885029, i64 -4635144825793556414, i64 4585219930963107049, i64 -4646010351858210509, i64 4572657267993549004, i64 -4656849576616636747, i64 4558569164968820151], [13 x i64] [i64 4604475712543176746, i64 -4861556607231599094, i64 4607182418800017408, i64 -4625515906654380052, i64 4352072406438465164, i64 4598175219545276416, i64 4593215611014362559, i64 -4635329691050988622, i64 4585144867251446472, i64 -4646192175063608775, i64 4572496847912501582, i64 -4657177865140422521, i64 4559235044645929034], [13 x i64] [i64 4604365177578301301, i64 4359170815839936780, i64 4607182418800017408, i64 -4625678616624505815, i64 4339256959863010336, i64 4598175219545276416, i64 4593120010509061948, i64 -4635511833503686678, i64 4585072005024831013, i64 -4646369168437607239, i64 4572342322520648001, i64 -4657493798260116977, i64 4562897512673809489], [13 x i64] [i64 4604254642613425857, i64 -4867922331307802156, i64 4607182418800017408, i64 -4625840746821444767, i64 4354056264548526955, i64 4598175219545276416, i64 4593026628931030180, i64 -4635691333123025177, i64 4585001286114041912, i64 -4646541510425686156, i64 4572193537185952488, i64 -4657797897738781746, i64 4563232279614574858], [13 x i64] [i64 4604144107648550412, i64 4363675984769658278, i64 4607182418800017408, i64 -4626002310761846347, i64 -4876768481471052816, i64 4598175219545276416, i64 4592935434327733758, i64 -4635868267778656085, i64 4584932654498485380, i64 -4646709372794643595, i64 4572050323648828566, i64 -4658090749650904136, i64 4555077696147560251], [13 x i64] [i64 4604033572683674968, i64 4353422138207858903, i64 4607182418800017408, i64 -4626163321769207817, i64 -4871349420022568426, i64 4598175219545276416, i64 4592846395689745939, i64 -4636042713316123607, i64 4584866056226665305, i64 -4646872920936527217, i64 4571912297860475616, i64 -4658372784687940587, i64 4559677121438094096], [13 x i64] [i64 4603923037718799524, i64 -4863420300982782662, i64 4607182418800017408, i64 -4626323792979585837, i64 -4879534666063552836, i64 4598175219545276416, i64 4592759482926368639, i64 -4636214743631597975, i64 4584801439338164760, i64 -4647032314154212718, i64 4571779425140631314, i64 -4658644549726969037, i64 4555877949297042667], [13 x i64] [i64 4603812502753924079, i64 4361191321318472021, i64 4607182418800017408, i64 -4626483737347161231, i64 4354098607996319875, i64 4598175219545276416, i64 4592674666842154439, i64 -4636384430743858179, i64 4584738753792409843, i64 -4647187705937818955, i64 4571651373114559019, i64 -4658906448050277972, i64 4562971324162967308], [13 x i64] [i64 4603701967789048635, i64 -4876921684050788139, i64 4607182418800017408, i64 -4626643167649662373, i64 -4876075337306106796, i64 4598175219545276416, i64 4592591919114295720, i64 -4636551844863647602, i64 4584677951397112085, i64 -4647339244223964029, i64 4571528175968442961, i64 -4659158987485232008, i64 4557512354796145492], [13 x i64] [i64 4603591432824173191, i64 -4860935637531596405, i64 4607182418800017408, i64 -4626802096493652408, i64 -4878000281165191840, i64 4598175219545276416, i64 4592511212270849394, i64 -4636717054460520621, i64 4584573550824503140, i64 -4647487071647084696, i64 4571409447713194852, i64 -4659402534923597791, i64 4561972826082553164], [13 x i64] [i64 4603480897859297746, i64 4357928876439931402, i64 4607182418800017408, i64 -4626960536319685358, i64 4351270085809605559, i64 4598175219545276416, i64 4592432519669767164, i64 -4636880126327292820, i64 4584459203620832340, i64 -4647631325774765389, i64 4571295246951028557, i64 -4659637583549961844, i64 -4682723727771325316], [13 x i64] [i64 4603370362894422302, i64 -4866680391907796778, i64 4607182418800017408, i64 -4627118499407335950, i64 -4890638821760277536, i64 4598175219545276416, i64 4592355815478702539, i64 -4637041125642202156, i64 4584348354458168517, i64 -4647829463229190118, i64 4571185153268325888, i64 -4659864362777701634, i64 4559320671627534933], [13 x i64] [i64 4603259827929546857, i64 4363055015069655589, i64 4607182418800017408, i64 -4627275997880107852, i64 4353447368040891150, i64 4598175219545276416, i64 4592281074655567179, i64 -4637200116028883603, i64 4584240920472448141, i64 -4648104465437656300, i64 4571004865649507018, i64 -4660083377915328930, i64 4556132967387019217], [13 x i64] [i64 4603149292964671413, i64 4350938259407848147, i64 4607182418800017408, i64 -4627433043710224845, i64 -4870650760510280223, i64 4598175219545276416, i64 4592208272929810310, i64 -4637357159614254987, i64 4584136821890775094, i64 -4648373090111632520, i64 4570801018198657613, i64 -4660294937563597749, i64 -4674014235057900460], [13 x i64] [i64 4603038757999795969, i64 -4862799331282779973, i64 4607182418800017408, i64 -4627589648723309267, i64 4350796050658525701, i64 4598175219545276416, i64 4592137386784396177, i64 -4637512317084407440, i64 4584035981924223605, i64 -4648635576197586026, i64 4570604651145551039, i64 -4660499309663907599, i64 4555132822491310617], [13 x i64] [i64 4602928223034920524, i64 4360570351618469333, i64 4607182418800017408, i64 -4627745824602951970, i64 -4872526035178081009, i64 4598175219545276416, i64 4592068393438455591, i64 -4637665647738589625, i64 4583938326664985769, i64 -4648892154579832210, i64 4570415776467147076, i64 -4660696882850938362, i64 4553912883126959730], [13 x i64] [i64 4602817688070045080, i64 -4872424361632821650, i64 4607182418800017408, i64 -4627901582895177818, i64 -4875775602527812730, i64 4598175219545276416, i64 4592001270830588697, i64 -4637817209541370922, i64 4583843784991984764, i64 -4649143048444497354, i64 4570234074590084543, i64 -4660887958172027675, i64 4547220814476977910], [13 x i64] [i64 4602707153105169636, i64 -4860314667831593716, i64 4607182418800017408, i64 -4628056935012810690, i64 4353974125781758498, i64 4598175219545276416, i64 4591935997602797130, i64 -4637967059173065044, i64 4583752288477853880, i64 -4649388473623883223, i64 4570059135776758942, i64 -4661072765854896006, i64 4560965924194060186], [13 x i64] [i64 4602514417107941470, i64 4356686937039926025, i64 4607182418800017408, i64 -4628211892239741762, i64 4353160152680022476, i64 4598175219545276416, i64 4591872553085024690, i64 -4638115252078491963, i64 4583663771298726301, i64 -4649628638922211214, i64 4569891183879297475, i64 -4661277804850375266, i64 -4673884526712801084], [13 x i64] [i64 4602293347178190582, i64 -4865438452507791400, i64 4607182418800017408, i64 -4628366465735104746, i64 -4875986595149141536, i64 4598175219545276416, i64 4591810917280286592, i64 -4638261842514152614, i64 4583578170154551260, i64 -4649863746439024356, i64 4569729412569701578, i64 -4661624183685565216, i64 4559174654597833765], [13 x i64] [i64 4602072277248439693, i64 -4871182422232816272, i64 4607182418800017408, i64 -4628520666537361643, i64 -4872031279741549020, i64 4598175219545276416, i64 4591751070850368281, i64 -4638406883593887754, i64 4583495424182530437, i64 -4650093991860818278, i64 4569574200456210285, i64 -4661959949273015461, i64 -4670895104959302604], [13 x i64] [i64 4601851207318688804, i64 4346431521175775648, i64 4607182418800017408, i64 -4628674505568302447, i64 -4877176040468183046, i64 4598175219545276416, i64 4591692995102075595, i64 -4638550427333089150, i64 4583415474886528284, i64 -4650319564762750558, i64 4569424838436365334, i64 -4662285190453006319, i64 4553778510337909992], [13 x i64] [i64 4601630137388937915, i64 4356065967339923336, i64 4607182418800017408, i64 -4628827993636962125, i64 4352294831248058098, i64 4598175219545276416, i64 4591636671974018953, i64 -4638692524691528606, i64 4583338266058264132, i64 -4650540648874063816, i64 4569281509000668675, i64 -4662600651948253422, i64 -4684744896252118777], [13 x i64] [i64 4601409067459187027, i64 -4864817482807788712, i64 4607182418800017408, i64 -4628981141443458104, i64 4327091393622090496, i64 4598175219545276416, i64 4591582084023914959, i64 -4638958835038123914, i64 4583263743711721505, i64 -4650757422353937760, i64 4569143672376553708, i64 -4662906532317318144, i64 4562326681652174663], [13 x i64] [i64 4601187997529436138, i64 -4869940482832810895, i64 4607182418800017408, i64 -4629133959582751384, i64 -4872407373306747342, i64 4598175219545276416, i64 4591529214416389630, i64 -4639237541958201727, i64 4583191856011610438, i64 -4650970058036406598, i64 4569011776974181239, i64 -4663203726541079855, i64 -4669658095982487032], [13 x i64] [i64 4600966927599685249, i64 4341921644339001145, i64 4607182418800017408, i64 -4629286458548334318, i64 4349682868321504936, i64 4598175219545276416, i64 4591478046911268117, i64 -4639513650025656707, i64 4583122553215753123, i64 -4651178723688895711, i64 4568885023381407208, i64 -4663492175567568550, i64 -4676552856420096512], [13 x i64] [i64 4600745857669934360, i64 4355444997639920647, i64 4607182418800017408, i64 -4629438648735847994, i64 4348278930786759266, i64 4598175219545276416, i64 4591428565852336548, i64 -4639787253520644726, i64 4583055787608731293, i64 -4651383582235346361, i64 4568763375882273258, i64 -4663772327635622375, i64 4560924372770600526], [13 x i64] [i64 4600524787740183472, i64 -4864196513107786023, i64 4607182418800017408, i64 -4629590540446632068, i64 -4877935474171736676, i64 4598175219545276416, i64 4591380756156562223, i64 -4640058445003117443, i64 4582991513445152726, i64 -4651584791983781820, i64 4568647105604458849, i64 -4664044958187308307, i64 4543699203353283181], [13 x i64] [i64 4600303717810432583, i64 -4868698543432805517, i64 4607182418800017408, i64 -4629783870845549773, i64 -4879690285976629042, i64 4598175219545276416, i64 4591334603303759067, i64 -4640327315384354599, i64 4582929686897523432, i64 -4651782506852746335, i64 4568535647966022909, i64 -4664310047525357685, i64 4545278743729587914], [13 x i64] [i64 4600082647880681694, i64 -4920510129913619389, i64 4607182418800017408, i64 -4630086521448552502, i64 -4879489061695357072, i64 4598175219545276416, i64 4591290093326685868, i64 -4640593953996510072, i64 4582870265999540653, i64 -4651976876568980838, i64 4568429075713967714, i64 -4664568174520157105, i64 -4668688209782239323], [13 x i64] [i64 4599861577950930805, i64 4354667216212566284, i64 4607182418800017408, i64 -4630388635843602561, i64 -4885485371368489044, i64 4598175219545276416, i64 4591247212801565381, i64 -4640858448660265962, i64 4582813210599124474, i64 -4652168046878280269, i64 4568326946615447878, i64 -4664819335497650596, i64 4559831377493543259], [13 x i64] [i64 4599640508021179916, i64 4359172385142287782, i64 4607182418800017408, i64 -4630690233947453608, i64 4346278483000200718, i64 4598175219545276416, i64 4591205948839012992, i64 -4641120885750685831, i64 4582758482307321844, i64 -4652493904383904013, i64 4568229532909302768, i64 -4665064238160530454, i64 4561400721964631775], [13 x i64] [i64 4599419438091429028, i64 -4867923900610153158, i64 4607182418800017408, i64 -4630991335521917201, i64 4348010723058587538, i64 4598175219545276416, i64 4591166289075364142, i64 -4641381350261354520, i64 4582706044455716326, i64 -4652864291858028964, i64 4568136807736503259, i64 -4665303342321073350, i64 -4668464120229043421], [13 x i64] [i64 4599198368161678139, i64 -4881425283678158635, i64 4607182418800017408, i64 -4631291960180263130, i64 4347479764785064872, i64 4598175219545276416, i64 4591128221664390271, i64 -4641639925866889089, i64 4582655862054458603, i64 -4653229110960336645, i64 4568048024804937977, i64 -4665536263233111103, i64 4560690366370751758], [13 x i64] [i64 4598977298231927250, i64 4353425276812560906, i64 4607182418800017408, i64 -4631592127393520424, i64 4346083354046384194, i64 4598175219545276416, i64 4591091735269393547, i64 -4641896694983902442, i64 4582607901745534317, i64 -4653588625020476238, i64 4567963819755636683, i64 -4665798984759577473, i64 -4683492754615196022], [13 x i64] [i64 4598756228302176361, i64 4358551415442285093, i64 4607182418800017408, i64 -4631891856496683622, i64 -4876908224719542804, i64 4598175219545276416, i64 4591056819055671096, i64 -4642151738830497974, i64 4582562131771430960, i64 -4653943091227753972, i64 4567883476649861569, i64 -4666243707537096770, i64 4560444043768249087], [13 x i64] [i64 4598535158372425473, i64 -4867302930910150469, i64 4607182418800017408, i64 -4632191166694828786, i64 -4890963307406823568, i64 4598175219545276416, i64 4591023462683339999, i64 -4642405137484371657, i64 4582518521931249795, i64 -4654292760910586926, i64 4567807496465616783, i64 -4666679290503771198, i64 -4670183564936412521], [13 x i64] [i64 4598314088442674584, i64 -4876927961260192146, i64 4607182418800017408, i64 -4632490077069143640, i64 4336676389090713296, i64 4598175219545276416, i64 4590991656300514692, i64 -4642656969939594620, i64 4582477043552630132, i64 -4654637879894938403, i64 4567735130992649100, i64 -4667104858908463523, i64 4560422432238091439], [13 x i64] [i64 4598010817480570974, i64 4352183337412555529, i64 4607182418800017408, i64 -4632788606582876098, i64 4346376124818992524, i64 4598175219545276416, i64 4590961390536828937, i64 -4642907314162147775, i64 4582437669451615450, i64 -4654978688762038707, i64 4567666991427086052, i64 -4667522556535496050, i64 -4670589217061545739], [13 x i64] [i64 4597568677621069197, i64 -4875686021860186768, i64 4607182418800017408, i64 -4633086774087205376, i64 -4878808937889194232, i64 4598175219545276416, i64 4590932656497294873, i64 -4643156247144276942, i64 4582400373908916876, i64 -4655315423195732909, i64 4567602365838889606, i64 -4667931304530643192, i64 4557125965438598977], [13 x i64] [i64 4597126537761567419, i64 4351562367712552840, i64 4607182418800017408, i64 -4633384598327039770, i64 4334995346014921056, i64 4598175219545276416, i64 4590905445756492162, i64 -4643596474096490141, i64 4582365132633972149, i64 -4655648314220471380, i64 4567541623228586365, i64 -4668332744321550515, i64 4552895165171735106], [13 x i64] [i64 4596684397902065642, i64 -4874444082460181391, i64 4607182418800017408, i64 -4633682097946745123, i64 4346351308622155156, i64 4598175219545276416, i64 4590879750353080564, i64 -4644089149792980190, i64 4582331922742197030, i64 -4655977588517481845, i64 4567484452814274779, i64 -4668726721325071362, i64 4558117575680634890], [13 x i64] [i64 4596242258042563864, i64 4350941398012550151, i64 4607182418800017408, i64 -4633979291495807897, i64 -4879790532250652052, i64 4598175219545276416, i64 4590855562784629738, i64 -4644579454331782939, i64 4582300722725799161, i64 -4656303468669861340, i64 4567431057068520619, i64 -4669114451033544365, i64 -4670975748042494630], [13 x i64] [i64 4595800118183062087, i64 -4873202143060176013, i64 4607182418800017408, i64 -4634348378304633044, i64 -4881906162414972124, i64 4598175219545276416, i64 4590832876002760394, i64 -4645067534952040322, i64 4582271512432430453, i64 -4656626173451222156, i64 4567381092337986092, i64 -4669495567070386144, i64 -4668020946215891256], [13 x i64] [i64 4595357978323560309, i64 4350163616585195788, i64 4607182418800017408, i64 -4634941651713971931, i64 -4887521302489631184, i64 4598175219545276416, i64 4590811683408591332, i64 -4645553537458143361, i64 4582244273040563658, i64 -4657169821433828403, i64 4567334382049686381, i64 -4669870023011335500, i64 4560869116418128815], [13 x i64] [i64 4594915838464058532, i64 -4872427500237523654, i64 4607182418800017408, i64 -4635534423251852707, i64 4331614504524349360, i64 4598175219545276416, i64 4590791978848487240, i64 -4646037606316968759, i64 4582218987036739887, i64 -4657803814074079000, i64 4567291517229037617, i64 -4670248350180626219, i64 -4666428380991694916], [13 x i64] [i64 4594473698604556754, i64 4348921677185190410, i64 4607182418800017408, i64 -4636126729369126306, i64 -4879420435869361618, i64 4598175219545276416, i64 4590773756610102472, i64 -4646519884753617789, i64 4582195638202185572, i64 -4658432727815913868, i64 4567251605418544075, i64 -4670976076491746521, i64 4560553516649508516], [13 x i64] [i64 4594031558745054977, i64 -4871806530537520965, i64 4607182418800017408, i64 -4636718606381819271, i64 4343718343138330764, i64 4598175219545276416, i64 4590757011418716419, i64 -4647000514845769707, i64 4582174211586067638, i64 -4659056974590104825, i64 4567215418666771155, i64 -4671697879446922831, i64 -4669863945316551540], [13 x i64] [i64 4593507217853200478, i64 4347679737785185033, i64 4607182418800017408, i64 -4637310090481832667, i64 -4884484184606235742, i64 4598175219545276416, i64 4590741738433856337, i64 -4647479637616756572, i64 4582154693497278158, i64 -4659676961237944329, i64 4567182336769349466, i64 -4672409781688281682, i64 -4671928121946804212], [13 x i64] [i64 4592622938134196923, i64 4347058768085182344, i64 4607182418800017408, i64 -4637901217747561580, i64 -4878524882919569227, i64 4598175219545276416, i64 4590727933246203925, i64 -4648199970808583457, i64 4582137071483585551, i64 -4660293089837487433, i64 4567152403136172607, i64 -4673112809321234023, i64 4557978468687305228], [13 x i64] [i64 4591738658415193368, i64 4346437798385179655, i64 4607182418800017408, i64 -4638492024154442152, i64 4327838794392505344, i64 4598175219545276416, i64 4590715591874782188, i64 -4649153025688021753, i64 4582121334318800382, i64 -4660905758162908537, i64 4567125978305786888, i64 -4673812417227983817, i64 -4666607776446175281], [13 x i64] [i64 4590854378696189813, i64 4345660016957825292, i64 4607182418800017408, i64 -4639457474979255068, i64 4319359263866596928, i64 4598175219545276416, i64 4590704710764419477, i64 -4650103901240578782, i64 4582107471993544386, i64 -4661805106170208810, i64 4567102586426291858, i64 -4674504178614815825, i64 -4666750197029254719], [13 x i64] [i64 4589970098977186258, i64 4344418077557819914, i64 4607182418800017408, i64 -4640638019491264332, i64 -4902779249059518896, i64 4598175219545276416, i64 4590695286783487918, i64 -4651052872895912921, i64 4582095475700324657, i64 -4663018959068619539, i64 4567082326258483633, i64 -4675643897021626861, i64 -4672069070976230819], [13 x i64] [i64 4589003618225829982, i64 4343176138157814537, i64 4607182418800017408, i64 -4641818137111738993, i64 -4887170932872431156, i64 4598175219545276416, i64 4590687317221913715, i64 -4652000214874730979, i64 4582085337825592110, i64 -4664228236014592425, i64 4567065231687777734, i64 -4677007342370253844, i64 -4679476836736582083], [13 x i64] [i64 4587235058787822872, i64 4341934198757809159, i64 4607182418800017408, i64 -4642997899176397156, i64 4333350258949124930, i64 4598175219545276416, i64 4590680799789457147, i64 -4653673985654178460, i64 4582077051941327201, i64 -4665433707309853752, i64 4567051286118801581, i64 -4678364108981751287, i64 -4682207103565206574], [13 x i64] [i64 4585466499349815762, i64 4339914477930449418, i64 4607182418800017408, i64 -4645143538018636783, i64 -4889987340834859379, i64 4598175219545276416, i64 4590675732614260364, i64 -4655563788307727659, i64 4582070612798003510, i64 -4667543064258857252, i64 4567040413075783870, i64 -4680184711879220441, i64 4552445063229256361], [13 x i64] [i64 4582731459160452376, i64 4337430599130438663, i64 4607182418800017408, i64 -4647502067162827121, i64 -4887586527850954920, i64 4598175219545276416, i64 4590672114241661387, i64 -4658181917133568343, i64 4582066016318519259, i64 -4669943374524766673, i64 4567032587706267126, i64 -4682856955273898318, i64 4560654100904392070], [13 x i64] [i64 4578227859533081880, i64 4332926999503068167, i64 4607182418800017408, i64 -4652005808849392350, i64 -4899042471491292206, i64 4598175219545276416, i64 4590669943633273010, i64 -4662686599210246864, i64 4582063259593178463, i64 -4674448489735753767, i64 4567028033749312267, i64 -4687366600510756171, i64 4555052760042461171], [13 x i64] [i64 0, i64 0, i64 4607182418800017408, i64 0, i64 0, i64 4598175219545276416, i64 4590669220166325589, i64 0, i64 4582062340878674046, i64 0, i64 4567026436452364843, i64 0, i64 4559330271974841800], [13 x i64] [i64 -4645144177321693928, i64 -4890445037351707641, i64 4607182418800017408, i64 4571366228005383458, i64 4324329565351419710, i64 4598175219545276416, i64 4590669943633273010, i64 4560685437644528944, i64 4582063259593178463, i64 4548923547119022097, i64 4567028033749312581, i64 4536005436333318205, i64 4555052759969848146], [13 x i64] [i64 -4640640577694323432, i64 -4885941437724337145, i64 4607182418800017408, i64 4575869969691948687, i64 4335785509003792723, i64 4598175219545276416, i64 4590672114241661387, i64 4565190119721207465, i64 4582066016318519259, i64 4553428662330009134, i64 4567032587706267155, i64 4540515081581105302, i64 4560654100901085576], [13 x i64] [i64 -4637905537504960046, i64 -4883457558924326390, i64 4607182418800017408, i64 4578228498836139025, i64 4333384696020097140, i64 4598175219545276416, i64 4590675732614260364, i64 4567808248547048149, i64 4582070612798003510, i64 4555828972595918548, i64 4567040413075783717, i64 4543187324977319024, i64 4552445063300340340], [13 x i64] [i64 -4636136978066952936, i64 -4881437838096966649, i64 4607182418800017408, i64 4580374137678378652, i64 -4890021777902760328, i64 4598175219545276416, i64 4590680799789457147, i64 4569698051200597348, i64 4582077051941327201, i64 4557938329544922107, i64 4567051286118803417, i64 4545007927861904336, i64 -4682207100152651962], [13 x i64] [i64 -4634368418628945826, i64 -4880195898696961271, i64 4607182418800017408, i64 4581553899743036815, i64 4336201103982194994, i64 4598175219545276416, i64 4590687317221913715, i64 4571371821980044829, i64 4582085337825592110, i64 4559143800840183384, i64 4567065231687777872, i64 4546364694484322497, i64 -4679476836486184474], [13 x i64] [i64 -4633401937877589550, i64 -4878953959296955894, i64 4607182418800017408, i64 4582734017363511476, i64 4320592787793316672, i64 4598175219545276416, i64 4590695286783487918, i64 4572319163958862887, i64 4582095475700324657, i64 4560353077786156270, i64 4567082326258483777, i64 4547728139832972907, i64 -4672069070911438605], [13 x i64] [i64 -4632517658158585995, i64 -4877712019896950516, i64 4607182418800017408, i64 4583914561875520740, i64 -4904012772984262672, i64 4598175219545276416, i64 4590704710764419477, i64 4573268135614197026, i64 4582107471993544386, i64 4561566930684567000, i64 4567102586426292015, i64 4548867858239785057, i64 -4666750196994388204], [13 x i64] [i64 -4631633378439582440, i64 -4876934238469596153, i64 4607182418800017408, i64 4584880012700333656, i64 -4895533242460127696, i64 4598175219545276416, i64 4590715591874782188, i64 4574219011166754055, i64 4582121334318800382, i64 4562466278691867272, i64 4567125978305786987, i64 4549559619626624095, i64 -4666607776424759958], [13 x i64] [i64 -4630749098720578885, i64 -4876313268769593464, i64 4607182418800017408, i64 4585470819107214228, i64 4344847153935297228, i64 4598175219545276416, i64 4590727933246203925, i64 4575172066046192351, i64 4582137071483585551, i64 4563078947017288374, i64 4567152403136172581, i64 4550259227533732250, i64 4557978468689966719], [13 x i64] [i64 -4629864819001575330, i64 -4875692299069590775, i64 4607182418800017408, i64 4586061946372943141, i64 4338887852248224292, i64 4598175219545276416, i64 4590741738433856337, i64 4575892399238019236, i64 4582154693497278158, i64 4563695075616831481, i64 4567182336769349478, i64 4550962255166101217, i64 -4671928121943196813], [13 x i64] [i64 -4629340478109720831, i64 4351565506317254843, i64 4607182418800017408, i64 4586653430472956537, i64 -4879653693716275327, i64 4598175219545276416, i64 4590757011418716419, i64 4576371522009006101, i64 4582174211586067638, i64 4564315062264670985, i64 4567215418666771141, i64 4551674157407467627, i64 -4669863945320937380], [13 x i64] [i64 -4628898338250219054, i64 -4874450359669585398, i64 4607182418800017408, i64 4587245307485649502, i64 4343951600985646170, i64 4598175219545276416, i64 4590773756610102472, i64 4576852152101158019, i64 4582195638202185572, i64 4564939309038861937, i64 4567251605418544117, i64 4552395960363619202, i64 4560553516643970981], [13 x i64] [i64 -4628456198390717276, i64 4350944536617252154, i64 4607182418800017408, i64 4587837613602923101, i64 -4891757532330472640, i64 4598175219545276416, i64 4590791978848487240, i64 4577334430537807049, i64 4582218987036739887, i64 4565568222780696808, i64 4567291517229037726, i64 4553123686674147250, i64 -4666428380966773482], [13 x i64] [i64 -4628014058531215499, i64 -4873208420269580020, i64 4607182418800017408, i64 4588430385140803877, i64 4335850734365125240, i64 4598175219545276416, i64 4590811683408591332, i64 4577818499396632447, i64 4582244273040563658, i64 4566202215420947405, i64 4567334382049686293, i64 4553502013843441285, i64 4560869116428188967], [13 x i64] [i64 -4627571918671713721, i64 4350169893794599795, i64 4607182418800017408, i64 4589023658550142764, i64 4341465874439811386, i64 4598175219545276416, i64 4590832876002760394, i64 4578304501902735486, i64 4582271512432430453, i64 4566745863403553652, i64 4567381092337986197, i64 4553876469784388872, i64 -4668020946191886409], [13 x i64] [i64 -4627129778812211944, i64 -4872430638842225657, i64 4607182418800017408, i64 4589392745358967911, i64 4343581504604126612, i64 4598175219545276416, i64 4590855562784629738, i64 4578792582522992869, i64 4582300722725799161, i64 4567068568184914468, i64 4567431057068520697, i64 4554257585821230858, i64 -4670975748006830650], [13 x i64] [i64 -4626687638952710166, i64 4348927954394594417, i64 4607182418800017408, i64 4589689938908030685, i64 -4877020728232619806, i64 4598175219545276416, i64 4590879750353080564, i64 4579282887061795618, i64 4582331922742197030, i64 4567394448337293963, i64 4567484452814274732, i64 4554645315529704792, i64 4558117575686007319], [13 x i64] [i64 -4626245499093208389, i64 -4871809669142222968, i64 4607182418800017408, i64 4589987438527736038, i64 -4888376690839855088, i64 4598175219545276416, i64 4590905445756492162, i64 4579775562758285667, i64 4582365132633972149, i64 4567723722634304428, i64 4567541623228586367, i64 4555039292533225276, i64 4552895165170820563], [13 x i64] [i64 -4625803359233706611, i64 4347686014994589040, i64 4607182418800017408, i64 4590285262767570432, i64 4344563098965580474, i64 4598175219545276416, i64 4590932656497294873, i64 4580215789710498866, i64 4582400373908916876, i64 4568056613659042899, i64 4567602365838889574, i64 4555440732324132840, i64 4557125965445914654], [13 x i64] [i64 -4625361219374204834, i64 -4871188699442220279, i64 4607182418800017408, i64 4590583430271899710, i64 -4876995912035784602, i64 4598175219545276416, i64 4590961390536828937, i64 4580464722692628033, i64 4582437669451615450, i64 4568393348092737101, i64 4567666991427086127, i64 4555849480319279224, i64 -4670589217027253522], [13 x i64] [i64 -4625057948412101224, i64 4346444075594583662, i64 4607182418800017408, i64 4590881959785632168, i64 -4886695647764051816, i64 4598175219545276416, i64 4590991656300514692, i64 4580715066915181188, i64 4582477043552630132, i64 4568734156959837405, i64 4567735130992649023, i64 4556267177946312826, i64 4560422432246893091], [13 x i64] [i64 -4624836878482350335, i64 4356069105944625339, i64 4607182418800017408, i64 4591180870159947022, i64 4332408729447973200, i64 4598175219545276416, i64 4591023462683339999, i64 4580966899370404151, i64 4582518521931249795, i64 4569079275944188882, i64 4567807496465616858, i64 4556692746351004082, i64 -4670183564919266652], [13 x i64] [i64 -4624615808552599447, i64 -4864820621412490715, i64 4607182418800017408, i64 4591480180358092186, i64 4346463812135231761, i64 4598175219545276416, i64 4591056819055671096, i64 4581220298024277834, i64 4582562131771430960, i64 4569428945627021836, i64 4567883476649861497, i64 4557128329317679539, i64 4560444043776479144], [13 x i64] [i64 -4624394738622848558, i64 -4869946760042214902, i64 4607182418800017408, i64 4591779909461255384, i64 -4877288682808392380, i64 4598175219545276416, i64 4591091735269393547, i64 4581475341870873366, i64 4582607901745534317, i64 4569783411834299570, i64 4567963819755636726, i64 4557573052095198028, i64 -4683492754536552838], [13 x i64] [i64 -4624173668693097669, i64 4341946753176617173, i64 4607182418800017408, i64 4592080076674512678, i64 -4875892272069709704, i64 4598175219545276416, i64 4591128221664390271, i64 4581732110987886719, i64 4582655862054458603, i64 4570142925894439163, i64 4568048024804937906, i64 4557835773621664952, i64 4560690366378867442], [13 x i64] [i64 -4623952598763346780, i64 4355448136244622650, i64 4607182418800017408, i64 4592380701332858607, i64 -4875361313796189750, i64 4598175219545276416, i64 4591166289075364142, i64 4581990686593421288, i64 4582706044455716326, i64 4570507744996746844, i64 4568136807736503343, i64 4558068694533702162, i64 -4668464120209840127], [13 x i64] [i64 -4623731528833595892, i64 -4864199651712488026, i64 4607182418800017408, i64 4592681802907322200, i64 -4877093553854573757, i64 4598175219545276416, i64 4591205948839012992, i64 4582251151104089977, i64 4582758482307321844, i64 4570878132470871795, i64 4568229532909302691, i64 4558307798694245620, i64 4561400721973433181], [13 x i64] [i64 -4623510458903845003, i64 -4868704820642209524, i64 4607182418800017408, i64 4592983401011173247, i64 4337886665486283116, i64 4598175219545276416, i64 4591247212801565381, i64 4582513588194509846, i64 4582813210599124474, i64 4571203989976495539, i64 4568326946615447825, i64 4558552701357125394, i64 4559831377499601337], [13 x i64] [i64 -4623289388974094114, i64 4302861906941156419, i64 4607182418800017408, i64 4593285515406223306, i64 4343882975159421612, i64 4598175219545276416, i64 4591290093326685868, i64 4582778082858265736, i64 4582870265999540653, i64 4571395160285794970, i64 4568429075713967795, i64 4558803862334618417, i64 -4668688209763721963], [13 x i64] [i64 -4623068319044343225, i64 4354673493421970291, i64 4607182418800017408, i64 4593588166009226035, i64 4343681750878147880, i64 4598175219545276416, i64 4591334603303759067, i64 4583044721470421209, i64 4582929686897523432, i64 4571589530002029473, i64 4568535647966022940, i64 4559061989329418012, i64 4545278743701240281], [13 x i64] [i64 -4622847249114592336, i64 4359175523746989785, i64 4607182418800017408, i64 4593781496408143740, i64 4345436562683040356, i64 4598175219545276416, i64 4591380756156562223, i64 4583313591851658365, i64 4582991513445152726, i64 4571787244870993988, i64 4568647105604458883, i64 4559327078667467380, i64 4543699203291101687], [13 x i64] [i64 -4622626179184841448, i64 -4867927039214855161, i64 4607182418800017408, i64 4593933388118927814, i64 -4875093106068015508, i64 4598175219545276416, i64 4591428565852336548, i64 4583584783334131082, i64 4583055787608731293, i64 4571988454619429447, i64 4568763375882273199, i64 4559599709219153638, i64 4560924372777344465], [13 x i64] [i64 -4622405109255090559, i64 -4881450392515774663, i64 4607182418800017408, i64 4594085578306441490, i64 -4873689168533271834, i64 4598175219545276416, i64 4591478046911268117, i64 4583858386829119101, i64 4583122553215753123, i64 4572193313165880097, i64 4568885023381407261, i64 4559879861287207067, i64 -4676552856371631046], [13 x i64] [i64 -4622184039325339670, i64 4353431554021964913, i64 4607182418800017408, i64 4594238077272024424, i64 4350964663548029137, i64 4598175219545276416, i64 4591529214416389630, i64 4584134494896574081, i64 4583191856011610438, i64 4572401978818369210, i64 4569011776974181314, i64 4560168310313695687, i64 -4669658095965341513], [13 x i64] [i64 -4621962969395588781, i64 4358554554046987096, i64 4607182418800017408, i64 4594390895411317704, i64 -4896280643232644224, i64 4598175219545276416, i64 4591582084023914959, i64 4584413201816651894, i64 4583263743711721505, i64 4572614614500838048, i64 4569143672376553635, i64 4560465504537457918, i64 4562326681656346727], [13 x i64] [i64 -4621741899465837893, i64 -4867306069514852472, i64 4607182418800017408, i64 4594544043217813683, i64 -4871077205606718140, i64 4598175219545276416, i64 4591636671974018953, i64 4584679512163247202, i64 4583338266058264132, i64 4572831387980711992, i64 4569281509000668722, i64 4560771384906522216, i64 -4684744896080204736], [13 x i64] [i64 -4621520829536087004, i64 -4876940515679000160, i64 4607182418800017408, i64 4594697531286473361, i64 4346195996386593030, i64 4598175219545276416, i64 4591692995102075595, i64 4584821609521686658, i64 4583415474886528284, i64 4573052472092025250, i64 4569424838436365348, i64 4561086846401769436, i64 4553778510334709480], [13 x i64] [i64 -4621299759606336115, i64 4352189614621959536, i64 4607182418800017408, i64 4594851370317414165, i64 4351340757113227435, i64 4598175219545276416, i64 4591751070850368281, i64 4584965153260888054, i64 4583495424182530437, i64 4573278044993957530, i64 4569574200456210356, i64 4561412087581760092, i64 -4670895104926840428], [13 x i64] [i64 -4621078689676585226, i64 4357933584346984408, i64 4607182418800017408, i64 4595005571119671062, i64 4347385441705633848, i64 4598175219545276416, i64 4591810917280286592, i64 4585110194340623194, i64 4583578170154551260, i64 4573508290415751452, i64 4569729412569701554, i64 4561747853169210675, i64 4559174654600577089], [13 x i64] [i64 -4620857619746834338, i64 -4866685099814849783, i64 4607182418800017408, i64 4595160144615034046, i64 -4870211884174753914, i64 4598175219545276416, i64 4591872553085024690, i64 4585256784776283845, i64 4583663771298726301, i64 4573743397932564594, i64 4569891183879297539, i64 4562094232004400313, i64 -4673884526683539604], [13 x i64] [i64 -4620664883749606172, i64 4363057369023182092, i64 4607182418800017408, i64 4595315101841965118, i64 -4869397911073016941, i64 4598175219545276416, i64 4591935997602797130, i64 4585404977681710764, i64 4583752288477853880, i64 4573983563230892585, i64 4570059135776758900, i64 4562299270999879875, i64 4560965924198860872], [13 x i64] [i64 -4620554348784730728, i64 4350947675221954158, i64 4607182418800017408, i64 4595470453959597990, i64 4347596434326963814, i64 4598175219545276416, i64 4592001270830588697, i64 4585554827313404886, i64 4583843784991984764, i64 4574228988410278454, i64 4570234074590084583, i64 4562484078682748061, i64 4547220814440401488], [13 x i64] [i64 -4620443813819855284, i64 -4862801685236306475, i64 4607182418800017408, i64 4595626212251823838, i64 4350846001676695004, i64 4598175219545276416, i64 4592068393438455591, i64 4585706389116186183, i64 4583938326664985769, i64 4574479882274943598, i64 4570415776467147097, i64 4562675154003837406, i64 4553912883122158897], [13 x i64] [i64 -4620333278854979839, i64 4360572705571995835, i64 4607182418800017408, i64 4595782388131466541, i64 -4872575986196250266, i64 4598175219545276416, i64 4592137386784396177, i64 4585859719770368368, i64 4584035981924223605, i64 4574736460657189782, i64 4570604651145551055, i64 4562872727190868178, i64 4555132822487652880], [13 x i64] [i64 -4620222743890104395, i64 -4872433777446927661, i64 4607182418800017408, i64 4595938993144550963, i64 4352721276344496225, i64 4598175219545276416, i64 4592208272929810310, i64 4586014877240520821, i64 4584136821890775094, i64 4574998946743143288, i64 4570801018198657682, i64 4563077099291177934, i64 -4674014235026353014], [13 x i64] [i64 -4620112208925228951, i64 -4860317021785120219, i64 4607182418800017408, i64 4596096038974667956, i64 -4869924668813884797, i64 4598175219545276416, i64 4592281074655567179, i64 4586171920825892205, i64 4584240920472448141, i64 4575267571417119508, i64 4571004865649507032, i64 4563288658939446851, i64 4556132967383818733], [13 x i64] [i64 -4620001673960353506, i64 4356691644946979030, i64 4607182418800017408, i64 4596253537447439858, i64 4332733215094496800, i64 4598175219545276416, i64 4592355815478702539, i64 4586330911212573652, i64 4584348354458168517, i64 4575542573625585690, i64 4571185153268325882, i64 4563507674077074192, i64 4559320671628906438], [13 x i64] [i64 -4619891138995478062, i64 -4865443160414844406, i64 4607182418800017408, i64 4596411500535090450, i64 -4872101951045170837, i64 4598175219545276416, i64 4592432519669767164, i64 4586491910527482988, i64 4584459203620832340, i64 4575740711080010419, i64 4571295246951028589, i64 4563734453304813849, i64 -4682723727654282309], [13 x i64] [i64 -4619780604030602617, i64 4362436399323179403, i64 4607182418800017408, i64 4596569940361123400, i64 4345371755689582700, i64 4598175219545276416, i64 4592511212270849394, i64 4586654982394255187, i64 4584573550824503140, i64 4575884965207691112, i64 4571409447713194834, i64 4563969501931178079, i64 4561972826086667972], [13 x i64] [i64 -4619670069065727173, i64 4346450352803987669, i64 4607182418800017408, i64 4596728869205113435, i64 4347296699548669296, i64 4598175219545276416, i64 4592591919114295720, i64 4586820191991128206, i64 4584677951397112085, i64 4576032792630811779, i64 4571528175968442968, i64 4564213049369543772, i64 4557512354792944939], [13 x i64] [i64 -4619559534100851729, i64 -4862180715536303787, i64 4607182418800017408, i64 4596888299507614577, i64 -4869273428858455487, i64 4598175219545276416, i64 4592674666842154439, i64 4586987606110917629, i64 4584738753792409843, i64 4576184330916956853, i64 4571651373114558994, i64 4564465588804497923, i64 4562971324165824849], [13 x i64] [i64 -4619448999135976284, i64 4359951735871993146, i64 4607182418800017408, i64 4597048243875189971, i64 4343837370791224044, i64 4598175219545276416, i64 4592759482926368639, i64 4587157293223177833, i64 4584801439338164760, i64 4576339722700563090, i64 4571779425140631328, i64 4564727487127806719, i64 4555877949290641854], [13 x i64] [i64 -4619338464171100840, i64 -4869949898646916905, i64 4607182418800017408, i64 4597208715085567991, i64 4352022616832207383, i64 4598175219545276416, i64 4592846395689745939, i64 4587329323538652201, i64 4584866056226665305, i64 4576499115918248591, i64 4571912297860475615, i64 4564999252166835221, i64 4559677121438322581], [13 x i64] [i64 -4619227929206225396, i64 -4859696052085117530, i64 4607182418800017408, i64 4597369726092929461, i64 4346603555383723690, i64 4598175219545276416, i64 4592935434327733758, i64 4587503769076119723, i64 4584932654498485380, i64 4576662664060132213, i64 4572050323648828584, i64 4565281287203871604, i64 4555077696139330428], [13 x i64] [i64 -4619117394241349951, i64 4355449705546973652, i64 4607182418800017408, i64 4597531290033331041, i64 -4869315772306248458, i64 4598175219545276416, i64 4593026628931030180, i64 4587680703731750631, i64 4585001286114041912, i64 4576830526429089652, i64 4572193537185952466, i64 4565574139115994139, i64 4563232279617089496], [13 x i64] [i64 -4619006859276474507, i64 -4864201221014839028, i64 4607182418800017408, i64 4597693420230269993, i64 -4884115076991763056, i64 4598175219545276416, i64 4593120010509061948, i64 4587860203351089130, i64 4585072005024831013, i64 4577002868417168569, i64 4572342322520647984, i64 4565878238594658890, i64 4562897512675752617], [13 x i64] [i64 -4618896324311599062, i64 4361815429623176714, i64 4607182418800017408, i64 4597856130200395756, i64 -4871299630416310792, i64 4598175219545276416, i64 4593215611014362559, i64 4588042345803787186, i64 4585144867251446472, i64 4577179861791167033, i64 4572496847912501589, i64 4566194171714353258, i64 4559235044644328757], [13 x i64] [i64 -4618785789346723618, i64 4307365506568526915, i64 4607182418800017408, i64 4598019433659373942, i64 4341669810484046752, i64 4598175219545276416, i64 4593313463367885029, i64 4588227211061219394, i64 4585219930963107049, i64 4577361684996565299, i64 4572657267993549016, i64 4566522460238139014, i64 4558569164966076881], [13 x i64] [i64 -4618675254381848174, i64 -4861559745836301098, i64 4607182418800017408, i64 4598179282036592518, i64 4355382073129398635, i64 4598175219545276416, i64 4593413601485285508, i64 4588414881277115514, i64 4585297256561248921, i64 4577548523473322062, i64 4572823829815882182, i64 4566756898686855808, i64 4560145923672369158], [13 x i64] [i64 -4618564719416972729, i64 4359177093049340787, i64 4607182418800017408, i64 4598261548241602679, i64 4356019979827588197, i64 4598175219545276416, i64 4593516060304215649, i64 4588605440871354069, i64 4585376906767691494, i64 4577740569991295261, i64 4572996767732426809, i64 4566934347667030726, i64 4563613983261325214], [13 x i64] [i64 -4618454184452097285, i64 -4867928608517206163, i64 4607182418800017408, i64 4598344132392111423, i64 4357935304072746798, i64 4598175219545276416, i64 4593620875812663444, i64 4588798976617067712, i64 4585458946716358619, i64 4577938024999126819, i64 4573176430879285899, i64 4567118913852652289, i64 4562652305575350721], [13 x i64] [i64 -4618343649487221840, i64 4363679123374360281, i64 4607182418800017408, i64 4598427041774932951, i64 4352622429333738930, i64 4602678819172646912, i64 -4629756882097348095, i64 4588995577731218699, i64 4585543444050344226, i64 4578141096993031461, i64 4573363070843569397, i64 4567310941287049631, i64 4554834341764913056], [13 x i64] [i64 -4618233114522346396, i64 4353434692626666917, i64 4607182418800017408, i64 4598510283792299177, i64 -4871349409282389548, i64 4602678819172646912, i64 -4629866523298428714, i64 4589181678129673190, i64 4585630469023165094, i64 4578350002903796665, i64 4573556792717509141, i64 4567510819573106819, i64 4562932398758691247], [13 x i64] [i64 -4618122579557470952, i64 -4863423439587484665, i64 0, i64 -4616189618054758400, i64 4324742833083712768, i64 4611686018427387904, i64 0, i64 -4611686018427387638, i64 4613187218303178260, i64 -4608683618711048371, i64 4616489858012122227, i64 -4605580391777957365, i64 4619464538509972849], [13 x i64] [i64 -4618012044592595507, i64 4361194459923174025, i64 0, i64 -4616408018768216942, i64 4347394125238267432, i64 4611686018427387904, i64 -4636307123205176000, i64 -4612114940599074082, i64 4612832798157929597, i64 -4609246532606612169, i64 4615938295505137316, i64 -4606208745792495878, i64 4618556259395197205], [13 x i64] [i64 -4617901509627720063, i64 -4876946792888404167, i64 0, i64 -4616621250728880378, i64 -4861347292214116557, i64 4611686018427387904, i64 -4631966967054104732, i64 -4612518753068949928, i64 4612504772227446102, i64 -4609759905602955066, i64 4615173530976516972, i64 -4606764334250625214, i64 4617765850325629366], [13 x i64] [i64 -4617790974662844619, i64 -4860938776136298409, i64 0, i64 -4616829557283668017, i64 -4888538197466503616, i64 4611686018427387904, i64 -4629266367130592658, i64 -4612899312863050025, i64 4612200834558723074, i64 -4610228764210125635, i64 4614485796047268442, i64 -4607330588051862547, i64 4617078847109990953], [13 x i64] [i64 -4617680439697969174, i64 4357935153649335409, i64 0, i64 -4617033167764173522, i64 -4865922809096093600, i64 4611686018427387904, i64 -4627771622162358618, i64 -4613258315943822737, i64 4611918911530319174, i64 -4610657561008242480, i64 4613866360388203856, i64 -4608204152261778707, i64 4616473625846248843], [13 x i64] [i64 -4617569904733093730, i64 -4866686669117200785, i64 0, i64 -4617232298509108861, i64 4346895815145145176, i64 4611686018427387904, i64 -4626345378960095888, i64 -4613597313325216739, i64 4611628252590595851, i64 -4611050247355408556, i64 4613307589263707017, i64 -4608980775928754340, i64 4615707978465902486], [13 x i64] [i64 -4617459369768218285, i64 4363058153674357592, i64 0, i64 -4617427153799341326, i64 -4866444952986840866, i64 4611686018427387904, i64 -4625090334098390049, i64 -4613917725373137517, i64 4611141625214066317, i64 -4611410336004898258, i64 4612802797350764407, i64 -4609672401553343523, i64 4614785316065976433], [13 x i64] [i64 -4617348834803342841, i64 4350950813826656161, i64 0, i64 -4617617926714149466, i64 -4880436311837696256, i64 4611686018427387904, i64 -4624440167865361067, i64 -4614220854518051924, i64 4610688878731868472, i64 -4611795891876201542, i64 4612346117389140084, i64 -4610289358931895806, i64 4613960610807745178], [13 x i64] [i64 -4617238299838467397, i64 -4862802469887481976, i64 0, i64 -4617804799916365744, i64 4357931946171060424, i64 4611686018427387904, i64 -4623818962219350600, i64 -4614507896575466876, i64 4610267259544466367, i64 -4612403771935716077, i64 4611932387709263303, i64 -4610840601542181680, i64 4613246940492727653], [13 x i64] [i64 -4617127764873591952, i64 4360573490223171336, i64 0, i64 -4617987946373233772, i64 -4863428938997673802, i64 4611686018427387904, i64 -4623225192527124089, i64 -4614779950843569856, i64 4609874273095991113, i64 -4612963279952857151, i64 4611428111112474335, i64 -4611333907194678232, i64 4612612690055559286], [13 x i64] [i64 -4617017229908716508, i64 -4872436916051629664, i64 0, i64 -4618167530019070229, i64 4357117317199654828, i64 4611686018427387904, i64 -4622657437714105971, i64 -4615038029124756724, i64 4609507656455975118, i64 -4613478877926317517, i64 4610746255789907766, i64 -4611866068128057454, i64 4612060521279480325], [13 x i64] [i64 -4616906694943841064, i64 -4860317806436295720, i64 0, i64 -4618343706365172367, i64 -4860400767698299856, i64 4611686018427387904, i64 -4622114372078060056, i64 -4615283063798474661, i64 4609165354125752824, i64 -4613954564912763922, i64 4610126104686276798, i64 -4612659804837898944, i64 4611427675136608102], [13 x i64] [i64 -4616796159978965619, i64 4356693214249330032, i64 0, i64 -4618516623061839665, i64 4362487966440079775, i64 4611686018427387904, i64 -4621594757853348193, i64 -4615515915056266244, i64 4608845496654624700, i64 -4614393930431977247, i64 4609561376512589569, i64 -4613373315526668741, i64 4610556433587743698], [13 x i64] [i64 -4616685625014090175, i64 -4865444729717195407, i64 0, i64 -4618686420416872851, i64 -4860842720553694666, i64 4611686018427387904, i64 -4621097438448369808, i64 -4615737377395691002, i64 4608546381707013176, i64 -4614800201116736342, i64 4609046507870463879, i64 -4614015623634774405, i64 4609760724464001369], [13 x i64] [i64 -4616575090049214730, i64 4362437183974354904, i64 0, i64 -4618853231874466378, i64 -4867209357388337712, i64 4607182418800017408, i64 4602606933778178717, i64 -4615948185457569079, i64 4608266457273682393, i64 -4615176281536481732, i64 4608576551143396173, i64 -4614594639495615848, i64 4609071513279993250], [13 x i64] [i64 -4616464555084339286, i64 4346456630013391676, i64 0, i64 -4619017184458014418, i64 -4859543562774926059, i64 4607182418800017408, i64 4602151028688407341, i64 -4616149019280441377, i64 4608004306759764329, i64 -4615524789985156290, i64 4608147108616940483, i64 -4615117308783710290, i64 4608468078986997985], [13 x i64] [i64 -4616354020119463842, i64 -4862181500187479287, i64 0, i64 -4619178399179998832, i64 -4861734778518912347, i64 4607182418800017408, i64 4601714376774302918, i64 -4616491400019286964, i64 4607758635720233074, i64 -4615848089908259007, i64 4607754263464686574, i64 -4615589743235230982, i64 4607917611652833793], [13 x i64] [i64 -4616243485154588397, i64 4359952520523168647, i64 0, i64 -4619336991421815203, i64 4357385112076311380, i64 4607182418800017408, i64 4601296089736512412, i64 -4616856860564300153, i64 4607528260043034475, i64 -4616148317547346797, i64 4607394519190081000, i64 -4616017326780842795, i64 4607418268682453472], [13 x i64] [i64 -4616161284122235676, i64 4367560968650552588, i64 0, i64 -4619493071286114853, i64 4362439349635407582, i64 4607182418800017408, i64 4600895334588623602, i64 -4617205887853069029, i64 4607312095406518729, i64 -4616665194538239295, i64 4606947084766703105, i64 -4616620003049977693, i64 4606757894251769172], [13 x i64] [i64 -4616106016639797954, i64 4364144458323774548, i64 0, i64 -4619646743923992845, i64 4362946749118557203, i64 4607182418800017408, i64 4600511329735204476, i64 -4617539491139416249, i64 4607035876921278988, i64 -4617184598337937768, i64 4606341913854143178, i64 -4617323170743880428, i64 4605964506241276812], [13 x i64] [i64 -4616050749157360232, i64 4355451274849324654, i64 0, i64 -4619798109839130627, i64 4359780246310057372, i64 4607182418800017408, i64 4600143341376776571, i64 -4617858609557299837, i64 4606654592001238699, i64 -4617668407808729440, i64 4605786099914943368, i64 -4617961973866951011, i64 4605264647590304075], [13 x i64] [i64 -4615995481674922510, i64 -4864202790317190030, i64 0, i64 -4619947265170804087, i64 -4866451961267460510, i64 4607182418800017408, i64 4599790680211231894, i64 -4618164117871562950, i64 4606296242036656162, i64 -4618119511242148587, i64 4605275154934586315, i64 -4618543004965025836, i64 4604605669257487093], [13 x i64] [i64 -4615940214192484788, i64 -4858298085608935979, i64 0, i64 -4620094301957490651, i64 -4874335196657044680, i64 4607182418800017408, i64 4599452698404380140, i64 -4618456831702079290, i64 4605959287063014606, i64 -4618540535668622886, i64 4604805041146828759, i64 -4619072114717927506, i64 4604035609408121439], [13 x i64] [i64 -4615884946710047066, i64 -4854881575282157939, i64 0, i64 -4620239308382650275, i64 4360862959858293537, i64 4607182418800017408, i64 4599128786805127270, i64 -4618737512275249496, i64 4605642310205129441, i64 -4618933873328903882, i64 4604372132856934334, i64 -4619554509760444811, i64 4603526438933114254], [13 x i64] [i64 -4615829679227609343, i64 4365076305199366331, i64 0, i64 -4620382369004112660, i64 4363521270598044478, i64 4607182418800017408, i64 4598818372383283171, i64 -4619006870750749434, i64 4605344006741041490, i64 -4619301705210534902, i64 4603973163111589148, i64 -4619994820227244507, i64 4603090872929829150], [13 x i64] [i64 -4615774411745171621, i64 4359178662351691789, i64 0, i64 -4620523564968374963, i64 4342909939974961936, i64 4607182418800017408, i64 4598520915870214229, i64 -4619265572166117217, i64 4605063174256148249, i64 -4619646022001869962, i64 4603605192590428618, i64 -4620397178731556749, i64 4602656822139020765], [13 x i64] [i64 -4615719144262733899, i64 -4867930177819557165, i64 0, i64 -4620662974210999049, i64 -4863677755809882410, i64 4607182418800017408, i64 4598235909584529996, i64 -4619514239037094208, i64 4604798703769407346, i64 -4619968642774853068, i64 4603265564479486914, i64 -4620837326027304006, i64 4601851230309663845], [13 x i64] [i64 -4615663876780296177, i64 -4859229932484527763, i64 0, i64 -4620908125606258194, i64 -4880393251549085848, i64 4607182418800017408, i64 4597750531308226072, i64 -4619753454647522726, i64 4604549571726114713, i64 -4620271231663462389, i64 4602951876673776200, i64 -4621511578659280821, i64 4601160628133984875], [13 x i64] [i64 -4615608609297858455, i64 -4855813422157749723, i64 0, i64 -4621180240983015814, i64 -4867243806400830011, i64 4607182418800017408, i64 4597227506511673834, i64 -4619983766058977337, i64 4604314832765052023, i64 -4620555312774140826, i64 4602645099641635351, i64 -4622129794878837787, i64 4600588822112859767], [13 x i64] [i64 -4615553341815420732, i64 4366008152074958115, i64 0, i64 -4621449215633864704, i64 -4868929321896515242, i64 4607182418800017408, i64 4596726676540632136, i64 -4620205686867105625, i64 4604093613178431443, i64 -4620951349380832506, i64 4602108886512127434, i64 -4622697268134836609, i64 4600026226828471331], [13 x i64] [i64 -4615498074332983010, i64 4361195244574349526, i64 0, i64 -4621715183266535498, i64 -4877420790648623704, i64 4607182418800017408, i64 4596247241585243600, i64 -4620419699728824377, i64 4603885104992495150, i64 -4621453635598707242, i64 4601612738519547794, i64 -4623218746500824109, i64 4599442235996048238], [13 x i64] [i64 -4615442806850545288, i64 -4876953070097808174, i64 0, i64 -4621978272823632293, i64 4353323620134037626, i64 4607182418800017408, i64 4595788447797368100, i64 -4620626258682012061, i64 4603688560604516267, i64 -4621926623959948823, i64 4601153416204218341, i64 -4623698492930169274, i64 4599008164575246921], [13 x i64] [i64 -4615387539368107566, i64 -4860939560787473910, i64 0, i64 -4622238608756248782, i64 -4868239391541280306, i64 4607182418800017408, i64 4595349584587014966, i64 -4620958364872107163, i64 4603503287919033323, i64 -4622372483225949607, i64 4600727995552010287, i64 -4624140348316110653, i64 4598656324956152628], [13 x i64] [i64 -4615332271885669844, i64 -4856745269033341507, i64 0, i64 -4622496311281619984, i64 -4867305791016793588, i64 4607182418800017408, i64 4594929982119534182, i64 -4621344183394147724, i64 4603328645933811289, i64 -4622793210836083411, i64 4600333828871841273, i64 -4624547769979386163, i64 4598209123961307101], [13 x i64] [i64 -4615277004403232121, i64 4366939998950549899, i64 0, i64 -4622751496625991646, i64 4352504872139249062, i64 4607182418800017408, i64 4594529008997598806, i64 -4621717515855185037, i64 4603164040730513497, i64 -4623190648542273034, i64 4599968485072938232, i64 -4624923874227141813, i64 4597497187469235276], [13 x i64] [i64 -4615221736920794399, i64 4363058938325533093, i64 0, i64 -4623004277253795964, i64 4359173995066102836, i64 4607182418800017408, i64 4594146070113474164, i64 -4622079080752059998, i64 4603008921829160954, i64 -4623566496509910676, i64 4599629762385695314, i64 -4625346140411633302, i64 4596935705991981376], [13 x i64] [i64 -4615166469438356677, i64 4350953952431358165, i64 0, i64 -4623254762084137399, i64 -4870769257225246332, i64 4607182418800017408, i64 4593780604658388246, i64 -4622429557545705523, i64 4602862778872021926, i64 -4623922326052553364, i64 4599315664826464807, i64 -4625989441761355571, i64 4596359641553546521], [13 x i64] [i64 -4615111201955918955, i64 -4862803254538657477, i64 0, i64 -4623503056695515169, i64 -4869862035417003444, i64 4607182418800017408, i64 4593192548636110200, i64 -4622769589502523691, i64 4602725138604941882, i64 -4624259591146022212, i64 4599024367536294086, i64 -4626585447925027984, i64 4595771801174353544], [13 x i64] [i64 -4615055934473481233, i64 -4857677115908933291, i64 0, i64 -4623749263519638761, i64 -4865039007084597270, i64 4607182418800017408, i64 4592528402794298572, i64 -4623099786323548790, i64 4602512305082367477, i64 -4624579638853135416, i64 4598754197328378420, i64 -4627138335308663817, i64 4595450020350882269], [13 x i64] [i64 -4615000666991043510, i64 4367871845826141682, i64 0, i64 -4623993482025128814, i64 4355069297208214602, i64 4607182418800017408, i64 4591896214956980768, i64 -4623420726580252510, i64 4602268465600253903, i64 -4624883718773160348, i64 4598503654275004773, i64 -4627651903918434969, i64 4594940918741352041], [13 x i64] [i64 -4614945399508605788, i64 4364455335499363642, i64 0, i64 -4624235808891837476, i64 4354260958967827846, i64 4607182418800017408, i64 4591295103573863268, i64 -4623732959974084395, i64 4602039184609499292, i64 -4625172991620315285, i64 4598271345727757189, i64 -4628129597657144963, i64 4594504086520194643], [13 x i64] [i64 -4614890132026168066, i64 4356694783551681033, i64 0, i64 -4624476338176469171, i64 -4886356638085265728, i64 4607182418800017408, i64 4590724239730785780, i64 -4624037009435262960, i64 4601823762084289515, i64 -4625700256730302835, i64 4597936800428814603, i64 -4628574558023710600, i64 4594130258167406885], [13 x i64] [i64 -4614834864543730344, i64 -4865446299019546409, i64 0, i64 -4624715161470134295, i64 -4869309607243699156, i64 4607182418800017408, i64 4590182844618432868, i64 -4624333373074919693, i64 4601621549151122357, i64 -4626225903901151617, i64 4597537766641029634, i64 -4628989644033524028, i64 4593882438360556149], [13 x i64] [i64 -4614779597061292622, i64 -4858608962784525074, i64 0, i64 -4624952368048424132, i64 -4870727882558433708, i64 4607182418800017408, i64 4589670187186028256, i64 -4624622526003431743, i64 4601431944617582392, i64 -4626727983663381714, i64 4597168290369442597, i64 -4629377474705844201, i64 4593250407973867664], [13 x i64] [i64 -4614724329578854900, i64 -4855192452457747034, i64 0, i64 -4625188045014554962, i64 -4871304990567368326, i64 4607182418800017408, i64 4589185581967457980, i64 -4624904922026643211, i64 4601254391805832103, i64 -4627208249002351187, i64 4596826419202212315, i64 -4629780432793741158, i64 4593006150023018291], [13 x i64] [i64 -4614669062096417177, i64 4365387182374955426, i64 0, i64 -4625647737562685654, i64 -4868564195371388254, i64 4607182418800017408, i64 4588288753846197392, i64 -4625180995230655931, i64 4601088375661073474, i64 -4627668340465164397, i64 4596510437111995753, i64 -4630460980669658306, i64 4592436148978246149], [13 x i64] [i64 -4614613794613979455, i64 4359953305174344148, i64 0, i64 -4626113479641969422, i64 -4871587387436640888, i64 4607182418800017408, i64 4587427984317008192, i64 -4625705505620411826, i64 4600933420116373938, i64 -4628109796055537676, i64 4596218733599083001, i64 -4631100170451667298, i64 4591957775406282637], [13 x i64] [i64 -4614558527131541733, i64 -4869956175856320912, i64 0, i64 -4626576661723695262, i64 -4875072909517580100, i64 4607182418800017408, i64 4586619714662796800, i64 -4626234822156136592, i64 4600789085688113748, i64 -4628534060307028190, i64 4595949852170213691, i64 -4631701695398217082, i64 4591651261663331539], [13 x i64] [i64 -4614503259649104011, i64 -4859697621387468532, i64 0, i64 -4627037443255357096, i64 -4886706161354944432, i64 4607182418800017408, i64 4585862901287273808, i64 -4626753889684904432, i64 4600654967285626376, i64 -4628942492626758393, i64 4595702486355301743, i64 -4632268967193941286, i64 4591058484381794620], [13 x i64] [i64 -4614447992166666289, i64 -4856124299333338818, i64 0, i64 -4627495980596766360, i64 -4877479389711260512, i64 4607182418800017408, i64 4585156574462392640, i64 -4627263446509848213, i64 4600530692218172242, i64 -4629336374982740306, i64 4595475406922306490, i64 -4632805105001761317, i64 4590904866150045063], [13 x i64] [i64 -4614392724684228566, i64 4366319029250547210, i64 0, i64 -4627952427242484426, i64 4348752934227159840, i64 4607182418800017408, i64 4584335250603197632, i64 -4627764204629128142, i64 4600415918381454958, i64 -4629733421058397426, i64 4595267547381653179, i64 -4633313035715681281, i64 4590498844804041320], [13 x i64] [i64 -4614337457201790844, i64 4361816998925527716, i64 0, i64 -4628406934036328873, i64 -4870173461978737456, i64 4607182418800017408, i64 4583119289224394176, i64 -4628256851926540114, i64 4600310332613649310, i64 -4630470128100299577, i64 4595077913081901062, i64 -4633795448564846748, i64 4590006700520948407], [13 x i64] [i64 -4614282189719353122, i64 4311869106195897411, i64 0, i64 -4628859649378613696, i64 -4876607203486907508, i64 4607182418800017408, i64 4581999317282403728, i64 -4628742054246797474, i64 4600213649205515642, i64 -4631184634484418355, i64 4594905599300244509, i64 -4634305673347697539, i64 4589754824291174881], [13 x i64] [i64 -4614226922236915400, i64 -4861561315138652099, i64 0, i64 -4629310719426748816, i64 4345982746886740480, i64 4607182418800017408, i64 4580973936671091168, i64 -4629220457366507193, i64 4600125608554848251, i64 -4631879016518999686, i64 4594749806006105198, i64 -4635183113531240605, i64 4589645054785884227], [13 x i64] [i64 -4614171654754477678, i64 -4857056146208930602, i64 0, i64 -4629820159642715671, i64 4341791838075463202, i64 4607182418800017408, i64 4579922927496914560, i64 -4629692688871096628, i64 4600045975955834672, i64 -4632555257079323553, i64 4594609814318192199, i64 -4636023597722428736, i64 4589642571632102082], [13 x i64] [i64 -4614116387272039955, i64 4367250876126138994, i64 0, i64 -4630716579498178558, i64 4347169347544416196, i64 4607182418800017408, i64 4578243136027357088, i64 -4630618302957660475, i64 4599974540513721415, i64 -4633215255525438709, i64 4594485004048793081, i64 -4636831303691186152, i64 4589136990572443271], [13 x i64] [i64 -4614061119789602233, i64 4363680692676711283, i64 0, i64 -4631610562632274526, i64 -4875009006391970292, i64 4607182418800017408, i64 4576745611899133408, i64 -4631541717262988376, i64 4599911114178544056, i64 -4633860837033813514, i64 4594374775917072423, i64 -4637610049206342383, i64 4588898528620054277], [13 x i64] [i64 -4614005852307164511, i64 4353440969836070924, i64 0, i64 -4632502387203375636, i64 -4882713161860080448, i64 4607182418800017408, i64 4575199820089188288, i64 -4632456370667313994, i64 4599855530888227072, i64 -4634783506224249150, i64 4594278638224949853, i64 -4638363533640138990, i64 4589041695870445501], [13 x i64] [i64 -4613950584824726789, i64 -4863425008889835667, i64 0, i64 -4633392328730527695, i64 -4875012536741343124, i64 4607182418800017408, i64 4572923288680806208, i64 -4633363407234330052, i64 4599807645818145134, i64 -4636027446152558927, i64 4594196177382401486, i64 -4639483075673342688, i64 4588559783104781790], [13 x i64] [i64 -4613895317342289067, i64 -4857987993084522385, i64 0, i64 -4634357304311990397, i64 4341609751055928009, i64 4607182418800017408, i64 4570849654991428096, i64 -4634323885883344973, i64 4599767334730872831, i64 -4637252784634343534, i64 4594127008215646259, i64 -4640909970120445933, i64 4588366822552386940], [13 x i64] [i64 -4613840049859851344, i64 4368182723001730777, i64 0, i64 -4636131290624880286, i64 -4901321856069581280, i64 4607182418800017408, i64 4567711453268547200, i64 -4636114203598053023, i64 4599734493420244173, i64 -4638462746074333035, i64 4594070830168137952, i64 -4642306689206824491, i64 4588069815129684684], [13 x i64] [i64 -4613784782377413622, i64 4364766212674952737, i64 0, i64 -4637903139127665232, i64 4342439778065141801, i64 4607182418800017408, i64 4563899080224672512, i64 -4637895938140097400, i64 4599709037248100161, i64 -4640613357027147944, i64 4594027390858454077, i64 -4644147769443976242, i64 4587856275582668072], [13 x i64] [i64 -4613729514894975900, i64 4357938292254037413, i64 0, i64 -4640639156861890064, i64 4319276231624634720, i64 4607182418800017408, i64 4558697548671946752, i64 -4640634892823458433, i64 4599690900769056092, i64 -4642990600424406764, i64 4593996493907606840, i64 -4646857578823001895, i64 4587970526531955459], [13 x i64] [i64 -4613674247412538178, i64 -4866689807721902789, i64 0, i64 -4645143822177782130, i64 4330816386012781434, i64 4607182418800017408, i64 4549688675227465728, i64 -4645142756649767582, i64 4599680037441164782, i64 -4647500243764708142, i64 4593978012568017802, i64 -4651373113326959868, i64 4587896362578682577]], i64 4679240013077918284 }, align 8 +@_ZN19__imf_impl_tan_d_ha12_GLOBAL__N_144__devicelib_imf_internal_dtan_reduction_dataE = internal unnamed_addr addrspace(1) constant %"struct.__imf_impl_tan_d_ha::(anonymous namespace)::__dtan_ha_ReductionTab_t" { [2048 x [3 x i64]] [[3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] zeroinitializer, [3 x i64] [i64 0, i64 0, i64 1], [3 x i64] [i64 0, i64 0, i64 2], [3 x i64] [i64 0, i64 0, i64 5], [3 x i64] [i64 0, i64 0, i64 10], [3 x i64] [i64 0, i64 0, i64 20], [3 x i64] [i64 0, i64 0, i64 40], [3 x i64] [i64 0, i64 0, i64 81], [3 x i64] [i64 0, i64 0, i64 162], [3 x i64] [i64 0, i64 0, i64 325], [3 x i64] [i64 0, i64 0, i64 651], [3 x i64] [i64 0, i64 0, i64 1303], [3 x i64] [i64 0, i64 0, i64 2607], [3 x i64] [i64 0, i64 0, i64 5215], [3 x i64] [i64 0, i64 0, i64 10430], [3 x i64] [i64 0, i64 0, i64 20860], [3 x i64] [i64 0, i64 0, i64 41721], [3 x i64] [i64 0, i64 0, i64 83443], [3 x i64] [i64 0, i64 0, i64 166886], [3 x i64] [i64 0, i64 0, i64 333772], [3 x i64] [i64 0, i64 0, i64 667544], [3 x i64] [i64 0, i64 0, i64 1335088], [3 x i64] [i64 0, i64 0, i64 2670176], [3 x i64] [i64 0, i64 0, i64 5340353], [3 x i64] [i64 0, i64 0, i64 10680707], [3 x i64] [i64 0, i64 0, i64 21361414], [3 x i64] [i64 0, i64 0, i64 42722829], [3 x i64] [i64 0, i64 0, i64 85445659], [3 x i64] [i64 0, i64 0, i64 170891318], [3 x i64] [i64 0, i64 0, i64 341782637], [3 x i64] [i64 0, i64 0, i64 683565275], [3 x i64] [i64 0, i64 0, i64 1367130551], [3 x i64] [i64 0, i64 0, i64 2734261102], [3 x i64] [i64 0, i64 0, i64 5468522204], [3 x i64] [i64 0, i64 0, i64 10937044409], [3 x i64] [i64 0, i64 0, i64 21874088818], [3 x i64] [i64 0, i64 0, i64 43748177636], [3 x i64] [i64 0, i64 0, i64 87496355273], [3 x i64] [i64 0, i64 0, i64 174992710547], [3 x i64] [i64 0, i64 0, i64 349985421095], [3 x i64] [i64 0, i64 0, i64 699970842190], [3 x i64] [i64 0, i64 0, i64 1399941684380], [3 x i64] [i64 0, i64 0, i64 2799883368761], [3 x i64] [i64 0, i64 0, i64 5599766737522], [3 x i64] [i64 0, i64 0, i64 11199533475044], [3 x i64] [i64 0, i64 0, i64 22399066950088], [3 x i64] [i64 0, i64 0, i64 44798133900177], [3 x i64] [i64 0, i64 0, i64 89596267800354], [3 x i64] [i64 0, i64 0, i64 179192535600708], [3 x i64] [i64 0, i64 0, i64 358385071201416], [3 x i64] [i64 0, i64 0, i64 716770142402832], [3 x i64] [i64 0, i64 0, i64 1433540284805664], [3 x i64] [i64 0, i64 0, i64 2867080569611329], [3 x i64] [i64 0, i64 0, i64 5734161139222658], [3 x i64] [i64 0, i64 0, i64 11468322278445317], [3 x i64] [i64 0, i64 0, i64 22936644556890634], [3 x i64] [i64 0, i64 0, i64 45873289113781269], [3 x i64] [i64 0, i64 0, i64 91746578227562538], [3 x i64] [i64 0, i64 0, i64 183493156455125076], [3 x i64] [i64 0, i64 0, i64 366986312910250153], [3 x i64] [i64 0, i64 0, i64 733972625820500306], [3 x i64] [i64 0, i64 0, i64 1467945251641000613], [3 x i64] [i64 0, i64 0, i64 2935890503282001226], [3 x i64] [i64 0, i64 0, i64 5871781006564002452], [3 x i64] [i64 0, i64 0, i64 -6703182060581546711], [3 x i64] [i64 0, i64 1, i64 5040379952546458195], [3 x i64] [i64 0, i64 2, i64 -8365984168616635225], [3 x i64] [i64 0, i64 5, i64 1714775736476281167], [3 x i64] [i64 0, i64 10, i64 3429551472952562335], [3 x i64] [i64 0, i64 20, i64 6859102945905124671], [3 x i64] [i64 0, i64 40, i64 -4728538181899302273], [3 x i64] [i64 0, i64 81, i64 8989667709910947070], [3 x i64] [i64 0, i64 162, i64 -467408653887657476], [3 x i64] [i64 0, i64 325, i64 -934817307775314952], [3 x i64] [i64 0, i64 651, i64 -1869634615550629904], [3 x i64] [i64 0, i64 1303, i64 -3739269231101259807], [3 x i64] [i64 0, i64 2607, i64 -7478538462202519614], [3 x i64] [i64 0, i64 5215, i64 3489667149304512388], [3 x i64] [i64 0, i64 10430, i64 6979334298609024777], [3 x i64] [i64 0, i64 20860, i64 -4488075476491502061], [3 x i64] [i64 0, i64 41721, i64 -8976150952983004121], [3 x i64] [i64 0, i64 83443, i64 494442167743543374], [3 x i64] [i64 0, i64 166886, i64 988884335487086749], [3 x i64] [i64 0, i64 333772, i64 1977768670974173498], [3 x i64] [i64 0, i64 667544, i64 3955537341948346997], [3 x i64] [i64 0, i64 1335088, i64 7911074683896693994], [3 x i64] [i64 0, i64 2670176, i64 -2624594705916163627], [3 x i64] [i64 0, i64 5340353, i64 -5249189411832327253], [3 x i64] [i64 0, i64 10680707, i64 7948365250044897111], [3 x i64] [i64 0, i64 21361414, i64 -2550013573619757393], [3 x i64] [i64 0, i64 42722829, i64 -5100027147239514785], [3 x i64] [i64 0, i64 85445659, i64 8246689779230522046], [3 x i64] [i64 0, i64 170891318, i64 -1953364515248507523], [3 x i64] [i64 0, i64 341782637, i64 -3906729030497015046], [3 x i64] [i64 0, i64 683565275, i64 -7813458060994030092], [3 x i64] [i64 0, i64 1367130551, i64 2819827951721491432], [3 x i64] [i64 0, i64 2734261102, i64 5639655903442982865], [3 x i64] [i64 0, i64 5468522204, i64 -7167432266823585885], [3 x i64] [i64 0, i64 10937044409, i64 4111879540062379847], [3 x i64] [i64 0, i64 21874088818, i64 8223759080124759695], [3 x i64] [i64 0, i64 43748177636, i64 -1999225913460032225], [3 x i64] [i64 0, i64 87496355273, i64 -3998451826920064450], [3 x i64] [i64 0, i64 174992710547, i64 -7996903653840128899], [3 x i64] [i64 0, i64 349985421095, i64 2452936766029293818], [3 x i64] [i64 0, i64 699970842190, i64 4905873532058587637], [3 x i64] [i64 0, i64 1399941684380, i64 -8634997009592376342], [3 x i64] [i64 0, i64 2799883368761, i64 1176750054524798932], [3 x i64] [i64 0, i64 5599766737522, i64 2353500109049597865], [3 x i64] [i64 0, i64 11199533475044, i64 4707000218099195731], [3 x i64] [i64 0, i64 22399066950088, i64 -9032743637511160154], [3 x i64] [i64 0, i64 44798133900177, i64 381256798687231309], [3 x i64] [i64 0, i64 89596267800354, i64 762513597374462618], [3 x i64] [i64 0, i64 179192535600708, i64 1525027194748925236], [3 x i64] [i64 0, i64 358385071201416, i64 3050054389497850473], [3 x i64] [i64 0, i64 716770142402832, i64 6100108778995700947], [3 x i64] [i64 0, i64 1433540284805664, i64 -6246526515718149722], [3 x i64] [i64 0, i64 2867080569611329, i64 5953691042273252173], [3 x i64] [i64 0, i64 5734161139222658, i64 -6539361989163047269], [3 x i64] [i64 0, i64 11468322278445317, i64 5368020095383457079], [3 x i64] [i64 0, i64 22936644556890634, i64 -7710703882942637458], [3 x i64] [i64 0, i64 45873289113781269, i64 3025336307824276701], [3 x i64] [i64 0, i64 91746578227562538, i64 6050672615648553403], [3 x i64] [i64 0, i64 183493156455125076, i64 -6345398842412444809], [3 x i64] [i64 0, i64 366986312910250153, i64 5755946388884661998], [3 x i64] [i64 0, i64 733972625820500306, i64 -6934851295940227620], [3 x i64] [i64 0, i64 1467945251641000613, i64 4577041481829096376], [3 x i64] [i64 0, i64 2935890503282001226, i64 9154082963658192752], [3 x i64] [i64 0, i64 5871781006564002452, i64 -138578146393166112], [3 x i64] [i64 0, i64 -6703182060581546711, i64 -277156292786332224], [3 x i64] [i64 1, i64 5040379952546458195, i64 -554312585572664447], [3 x i64] [i64 2, i64 -8365984168616635225, i64 -1108625171145328893], [3 x i64] [i64 5, i64 1714775736476281167, i64 -2217250342290657786], [3 x i64] [i64 10, i64 3429551472952562335, i64 -4434500684581315571], [3 x i64] [i64 20, i64 6859102945905124671, i64 -8869001369162631141], [3 x i64] [i64 40, i64 -4728538181899302273, i64 708741335384289334], [3 x i64] [i64 81, i64 8989667709910947070, i64 1417482670768578669], [3 x i64] [i64 162, i64 -467408653887657476, i64 2834965341537157339], [3 x i64] [i64 325, i64 -934817307775314952, i64 5669930683074314678], [3 x i64] [i64 651, i64 -1869634615550629904, i64 -7106882707560922259], [3 x i64] [i64 1303, i64 -3739269231101259807, i64 4232978658587707099], [3 x i64] [i64 2607, i64 -7478538462202519614, i64 8465957317175414198], [3 x i64] [i64 5215, i64 3489667149304512388, i64 -1514829439358723220], [3 x i64] [i64 10430, i64 6979334298609024777, i64 -3029658878717446440], [3 x i64] [i64 20860, i64 -4488075476491502061, i64 -6059317757434892879], [3 x i64] [i64 41721, i64 -8976150952983004121, i64 6328108558839765858], [3 x i64] [i64 83443, i64 494442167743543374, i64 -5790526956030019899], [3 x i64] [i64 166886, i64 988884335487086749, i64 6865690161649511818], [3 x i64] [i64 333772, i64 1977768670974173498, i64 -4715363750410527980], [3 x i64] [i64 667544, i64 3955537341948346997, i64 9016016572888495657], [3 x i64] [i64 1335088, i64 7911074683896693994, i64 -414710927932560302], [3 x i64] [i64 2670176, i64 -2624594705916163627, i64 -829421855865120603], [3 x i64] [i64 5340353, i64 -5249189411832327253, i64 -1658843711730241206], [3 x i64] [i64 10680707, i64 7948365250044897111, i64 -3317687423460482411], [3 x i64] [i64 21361414, i64 -2550013573619757393, i64 -6635374846920964821], [3 x i64] [i64 42722829, i64 -5100027147239514785, i64 5175994379867621974], [3 x i64] [i64 85445659, i64 8246689779230522046, i64 -8094755313974307668], [3 x i64] [i64 170891318, i64 -1953364515248507523, i64 2257233445760936281], [3 x i64] [i64 341782637, i64 -3906729030497015046, i64 4514466891521872563], [3 x i64] [i64 683565275, i64 -7813458060994030092, i64 9028933783043745126], [3 x i64] [i64 1367130551, i64 2819827951721491432, i64 -388876507622061364], [3 x i64] [i64 2734261102, i64 5639655903442982865, i64 -777753015244122727], [3 x i64] [i64 5468522204, i64 -7167432266823585885, i64 -1555506030488245454], [3 x i64] [i64 10937044409, i64 4111879540062379847, i64 -3111012060976490908], [3 x i64] [i64 21874088818, i64 8223759080124759695, i64 -6222024121952981815], [3 x i64] [i64 43748177636, i64 -1999225913460032225, i64 6002695829803587987], [3 x i64] [i64 87496355273, i64 -3998451826920064450, i64 -6441352414102375641], [3 x i64] [i64 174992710547, i64 -7996903653840128899, i64 5564039245504800335], [3 x i64] [i64 349985421095, i64 2452936766029293818, i64 -7318665582699950946], [3 x i64] [i64 699970842190, i64 4905873532058587637, i64 3809412908309649724], [3 x i64] [i64 1399941684380, i64 -8634997009592376342, i64 7618825816619299448], [3 x i64] [i64 2799883368761, i64 1176750054524798932, i64 -3209092440470952719], [3 x i64] [i64 5599766737522, i64 2353500109049597865, i64 -6418184880941905438], [3 x i64] [i64 11199533475044, i64 4707000218099195731, i64 5610374311825740740], [3 x i64] [i64 22399066950088, i64 -9032743637511160154, i64 -7225995450058070136], [3 x i64] [i64 44798133900177, i64 381256798687231309, i64 3994753173593411344], [3 x i64] [i64 89596267800354, i64 762513597374462618, i64 7989506347186822689], [3 x i64] [i64 179192535600708, i64 1525027194748925236, i64 -2467731379335906237], [3 x i64] [i64 358385071201416, i64 3050054389497850473, i64 -4935462758671812473], [3 x i64] [i64 716770142402832, i64 6100108778995700947, i64 8575818556365926670], [3 x i64] [i64 1433540284805664, i64 -6246526515718149722, i64 -1295106960977698276], [3 x i64] [i64 2867080569611329, i64 5953691042273252173, i64 -2590213921955396551], [3 x i64] [i64 5734161139222658, i64 -6539361989163047269, i64 -5180427843910793102], [3 x i64] [i64 11468322278445317, i64 5368020095383457079, i64 8085888385887965412], [3 x i64] [i64 22936644556890634, i64 -7710703882942637458, i64 -2274967301933620792], [3 x i64] [i64 45873289113781269, i64 3025336307824276701, i64 -4549934603867241584], [3 x i64] [i64 91746578227562538, i64 6050672615648553403, i64 -9099869207734483168], [3 x i64] [i64 183493156455125076, i64 -6345398842412444809, i64 247005658240585281], [3 x i64] [i64 366986312910250153, i64 5755946388884661998, i64 494011316481170562], [3 x i64] [i64 733972625820500306, i64 -6934851295940227620, i64 988022632962341124], [3 x i64] [i64 1467945251641000613, i64 4577041481829096376, i64 1976045265924682248], [3 x i64] [i64 2935890503282001226, i64 9154082963658192752, i64 3952090531849364496], [3 x i64] [i64 5871781006564002452, i64 -138578146393166112, i64 7904181063698728992], [3 x i64] [i64 -6703182060581546711, i64 -277156292786332224, i64 -2638381946312093631], [3 x i64] [i64 5040379952546458195, i64 -554312585572664447, i64 -5276763892624187261], [3 x i64] [i64 -8365984168616635225, i64 -1108625171145328893, i64 7893216288461177095], [3 x i64] [i64 1714775736476281167, i64 -2217250342290657786, i64 -2660311496787197425], [3 x i64] [i64 3429551472952562335, i64 -4434500684581315571, i64 -5320622993574394849], [3 x i64] [i64 6859102945905124671, i64 -8869001369162631141, i64 7805498086560761919], [3 x i64] [i64 -4728538181899302273, i64 708741335384289334, i64 -2835747900588027777], [3 x i64] [i64 8989667709910947070, i64 1417482670768578669, i64 -5671495801176055553], [3 x i64] [i64 -467408653887657476, i64 2834965341537157339, i64 7103752471357440510], [3 x i64] [i64 -934817307775314952, i64 5669930683074314678, i64 -4239239130994670596], [3 x i64] [i64 -1869634615550629904, i64 -7106882707560922259, i64 -8478478261989341191], [3 x i64] [i64 -3739269231101259807, i64 4232978658587707099, i64 1489787549730869234], [3 x i64] [i64 -7478538462202519614, i64 8465957317175414198, i64 2979575099461738469], [3 x i64] [i64 3489667149304512388, i64 -1514829439358723220, i64 5959150198923476938], [3 x i64] [i64 6979334298609024777, i64 -3029658878717446440, i64 -6528443675862597740], [3 x i64] [i64 -4488075476491502061, i64 -6059317757434892879, i64 5389856721984356136], [3 x i64] [i64 -8976150952983004121, i64 6328108558839765858, i64 -7667030629740839343], [3 x i64] [i64 494442167743543374, i64 -5790526956030019899, i64 3112682814227872930], [3 x i64] [i64 988884335487086749, i64 6865690161649511818, i64 6225365628455745861], [3 x i64] [i64 1977768670974173498, i64 -4715363750410527980, i64 -5996012816798059893], [3 x i64] [i64 3955537341948346997, i64 9016016572888495657, i64 6454718440113431830], [3 x i64] [i64 7911074683896693994, i64 -414710927932560302, i64 -5537307193482687956], [3 x i64] [i64 -2624594705916163627, i64 -829421855865120603, i64 7372129686744175704], [3 x i64] [i64 -5249189411832327253, i64 -1658843711730241206, i64 -3702484700221200207], [3 x i64] [i64 7948365250044897111, i64 -3317687423460482411, i64 -7404969400442400413], [3 x i64] [i64 -2550013573619757393, i64 -6635374846920964821, i64 3636805272824750791], [3 x i64] [i64 -5100027147239514785, i64 5175994379867621974, i64 7273610545649501582], [3 x i64] [i64 8246689779230522046, i64 -8094755313974307668, i64 -3899522982410548451], [3 x i64] [i64 -1953364515248507523, i64 2257233445760936281, i64 -7799045964821096902], [3 x i64] [i64 -3906729030497015046, i64 4514466891521872563, i64 2848652144067357813], [3 x i64] [i64 -7813458060994030092, i64 9028933783043745126, i64 5697304288134715626], [3 x i64] [i64 2819827951721491432, i64 -388876507622061364, i64 -7052135497440120363], [3 x i64] [i64 5639655903442982865, i64 -777753015244122727, i64 4342473078829310891], [3 x i64] [i64 -7167432266823585885, i64 -1555506030488245454, i64 8684946157658621783], [3 x i64] [i64 4111879540062379847, i64 -3111012060976490908, i64 -1076851758392308049], [3 x i64] [i64 8223759080124759695, i64 -6222024121952981815, i64 -2153703516784616098], [3 x i64] [i64 -1999225913460032225, i64 6002695829803587987, i64 -4307407033569232195], [3 x i64] [i64 -3998451826920064450, i64 -6441352414102375641, i64 -8614814067138464389], [3 x i64] [i64 -7996903653840128899, i64 5564039245504800335, i64 1217115939432622839], [3 x i64] [i64 2452936766029293818, i64 -7318665582699950946, i64 2434231878865245679], [3 x i64] [i64 4905873532058587637, i64 3809412908309649724, i64 4868463757730491358], [3 x i64] [i64 -8634997009592376342, i64 7618825816619299448, i64 -8709816558248568899], [3 x i64] [i64 1176750054524798932, i64 -3209092440470952719, i64 1027110957212413818], [3 x i64] [i64 2353500109049597865, i64 -6418184880941905438, i64 2054221914424827637], [3 x i64] [i64 4707000218099195731, i64 5610374311825740740, i64 4108443828849655275], [3 x i64] [i64 -9032743637511160154, i64 -7225995450058070136, i64 8216887657699310551], [3 x i64] [i64 381256798687231309, i64 3994753173593411344, i64 -2012968758310930514], [3 x i64] [i64 762513597374462618, i64 7989506347186822689, i64 -4025937516621861027], [3 x i64] [i64 1525027194748925236, i64 -2467731379335906237, i64 -8051875033243722053], [3 x i64] [i64 3050054389497850473, i64 -4935462758671812473, i64 2342994007222107511], [3 x i64] [i64 6100108778995700947, i64 8575818556365926670, i64 4685988014444215023], [3 x i64] [i64 -6246526515718149722, i64 -1295106960977698276, i64 -9074768044821121570], [3 x i64] [i64 5953691042273252173, i64 -2590213921955396551, i64 297207984067308476], [3 x i64] [i64 -6539361989163047269, i64 -5180427843910793102, i64 594415968134616952], [3 x i64] [i64 5368020095383457079, i64 8085888385887965412, i64 1188831936269233905], [3 x i64] [i64 -7710703882942637458, i64 -2274967301933620792, i64 2377663872538467810], [3 x i64] [i64 3025336307824276701, i64 -4549934603867241584, i64 4755327745076935621], [3 x i64] [i64 6050672615648553403, i64 -9099869207734483168, i64 -8936088583555680374], [3 x i64] [i64 -6345398842412444809, i64 247005658240585281, i64 574566906598190869], [3 x i64] [i64 5755946388884661998, i64 494011316481170562, i64 1149133813196381739], [3 x i64] [i64 -6934851295940227620, i64 988022632962341124, i64 2298267626392763478], [3 x i64] [i64 4577041481829096376, i64 1976045265924682248, i64 4596535252785526956], [3 x i64] [i64 9154082963658192752, i64 3952090531849364496, i64 9193070505571053912], [3 x i64] [i64 -138578146393166112, i64 7904181063698728992, i64 -60603062567443792], [3 x i64] [i64 -277156292786332224, i64 -2638381946312093631, i64 -121206125134887583], [3 x i64] [i64 -554312585572664447, i64 -5276763892624187261, i64 -242412250269775165], [3 x i64] [i64 -1108625171145328893, i64 7893216288461177095, i64 -484824500539550330], [3 x i64] [i64 -2217250342290657786, i64 -2660311496787197425, i64 -969649001079100659], [3 x i64] [i64 -4434500684581315571, i64 -5320622993574394849, i64 -1939298002158201317], [3 x i64] [i64 -8869001369162631141, i64 7805498086560761919, i64 -3878596004316402634], [3 x i64] [i64 708741335384289334, i64 -2835747900588027777, i64 -7757192008632805267], [3 x i64] [i64 1417482670768578669, i64 -5671495801176055553, i64 2932360056443941083], [3 x i64] [i64 2834965341537157339, i64 7103752471357440510, i64 5864720112887882167], [3 x i64] [i64 5669930683074314678, i64 -4239239130994670596, i64 -6717303847933787282], [3 x i64] [i64 -7106882707560922259, i64 -8478478261989341191, i64 5012136377841977052], [3 x i64] [i64 4232978658587707099, i64 1489787549730869234, i64 -8422471318025597511], [3 x i64] [i64 8465957317175414198, i64 2979575099461738469, i64 1601801437658356594], [3 x i64] [i64 -1514829439358723220, i64 5959150198923476938, i64 3203602875316713188], [3 x i64] [i64 -3029658878717446440, i64 -6528443675862597740, i64 6407205750633426377], [3 x i64] [i64 -6059317757434892879, i64 5389856721984356136, i64 -5632332572442698862], [3 x i64] [i64 6328108558839765858, i64 -7667030629740839343, i64 7182078928824153892], [3 x i64] [i64 -5790526956030019899, i64 3112682814227872930, i64 -4082586216061243832], [3 x i64] [i64 6865690161649511818, i64 6225365628455745861, i64 -8165172432122487663], [3 x i64] [i64 -4715363750410527980, i64 -5996012816798059893, i64 2116399209464576291], [3 x i64] [i64 9016016572888495657, i64 6454718440113431830, i64 4232798418929152582], [3 x i64] [i64 -414710927932560302, i64 -5537307193482687956, i64 8465596837858305165], [3 x i64] [i64 -829421855865120603, i64 7372129686744175704, i64 -1515550397992941285], [3 x i64] [i64 -1658843711730241206, i64 -3702484700221200207, i64 -3031100795985882569], [3 x i64] [i64 -3317687423460482411, i64 -7404969400442400413, i64 -6062201591971765138], [3 x i64] [i64 -6635374846920964821, i64 3636805272824750791, i64 6322340889766021340], [3 x i64] [i64 5175994379867621974, i64 7273610545649501582, i64 -5802062294177508936], [3 x i64] [i64 -8094755313974307668, i64 -3899522982410548451, i64 6842619485354533745], [3 x i64] [i64 2257233445760936281, i64 -7799045964821096902, i64 -4761505103000484125], [3 x i64] [i64 4514466891521872563, i64 2848652144067357813, i64 8923733867708583367], [3 x i64] [i64 9028933783043745126, i64 5697304288134715626, i64 -599276338292384882], [3 x i64] [i64 -388876507622061364, i64 -7052135497440120363, i64 -1198552676584769763], [3 x i64] [i64 -777753015244122727, i64 4342473078829310891, i64 -2397105353169539526], [3 x i64] [i64 -1555506030488245454, i64 8684946157658621783, i64 -4794210706339079052], [3 x i64] [i64 -3111012060976490908, i64 -1076851758392308049, i64 8858322661031393513], [3 x i64] [i64 -6222024121952981815, i64 -2153703516784616098, i64 -730098751646764590], [3 x i64] [i64 6002695829803587987, i64 -4307407033569232195, i64 -1460197503293529180], [3 x i64] [i64 -6441352414102375641, i64 -8614814067138464389, i64 -2920395006587058360], [3 x i64] [i64 5564039245504800335, i64 1217115939432622839, i64 -5840790013174116720], [3 x i64] [i64 -7318665582699950946, i64 2434231878865245679, i64 6765164047361318177], [3 x i64] [i64 3809412908309649724, i64 4868463757730491358, i64 -4916415978986915262], [3 x i64] [i64 7618825816619299448, i64 -8709816558248568899, i64 8613912115735721092], [3 x i64] [i64 -3209092440470952719, i64 1027110957212413818, i64 -1218919842238109431], [3 x i64] [i64 -6418184880941905438, i64 2054221914424827637, i64 -2437839684476218862], [3 x i64] [i64 5610374311825740740, i64 4108443828849655275, i64 -4875679368952437724], [3 x i64] [i64 -7225995450058070136, i64 8216887657699310551, i64 8695385335804676169], [3 x i64] [i64 3994753173593411344, i64 -2012968758310930514, i64 -1055973402100199277], [3 x i64] [i64 7989506347186822689, i64 -4025937516621861027, i64 -2111946804200398554], [3 x i64] [i64 -2467731379335906237, i64 -8051875033243722053, i64 -4223893608400797107], [3 x i64] [i64 -4935462758671812473, i64 2342994007222107511, i64 -8447787216801594213], [3 x i64] [i64 8575818556365926670, i64 4685988014444215023, i64 1551169640106363191], [3 x i64] [i64 -1295106960977698276, i64 -9074768044821121570, i64 3102339280212726382], [3 x i64] [i64 -2590213921955396551, i64 297207984067308476, i64 6204678560425452765], [3 x i64] [i64 -5180427843910793102, i64 594415968134616952, i64 -6037386952858646086], [3 x i64] [i64 8085888385887965412, i64 1188831936269233905, i64 6371970167992259444], [3 x i64] [i64 -2274967301933620792, i64 2377663872538467810, i64 -5702803737725032727], [3 x i64] [i64 -4549934603867241584, i64 4755327745076935621, i64 7041136598259486162], [3 x i64] [i64 -9099869207734483168, i64 -8936088583555680374, i64 -4364470877190579291], [3 x i64] [i64 247005658240585281, i64 574566906598190869, i64 -8728941754381158581], [3 x i64] [i64 494011316481170562, i64 1149133813196381739, i64 988860564947234455], [3 x i64] [i64 988022632962341124, i64 2298267626392763478, i64 1977721129894468910], [3 x i64] [i64 1976045265924682248, i64 4596535252785526956, i64 3955442259788937820], [3 x i64] [i64 3952090531849364496, i64 9193070505571053912, i64 7910884519577875640], [3 x i64] [i64 7904181063698728992, i64 -60603062567443792, i64 -2624975034553800336], [3 x i64] [i64 -2638381946312093631, i64 -121206125134887583, i64 -5249950069107600672], [3 x i64] [i64 -5276763892624187261, i64 -242412250269775165, i64 7946843935494350272], [3 x i64] [i64 7893216288461177095, i64 -484824500539550330, i64 -2553056202720851072], [3 x i64] [i64 -2660311496787197425, i64 -969649001079100659, i64 -5106112405441702144], [3 x i64] [i64 -5320622993574394849, i64 -1939298002158201317, i64 8234519262826147328], [3 x i64] [i64 7805498086560761919, i64 -3878596004316402634, i64 -1977705548057256960], [3 x i64] [i64 -2835747900588027777, i64 -7757192008632805267, i64 -3955411096114513919], [3 x i64] [i64 -5671495801176055553, i64 2932360056443941083, i64 -7910822192229027837], [3 x i64] [i64 7103752471357440510, i64 5864720112887882167, i64 2625099689251495942], [3 x i64] [i64 -4239239130994670596, i64 -6717303847933787282, i64 5250199378502991884], [3 x i64] [i64 -8478478261989341191, i64 5012136377841977052, i64 -7946345316703567847], [3 x i64] [i64 1489787549730869234, i64 -8422471318025597511, i64 2554053440302415922], [3 x i64] [i64 2979575099461738469, i64 1601801437658356594, i64 5108106880604831844], [3 x i64] [i64 5959150198923476938, i64 3203602875316713188, i64 -8230530312499887927], [3 x i64] [i64 -6528443675862597740, i64 6407205750633426377, i64 1985683448709775762], [3 x i64] [i64 5389856721984356136, i64 -5632332572442698862, i64 3971366897419551524], [3 x i64] [i64 -7667030629740839343, i64 7182078928824153892, i64 7942733794839103049], [3 x i64] [i64 3112682814227872930, i64 -4082586216061243832, i64 -2561276484031345518], [3 x i64] [i64 6225365628455745861, i64 -8165172432122487663, i64 -5122552968062691036], [3 x i64] [i64 -5996012816798059893, i64 2116399209464576291, i64 8201638137584169545], [3 x i64] [i64 6454718440113431830, i64 4232798418929152582, i64 -2043467798541212526], [3 x i64] [i64 -5537307193482687956, i64 8465596837858305165, i64 -4086935597082425051], [3 x i64] [i64 7372129686744175704, i64 -1515550397992941285, i64 -8173871194164850101], [3 x i64] [i64 -3702484700221200207, i64 -3031100795985882569, i64 2099001685379851415], [3 x i64] [i64 -7404969400442400413, i64 -6062201591971765138, i64 4198003370759702830], [3 x i64] [i64 3636805272824750791, i64 6322340889766021340, i64 8396006741519405661], [3 x i64] [i64 7273610545649501582, i64 -5802062294177508936, i64 -1654730590670740293], [3 x i64] [i64 -3899522982410548451, i64 6842619485354533745, i64 -3309461181341480585], [3 x i64] [i64 -7799045964821096902, i64 -4761505103000484125, i64 -6618922362682961170], [3 x i64] [i64 2848652144067357813, i64 8923733867708583367, i64 5208899348343629277], [3 x i64] [i64 5697304288134715626, i64 -599276338292384882, i64 -8028945377022293062], [3 x i64] [i64 -7052135497440120363, i64 -1198552676584769763, i64 2388853319664965493], [3 x i64] [i64 4342473078829310891, i64 -2397105353169539526, i64 4777706639329930986], [3 x i64] [i64 8684946157658621783, i64 -4794210706339079052, i64 -8891330795049689644], [3 x i64] [i64 -1076851758392308049, i64 8858322661031393513, i64 664082483610172328], [3 x i64] [i64 -2153703516784616098, i64 -730098751646764590, i64 1328164967220344656], [3 x i64] [i64 -4307407033569232195, i64 -1460197503293529180, i64 2656329934440689312], [3 x i64] [i64 -8614814067138464389, i64 -2920395006587058360, i64 5312659868881378625], [3 x i64] [i64 1217115939432622839, i64 -5840790013174116720, i64 -7821424335946794366], [3 x i64] [i64 2434231878865245679, i64 6765164047361318177, i64 2803895401815962884], [3 x i64] [i64 4868463757730491358, i64 -4916415978986915262, i64 5607790803631925769], [3 x i64] [i64 -8709816558248568899, i64 8613912115735721092, i64 -7231162466445700077], [3 x i64] [i64 1027110957212413818, i64 -1218919842238109431, i64 3984419140818151463], [3 x i64] [i64 2054221914424827637, i64 -2437839684476218862, i64 7968838281636302926], [3 x i64] [i64 4108443828849655275, i64 -4875679368952437724, i64 -2509067510436945763], [3 x i64] [i64 8216887657699310551, i64 8695385335804676169, i64 -5018135020873891526], [3 x i64] [i64 -2012968758310930514, i64 -1055973402100199277, i64 8410474031961768564], [3 x i64] [i64 -4025937516621861027, i64 -2111946804200398554, i64 -1625796009786014488], [3 x i64] [i64 -8051875033243722053, i64 -4223893608400797107, i64 -3251592019572028975], [3 x i64] [i64 2342994007222107511, i64 -8447787216801594213, i64 -6503184039144057949], [3 x i64] [i64 4685988014444215023, i64 1551169640106363191, i64 5440375995421435718], [3 x i64] [i64 -9074768044821121570, i64 3102339280212726382, i64 -7565992082866680180], [3 x i64] [i64 297207984067308476, i64 6204678560425452765, i64 3314759907976191257], [3 x i64] [i64 594415968134616952, i64 -6037386952858646086, i64 6629519815952382514], [3 x i64] [i64 1188831936269233905, i64 6371970167992259444, i64 -5187704441804786588], [3 x i64] [i64 2377663872538467810, i64 -5702803737725032727, i64 8071335190099978441], [3 x i64] [i64 4755327745076935621, i64 7041136598259486162, i64 -2304073693509594734], [3 x i64] [i64 -8936088583555680374, i64 -4364470877190579291, i64 -4608147387019189468], [3 x i64] [i64 574566906598190869, i64 -8728941754381158581, i64 -9216294774038378936], [3 x i64] [i64 1149133813196381739, i64 988860564947234455, i64 14154525632793744], [3 x i64] [i64 2298267626392763478, i64 1977721129894468910, i64 28309051265587489], [3 x i64] [i64 4596535252785526956, i64 3955442259788937820, i64 56618102531174979], [3 x i64] [i64 9193070505571053912, i64 7910884519577875640, i64 113236205062349959], [3 x i64] [i64 -60603062567443792, i64 -2624975034553800336, i64 226472410124699918], [3 x i64] [i64 -121206125134887583, i64 -5249950069107600672, i64 452944820249399836], [3 x i64] [i64 -242412250269775165, i64 7946843935494350272, i64 905889640498799673], [3 x i64] [i64 -484824500539550330, i64 -2553056202720851072, i64 1811779280997599347], [3 x i64] [i64 -969649001079100659, i64 -5106112405441702144, i64 3623558561995198695], [3 x i64] [i64 -1939298002158201317, i64 8234519262826147328, i64 7247117123990397391], [3 x i64] [i64 -3878596004316402634, i64 -1977705548057256960, i64 -3952509825728756833], [3 x i64] [i64 -7757192008632805267, i64 -3955411096114513919, i64 -7905019651457513665], [3 x i64] [i64 2932360056443941083, i64 -7910822192229027837, i64 2636704770794524287], [3 x i64] [i64 5864720112887882167, i64 2625099689251495942, i64 5273409541589048574], [3 x i64] [i64 -6717303847933787282, i64 5250199378502991884, i64 -7899924990531454468], [3 x i64] [i64 5012136377841977052, i64 -7946345316703567847, i64 2646894092646642680], [3 x i64] [i64 -8422471318025597511, i64 2554053440302415922, i64 5293788185293285360], [3 x i64] [i64 1601801437658356594, i64 5108106880604831844, i64 -7859167703122980895], [3 x i64] [i64 3203602875316713188, i64 -8230530312499887927, i64 2728408667463589827], [3 x i64] [i64 6407205750633426377, i64 1985683448709775762, i64 5456817334927179655], [3 x i64] [i64 -5632332572442698862, i64 3971366897419551524, i64 -7533109403855192306], [3 x i64] [i64 7182078928824153892, i64 7942733794839103049, i64 3380525265999167005], [3 x i64] [i64 -4082586216061243832, i64 -2561276484031345518, i64 6761050531998334011], [3 x i64] [i64 -8165172432122487663, i64 -5122552968062691036, i64 -4924643009712883593], [3 x i64] [i64 2116399209464576291, i64 8201638137584169545, i64 8597458054283784431], [3 x i64] [i64 4232798418929152582, i64 -2043467798541212526, i64 -1251827965141982754], [3 x i64] [i64 8465596837858305165, i64 -4086935597082425051, i64 -2503655930283965507], [3 x i64] [i64 -1515550397992941285, i64 -8173871194164850101, i64 -5007311860567931014], [3 x i64] [i64 -3031100795985882569, i64 2099001685379851415, i64 8432120352573689589], [3 x i64] [i64 -6062201591971765138, i64 4198003370759702830, i64 -1582503368562172437], [3 x i64] [i64 6322340889766021340, i64 8396006741519405661, i64 -3165006737124344874], [3 x i64] [i64 -5802062294177508936, i64 -1654730590670740293, i64 -6330013474248689748], [3 x i64] [i64 6842619485354533745, i64 -3309461181341480585, i64 5786717125212172120], [3 x i64] [i64 -4761505103000484125, i64 -6618922362682961170, i64 -6873309823285207375], [3 x i64] [i64 8923733867708583367, i64 5208899348343629277, i64 4700124427139136867], [3 x i64] [i64 -599276338292384882, i64 -8028945377022293062, i64 -9046495219431277881], [3 x i64] [i64 -1198552676584769763, i64 2388853319664965493, i64 353753634846995854], [3 x i64] [i64 -2397105353169539526, i64 4777706639329930986, i64 707507269693991708], [3 x i64] [i64 -4794210706339079052, i64 -8891330795049689644, i64 1415014539387983417], [3 x i64] [i64 8858322661031393513, i64 664082483610172328, i64 2830029078775966834], [3 x i64] [i64 -730098751646764590, i64 1328164967220344656, i64 5660058157551933669], [3 x i64] [i64 -1460197503293529180, i64 2656329934440689312, i64 -7126627758605684277], [3 x i64] [i64 -2920395006587058360, i64 5312659868881378625, i64 4193488556498183062], [3 x i64] [i64 -5840790013174116720, i64 -7821424335946794366, i64 8386977112996366124], [3 x i64] [i64 6765164047361318177, i64 2803895401815962884, i64 -1672789847716819368], [3 x i64] [i64 -4916415978986915262, i64 5607790803631925769, i64 -3345579695433638735], [3 x i64] [i64 8613912115735721092, i64 -7231162466445700077, i64 -6691159390867277470], [3 x i64] [i64 -1218919842238109431, i64 3984419140818151463, i64 5064425291974996676], [3 x i64] [i64 -2437839684476218862, i64 7968838281636302926, i64 -8317893489759558263], [3 x i64] [i64 -4875679368952437724, i64 -2509067510436945763, i64 1810957094190435090], [3 x i64] [i64 8695385335804676169, i64 -5018135020873891526, i64 3621914188380870181], [3 x i64] [i64 -1055973402100199277, i64 8410474031961768564, i64 7243828376761740362], [3 x i64] [i64 -2111946804200398554, i64 -1625796009786014488, i64 -3959087320186070892], [3 x i64] [i64 -4223893608400797107, i64 -3251592019572028975, i64 -7918174640372141783], [3 x i64] [i64 -8447787216801594213, i64 -6503184039144057949, i64 2610394792965268051], [3 x i64] [i64 1551169640106363191, i64 5440375995421435718, i64 5220789585930536102], [3 x i64] [i64 3102339280212726382, i64 -7565992082866680180, i64 -8005164901848479411], [3 x i64] [i64 6204678560425452765, i64 3314759907976191257, i64 2436414270012592794], [3 x i64] [i64 -6037386952858646086, i64 6629519815952382514, i64 4872828540025185588], [3 x i64] [i64 6371970167992259444, i64 -5187704441804786588, i64 -8701086993659180439], [3 x i64] [i64 -5702803737725032727, i64 8071335190099978441, i64 1044570086391190739], [3 x i64] [i64 7041136598259486162, i64 -2304073693509594734, i64 2089140172782381479], [3 x i64] [i64 -4364470877190579291, i64 -4608147387019189468, i64 4178280345564762958], [3 x i64] [i64 -8728941754381158581, i64 -9216294774038378936, i64 8356560691129525916], [3 x i64] [i64 988860564947234455, i64 14154525632793744, i64 -1733622691450499783], [3 x i64] [i64 1977721129894468910, i64 28309051265587489, i64 -3467245382900999565], [3 x i64] [i64 3955442259788937820, i64 56618102531174979, i64 -6934490765801999129], [3 x i64] [i64 7910884519577875640, i64 113236205062349959, i64 4577762542105553359], [3 x i64] [i64 -2624975034553800336, i64 226472410124699918, i64 9155525084211106719], [3 x i64] [i64 -5249950069107600672, i64 452944820249399836, i64 -135693905287338178], [3 x i64] [i64 7946843935494350272, i64 905889640498799673, i64 -271387810574676355], [3 x i64] [i64 -2553056202720851072, i64 1811779280997599347, i64 -542775621149352709], [3 x i64] [i64 -5106112405441702144, i64 3623558561995198695, i64 -1085551242298705417], [3 x i64] [i64 8234519262826147328, i64 7247117123990397391, i64 -2171102484597410834], [3 x i64] [i64 -1977705548057256960, i64 -3952509825728756833, i64 -4342204969194821667], [3 x i64] [i64 -3955411096114513919, i64 -7905019651457513665, i64 -8684409938389643334], [3 x i64] [i64 -7910822192229027837, i64 2636704770794524287, i64 1077924196930264948], [3 x i64] [i64 2625099689251495942, i64 5273409541589048574, i64 2155848393860529896], [3 x i64] [i64 5250199378502991884, i64 -7899924990531454468, i64 4311696787721059793], [3 x i64] [i64 -7946345316703567847, i64 2646894092646642680, i64 8623393575442119586], [3 x i64] [i64 2554053440302415922, i64 5293788185293285360, i64 -1199956922825312444], [3 x i64] [i64 5108106880604831844, i64 -7859167703122980895, i64 -2399913845650624888], [3 x i64] [i64 -8230530312499887927, i64 2728408667463589827, i64 -4799827691301249776], [3 x i64] [i64 1985683448709775762, i64 5456817334927179655, i64 8847088691107052064], [3 x i64] [i64 3971366897419551524, i64 -7533109403855192306, i64 -752566691495447487], [3 x i64] [i64 7942733794839103049, i64 3380525265999167005, i64 -1505133382990894974], [3 x i64] [i64 -2561276484031345518, i64 6761050531998334011, i64 -3010266765981789948], [3 x i64] [i64 -5122552968062691036, i64 -4924643009712883593, i64 -6020533531963579896], [3 x i64] [i64 8201638137584169545, i64 8597458054283784431, i64 6405677009782391825], [3 x i64] [i64 -2043467798541212526, i64 -1251827965141982754, i64 -5635390054144767965], [3 x i64] [i64 -4086935597082425051, i64 -2503655930283965507, i64 7175963965420015686], [3 x i64] [i64 -8173871194164850101, i64 -5007311860567931014, i64 -4094816142869520243], [3 x i64] [i64 2099001685379851415, i64 8432120352573689589, i64 -8189632285739040486], [3 x i64] [i64 4198003370759702830, i64 -1582503368562172437, i64 2067479502231470645], [3 x i64] [i64 8396006741519405661, i64 -3165006737124344874, i64 4134959004462941291], [3 x i64] [i64 -1654730590670740293, i64 -6330013474248689748, i64 8269918008925882583], [3 x i64] [i64 -3309461181341480585, i64 5786717125212172120, i64 -1906908055857786449], [3 x i64] [i64 -6618922362682961170, i64 -6873309823285207375, i64 -3813816111715572897], [3 x i64] [i64 5208899348343629277, i64 4700124427139136867, i64 -7627632223431145794], [3 x i64] [i64 -8028945377022293062, i64 -9046495219431277881, i64 3191479626847260029], [3 x i64] [i64 2388853319664965493, i64 353753634846995854, i64 6382959253694520058], [3 x i64] [i64 4777706639329930986, i64 707507269693991708, i64 -5680825566320511499], [3 x i64] [i64 -8891330795049689644, i64 1415014539387983417, i64 7085092941068528618], [3 x i64] [i64 664082483610172328, i64 2830029078775966834, i64 -4276558191572494380], [3 x i64] [i64 1328164967220344656, i64 5660058157551933669, i64 -8553116383144988759], [3 x i64] [i64 2656329934440689312, i64 -7126627758605684277, i64 1340511307419574098], [3 x i64] [i64 5312659868881378625, i64 4193488556498183062, i64 2681022614839148197], [3 x i64] [i64 -7821424335946794366, i64 8386977112996366124, i64 5362045229678296395], [3 x i64] [i64 2803895401815962884, i64 -1672789847716819368, i64 -7722653614352958825], [3 x i64] [i64 5607790803631925769, i64 -3345579695433638735, i64 3001436845003633966], [3 x i64] [i64 -7231162466445700077, i64 -6691159390867277470, i64 6002873690007267933], [3 x i64] [i64 3984419140818151463, i64 5064425291974996676, i64 -6440996693695015750], [3 x i64] [i64 7968838281636302926, i64 -8317893489759558263, i64 5564750686319520117], [3 x i64] [i64 -2509067510436945763, i64 1810957094190435090, i64 -7317242701070511381], [3 x i64] [i64 -5018135020873891526, i64 3621914188380870181, i64 3812258671568528855], [3 x i64] [i64 8410474031961768564, i64 7243828376761740362, i64 7624517343137057710], [3 x i64] [i64 -1625796009786014488, i64 -3959087320186070892, i64 -3197709387435436195], [3 x i64] [i64 -3251592019572028975, i64 -7918174640372141783, i64 -6395418774870872389], [3 x i64] [i64 -6503184039144057949, i64 2610394792965268051, i64 5655906523967806838], [3 x i64] [i64 5440375995421435718, i64 5220789585930536102, i64 -7134931025773937939], [3 x i64] [i64 -7565992082866680180, i64 -8005164901848479411, i64 4176882022161675738], [3 x i64] [i64 3314759907976191257, i64 2436414270012592794, i64 8353764044323351476], [3 x i64] [i64 6629519815952382514, i64 4872828540025185588, i64 -1739215985062848664], [3 x i64] [i64 -5187704441804786588, i64 -8701086993659180439, i64 -3478431970125697327], [3 x i64] [i64 8071335190099978441, i64 1044570086391190739, i64 -6956863940251394654], [3 x i64] [i64 -2304073693509594734, i64 2089140172782381479, i64 4533016193206762308], [3 x i64] [i64 -4608147387019189468, i64 4178280345564762958, i64 9066032386413524617], [3 x i64] [i64 -9216294774038378936, i64 8356560691129525916, i64 -314679300882502382], [3 x i64] [i64 14154525632793744, i64 -1733622691450499783, i64 -629358601765004764], [3 x i64] [i64 28309051265587489, i64 -3467245382900999565, i64 -1258717203530009528], [3 x i64] [i64 56618102531174979, i64 -6934490765801999129, i64 -2517434407060019056], [3 x i64] [i64 113236205062349959, i64 4577762542105553359, i64 -5034868814120038111], [3 x i64] [i64 226472410124699918, i64 9155525084211106719, i64 8377006445469475394], [3 x i64] [i64 452944820249399836, i64 -135693905287338178, i64 -1692731182770600828], [3 x i64] [i64 905889640498799673, i64 -271387810574676355, i64 -3385462365541201655], [3 x i64] [i64 1811779280997599347, i64 -542775621149352709, i64 -6770924731082403309], [3 x i64] [i64 3623558561995198695, i64 -1085551242298705417, i64 4904894611544744999], [3 x i64] [i64 7247117123990397391, i64 -2171102484597410834, i64 -8636954850620061618], [3 x i64] [i64 -3952509825728756833, i64 -4342204969194821667, i64 1172834372469428381], [3 x i64] [i64 -7905019651457513665, i64 -8684409938389643334, i64 2345668744938856762], [3 x i64] [i64 2636704770794524287, i64 1077924196930264948, i64 4691337489877713524], [3 x i64] [i64 5273409541589048574, i64 2155848393860529896, i64 -9064069093954124567], [3 x i64] [i64 -7899924990531454468, i64 4311696787721059793, i64 318605885801302483], [3 x i64] [i64 2646894092646642680, i64 8623393575442119586, i64 637211771602604966], [3 x i64] [i64 5293788185293285360, i64 -1199956922825312444, i64 1274423543205209932], [3 x i64] [i64 -7859167703122980895, i64 -2399913845650624888, i64 2548847086410419865], [3 x i64] [i64 2728408667463589827, i64 -4799827691301249776, i64 5097694172820839731], [3 x i64] [i64 5456817334927179655, i64 8847088691107052064, i64 -8251355728067872153], [3 x i64] [i64 -7533109403855192306, i64 -752566691495447487, i64 1944032617573807310], [3 x i64] [i64 3380525265999167005, i64 -1505133382990894974, i64 3888065235147614620], [3 x i64] [i64 6761050531998334011, i64 -3010266765981789948, i64 7776130470295229240], [3 x i64] [i64 -4924643009712883593, i64 -6020533531963579896, i64 -2894483133119093135], [3 x i64] [i64 8597458054283784431, i64 6405677009782391825, i64 -5788966266238186269], [3 x i64] [i64 -1251827965141982754, i64 -5635390054144767965, i64 6868811541233179079], [3 x i64] [i64 -2503655930283965507, i64 7175963965420015686, i64 -4709120991243193458], [3 x i64] [i64 -5007311860567931014, i64 -4094816142869520243, i64 9028502091223164700], [3 x i64] [i64 8432120352573689589, i64 -8189632285739040486, i64 -389739891263222216], [3 x i64] [i64 -1582503368562172437, i64 2067479502231470645, i64 -779479782526444432], [3 x i64] [i64 -3165006737124344874, i64 4134959004462941291, i64 -1558959565052888864], [3 x i64] [i64 -6330013474248689748, i64 8269918008925882583, i64 -3117919130105777728], [3 x i64] [i64 5786717125212172120, i64 -1906908055857786449, i64 -6235838260211555455], [3 x i64] [i64 -6873309823285207375, i64 -3813816111715572897, i64 5975067553286440706], [3 x i64] [i64 4700124427139136867, i64 -7627632223431145794, i64 -6496608967136670204], [3 x i64] [i64 -9046495219431277881, i64 3191479626847260029, i64 5453526139436211209], [3 x i64] [i64 353753634846995854, i64 6382959253694520058, i64 -7539691794837129197], [3 x i64] [i64 707507269693991708, i64 -5680825566320511499, i64 3367360484035293222], [3 x i64] [i64 1415014539387983417, i64 7085092941068528618, i64 6734720968070586445], [3 x i64] [i64 2830029078775966834, i64 -4276558191572494380, i64 -4977302137568378726], [3 x i64] [i64 5660058157551933669, i64 -8553116383144988759, i64 8492139798572794165], [3 x i64] [i64 -7126627758605684277, i64 1340511307419574098, i64 -1462464476563963285], [3 x i64] [i64 4193488556498183062, i64 2681022614839148197, i64 -2924928953127926570], [3 x i64] [i64 8386977112996366124, i64 5362045229678296395, i64 -5849857906255853139], [3 x i64] [i64 -1672789847716819368, i64 -7722653614352958825, i64 6747028261197845338], [3 x i64] [i64 -3345579695433638735, i64 3001436845003633966, i64 -4952687551313860940], [3 x i64] [i64 -6691159390867277470, i64 6002873690007267933, i64 8541368971081829736], [3 x i64] [i64 5064425291974996676, i64 -6440996693695015750, i64 -1364006131545892143], [3 x i64] [i64 -8317893489759558263, i64 5564750686319520117, i64 -2728012263091784286], [3 x i64] [i64 1810957094190435090, i64 -7317242701070511381, i64 -5456024526183568571], [3 x i64] [i64 3621914188380870181, i64 3812258671568528855, i64 7534695021342414475], [3 x i64] [i64 7243828376761740362, i64 7624517343137057710, i64 -3377354031024722665], [3 x i64] [i64 -3959087320186070892, i64 -3197709387435436195, i64 -6754708062049445329], [3 x i64] [i64 -7918174640372141783, i64 -6395418774870872389, i64 4937327949610660959], [3 x i64] [i64 2610394792965268051, i64 5655906523967806838, i64 -8572088174488229698], [3 x i64] [i64 5220789585930536102, i64 -7134931025773937939, i64 1302567724733092221], [3 x i64] [i64 -8005164901848479411, i64 4176882022161675738, i64 2605135449466184443], [3 x i64] [i64 2436414270012592794, i64 8353764044323351476, i64 5210270898932368887], [3 x i64] [i64 4872828540025185588, i64 -1739215985062848664, i64 -8026202275844813841], [3 x i64] [i64 -8701086993659180439, i64 -3478431970125697327, i64 2394339522019923935], [3 x i64] [i64 1044570086391190739, i64 -6956863940251394654, i64 4788679044039847871], [3 x i64] [i64 2089140172782381479, i64 4533016193206762308, i64 -8869385985629855874], [3 x i64] [i64 4178280345564762958, i64 9066032386413524617, i64 707972102449839868], [3 x i64] [i64 8356560691129525916, i64 -314679300882502382, i64 1415944204899679737], [3 x i64] [i64 -1733622691450499783, i64 -629358601765004764, i64 2831888409799359474], [3 x i64] [i64 -3467245382900999565, i64 -1258717203530009528, i64 5663776819598718948], [3 x i64] [i64 -6934490765801999129, i64 -2517434407060019056, i64 -7119190434512113720], [3 x i64] [i64 4577762542105553359, i64 -5034868814120038111, i64 4208363204685324176], [3 x i64] [i64 9155525084211106719, i64 8377006445469475394, i64 8416726409370648352], [3 x i64] [i64 -135693905287338178, i64 -1692731182770600828, i64 -1613291254968254911], [3 x i64] [i64 -271387810574676355, i64 -3385462365541201655, i64 -3226582509936509822], [3 x i64] [i64 -542775621149352709, i64 -6770924731082403309, i64 -6453165019873019644], [3 x i64] [i64 -1085551242298705417, i64 4904894611544744999, i64 5540414033963512329], [3 x i64] [i64 -2171102484597410834, i64 -8636954850620061618, i64 -7365916005782526957], [3 x i64] [i64 -4342204969194821667, i64 1172834372469428381, i64 3714912062144497703], [3 x i64] [i64 -8684409938389643334, i64 2345668744938856762, i64 7429824124288995406], [3 x i64] [i64 1077924196930264948, i64 4691337489877713524, i64 -3587095825131560804], [3 x i64] [i64 2155848393860529896, i64 -9064069093954124567, i64 -7174191650263121607], [3 x i64] [i64 4311696787721059793, i64 318605885801302483, i64 4098360773183308403], [3 x i64] [i64 8623393575442119586, i64 637211771602604966, i64 8196721546366616806], [3 x i64] [i64 -1199956922825312444, i64 1274423543205209932, i64 -2053300980976318004], [3 x i64] [i64 -2399913845650624888, i64 2548847086410419865, i64 -4106601961952636007], [3 x i64] [i64 -4799827691301249776, i64 5097694172820839731, i64 -8213203923905272014], [3 x i64] [i64 8847088691107052064, i64 -8251355728067872153, i64 2020336225899007588], [3 x i64] [i64 -752566691495447487, i64 1944032617573807310, i64 4040672451798015176], [3 x i64] [i64 -1505133382990894974, i64 3888065235147614620, i64 8081344903596030353], [3 x i64] [i64 -3010266765981789948, i64 7776130470295229240, i64 -2284054266517490909], [3 x i64] [i64 -6020533531963579896, i64 -2894483133119093135, i64 -4568108533034981817], [3 x i64] [i64 6405677009782391825, i64 -5788966266238186269, i64 -9136217066069963634], [3 x i64] [i64 -5635390054144767965, i64 6868811541233179079, i64 174309941569624349], [3 x i64] [i64 7175963965420015686, i64 -4709120991243193458, i64 348619883139248698], [3 x i64] [i64 -4094816142869520243, i64 9028502091223164700, i64 697239766278497397], [3 x i64] [i64 -8189632285739040486, i64 -389739891263222216, i64 1394479532556994795], [3 x i64] [i64 2067479502231470645, i64 -779479782526444432, i64 2788959065113989590], [3 x i64] [i64 4134959004462941291, i64 -1558959565052888864, i64 5577918130227979180], [3 x i64] [i64 8269918008925882583, i64 -3117919130105777728, i64 -7290907813253593256], [3 x i64] [i64 -1906908055857786449, i64 -6235838260211555455, i64 3864928447202365105], [3 x i64] [i64 -3813816111715572897, i64 5975067553286440706, i64 7729856894404730211], [3 x i64] [i64 -7627632223431145794, i64 -6496608967136670204, i64 -2987030284900091193], [3 x i64] [i64 3191479626847260029, i64 5453526139436211209, i64 -5974060569800182386], [3 x i64] [i64 6382959253694520058, i64 -7539691794837129197, i64 6498622934109186844], [3 x i64] [i64 -5680825566320511499, i64 3367360484035293222, i64 -5449498205491177927], [3 x i64] [i64 7085092941068528618, i64 6734720968070586445, i64 7547747662727195763], [3 x i64] [i64 -4276558191572494380, i64 -4977302137568378726, i64 -3351248748255160090], [3 x i64] [i64 -8553116383144988759, i64 8492139798572794165, i64 -6702497496510320180], [3 x i64] [i64 1340511307419574098, i64 -1462464476563963285, i64 5041749080688911256], [3 x i64] [i64 2681022614839148197, i64 -2924928953127926570, i64 -8363245912331729104], [3 x i64] [i64 5362045229678296395, i64 -5849857906255853139, i64 1720252249046093408], [3 x i64] [i64 -7722653614352958825, i64 6747028261197845338, i64 3440504498092186817], [3 x i64] [i64 3001436845003633966, i64 -4952687551313860940, i64 6881008996184373635], [3 x i64] [i64 6002873690007267933, i64 8541368971081829736, i64 -4684726081340804346], [3 x i64] [i64 -6440996693695015750, i64 -1364006131545892143, i64 9077291911027942925], [3 x i64] [i64 5564750686319520117, i64 -2728012263091784286, i64 -292160251653665766], [3 x i64] [i64 -7317242701070511381, i64 -5456024526183568571, i64 -584320503307331531], [3 x i64] [i64 3812258671568528855, i64 7534695021342414475, i64 -1168641006614663062], [3 x i64] [i64 7624517343137057710, i64 -3377354031024722665, i64 -2337282013229326124], [3 x i64] [i64 -3197709387435436195, i64 -6754708062049445329, i64 -4674564026458652247], [3 x i64] [i64 -6395418774870872389, i64 4937327949610660959, i64 9097616020792247123], [3 x i64] [i64 5655906523967806838, i64 -8572088174488229698, i64 -251512032125057370], [3 x i64] [i64 -7134931025773937939, i64 1302567724733092221, i64 -503024064250114740], [3 x i64] [i64 4176882022161675738, i64 2605135449466184443, i64 -1006048128500229479], [3 x i64] [i64 8353764044323351476, i64 5210270898932368887, i64 -2012096257000458957], [3 x i64] [i64 -1739215985062848664, i64 -8026202275844813841, i64 -4024192514000917913], [3 x i64] [i64 -3478431970125697327, i64 2394339522019923935, i64 -8048385028001835826], [3 x i64] [i64 -6956863940251394654, i64 4788679044039847871, i64 2349974017705879964], [3 x i64] [i64 4533016193206762308, i64 -8869385985629855874, i64 4699948035411759929], [3 x i64] [i64 9066032386413524617, i64 707972102449839868, i64 -9046848002886031757], [3 x i64] [i64 -314679300882502382, i64 1415944204899679737, i64 353048067937488103], [3 x i64] [i64 -629358601765004764, i64 2831888409799359474, i64 706096135874976207], [3 x i64] [i64 -1258717203530009528, i64 5663776819598718948, i64 1412192271749952415], [3 x i64] [i64 -2517434407060019056, i64 -7119190434512113720, i64 2824384543499904830], [3 x i64] [i64 -5034868814120038111, i64 4208363204685324176, i64 5648769086999809661], [3 x i64] [i64 8377006445469475394, i64 8416726409370648352, i64 -7149205899709932294], [3 x i64] [i64 -1692731182770600828, i64 -1613291254968254911, i64 4148332274289687028], [3 x i64] [i64 -3385462365541201655, i64 -3226582509936509822, i64 8296664548579374057], [3 x i64] [i64 -6770924731082403309, i64 -6453165019873019644, i64 -1853414976550803502], [3 x i64] [i64 4904894611544744999, i64 5540414033963512329, i64 -3706829953101607004], [3 x i64] [i64 -8636954850620061618, i64 -7365916005782526957, i64 -7413659906203214007], [3 x i64] [i64 1172834372469428381, i64 3714912062144497703, i64 3619424261303123603], [3 x i64] [i64 2345668744938856762, i64 7429824124288995406, i64 7238848522606247207], [3 x i64] [i64 4691337489877713524, i64 -3587095825131560804, i64 -3969047028497057202], [3 x i64] [i64 -9064069093954124567, i64 -7174191650263121607, i64 -7938094056994114404], [3 x i64] [i64 318605885801302483, i64 4098360773183308403, i64 2570555959721322809], [3 x i64] [i64 637211771602604966, i64 8196721546366616806, i64 5141111919442645618], [3 x i64] [i64 1274423543205209932, i64 -2053300980976318004, i64 -8164520234824260380], [3 x i64] [i64 2548847086410419865, i64 -4106601961952636007, i64 2117703604061030856], [3 x i64] [i64 5097694172820839731, i64 -8213203923905272014, i64 4235407208122061712], [3 x i64] [i64 -8251355728067872153, i64 2020336225899007588, i64 8470814416244123425], [3 x i64] [i64 1944032617573807310, i64 4040672451798015176, i64 -1505115241221304766], [3 x i64] [i64 3888065235147614620, i64 8081344903596030353, i64 -3010230482442609532], [3 x i64] [i64 7776130470295229240, i64 -2284054266517490909, i64 -6020460964885219064], [3 x i64] [i64 -2894483133119093135, i64 -4568108533034981817, i64 6405822143939113489], [3 x i64] [i64 -5788966266238186269, i64 -9136217066069963634, i64 -5635099785831324638], [3 x i64] [i64 6868811541233179079, i64 174309941569624349, i64 7176544502046902341], [3 x i64] [i64 -4709120991243193458, i64 348619883139248698, i64 -4093655069615746933], [3 x i64] [i64 9028502091223164700, i64 697239766278497397, i64 -8187310139231493865], [3 x i64] [i64 -389739891263222216, i64 1394479532556994795, i64 2072123795246563887], [3 x i64] [i64 -779479782526444432, i64 2788959065113989590, i64 4144247590493127775], [3 x i64] [i64 -1558959565052888864, i64 5577918130227979180, i64 8288495180986255551], [3 x i64] [i64 -3117919130105777728, i64 -7290907813253593256, i64 -1869753711737040514], [3 x i64] [i64 -6235838260211555455, i64 3864928447202365105, i64 -3739507423474081028], [3 x i64] [i64 5975067553286440706, i64 7729856894404730211, i64 -7479014846948162056], [3 x i64] [i64 -6496608967136670204, i64 -2987030284900091193, i64 3488714379813227505], [3 x i64] [i64 5453526139436211209, i64 -5974060569800182386, i64 6977428759626455010], [3 x i64] [i64 -7539691794837129197, i64 6498622934109186844, i64 -4491886554456641595], [3 x i64] [i64 3367360484035293222, i64 -5449498205491177927, i64 -8983773108913283189], [3 x i64] [i64 6734720968070586445, i64 7547747662727195763, i64 479197855882985239], [3 x i64] [i64 -4977302137568378726, i64 -3351248748255160090, i64 958395711765970478], [3 x i64] [i64 8492139798572794165, i64 -6702497496510320180, i64 1916791423531940957], [3 x i64] [i64 -1462464476563963285, i64 5041749080688911256, i64 3833582847063881915], [3 x i64] [i64 -2924928953127926570, i64 -8363245912331729104, i64 7667165694127763831], [3 x i64] [i64 -5849857906255853139, i64 1720252249046093408, i64 -3112412685454023953], [3 x i64] [i64 6747028261197845338, i64 3440504498092186817, i64 -6224825370908047906], [3 x i64] [i64 -4952687551313860940, i64 6881008996184373635, i64 5997093331893455805], [3 x i64] [i64 8541368971081829736, i64 -4684726081340804346, i64 -6452557409922640005], [3 x i64] [i64 -1364006131545892143, i64 9077291911027942925, i64 5541629253864271607], [3 x i64] [i64 -2728012263091784286, i64 -292160251653665766, i64 -7363485565981008401], [3 x i64] [i64 -5456024526183568571, i64 -584320503307331531, i64 3719772941747534815], [3 x i64] [i64 7534695021342414475, i64 -1168641006614663062, i64 7439545883495069631], [3 x i64] [i64 -3377354031024722665, i64 -2337282013229326124, i64 -3567652306719412354], [3 x i64] [i64 -6754708062049445329, i64 -4674564026458652247, i64 -7135304613438824708], [3 x i64] [i64 4937327949610660959, i64 9097616020792247123, i64 4176134846831902201], [3 x i64] [i64 -8572088174488229698, i64 -251512032125057370, i64 8352269693663804402], [3 x i64] [i64 1302567724733092221, i64 -503024064250114740, i64 -1742204686381942812], [3 x i64] [i64 2605135449466184443, i64 -1006048128500229479, i64 -3484409372763885623], [3 x i64] [i64 5210270898932368887, i64 -2012096257000458957, i64 -6968818745527771246], [3 x i64] [i64 -8026202275844813841, i64 -4024192514000917913, i64 4509106582654009125], [3 x i64] [i64 2394339522019923935, i64 -8048385028001835826, i64 9018213165308018250], [3 x i64] [i64 4788679044039847871, i64 2349974017705879964, i64 -410317743093515116], [3 x i64] [i64 -8869385985629855874, i64 4699948035411759929, i64 -820635486187030232], [3 x i64] [i64 707972102449839868, i64 -9046848002886031757, i64 -1641270972374060464], [3 x i64] [i64 1415944204899679737, i64 353048067937488103, i64 -3282541944748120928], [3 x i64] [i64 2831888409799359474, i64 706096135874976207, i64 -6565083889496241855], [3 x i64] [i64 5663776819598718948, i64 1412192271749952415, i64 5316576294717067907], [3 x i64] [i64 -7119190434512113720, i64 2824384543499904830, i64 -7813591484275415801], [3 x i64] [i64 4208363204685324176, i64 5648769086999809661, i64 2819561105158720014], [3 x i64] [i64 8416726409370648352, i64 -7149205899709932294, i64 5639122210317440029], [3 x i64] [i64 -1613291254968254911, i64 4148332274289687028, i64 -7168499653074671557], [3 x i64] [i64 -3226582509936509822, i64 8296664548579374057, i64 4109744767560208502], [3 x i64] [i64 -6453165019873019644, i64 -1853414976550803502, i64 8219489535120417004], [3 x i64] [i64 5540414033963512329, i64 -3706829953101607004, i64 -2007765003468717608], [3 x i64] [i64 -7365916005782526957, i64 -7413659906203214007, i64 -4015530006937435215], [3 x i64] [i64 3714912062144497703, i64 3619424261303123603, i64 -8031060013874870429], [3 x i64] [i64 7429824124288995406, i64 7238848522606247207, i64 2384624045959810759], [3 x i64] [i64 -3587095825131560804, i64 -3969047028497057202, i64 4769248091919621519], [3 x i64] [i64 -7174191650263121607, i64 -7938094056994114404, i64 -8908247889870308577], [3 x i64] [i64 4098360773183308403, i64 2570555959721322809, i64 630248293968934463], [3 x i64] [i64 8196721546366616806, i64 5141111919442645618, i64 1260496587937868927], [3 x i64] [i64 -2053300980976318004, i64 -8164520234824260380, i64 2520993175875737855], [3 x i64] [i64 -4106601961952636007, i64 2117703604061030856, i64 5041986351751475711], [3 x i64] [i64 -8213203923905272014, i64 4235407208122061712, i64 -8362771370206600193], [3 x i64] [i64 2020336225899007588, i64 8470814416244123425, i64 1721201333296351230], [3 x i64] [i64 4040672451798015176, i64 -1505115241221304766, i64 3442402666592702460], [3 x i64] [i64 8081344903596030353, i64 -3010230482442609532, i64 6884805333185404920], [3 x i64] [i64 -2284054266517490909, i64 -6020460964885219064, i64 -4677133407338741775], [3 x i64] [i64 -4568108533034981817, i64 6405822143939113489, i64 9092477259032068066], [3 x i64] [i64 -9136217066069963634, i64 -5635099785831324638, i64 -261789555645415484], [3 x i64] [i64 174309941569624349, i64 7176544502046902341, i64 -523579111290830967], [3 x i64] [i64 348619883139248698, i64 -4093655069615746933, i64 -1047158222581661934], [3 x i64] [i64 697239766278497397, i64 -8187310139231493865, i64 -2094316445163323867], [3 x i64] [i64 1394479532556994795, i64 2072123795246563887, i64 -4188632890326647733], [3 x i64] [i64 2788959065113989590, i64 4144247590493127775, i64 -8377265780653295465], [3 x i64] [i64 5577918130227979180, i64 8288495180986255551, i64 1692212512402960687], [3 x i64] [i64 -7290907813253593256, i64 -1869753711737040514, i64 3384425024805921375], [3 x i64] [i64 3864928447202365105, i64 -3739507423474081028, i64 6768850049611842751], [3 x i64] [i64 7729856894404730211, i64 -7479014846948162056, i64 -4909043974485866113], [3 x i64] [i64 -2987030284900091193, i64 3488714379813227505, i64 8628656124737819391], [3 x i64] [i64 -5974060569800182386, i64 6977428759626455010, i64 -1189431824233912833], [3 x i64] [i64 6498622934109186844, i64 -4491886554456641595, i64 -2378863648467825665], [3 x i64] [i64 -5449498205491177927, i64 -8983773108913283189, i64 -4757727296935651329], [3 x i64] [i64 7547747662727195763, i64 479197855882985239, i64 8931289479838248959], [3 x i64] [i64 -3351248748255160090, i64 958395711765970478, i64 -584165114033053697], [3 x i64] [i64 -6702497496510320180, i64 1916791423531940957, i64 -1168330228066107394], [3 x i64] [i64 5041749080688911256, i64 3833582847063881915, i64 -2336660456132214787], [3 x i64] [i64 -8363245912331729104, i64 7667165694127763831, i64 -4673320912264429573], [3 x i64] [i64 1720252249046093408, i64 -3112412685454023953, i64 9100102249180692471], [3 x i64] [i64 3440504498092186817, i64 -6224825370908047906, i64 -246539575348166673], [3 x i64] [i64 6881008996184373635, i64 5997093331893455805, i64 -493079150696333346], [3 x i64] [i64 -4684726081340804346, i64 -6452557409922640005, i64 -986158301392666692], [3 x i64] [i64 9077291911027942925, i64 5541629253864271607, i64 -1972316602785333384], [3 x i64] [i64 -292160251653665766, i64 -7363485565981008401, i64 -3944633205570666768], [3 x i64] [i64 -584320503307331531, i64 3719772941747534815, i64 -7889266411141333536], [3 x i64] [i64 -1168641006614663062, i64 7439545883495069631, i64 2668211251426884544], [3 x i64] [i64 -2337282013229326124, i64 -3567652306719412354, i64 5336422502853769089], [3 x i64] [i64 -4674564026458652247, i64 -7135304613438824708, i64 -7773899068002013438], [3 x i64] [i64 9097616020792247123, i64 4176134846831902201, i64 2898945937705524741], [3 x i64] [i64 -251512032125057370, i64 8352269693663804402, i64 5797891875411049483], [3 x i64] [i64 -503024064250114740, i64 -1742204686381942812, i64 -6850960322887452650], [3 x i64] [i64 -1006048128500229479, i64 -3484409372763885623, i64 4744823427934646316], [3 x i64] [i64 -2012096257000458957, i64 -6968818745527771246, i64 -8957097217840258983], [3 x i64] [i64 -4024192514000917913, i64 4509106582654009125, i64 532549638029033651], [3 x i64] [i64 -8048385028001835826, i64 9018213165308018250, i64 1065099276058067302], [3 x i64] [i64 2349974017705879964, i64 -410317743093515116, i64 2130198552116134604], [3 x i64] [i64 4699948035411759929, i64 -820635486187030232, i64 4260397104232269208], [3 x i64] [i64 -9046848002886031757, i64 -1641270972374060464, i64 8520794208464538416], [3 x i64] [i64 353048067937488103, i64 -3282541944748120928, i64 -1405155656780474784], [3 x i64] [i64 706096135874976207, i64 -6565083889496241855, i64 -2810311313560949568], [3 x i64] [i64 1412192271749952415, i64 5316576294717067907, i64 -5620622627121899136], [3 x i64] [i64 2824384543499904830, i64 -7813591484275415801, i64 7205498819465753345], [3 x i64] [i64 5648769086999809661, i64 2819561105158720014, i64 -4035746434778044925], [3 x i64] [i64 -7149205899709932294, i64 5639122210317440029, i64 -8071492869556089849], [3 x i64] [i64 4148332274289687028, i64 -7168499653074671557, i64 2303758334597371919], [3 x i64] [i64 8296664548579374057, i64 4109744767560208502, i64 4607516669194743839], [3 x i64] [i64 -1853414976550803502, i64 8219489535120417004, i64 9215033338389487679], [3 x i64] [i64 -3706829953101607004, i64 -2007765003468717608, i64 -16677396930576257], [3 x i64] [i64 -7413659906203214007, i64 -4015530006937435215, i64 -33354793861152514], [3 x i64] [i64 3619424261303123603, i64 -8031060013874870429, i64 -66709587722305027], [3 x i64] [i64 7238848522606247207, i64 2384624045959810759, i64 -133419175444610053], [3 x i64] [i64 -3969047028497057202, i64 4769248091919621519, i64 -266838350889220105], [3 x i64] [i64 -7938094056994114404, i64 -8908247889870308577, i64 -533676701778440209], [3 x i64] [i64 2570555959721322809, i64 630248293968934463, i64 -1067353403556880418], [3 x i64] [i64 5141111919442645618, i64 1260496587937868927, i64 -2134706807113760836], [3 x i64] [i64 -8164520234824260380, i64 2520993175875737855, i64 -4269413614227521671], [3 x i64] [i64 2117703604061030856, i64 5041986351751475711, i64 -8538827228455043342], [3 x i64] [i64 4235407208122061712, i64 -8362771370206600193, i64 1369089616799464933], [3 x i64] [i64 8470814416244123425, i64 1721201333296351230, i64 2738179233598929867], [3 x i64] [i64 -1505115241221304766, i64 3442402666592702460, i64 5476358467197859735], [3 x i64] [i64 -3010230482442609532, i64 6884805333185404920, i64 -7494027139313832145], [3 x i64] [i64 -6020460964885219064, i64 -4677133407338741775, i64 3458689795081887326], [3 x i64] [i64 6405822143939113489, i64 9092477259032068066, i64 6917379590163774652], [3 x i64] [i64 -5635099785831324638, i64 -261789555645415484, i64 -4611984893382002312], [3 x i64] [i64 7176544502046902341, i64 -523579111290830967, i64 9222774286945546993], [3 x i64] [i64 -4093655069615746933, i64 -1047158222581661934, i64 -1195499818457630], [3 x i64] [i64 -8187310139231493865, i64 -2094316445163323867, i64 -2390999636915260], [3 x i64] [i64 2072123795246563887, i64 -4188632890326647733, i64 -4781999273830520], [3 x i64] [i64 4144247590493127775, i64 -8377265780653295465, i64 -9563998547661039], [3 x i64] [i64 8288495180986255551, i64 1692212512402960687, i64 -19127997095322077], [3 x i64] [i64 -1869753711737040514, i64 3384425024805921375, i64 -38255994190644154], [3 x i64] [i64 -3739507423474081028, i64 6768850049611842751, i64 -76511988381288308], [3 x i64] [i64 -7479014846948162056, i64 -4909043974485866113, i64 -153023976762576616], [3 x i64] [i64 3488714379813227505, i64 8628656124737819391, i64 -306047953525153231], [3 x i64] [i64 6977428759626455010, i64 -1189431824233912833, i64 -612095907050306462], [3 x i64] [i64 -4491886554456641595, i64 -2378863648467825665, i64 -1224191814100612923], [3 x i64] [i64 -8983773108913283189, i64 -4757727296935651329, i64 -2448383628201225845], [3 x i64] [i64 479197855882985239, i64 8931289479838248959, i64 -4896767256402451690], [3 x i64] [i64 958395711765970478, i64 -584165114033053697, i64 8653209560904648237], [3 x i64] [i64 1916791423531940957, i64 -1168330228066107394, i64 -1140324951900255142], [3 x i64] [i64 3833582847063881915, i64 -2336660456132214787, i64 -2280649903800510283], [3 x i64] [i64 7667165694127763831, i64 -4673320912264429573, i64 -4561299807601020565], [3 x i64] [i64 -3112412685454023953, i64 9100102249180692471, i64 -9122599615202041130], [3 x i64] [i64 -6224825370908047906, i64 -246539575348166673, i64 201544843305469357], [3 x i64] [i64 5997093331893455805, i64 -493079150696333346, i64 403089686610938714], [3 x i64] [i64 -6452557409922640005, i64 -986158301392666692, i64 806179373221877428], [3 x i64] [i64 5541629253864271607, i64 -1972316602785333384, i64 1612358746443754856], [3 x i64] [i64 -7363485565981008401, i64 -3944633205570666768, i64 3224717492887509712], [3 x i64] [i64 3719772941747534815, i64 -7889266411141333536, i64 6449434985775019424], [3 x i64] [i64 7439545883495069631, i64 2668211251426884544, i64 -5547874102159512767], [3 x i64] [i64 -3567652306719412354, i64 5336422502853769089, i64 7350995869390526082], [3 x i64] [i64 -7135304613438824708, i64 -7773899068002013438, i64 -3744752334928499451], [3 x i64] [i64 4176134846831902201, i64 2898945937705524741, i64 -7489504669856998902], [3 x i64] [i64 8352269693663804402, i64 5797891875411049483, i64 3467734733995553812], [3 x i64] [i64 -1742204686381942812, i64 -6850960322887452650, i64 6935469467991107625], [3 x i64] [i64 -3484409372763885623, i64 4744823427934646316, i64 -4575805137727336365], [3 x i64] [i64 -6968818745527771246, i64 -8957097217840258983, i64 -9151610275454672730], [3 x i64] [i64 4509106582654009125, i64 532549638029033651, i64 143523522800206157], [3 x i64] [i64 9018213165308018250, i64 1065099276058067302, i64 287047045600412315], [3 x i64] [i64 -410317743093515116, i64 2130198552116134604, i64 574094091200824630], [3 x i64] [i64 -820635486187030232, i64 4260397104232269208, i64 1148188182401649261], [3 x i64] [i64 -1641270972374060464, i64 8520794208464538416, i64 2296376364803298522], [3 x i64] [i64 -3282541944748120928, i64 -1405155656780474784, i64 4592752729606597044], [3 x i64] [i64 -6565083889496241855, i64 -2810311313560949568, i64 9185505459213194088], [3 x i64] [i64 5316576294717067907, i64 -5620622627121899136, i64 -75733155283163439], [3 x i64] [i64 -7813591484275415801, i64 7205498819465753345, i64 -151466310566326877], [3 x i64] [i64 2819561105158720014, i64 -4035746434778044925, i64 -302932621132653753], [3 x i64] [i64 5639122210317440029, i64 -8071492869556089849, i64 -605865242265307505], [3 x i64] [i64 -7168499653074671557, i64 2303758334597371919, i64 -1211730484530615009], [3 x i64] [i64 4109744767560208502, i64 4607516669194743839, i64 -2423460969061230018], [3 x i64] [i64 8219489535120417004, i64 9215033338389487679, i64 -4846921938122460035], [3 x i64] [i64 -2007765003468717608, i64 -16677396930576257, i64 8752900197464631547], [3 x i64] [i64 -4015530006937435215, i64 -33354793861152514, i64 -940943678780288522], [3 x i64] [i64 -8031060013874870429, i64 -66709587722305027, i64 -1881887357560577043], [3 x i64] [i64 2384624045959810759, i64 -133419175444610053, i64 -3763774715121154085], [3 x i64] [i64 4769248091919621519, i64 -266838350889220105, i64 -7527549430242308170], [3 x i64] [i64 -8908247889870308577, i64 -533676701778440209, i64 3391645213224935277], [3 x i64] [i64 630248293968934463, i64 -1067353403556880418, i64 6783290426449870554], [3 x i64] [i64 1260496587937868927, i64 -2134706807113760836, i64 -4880163220809810508], [3 x i64] [i64 2520993175875737855, i64 -4269413614227521671, i64 8686417632089930601], [3 x i64] [i64 5041986351751475711, i64 -8538827228455043342, i64 -1073908809529690413], [3 x i64] [i64 -8362771370206600193, i64 1369089616799464933, i64 -2147817619059380826], [3 x i64] [i64 1721201333296351230, i64 2738179233598929867, i64 -4295635238118761651], [3 x i64] [i64 3442402666592702460, i64 5476358467197859735, i64 -8591270476237523301], [3 x i64] [i64 6884805333185404920, i64 -7494027139313832145, i64 1264203121234505014], [3 x i64] [i64 -4677133407338741775, i64 3458689795081887326, i64 2528406242469010028], [3 x i64] [i64 9092477259032068066, i64 6917379590163774652, i64 5056812484938020057], [3 x i64] [i64 -261789555645415484, i64 -4611984893382002312, i64 -8333119103833511501], [3 x i64] [i64 -523579111290830967, i64 9222774286945546993, i64 1780505866042528615], [3 x i64] [i64 -1047158222581661934, i64 -1195499818457630, i64 3561011732085057231], [3 x i64] [i64 -2094316445163323867, i64 -2390999636915260, i64 7122023464170114463], [3 x i64] [i64 -4188632890326647733, i64 -4781999273830520, i64 -4202697145369322689], [3 x i64] [i64 -8377265780653295465, i64 -9563998547661039, i64 -8405394290738645378], [3 x i64] [i64 1692212512402960687, i64 -19127997095322077, i64 1635955492232260861], [3 x i64] [i64 3384425024805921375, i64 -38255994190644154, i64 3271910984464521723], [3 x i64] [i64 6768850049611842751, i64 -76511988381288308, i64 6543821968929043446], [3 x i64] [i64 -4909043974485866113, i64 -153023976762576616, i64 -5359100135851464724], [3 x i64] [i64 8628656124737819391, i64 -306047953525153231, i64 7728543802006622169], [3 x i64] [i64 -1189431824233912833, i64 -612095907050306462, i64 -2989656469696307277], [3 x i64] [i64 -2378863648467825665, i64 -1224191814100612923, i64 -5979312939392614553], [3 x i64] [i64 -4757727296935651329, i64 -2448383628201225845, i64 6488118194924322511], [3 x i64] [i64 8931289479838248959, i64 -4896767256402451690, i64 -5470507683860906594], [3 x i64] [i64 -584165114033053697, i64 8653209560904648237, i64 7505728705987738428], [3 x i64] [i64 -1168330228066107394, i64 -1140324951900255142, i64 -3435286661734074759], [3 x i64] [i64 -2336660456132214787, i64 -2280649903800510283, i64 -6870573323468149518], [3 x i64] [i64 -4673320912264429573, i64 -4561299807601020565, i64 4705597426773252580], [3 x i64] [i64 9100102249180692471, i64 -9122599615202041130, i64 -9035549220163046455], [3 x i64] [i64 -246539575348166673, i64 201544843305469357, i64 375645633383458707], [3 x i64] [i64 -493079150696333346, i64 403089686610938714, i64 751291266766917415], [3 x i64] [i64 -986158301392666692, i64 806179373221877428, i64 1502582533533834831], [3 x i64] [i64 -1972316602785333384, i64 1612358746443754856, i64 3005165067067669663], [3 x i64] [i64 -3944633205570666768, i64 3224717492887509712, i64 6010330134135339326], [3 x i64] [i64 -7889266411141333536, i64 6449434985775019424, i64 -6426083805438872964], [3 x i64] [i64 2668211251426884544, i64 -5547874102159512767, i64 5594576462831805689], [3 x i64] [i64 5336422502853769089, i64 7350995869390526082, i64 -7257591148045940238], [3 x i64] [i64 -7773899068002013438, i64 -3744752334928499451, i64 3931561777617671141], [3 x i64] [i64 2898945937705524741, i64 -7489504669856998902, i64 7863123555235342283], [3 x i64] [i64 5797891875411049483, i64 3467734733995553812, i64 -2720496963238867050], [3 x i64] [i64 -6850960322887452650, i64 6935469467991107625, i64 -5440993926477734100], [3 x i64] [i64 4744823427934646316, i64 -4575805137727336365, i64 7564756220754083416], [3 x i64] [i64 -8957097217840258983, i64 -9151610275454672730, i64 -3317231632201384784], [3 x i64] [i64 532549638029033651, i64 143523522800206157, i64 -6634463264402769567], [3 x i64] [i64 1065099276058067302, i64 287047045600412315, i64 5177817544904012482], [3 x i64] [i64 2130198552116134604, i64 574094091200824630, i64 -8091108983901526652], [3 x i64] [i64 4260397104232269208, i64 1148188182401649261, i64 2264526105906498313], [3 x i64] [i64 8520794208464538416, i64 2296376364803298522, i64 4529052211812996627], [3 x i64] [i64 -1405155656780474784, i64 4592752729606597044, i64 9058104423625993254], [3 x i64] [i64 -2810311313560949568, i64 9185505459213194088, i64 -330535226457565107], [3 x i64] [i64 -5620622627121899136, i64 -75733155283163439, i64 -661070452915130213], [3 x i64] [i64 7205498819465753345, i64 -151466310566326877, i64 -1322140905830260426], [3 x i64] [i64 -4035746434778044925, i64 -302932621132653753, i64 -2644281811660520851], [3 x i64] [i64 -8071492869556089849, i64 -605865242265307505, i64 -5288563623321041701], [3 x i64] [i64 2303758334597371919, i64 -1211730484530615009, i64 7869616827067468215], [3 x i64] [i64 4607516669194743839, i64 -2423460969061230018, i64 -2707510419574615186], [3 x i64] [i64 9215033338389487679, i64 -4846921938122460035, i64 -5415020839149230371], [3 x i64] [i64 -16677396930576257, i64 8752900197464631547, i64 7616702395411090874], [3 x i64] [i64 -33354793861152514, i64 -940943678780288522, i64 -3213339282887369868], [3 x i64] [i64 -66709587722305027, i64 -1881887357560577043, i64 -6426678565774739735], [3 x i64] [i64 -133419175444610053, i64 -3763774715121154085, i64 5593386942160072147], [3 x i64] [i64 -266838350889220105, i64 -7527549430242308170, i64 -7259970189389407321], [3 x i64] [i64 -533676701778440209, i64 3391645213224935277, i64 3926803694930736975], [3 x i64] [i64 -1067353403556880418, i64 6783290426449870554, i64 7853607389861473950], [3 x i64] [i64 -2134706807113760836, i64 -4880163220809810508, i64 -2739529293986603715], [3 x i64] [i64 -4269413614227521671, i64 8686417632089930601, i64 -5479058587973207430], [3 x i64] [i64 -8538827228455043342, i64 -1073908809529690413, i64 7488626897763136756], [3 x i64] [i64 1369089616799464933, i64 -2147817619059380826, i64 -3469490278183278104], [3 x i64] [i64 2738179233598929867, i64 -4295635238118761651, i64 -6938980556366556207], [3 x i64] [i64 5476358467197859735, i64 -8591270476237523301, i64 4568782960976439203], [3 x i64] [i64 -7494027139313832145, i64 1264203121234505014, i64 9137565921952878406], [3 x i64] [i64 3458689795081887326, i64 2528406242469010028, i64 -171612229803794804], [3 x i64] [i64 6917379590163774652, i64 5056812484938020057, i64 -343224459607589608], [3 x i64] [i64 -4611984893382002312, i64 -8333119103833511501, i64 -686448919215179215], [3 x i64] [i64 9222774286945546993, i64 1780505866042528615, i64 -1372897838430358429], [3 x i64] [i64 -1195499818457630, i64 3561011732085057231, i64 -2745795676860716857], [3 x i64] [i64 -2390999636915260, i64 7122023464170114463, i64 -5491591353721433713], [3 x i64] [i64 -4781999273830520, i64 -4202697145369322689, i64 7463561366266684191], [3 x i64] [i64 -9563998547661039, i64 -8405394290738645378, i64 -3519621341176183233], [3 x i64] [i64 -19127997095322077, i64 1635955492232260861, i64 -7039242682352366466], [3 x i64] [i64 -38255994190644154, i64 3271910984464521723, i64 4368258709004818685], [3 x i64] [i64 -76511988381288308, i64 6543821968929043446, i64 8736517418009637371], [3 x i64] [i64 -153023976762576616, i64 -5359100135851464724, i64 -973709237690276874], [3 x i64] [i64 -306047953525153231, i64 7728543802006622169, i64 -1947418475380553748], [3 x i64] [i64 -612095907050306462, i64 -2989656469696307277, i64 -3894836950761107495], [3 x i64] [i64 -1224191814100612923, i64 -5979312939392614553, i64 -7789673901522214989], [3 x i64] [i64 -2448383628201225845, i64 6488118194924322511, i64 2867396270665121638], [3 x i64] [i64 -4896767256402451690, i64 -5470507683860906594, i64 5734792541330243277], [3 x i64] [i64 8653209560904648237, i64 7505728705987738428, i64 -6977158991049065062], [3 x i64] [i64 -1140324951900255142, i64 -3435286661734074759, i64 4492426091611421492], [3 x i64] [i64 -2280649903800510283, i64 -6870573323468149518, i64 8984852183222842985], [3 x i64] [i64 -4561299807601020565, i64 4705597426773252580, i64 -477039707263865645], [3 x i64] [i64 -9122599615202041130, i64 -9035549220163046455, i64 -954079414527731289], [3 x i64] [i64 201544843305469357, i64 375645633383458707, i64 -1908158829055462577], [3 x i64] [i64 403089686610938714, i64 751291266766917415, i64 -3816317658110925154], [3 x i64] [i64 806179373221877428, i64 1502582533533834831, i64 -7632635316221850308], [3 x i64] [i64 1612358746443754856, i64 3005165067067669663, i64 3181473441265851001], [3 x i64] [i64 3224717492887509712, i64 6010330134135339326, i64 6362946882531702002], [3 x i64] [i64 6449434985775019424, i64 -6426083805438872964, i64 -5720850308646147611], [3 x i64] [i64 -5547874102159512767, i64 5594576462831805689, i64 7005043456417256395], [3 x i64] [i64 7350995869390526082, i64 -7257591148045940238, i64 -4436657160875038825], [3 x i64] [i64 -3744752334928499451, i64 3931561777617671141, i64 -8873314321750077649], [3 x i64] [i64 -7489504669856998902, i64 7863123555235342283, i64 700115430209396319], [3 x i64] [i64 3467734733995553812, i64 -2720496963238867050, i64 1400230860418792639], [3 x i64] [i64 6935469467991107625, i64 -5440993926477734100, i64 2800461720837585279], [3 x i64] [i64 -4575805137727336365, i64 7564756220754083416, i64 5600923441675170559], [3 x i64] [i64 -9151610275454672730, i64 -3317231632201384784, i64 -7244897190359210498], [3 x i64] [i64 143523522800206157, i64 -6634463264402769567, i64 3956949692991130621], [3 x i64] [i64 287047045600412315, i64 5177817544904012482, i64 7913899385982261242], [3 x i64] [i64 574094091200824630, i64 -8091108983901526652, i64 -2618945301745029131], [3 x i64] [i64 1148188182401649261, i64 2264526105906498313, i64 -5237890603490058262], [3 x i64] [i64 2296376364803298522, i64 4529052211812996627, i64 7970962866729435092], [3 x i64] [i64 4592752729606597044, i64 9058104423625993254, i64 -2504818340250681432], [3 x i64] [i64 9185505459213194088, i64 -330535226457565107, i64 -5009636680501362863], [3 x i64] [i64 -75733155283163439, i64 -661070452915130213, i64 8427470712706825890], [3 x i64] [i64 -151466310566326877, i64 -1322140905830260426, i64 -1591802648295899835], [3 x i64] [i64 -302932621132653753, i64 -2644281811660520851, i64 -3183605296591799669], [3 x i64] [i64 -605865242265307505, i64 -5288563623321041701, i64 -6367210593183599338], [3 x i64] [i64 -1211730484530615009, i64 7869616827067468215, i64 5712322887342352941], [3 x i64] [i64 -2423460969061230018, i64 -2707510419574615186, i64 -7022098299024845734], [3 x i64] [i64 -4846921938122460035, i64 -5415020839149230371, i64 4402547475659860149], [3 x i64] [i64 8752900197464631547, i64 7616702395411090874, i64 8805094951319720299], [3 x i64] [i64 -940943678780288522, i64 -3213339282887369868, i64 -836554171070111017], [3 x i64] [i64 -1881887357560577043, i64 -6426678565774739735, i64 -1673108342140222034], [3 x i64] [i64 -3763774715121154085, i64 5593386942160072147, i64 -3346216684280444067], [3 x i64] [i64 -7527549430242308170, i64 -7259970189389407321, i64 -6692433368560888134], [3 x i64] [i64 3391645213224935277, i64 3926803694930736975, i64 5061877336587775349], [3 x i64] [i64 6783290426449870554, i64 7853607389861473950, i64 -8322989400534000918], [3 x i64] [i64 -4880163220809810508, i64 -2739529293986603715, i64 1800765272641549780], [3 x i64] [i64 8686417632089930601, i64 -5479058587973207430, i64 3601530545283099561], [3 x i64] [i64 -1073908809529690413, i64 7488626897763136756, i64 7203061090566199122], [3 x i64] [i64 -2147817619059380826, i64 -3469490278183278104, i64 -4040621892577153372], [3 x i64] [i64 -4295635238118761651, i64 -6938980556366556207, i64 -8081243785154306743], [3 x i64] [i64 -8591270476237523301, i64 4568782960976439203, i64 2284256503400938131], [3 x i64] [i64 1264203121234505014, i64 9137565921952878406, i64 4568513006801876263], [3 x i64] [i64 2528406242469010028, i64 -171612229803794804, i64 9137026013603752527], [3 x i64] [i64 5056812484938020057, i64 -343224459607589608, i64 -172692046502046562], [3 x i64] [i64 -8333119103833511501, i64 -686448919215179215, i64 -345384093004093123], [3 x i64] [i64 1780505866042528615, i64 -1372897838430358429, i64 -690768186008186245], [3 x i64] [i64 3561011732085057231, i64 -2745795676860716857, i64 -1381536372016372489], [3 x i64] [i64 7122023464170114463, i64 -5491591353721433713, i64 -2763072744032744978], [3 x i64] [i64 -4202697145369322689, i64 7463561366266684191, i64 -5526145488065489955], [3 x i64] [i64 -8405394290738645378, i64 -3519621341176183233, i64 7394453097578571706], [3 x i64] [i64 1635955492232260861, i64 -7039242682352366466, i64 -3657837878552408203], [3 x i64] [i64 3271910984464521723, i64 4368258709004818685, i64 -7315675757104816405], [3 x i64] [i64 6543821968929043446, i64 8736517418009637371, i64 3815392559499918806], [3 x i64] [i64 -5359100135851464724, i64 -973709237690276874, i64 7630785118999837612], [3 x i64] [i64 7728543802006622169, i64 -1947418475380553748, i64 -3185173835709876392], [3 x i64] [i64 -2989656469696307277, i64 -3894836950761107495, i64 -6370347671419752783], [3 x i64] [i64 -5979312939392614553, i64 -7789673901522214989, i64 5706048730870046051], [3 x i64] [i64 6488118194924322511, i64 2867396270665121638, i64 -7034646611969459513], [3 x i64] [i64 -5470507683860906594, i64 5734792541330243277, i64 4377450849770632591], [3 x i64] [i64 7505728705987738428, i64 -6977158991049065062, i64 8754901699541265183], [3 x i64] [i64 -3435286661734074759, i64 4492426091611421492, i64 -936940674627021249], [3 x i64] [i64 -6870573323468149518, i64 8984852183222842985, i64 -1873881349254042498], [3 x i64] [i64 4705597426773252580, i64 -477039707263865645, i64 -3747762698508084995], [3 x i64] [i64 -9035549220163046455, i64 -954079414527731289, i64 -7495525397016169990], [3 x i64] [i64 375645633383458707, i64 -1908158829055462577, i64 3455693279677211637], [3 x i64] [i64 751291266766917415, i64 -3816317658110925154, i64 6911386559354423275], [3 x i64] [i64 1502582533533834831, i64 -7632635316221850308, i64 -4623970955000705065], [3 x i64] [i64 3005165067067669663, i64 3181473441265851001, i64 9198802163708141487], [3 x i64] [i64 6010330134135339326, i64 6362946882531702002, i64 -49139746293268641], [3 x i64] [i64 -6426083805438872964, i64 -5720850308646147611, i64 -98279492586537282], [3 x i64] [i64 5594576462831805689, i64 7005043456417256395, i64 -196558985173074564], [3 x i64] [i64 -7257591148045940238, i64 -4436657160875038825, i64 -393117970346149127], [3 x i64] [i64 3931561777617671141, i64 -8873314321750077649, i64 -786235940692298254], [3 x i64] [i64 7863123555235342283, i64 700115430209396319, i64 -1572471881384596507], [3 x i64] [i64 -2720496963238867050, i64 1400230860418792639, i64 -3144943762769193013], [3 x i64] [i64 -5440993926477734100, i64 2800461720837585279, i64 -6289887525538386025], [3 x i64] [i64 7564756220754083416, i64 5600923441675170559, i64 5866969022632779567], [3 x i64] [i64 -3317231632201384784, i64 -7244897190359210498, i64 -6712806028443992481], [3 x i64] [i64 -6634463264402769567, i64 3956949692991130621, i64 5021132016821566654], [3 x i64] [i64 5177817544904012482, i64 7913899385982261242, i64 -8404480040066418308], [3 x i64] [i64 -8091108983901526652, i64 -2618945301745029131, i64 1637783993576715000], [3 x i64] [i64 2264526105906498313, i64 -5237890603490058262, i64 3275567987153430001], [3 x i64] [i64 4529052211812996627, i64 7970962866729435092, i64 6551135974306860002], [3 x i64] [i64 9058104423625993254, i64 -2504818340250681432, i64 -5344472125095831611], [3 x i64] [i64 -330535226457565107, i64 -5009636680501362863, i64 7757799823517888395], [3 x i64] [i64 -661070452915130213, i64 8427470712706825890, i64 -2931144426673774825], [3 x i64] [i64 -1322140905830260426, i64 -1591802648295899835, i64 -5862288853347549649], [3 x i64] [i64 -2644281811660520851, i64 -3183605296591799669, i64 6722166367014452318], [3 x i64] [i64 -5288563623321041701, i64 -6367210593183599338, i64 -5002411339680646979], [3 x i64] [i64 7869616827067468215, i64 5712322887342352941, i64 8441921394348257659], [3 x i64] [i64 -2707510419574615186, i64 -7022098299024845734, i64 -1562901285013036298], [3 x i64] [i64 -5415020839149230371, i64 4402547475659860149, i64 -3125802570026072596], [3 x i64] [i64 7616702395411090874, i64 8805094951319720299, i64 -6251605140052145191], [3 x i64] [i64 -3213339282887369868, i64 -836554171070111017, i64 5943533793605261235], [3 x i64] [i64 -6426678565774739735, i64 -1673108342140222034, i64 -6559676486499029145], [3 x i64] [i64 5593386942160072147, i64 -3346216684280444067, i64 5327391100711493327], [3 x i64] [i64 -7259970189389407321, i64 -6692433368560888134, i64 -7791961872286564962], [3 x i64] [i64 3926803694930736975, i64 5061877336587775349, i64 2862820329136421693], [3 x i64] [i64 7853607389861473950, i64 -8322989400534000918, i64 5725640658272843386], [3 x i64] [i64 -2739529293986603715, i64 1800765272641549780, i64 -6995462757163864844], [3 x i64] [i64 -5479058587973207430, i64 3601530545283099561, i64 4455818559381821928], [3 x i64] [i64 7488626897763136756, i64 7203061090566199122, i64 8911637118763643856], [3 x i64] [i64 -3469490278183278104, i64 -4040621892577153372, i64 -623469836182263904], [3 x i64] [i64 -6938980556366556207, i64 -8081243785154306743, i64 -1246939672364527807], [3 x i64] [i64 4568782960976439203, i64 2284256503400938131, i64 -2493879344729055613], [3 x i64] [i64 9137565921952878406, i64 4568513006801876263, i64 -4987758689458111225], [3 x i64] [i64 -171612229803794804, i64 9137026013603752527, i64 8471226694793329166], [3 x i64] [i64 -343224459607589608, i64 -172692046502046562, i64 -1504290684122893284], [3 x i64] [i64 -686448919215179215, i64 -345384093004093123, i64 -3008581368245786567], [3 x i64] [i64 -1372897838430358429, i64 -690768186008186245, i64 -6017162736491573133], [3 x i64] [i64 -2745795676860716857, i64 -1381536372016372489, i64 6412418600726405351], [3 x i64] [i64 -5491591353721433713, i64 -2763072744032744978, i64 -5621906872256740914], [3 x i64] [i64 7463561366266684191, i64 -5526145488065489955, i64 7202930329196069788], [3 x i64] [i64 -3519621341176183233, i64 7394453097578571706, i64 -4040883415317412039], [3 x i64] [i64 -7039242682352366466, i64 -3657837878552408203, i64 -8081766830634824077], [3 x i64] [i64 4368258709004818685, i64 -7315675757104816405, i64 2283210412439903463], [3 x i64] [i64 8736517418009637371, i64 3815392559499918806, i64 4566420824879806927], [3 x i64] [i64 -973709237690276874, i64 7630785118999837612, i64 9132841649759613855], [3 x i64] [i64 -1947418475380553748, i64 -3185173835709876392, i64 -181060774190323906], [3 x i64] [i64 -3894836950761107495, i64 -6370347671419752783, i64 -362121548380647811], [3 x i64] [i64 -7789673901522214989, i64 5706048730870046051, i64 -724243096761295621], [3 x i64] [i64 2867396270665121638, i64 -7034646611969459513, i64 -1448486193522591241], [3 x i64] [i64 5734792541330243277, i64 4377450849770632591, i64 -2896972387045182481], [3 x i64] [i64 -6977158991049065062, i64 8754901699541265183, i64 -5793944774090364962], [3 x i64] [i64 4492426091611421492, i64 -936940674627021249, i64 6858854525528821692], [3 x i64] [i64 8984852183222842985, i64 -1873881349254042498, i64 -4729035022651908232], [3 x i64] [i64 -477039707263865645, i64 -3747762698508084995, i64 8988674028405735153], [3 x i64] [i64 -954079414527731289, i64 -7495525397016169990, i64 -469396016898081310], [3 x i64] [i64 -1908158829055462577, i64 3455693279677211637, i64 -938792033796162619], [3 x i64] [i64 -3816317658110925154, i64 6911386559354423275, i64 -1877584067592325238], [3 x i64] [i64 -7632635316221850308, i64 -4623970955000705065, i64 -3755168135184650476], [3 x i64] [i64 3181473441265851001, i64 9198802163708141487, i64 -7510336270369300951], [3 x i64] [i64 6362946882531702002, i64 -49139746293268641, i64 3426071532970949714], [3 x i64] [i64 -5720850308646147611, i64 -98279492586537282, i64 6852143065941899429], [3 x i64] [i64 7005043456417256395, i64 -196558985173074564, i64 -4742457941825752758], [3 x i64] [i64 -4436657160875038825, i64 -393117970346149127, i64 8961828190058046100], [3 x i64] [i64 -8873314321750077649, i64 -786235940692298254, i64 -523087693593459415], [3 x i64] [i64 700115430209396319, i64 -1572471881384596507, i64 -1046175387186918830], [3 x i64] [i64 1400230860418792639, i64 -3144943762769193013, i64 -2092350774373837659], [3 x i64] [i64 2800461720837585279, i64 -6289887525538386025, i64 -4184701548747675318], [3 x i64] [i64 5600923441675170559, i64 5866969022632779567, i64 -8369403097495350636], [3 x i64] [i64 -7244897190359210498, i64 -6712806028443992481, i64 1707937878718850345], [3 x i64] [i64 3956949692991130621, i64 5021132016821566654, i64 3415875757437700690], [3 x i64] [i64 7913899385982261242, i64 -8404480040066418308, i64 6831751514875401380], [3 x i64] [i64 -2618945301745029131, i64 1637783993576715000, i64 -4783241043958748855], [3 x i64] [i64 -5237890603490058262, i64 3275567987153430001, i64 8880261985792053906], [3 x i64] [i64 7970962866729435092, i64 6551135974306860002, i64 -686220102125443803], [3 x i64] [i64 -2504818340250681432, i64 -5344472125095831611, i64 -1372440204250887605], [3 x i64] [i64 -5009636680501362863, i64 7757799823517888395, i64 -2744880408501775209], [3 x i64] [i64 8427470712706825890, i64 -2931144426673774825, i64 -5489760817003550418], [3 x i64] [i64 -1591802648295899835, i64 -5862288853347549649, i64 7467222439702450781], [3 x i64] [i64 -3183605296591799669, i64 6722166367014452318, i64 -3512299194304650054], [3 x i64] [i64 -6367210593183599338, i64 -5002411339680646979, i64 -7024598388609300107], [3 x i64] [i64 5712322887342352941, i64 8441921394348257659, i64 4397547296490951402], [3 x i64] [i64 -7022098299024845734, i64 -1562901285013036298, i64 8795094592981902804], [3 x i64] [i64 4402547475659860149, i64 -3125802570026072596, i64 -856554887745746007], [3 x i64] [i64 8805094951319720299, i64 -6251605140052145191, i64 -1713109775491492013], [3 x i64] [i64 -836554171070111017, i64 5943533793605261235, i64 -3426219550982984026], [3 x i64] [i64 -1673108342140222034, i64 -6559676486499029145, i64 -6852439101965968051], [3 x i64] [i64 -3346216684280444067, i64 5327391100711493327, i64 4741865869777615514], [3 x i64] [i64 -6692433368560888134, i64 -7791961872286564962, i64 -8963012334154320587], [3 x i64] [i64 5061877336587775349, i64 2862820329136421693, i64 520719405400910443], [3 x i64] [i64 -8322989400534000918, i64 5725640658272843386, i64 1041438810801820887], [3 x i64] [i64 1800765272641549780, i64 -6995462757163864844, i64 2082877621603641775], [3 x i64] [i64 3601530545283099561, i64 4455818559381821928, i64 4165755243207283551], [3 x i64] [i64 7203061090566199122, i64 8911637118763643856, i64 8331510486414567103], [3 x i64] [i64 -4040621892577153372, i64 -623469836182263904, i64 -1783723100880417409], [3 x i64] [i64 -8081243785154306743, i64 -1246939672364527807, i64 -3567446201760834818], [3 x i64] [i64 2284256503400938131, i64 -2493879344729055613, i64 -7134892403521669635], [3 x i64] [i64 4568513006801876263, i64 -4987758689458111225, i64 4176959266666212347], [3 x i64] [i64 9137026013603752527, i64 8471226694793329166, i64 8353918533332424694], [3 x i64] [i64 -172692046502046562, i64 -1504290684122893284, i64 -1738907007044702227], [3 x i64] [i64 -345384093004093123, i64 -3008581368245786567, i64 -3477814014089404454], [3 x i64] [i64 -690768186008186245, i64 -6017162736491573133, i64 -6955628028178808907], [3 x i64] [i64 -1381536372016372489, i64 6412418600726405351, i64 4535488017351933803], [3 x i64] [i64 -2763072744032744978, i64 -5621906872256740914, i64 9070976034703867607], [3 x i64] [i64 -5526145488065489955, i64 7202930329196069788, i64 -304792004301816401], [3 x i64] [i64 7394453097578571706, i64 -4040883415317412039, i64 -609584008603632801], [3 x i64] [i64 -3657837878552408203, i64 -8081766830634824077, i64 -1219168017207265601], [3 x i64] [i64 -7315675757104816405, i64 2283210412439903463, i64 -2438336034414531202], [3 x i64] [i64 3815392559499918806, i64 4566420824879806927, i64 -4876672068829062403], [3 x i64] [i64 7630785118999837612, i64 9132841649759613855, i64 8693399936051426811], [3 x i64] [i64 -3185173835709876392, i64 -181060774190323906, i64 -1059944201606697994], [3 x i64] [i64 -6370347671419752783, i64 -362121548380647811, i64 -2119888403213395988], [3 x i64] [i64 5706048730870046051, i64 -724243096761295621, i64 -4239776806426791976], [3 x i64] [i64 -7034646611969459513, i64 -1448486193522591241, i64 -8479553612853583951], [3 x i64] [i64 4377450849770632591, i64 -2896972387045182481, i64 1487636848002383714], [3 x i64] [i64 8754901699541265183, i64 -5793944774090364962, i64 2975273696004767428], [3 x i64] [i64 -936940674627021249, i64 6858854525528821692, i64 5950547392009534856], [3 x i64] [i64 -1873881349254042498, i64 -4729035022651908232, i64 -6545649289690481903], [3 x i64] [i64 -3747762698508084995, i64 8988674028405735153, i64 5355445494328587811], [3 x i64] [i64 -7495525397016169990, i64 -469396016898081310, i64 -7735853085052375993], [3 x i64] [i64 3455693279677211637, i64 -938792033796162619, i64 2975037903604799631], [3 x i64] [i64 6911386559354423275, i64 -1877584067592325238, i64 5950075807209599263], [3 x i64] [i64 -4623970955000705065, i64 -3755168135184650476, i64 -6546592459290353089], [3 x i64] [i64 9198802163708141487, i64 -7510336270369300951, i64 5353559155128845438], [3 x i64] [i64 -49139746293268641, i64 3426071532970949714, i64 -7739625763451860740], [3 x i64] [i64 -98279492586537282, i64 6852143065941899429, i64 2967492546805830136], [3 x i64] [i64 -196558985173074564, i64 -4742457941825752758, i64 5934985093611660273], [3 x i64] [i64 -393117970346149127, i64 8961828190058046100, i64 -6576773886486231069], [3 x i64] [i64 -786235940692298254, i64 -523087693593459415, i64 5293196300737089478], [3 x i64] [i64 -1572471881384596507, i64 -1046175387186918830, i64 -7860351472235372659], [3 x i64] [i64 -3144943762769193013, i64 -2092350774373837659, i64 2726041129238806298], [3 x i64] [i64 -6289887525538386025, i64 -4184701548747675318, i64 5452082258477612597], [3 x i64] [i64 5866969022632779567, i64 -8369403097495350636, i64 -7542579556754326422], [3 x i64] [i64 -6712806028443992481, i64 1707937878718850345, i64 3361584960200898773], [3 x i64] [i64 5021132016821566654, i64 3415875757437700690, i64 6723169920401797547], [3 x i64] [i64 -8404480040066418308, i64 6831751514875401380, i64 -5000404232905956521], [3 x i64] [i64 1637783993576715000, i64 -4783241043958748855, i64 8445935607897638574], [3 x i64] [i64 3275567987153430001, i64 8880261985792053906, i64 -1554872857914274467], [3 x i64] [i64 6551135974306860002, i64 -686220102125443803, i64 -3109745715828548934], [3 x i64] [i64 -5344472125095831611, i64 -1372440204250887605, i64 -6219491431657097868], [3 x i64] [i64 7757799823517888395, i64 -2744880408501775209, i64 6007761210395355880], [3 x i64] [i64 -2931144426673774825, i64 -5489760817003550418, i64 -6431221652918839856], [3 x i64] [i64 -5862288853347549649, i64 7467222439702450781, i64 5584300767871871905], [3 x i64] [i64 6722166367014452318, i64 -3512299194304650054, i64 -7278142537965807806], [3 x i64] [i64 -5002411339680646979, i64 -7024598388609300107, i64 3890458997777936004], [3 x i64] [i64 8441921394348257659, i64 4397547296490951402, i64 7780917995555872008], [3 x i64] [i64 -1562901285013036298, i64 8795094592981902804, i64 -2884908082597807600], [3 x i64] [i64 -3125802570026072596, i64 -856554887745746007, i64 -5769816165195615199], [3 x i64] [i64 -6251605140052145191, i64 -1713109775491492013, i64 6907111743318321218], [3 x i64] [i64 5943533793605261235, i64 -3426219550982984026, i64 -4632520587072909179], [3 x i64] [i64 -6559676486499029145, i64 -6852439101965968051, i64 9181702899563733258], [3 x i64] [i64 5327391100711493327, i64 4741865869777615514, i64 -83338274582085099], [3 x i64] [i64 -7791961872286564962, i64 -8963012334154320587, i64 -166676549164170197], [3 x i64] [i64 2862820329136421693, i64 520719405400910443, i64 -333353098328340394], [3 x i64] [i64 5725640658272843386, i64 1041438810801820887, i64 -666706196656680788], [3 x i64] [i64 -6995462757163864844, i64 2082877621603641775, i64 -1333412393313361576]] }, align 8 +@_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE = internal unnamed_addr addrspace(1) constant { [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], [16 x i64], i32, i32, i32, [4 x i8], <{ [946 x i64], [14 x i64] }>, i64, i64, i64, i32, i32, i32, i32, i32 } { [16 x i64] [i64 0, i64 4597049319638433792, i64 4599301119452119040, i64 4601552919265804288, i64 4603804719079489536, i64 4606056518893174784, i64 4608308318706860032, i64 4610560118520545280, i64 4612811918334230528, i64 4615063718147915776, i64 4617315517961601024, i64 4619567317775286272, i64 4621819117588971520, i64 4624070917402656768, i64 4626322717216342016, i64 0], [16 x i64] [i64 0, i64 4596925969275190418, i64 4599124753614791950, i64 4601085806915387447, i64 4603170609751101333, i64 4604515437576462357, i64 4605815879314910702, i64 4606654376594060583, i64 4607061851116302786, i64 4607166006760738935, i64 4607181600984719121, i64 4607182403820540146, i64 4607182418762886965, i64 4607182418800004952, i64 4607182418800017408, i64 4607182418800017408], [16 x i64] [i64 0, i64 4352133374007295166, i64 -4878418693098643712, i64 4353929745600467008, i64 4360084599349667659, i64 4353283868778215516, i64 4356023081866333980, i64 -4864013719205008678, i64 -4864922407639497792, i64 4358872484687733888, i64 4358164353191789258, i64 -4867661852176875370, i64 4360838510014754749, i64 4354915948147921784, i64 -4871883175188146064, i64 0], [16 x i64] [i64 4607182418800017408, i64 4606764796110472498, i64 4606357060487319323, i64 4605656690122351865, i64 4604411976778840085, i64 4602719503797685614, i64 4598723125065263296, i64 4592865446438674745, i64 4583321908908022902, i64 4570541731106401057, i64 4550831262795427734, i64 4524963979896967342, i64 4486065192858613599, i64 4433886123870805800, i64 4355989349554712408, i64 0], [16 x i64] [i64 -4904222175531128295, i64 -4626805768239989727, i64 -4624746971222861546, i64 -4623542118413008879, i64 -4622782609276680062, i64 -4623302922634566344, i64 -4625633798216911531, i64 -4630987371135960192, i64 -4640152725168384998, i64 -4652845602860193255, i64 -4672541382321671152, i64 -4698408070018708345, i64 -4737306844015688347, i64 -4789485912982592604, i64 -4867382550339142095, i64 0], [16 x i64] [i64 -4623695617433709227, i64 -4624770551425877487, i64 -4626293807730877446, i64 -4629297864994124826, i64 -4642575232276739934, i64 4590559257685578020, i64 4592469032496493246, i64 4589198395251255869, i64 4580563191967379400, i64 4567712728562305136, i64 4548558309821896744, i64 4522346102560419345, i64 4483222781509120844, i64 4431603560815668378, i64 4353341791305650167, i64 0], [16 x i64] [i64 -4835029545259182538, i64 4593757162856433502, i64 4594864814608092936, i64 4595292777714661351, i64 4594136193488856371, i64 4588921988213172016, i64 -4644962049984014980, i64 -4640935784442964671, i64 -4647579207192817032, i64 -4660203560955078385, i64 -4679320570173908389, i64 -4705529568750687901, i64 -4744652855104029439, i64 -4796272075681092954, i64 -4874534569230496122, i64 0], [16 x i64] [i64 4593971859893070517, i64 4590788283784235181, i64 4586718964913339308, i64 -4649670388966552969, i64 -4635263936788584570, i64 -4634730035315316647, i64 -4642182484950283222, i64 4570668779161797390, i64 4568734880789238097, i64 4557346978965585087, i64 4537757349853626551, i64 4511976542282429955, i64 4472886624836338494, i64 4420831828886583738, i64 4342796178975148352, i64 0], [16 x i64] [i64 -4782283932473379916, i64 -4634000746074020641, i64 -4633476840145649308, i64 -4634312843468343354, i64 -4640821806108818799, i64 4578802538256707736, i64 4579911192301383690, i64 4566711148428410325, i64 -4663596700693671042, i64 -4673604563193420785, i64 -4692503911706335402, i64 -4718691547772653234, i64 -4757720679901666336, i64 -4809478538716376818, i64 -4887636898784728441, i64 0], [16 x i64] [i64 -4635433570782916085, i64 -4641272245412235524, i64 4526108688087602073, i64 4582190692185619022, i64 4584241673476262725, i64 4577510190152425684, i64 -4651331395726859734, i64 -4656790892913518342, i64 4545486609363631030, i64 4541174650829774096, i64 4522523763704033892, i64 4496470730452212496, i64 4457656858496031810, i64 4405582053026796212, i64 4328099490512177057, i64 0], [16 x i64] [i64 -4740851525116100321, i64 4584289432203180113, i64 4583811354233020353, i64 4580198372326309663, i64 -4651338911055060817, i64 -4646406377677919107, i64 -4662171254680643285, i64 4561152321755533863, i64 4540760216159410554, i64 -4691977800475273657, i64 -4709887065537122347, i64 -4735909184988288787, i64 -4774722385175610915, i64 -4826797186761705006, i64 -4904285492639020308, i64 0], [16 x i64] [i64 4581960692821311822, i64 -4641853094619104803, i64 -4648903074418657213, i64 -4644186245683758459, i64 -4647387570834082694, i64 4566870316618581830, i64 4565499078856272920, i64 -4671908019871113456, i64 -4683666483411406934, i64 4519281558424562164, i64 4503823706774854794, i64 4477745415191158313, i64 4438740144021603938, i64 4386947741676469095, i64 4307853868826182852, i64 0], [16 x i64] [i64 -4708297072955600130, i64 -4626096120361881837, i64 -4647255841780811850, i64 -4655934833027531767, i64 4572757378410018459, i64 4566788496093154327, i64 -4662486571930920747, i64 -4683610819641244603, i64 4534019724800278138, i64 -4724374961038092261, i64 -4730401854967627907, i64 -4755769949511504234, i64 -4795078673819885613, i64 -4846967848670873684, i64 -4925883997631742464, i64 0], [16 x i64] [i64 -4647112264426804771, i64 4629008858342763171, i64 -4638913587472258294, i64 4589989106440158570, i64 4559323415956859592, i64 -4657267069924711680, i64 4546872663551832896, i64 4543361286709331688, i64 -4696906684898239167, i64 -4723665172032336464, i64 4481686802326470336, i64 4456147270642858264, i64 4417434175364229689, i64 4365262470864339380, i64 4289467122984147609, i64 0], [16 x i64] [i64 -4684348781374810765, i64 4643309322388224692, i64 -4626134265623182498, i64 4598525791959505836, i64 -4656645353705257849, i64 4548782883015934320, i64 4549570509752304688, i64 -4684004581617102412, i64 4515861418568059055, i64 4495522576707483168, i64 -4754188103499658637, i64 -4778553670059202718, i64 -4817748906379198633, i64 -4869694949062306466, i64 -4945292788976469458, i64 0], [16 x i64] [i64 4570656533158967361, i64 -4552467073248548159, i64 4618053787160854108, i64 -4601058288253178699, i64 -4658695045400633135, i64 4572270377733304186, i64 -4675228178731401621, i64 4531224639791502309, i64 -4745467696004535645, i64 -4734761037969834877, i64 4455498437364375251, i64 4432408088670536491, i64 4393112423505225349, i64 4341505209215138857, i64 -4990257622839307605, i64 0], [16 x i64] [i64 -4671900745053089990, i64 -4538398824358039450, i64 4630257565010855118, i64 -4592109174992413035, i64 -4650929111524360861, i64 4574707063511124702, i64 4540417052873919135, i64 -4718212507962313967, i64 -4721690343467418376, i64 4480501419543585794, i64 -4785700037598491348, i64 -4803748038744985338, i64 -4842822381848297627, i64 -4894726301115623292, i64 -5004050813225634315, i64 0], [16 x i64] [i64 -4659580850465838991, i64 4706978734859391175, i64 -4578237226699650302, i64 4649386758311480026, i64 4585304556181638053, i64 -4633467871609393203, i64 4528657887729922578, i64 -4703761620523245520, i64 4499092760995643414, i64 -4752313819235066021, i64 -4791923318471127479, i64 4406814799050484263, i64 4369357929550378275, i64 4317324396634657561, i64 4244018066021094550, i64 0], [16 x i64] [i64 4554800012892710631, i64 4721055403767333382, i64 -4566061963406964244, i64 4658332322625007439, i64 4591030058068610778, i64 -4630283907041323242, i64 -4688197559932734607, i64 4517832359018086822, i64 -4731455191701389458, i64 4459680699987463862, i64 4425328799338720188, i64 -4830300488119485839, i64 -4867534179649519840, i64 -4919570167052774302, i64 -4992900875862306763, i64 0], i32 2146959360, i32 1069547520, i32 7864320, [4 x i8] undef, <{ [946 x i64], [14 x i64] }> <{ [946 x i64] [i64 0, i64 0, i64 4607182418800017408, i64 -4820683478530627373, i64 -4623695617433817284, i64 -4754341618606979002, i64 4593971861053262294, i64 -4706199616130646094, i64 -4635436120838766034, i64 -4671828330808401401, i64 4582359540196582158, i64 -4650588469055046142, i64 0, i64 4607182418800017408, i64 0, i64 0, i64 4338946272451547802, i64 4593925157098674760, i64 4607025389198117000, i64 -4629529814670500183, i64 -4624108887797211737, i64 4590733711765444117, i64 4592891784926711625, i64 -4636576902989203462, i64 -4637308543637334296, i64 4582257472117817643, i64 4579241663795902729, i64 -4646043101683961063, i64 -4629418941960159232, i64 4607182418800017408, i64 0, i64 0, i64 4350482661752037036, i64 4594477109064109410, i64 4606986836197086943, i64 -4629010209508341063, i64 -4624208677268157140, i64 4591363939763907369, i64 4592566030052356315, i64 -4635954486029089119, i64 -4637738112759406194, i64 4582791489568391550, i64 4578244191074468178, i64 -4645642271766406282, i64 -4628855992006737920, i64 4607182418800017408, i64 0, i64 0, i64 4359110477801138719, i64 4595026525390212209, i64 4606944261514437811, i64 -4628500414851580251, i64 -4624318109404472425, i64 4591967607702395000, i64 4592212228145193281, i64 -4635380797337083762, i64 -4638198822839264424, i64 4583253333616685010, i64 4577191333514097922, i64 -4645334390875732986, i64 -4628293042053316608, i64 4607182418800017408, i64 0, i64 0, i64 4359398238552434576, i64 4595573157189788151, i64 4606897745274305637, i64 -4628001314723012723, i64 -4624436752559262498, i64 4592542615633416347, i64 4591832739268174078, i64 -4634858992124574107, i64 -4638686052053144224, i64 4583639625287266717, i64 4576097812092355393, i64 -4645121752974588534, i64 -4627730092099895296, i64 4607182418800017408, i64 0, i64 0, i64 4353451954310106448, i64 4596116760795871931, i64 4606847374345264387, i64 -4627513751186186675, i64 -4624564143743295587, i64 4593087053454915604, i64 4591430059370270485, i64 -4634391709727257413, i64 -4639682383717090277, i64 4583948030242483836, i64 4574299921472075916, i64 -4645004920724982069, i64 -4627167142146473984, i64 4607182418800017408, i64 0, i64 0, i64 4356678655783864779, i64 4596657098172777955, i64 4606793242001408417, i64 -4627038521548582096, i64 -4624699791669313468, i64 4593599210570938451, i64 4591006795702854783, i64 -4634092537107774076, i64 -4640733889922468126, i64 4584177265046474017, i64 4572039802404784814, i64 -4644982768136344174, i64 -4626604192193052672, i64 4607182418800017408, i64 0, i64 0, i64 4354727791503036885, i64 4597193937305308693, i64 4606735447562717133, i64 -4626576375856796977, i64 -4624843179932149918, i64 4593874601762388888, i64 4590565641656451013, i64 -4633916309678557032, i64 -4641809084266017791, i64 4584327084897759388, i64 4568420861382869253, i64 -4645052561934392722, i64 -4626041242239631360, i64 4607182418800017408, i64 0, i64 0, i64 4353510554415403293, i64 4597727052564898768, i64 4606674096017029163, i64 -4626128014695038837, i64 -4624993770293974627, i64 4594096251032491146, i64 4590109351352637587, i64 -4633769693155896614, i64 -4642898077327466915, i64 4584398253714944303, i64 4560501800281488792, i64 -4645210073415894620, i64 -4625478292286210048, i64 4607182418800017408, i64 0, i64 0, i64 4362249395212629533, i64 4598347242906295268, i64 4606575641662328130, i64 -4625482724706066484, i64 -4625267058195412415, i64 4594394698104001864, i64 4589402641040331144, i64 -4633605749966004730, i64 -4645861223266022095, i64 4584361560972997024, i64 -4656668204585490934, i64 -4645599000594698507, i64 -4624915342332788736, i64 4607182418800017408, i64 0, i64 0, i64 4362697948342852749, i64 4598867877004541795, i64 4606432988068366796, i64 -4624936506758539882, i64 -4625941960344497792, i64 4594727152285599591, i64 4587698860238659743, i64 -4633490895005643965, i64 -4652950665476857408, i64 4584060821268893335, i64 -4650531890640792140, i64 -4646361704166454664, i64 -4624352392379367424, i64 4607182418800017408, i64 0, i64 0, i64 4355325708840103631, i64 4599379211889894407, i64 4606278236345589064, i64 -4624565778262810465, i64 -4626653660663950911, i64 4594983329760058402, i64 4585739060547068982, i64 -4633490640124424552, i64 4570160779673260852, i64 4583503490163868406, i64 -4647441958603834731, i64 -4647342221537835877, i64 -4623789442425946112, i64 4607182418800017408, i64 0, i64 0, i64 4357041316135076661, i64 4599880523727569577, i64 4606112427856457327, i64 -4624229086556846856, i64 -4627392606793974975, i64 4595163217516249903, i64 4582934617419955224, i64 -4633597414552763795, i64 4576895492237163289, i64 4582732402872319063, i64 -4646091227959163204, i64 -4649215231647547881, i64 -4623226492472524800, i64 4607182418800017408, i64 0, i64 0, i64 4323006983121943340, i64 4600371155088183062, i64 4605936643886296155, i64 -4623927486431670126, i64 -4628149343901182326, i64 4595268366791232561, i64 4578184284062014203, i64 -4633800732191353186, i64 4580182875633388478, i64 4581796639258847452, i64 -4645103554600897452, i64 -4651591807864548081, i64 -4622663542519103488, i64 4607182418800017408, i64 0, i64 0, i64 4351623150225660060, i64 4600850517009363109, i64 4605751991816218701, i64 -4623661595447507249, i64 -4628914701055277907, i64 4595301740282514712, i64 -4671308504418679357, i64 -4634087858788976803, i64 4581588474139180487, i64 4580748169810483619, i64 -4644487911242623706, i64 -4655691272132927004, i64 -4622100592565682176, i64 4607182418800017408, i64 0, i64 0, i64 4362219609080936476, i64 4601318090204742301, i64 4605559591709323916, i64 -4623431611202433568, i64 -4629679956346533274, i64 4595267526476757982, i64 -4645424585761956996, i64 -4634685021168294723, i64 4582723274697045776, i64 4579116573425421643, i64 -4644232034569294837, i64 -4666036781836689480, i64 -4621537642612260864, i64 4607182418800017408, i64 0, i64 0, i64 4356100432328109447, i64 4601773425453879109, i64 4605360563551612189, i64 -4623237335772349016, i64 -4631173537612734495, i64 4595170931397652505, i64 -4641271811055247201, i64 -4635507182312611715, i64 4583578199542889048, i64 4576872976451999812, i64 -4644305860827734069, i64 4563399259645469530, i64 -4620974692658839552, i64 4607182418800017408, i64 0, i64 0, i64 4360768533297404240, i64 4602432670741710685, i64 4605052011517840066, i64 -4623011553698427493, i64 -4633381644693360586, i64 4594922368332653482, i64 -4638012758241142009, i64 -4636877817673283613, i64 4584344027030610566, i64 4571638256869370614, i64 -4644940603672071412, i64 4569752236471532686, i64 -4620411742705418240, i64 4607182418800017408, i64 0, i64 0, i64 4360655982336775390, i64 4602972339352368656, i64 4604627533780516590, i64 -4622827575880719872, i64 -4638081975362120827, i64 4594432856391729479, i64 -4635999179725601019, i64 -4638913653149579143, i64 4584487683138354654, i64 -4656421084690437481, i64 -4646463159998386591, i64 4572341792681032348, i64 -4619848792751996928, i64 4607182418800017408, i64 0, i64 0, i64 4353829745683281157, i64 4603362126846899143, i64 4604195473957927223, i64 -4622766740732434050, i64 -4660440360892305565, i64 4593814265246401453, i64 -4634704452017511612, i64 -4642656972491026234, i64 4583825952342263027, i64 -4648892714474474592, i64 -4648992175299187153, i64 4572846248039132009, i64 -4619285842798575616, i64 4607182418800017408, i64 0, i64 0, i64 4362691366892882030, i64 4603724865097921581, i64 4603763091116799647, i64 -4622814656837950442, i64 4583934119638584090, i64 4592570513641078260, i64 -4634140057995237586, i64 -4649790782095321124, i64 4582620435874788839, i64 -4646664935651318475, i64 -4653250961152547853, i64 4572288563860665319, i64 -4618722892845154304, i64 4607182418800017408, i64 0, i64 0, i64 4353371521854344510, i64 4604060736001413340, i64 4603336683519183475, i64 -4622955172317084597, i64 4587893028713766590, i64 4591131876713614656, i64 -4634110520168539250, i64 4570096982378096540, i64 4581131392870333991, i64 -4646008555157720102, i64 -4663716626724035032, i64 4571038600831707653, i64 -4618159942891732992, i64 4607182418800017408, i64 0, i64 0, i64 4353774274663998379, i64 4604370282968153122, i64 4602921514857733247, i64 -4623171506083943941, i64 4589969716901971547, i64 4589720704345479571, i64 -4634406598544238866, i64 4577250335662629411, i64 4579000133451101434, i64 -4646130488374382730, i64 4563728801929191828, i64 4568188195594379405, i64 -4617596992938311680, i64 4607182418800017408, i64 0, i64 0, i64 4359540015507475316, i64 4604654345676376961, i64 4602364791210034188, i64 -4623447179755365903, i64 4591066027507216202, i64 4587626416479185935, i64 -4635118722482928243, i64 4580037360117209797, i64 4576102617551391633, i64 -4646784328386240863, i64 4568098143819572589, i64 4564300803932488556, i64 -4617034042984890368, i64 4607182418800017408, i64 0, i64 0, i64 4355384905618383277, i64 4604913995932861550, i64 4601602727069539337, i64 -4623766723666711213, i64 4591846887710192439, i64 4585236813431091553, i64 -4636035252656935411, i64 4580900926708523141, i64 4571573021011647540, i64 -4647753359221666259, i64 4569453810763364022, i64 4557522273918056585, i64 -4616471093031469056, i64 4607182418800017408, i64 0, i64 0, i64 4364861127791239278, i64 4605260451923467121, i64 4600539264273694993, i64 -4624298198691734086, i64 4592505507517077657, i64 4579433711649133379, i64 -4637576420514833038, i64 4581221289712998681, i64 -4665246161598349541, i64 -4650893296957003896, i64 4569368342844554856, i64 -4666586316820804591, i64 -4615908143078047744, i64 4607182418800017408, i64 0, i64 0, i64 4361821206908752790, i64 4605649410690484602, i64 4599281822251600106, i64 -4625045060324962766, i64 4592636246117811382, i64 -4650195713274959266, i64 -4640434337793753148, i64 4580587196225309021, i64 -4652140237100084096, i64 -4656653993996731996, i64 4567310958645723519, i64 -4662323626029409612, i64 -4615345193124626432, i64 4607182418800017408, i64 0, i64 0, i64 4364231153868046180, i64 4605965605787831233, i64 4598210105195815333, i64 -4626353284661656362, i64 4592193406912277619, i64 -4642602620393561577, i64 -4644211628389899718, i64 4578695503272251019, i64 -4651076053821624773, i64 -4679616101438600960, i64 4563215426221708206, i64 -4663397457417614431, i64 -4614782243171205120, i64 4607182418800017408, i64 0, i64 0, i64 4363906776023836289, i64 4606220389935270079, i64 4596453246850585635, i64 -4627696900717495773, i64 4591431828035515834, i64 -4640888711583963411, i64 -4650197902995160978, i64 4576304363067118627, i64 -4651608291663648029, i64 4560880332037524830, i64 4556922653486177578, i64 -4666084255692532229, i64 -4614219293217783808, i64 4607182418800017408, i64 0, i64 0, i64 4365458345340863012, i64 4606424233696986800, i64 4594978218808172062, i64 -4628882894155295792, i64 4590537383994015723, i64 -4640390059341952868, i64 -4669008274321532580, i64 4572960327496314426, i64 -4653295347549512737, i64 4562591669126190957, i64 4536492291819385506, i64 -4670718885044152928, i64 -4613656343264362496, i64 4607182418800017408, i64 0, i64 0, i64 4356407002506010026, i64 4606586394800247183, i64 4593778451991292849, i64 -4630096915364551455, i64 4589631713433434408, i64 -4640641360731333890, i64 4568562147745111177, i64 4568894619272806401, i64 -4655693191400455437, i64 4562109569684731080, i64 -4673169023039280220, i64 -4677950207372484864, i64 -4613093393310941184, i64 4607182418800017408, i64 0, i64 0, i64 4368255955293596967, i64 4606714812623203324, i64 4591951914363238908, i64 -4631798450645635929, i64 4588403448282299087, i64 -4641297608960052951, i64 4571597027881190276, i64 4563280822026321401, i64 -4658662230004971811, i64 4560089106837157208, i64 -4671585064398353109, i64 -4712484820358215871, i64 -4612530443357519872, i64 4607182418800017408, i64 0, i64 0, i64 4353565501983320013, i64 4606816143684267155, i64 4590405666753984056, i64 -4633199836189083137, i64 4586900939130390324, i64 -4642126455777879712, i64 4572162148492542478, i64 4550687131435482684, i64 -4661992314500493734, i64 4558016478626051268, i64 -4672406066683926878, i64 4539536429956262731, i64 -4611967493404098560, i64 4607182418800017408, i64 0, i64 0, i64 4357948364560675314, i64 4606929071017971656, i64 4588153934422252888, i64 -4635442926763685944, i64 4585046238322201372, i64 -4643584118161900996, i64 4571826116337190530, i64 -4664990124493489358, i64 -4669052042862734971, i64 4553619806083342174, i64 -4674869413993623379, i64 4540171097026303381, i64 -4611404543450677248, i64 4607182418800017408, i64 0, i64 0, i64 4361441534623284309, i64 4607027900559565531, i64 4585062992635738368, i64 -4638393140829825503, i64 4581859949115025791, i64 -4646449874871796980, i64 4570027133852044645, i64 -4663163916036335366, i64 4536601350359031237, i64 4545822204210549920, i64 -4680591539772626368, i64 4536491479263270229, i64 -4610841593497255936, i64 4607182418800017408, i64 0, i64 0, i64 4330734361518651356, i64 4607088381375504061, i64 4581644199798023212, i64 -4641790342616189252, i64 4578887542543634751, i64 -4649314958436763496, i64 4567558329328621027, i64 -4664350384563333193, i64 4547224653169339085, i64 4532877932690188527, i64 -4687551349042945047, i64 4531195148519286349, i64 -4610278643543834624, i64 4607182418800017408, i64 0, i64 0, i64 4366131409873298204, i64 4607125264826948683, i64 4578446119910844058, i64 -4644972190511322240, i64 4575923033688848851, i64 -4652074534585751721, i64 4564692795848002065, i64 -4666349149813407101, i64 4546955597195153029, i64 -4691299381259529997, i64 -4697045007460207259, i64 4524341644152286776, i64 -4609715693590413312, i64 4607182418800017408, i64 0, i64 0, i64 4359567534477255628, i64 4607147709833970194, i64 4575518397469958733, i64 -4647887813397075613, i64 4572494056028531240, i64 -4655472053725339097, i64 4562057290710554227, i64 -4669170788241991805, i64 4545133941925050987, i64 -4689588100721606685, i64 4511776101509103356, i64 4516046533366867156, i64 -4609152743636992000, i64 4607182418800017408, i64 0, i64 0, i64 4349236488952039929, i64 4607161350776041768, i64 4572037128638248958, i64 -4651347508769192146, i64 4569278887907646190, i64 -4658663657068279675, i64 4558685038053187734, i64 -4672128254955036985, i64 4542612239687374774, i64 -4691030418733022895, i64 4519242086291955975, i64 4500807358370944752, i64 -4608589793683570688, i64 4607182418800017408, i64 0, i64 0, i64 4367410865809252365, i64 4607169634514637626, i64 4568687331454759646, i64 -4654693989178915627, i64 4566326926041634267, i64 -4661598092234318935, i64 4555464579178779698, i64 -4674847773171237411, i64 4539970103347396077, i64 -4693011943593468314, i64 4518717046945304850, i64 -4719738801432374969, i64 -4608026843730149376, i64 4607182418800017408, i64 0, i64 0, i64 4367983881411446903, i64 4607174662573173346, i64 4565581779540906994, i64 -4657797093661869870, i64 4562921793851125571, i64 -4664972043468112972, i64 4552491098180877309, i64 -4678248271245977003, i64 4536725336050014286, i64 -4696004714351255492, i64 4517095829856054924, i64 -4719052479726271923, i64 -4607463893776728064, i64 4607182418800017408, i64 0, i64 0, i64 4367264642202352620, i64 4607178754185367141, i64 4560642827329238348, i64 -4662732262396534236, i64 4558135521476391698, i64 -4669748249785460911, i64 4547583472714469068, i64 -4682978495497943834, i64 4532059863069531817, i64 -4700477101268587241, i64 4512985465667497524, i64 -4721879985645352023, i64 -4606900943823306752, i64 4607182418800017408, i64 0, i64 0, i64 4363916723125681680, i64 4607181070490248100, i64 4554157887107760362, i64 -4669214976388190878, i64 4551491735650235620, i64 -4676388308347318086, i64 4541002018096280759, i64 -4689436947175144944, i64 4526001573044685568, i64 -4706463420310122005, i64 4506813167900884287, i64 -4727359259192339785, i64 -4606337993869885440, i64 4607182418800017408, i64 0, i64 0, i64 4367513745451587331, i64 4607181922761104435, i64 4547755302154239081, i64 -4675617182258928706, i64 4545045447806528160, i64 -4682831382041351477, i64 4534779135638682328, i64 -4695988761430182258, i64 4519188485643567553, i64 -4713213997203865749, i64 4500415619496933596, i64 -4733196394669987226, i64 -4605775043916464128, i64 4607182418800017408, i64 0, i64 0, i64 4351664782391407024, i64 4607182236314322981, i64 4541104455422854090, i64 -4682267702579131191, i64 4538593581430818883, i64 -4689282701145153214, i64 4527990360682022067, i64 -4702266186956297008, i64 4512956557864856242, i64 -4719428972161995316, i64 4494232983470071990, i64 -4739913156914612434, i64 -4605212093963042816, i64 4607182418800017408, i64 0, i64 0, i64 4364642266392086275, i64 4607182351666852241, i64 4534916870940308853, i64 -4688455231497694550, i64 4531983657962616915, i64 -4695892153405641673, i64 4521802832758431345, i64 -4709013014025275274, i64 4506243648281171913, i64 -4726138992741563178, i64 4487465647283170816, i64 -4746200813932983018, i64 -4604649144009621504, i64 4607182418800017408, i64 0, i64 0, i64 4358276497675495326, i64 4607182394103047944, i64 4528088179367294211, i64 -4695283875239056494, i64 4525742559895067717, i64 -4702133171261588217, i64 4515008707085240303, i64 -4715168958075353777, i64 4499852939225690175, i64 -4732527216369221544, i64 4481280909981855757, i64 -4752786290408693202, i64 -4604086194056200192, i64 4607182418800017408, i64 0, i64 0, i64 4362811204864668246, i64 4607182409714502209, i64 4521873850442612309, i64 -4701498191217004884, i64 4518958039658415632, i64 -4708917622449452875, i64 4508680536583968043, i64 -4722005172475074733, i64 4493327022922774766, i64 -4739052707721516992, i64 4474494333015331637, i64 -4759271584195076681, i64 -4603523244102778880, i64 4607182418800017408, i64 0, i64 0, i64 4362545607233648529, i64 4607182415457642088, i64 4515112694783545736, i64 -4708259344672290927, i64 4512776200318939028, i64 -4715099443099328249, i64 4502069152561056366, i64 -4728298755010049610, i64 4486777955358526922, i64 -4745601412228092332, i64 4468162106719523252, i64 -4765665363124482285, i64 -4602960294149357568, i64 4607182418800017408, i64 0, i64 0, i64 4356611522575160340, i64 4607182418054232560, i64 4505352124226638779, i64 -4718019913146264222, i64 4502933887745224814, i64 -4724941751482892882, i64 4492258414701335037, i64 -4737896439410889182, i64 4477156930999131357, i64 -4755222277297166120, i64 4458693597654648060, i64 -4775412063445175009, i64 -4602397344195936256, i64 4607182418800017408, i64 0, i64 0, i64 4366441630135283183, i64 4607182418699086400, i64 4492358594062355526, i64 -4731013442868460719, i64 4490100805360384266, i64 -4737774831315142000, i64 4479299378223355515, i64 -4750984576012194005, i64 4464066389891180808, i64 -4768312791022113581, i64 4445566011591118898, i64 -4788309808978697344, i64 -4601834394242514944, i64 4607182418800017408, i64 0, i64 0, i64 4363687603377584516, i64 4607182418786357881, i64 4479407832433865032, i64 -4743964204432184463, i64 4476963364764528901, i64 -4750912271737510785, i64 4466385955646008604, i64 -4764097123354084318, i64 4451010575248737559, i64 -4781368597425463478, i64 4432470025880387831, i64 -4801157136001582494, i64 -4601271444289093632, i64 4607182418800017408, i64 0, i64 0, i64 4353811734347904914, i64 4607182418798168792, i64 4466503375893845599, i64 -4756868660962724843, i64 4463856794116058541, i64 -4764018842359863030, i64 4453521924459904360, i64 -4777176743736518053, i64 4437992376598606241, i64 -4794386790292088775, i64 4419408325473665953, i64 -4814148823453850998, i64 -4600708494335672320, i64 4607182418800017408, i64 0, i64 0, i64 4347918217949372373, i64 4607182418799767225, i64 4453649053103691458, i64 -4769722983751501868, i64 4450783645950188566, i64 -4777091990521150361, i64 4440630300964017385, i64 -4790220713505840447, i64 4425014906792394709, i64 -4807364254296223053, i64 4406383755731209554, i64 -4827270785510935126, i64 -4600145544382251008, i64 4607182418800017408, i64 0, i64 0, i64 4362526872034150099, i64 4607182418799983549, i64 4440699120915165974, i64 -4782672915939724092, i64 4437746683733735185, i64 -4790128952736114104, i64 4427498572822757699, i64 -4803226084815966831, i64 4412081533775325699, i64 -4820297621098832105, i64 4393399388249777592, i64 -4840360598083156270, i64 -4599582594428829696, i64 4607182418800017408, i64 0, i64 0, i64 4366143779999656024, i64 4607182418800012825, i64 4427573082961514389, i64 -4795798953893368748, i64 4424748899405952833, i64 -4803126737062792373, i64 4414398187107657014, i64 -4816189666233538887, i64 4399195903627299579, i64 -4833183244528440544, i64 4380458547270417448, i64 -4853415602615623266, i64 -4599019644475408384, i64 4607182418800017408, i64 0, i64 0, i64 4367216715285999726, i64 4607182418800016787, i64 4414478857913240950, i64 -4808893178941648662, i64 4411793532283883910, i64 -4816082104183740466, i64 4401331735282918474, i64 -4829108002471842889, i64 4386361963845327712, i64 -4846017177037946629, i64 4367564831696209748, i64 -4866432921047602758, i64 -4598456694521987072, i64 4607182418800017408, i64 0, i64 0, i64 4354978734428095811, i64 4607182418800017377, i64 4395196587848604710, i64 -4828175449202487582, i64 4392299684374333602, i64 -4835575948962353136, i64 4382134945184191421, i64 -4848698992327414321, i64 4366505546971969157, i64 -4865872398500466142, i64 4348405196503133023, i64 -4885369335650366185, i64 -4597893744568565760, i64 4607182418800017408, i64 0, i64 0, i64 4364479647325835023, i64 4607182418800017406, i64 4375001233791804021, i64 -4848370803063218377, i64 4372667498779604521, i64 -4855208137674521088, i64 4361924444555401694, i64 -4868265728003755012, i64 4346758005752209336, i64 -4885621158015715876, i64 4328292352464208297, i64 -4905691744551906338, i64 -4597462870067804955, i64 4607182418800017408, i64 0, i64 0, i64 0, i64 4607182418800017408], [14 x i64] zeroinitializer }>, i64 -4294967296, i64 -9223372036854775808, i64 9223372036854775807, i32 2147352576, i32 2145386496, i32 1069416448, i32 7733248, i32 535822336 }, align 8 +@_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_123__dtanh_ha__imldTanhTabE = internal unnamed_addr addrspace(1) constant [2 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }], align 8 +@__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.ones = private unnamed_addr addrspace(1) constant [2 x double] [double 1.000000e+00, double -1.000000e+00], align 8 +@__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.own_large_value_64 = private unnamed_addr addrspace(1) constant [2 x double] [double 0x7E70000000000000, double 0xFE70000000000000], align 8 +@__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.own_small_value_64 = private unnamed_addr addrspace(1) constant [2 x double] [double 0x170000000000000, double 0x8170000000000000], align 8 +@_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_sinc_tabE = internal unnamed_addr addrspace(1) constant [10 x double] [double 0xBFFA51A6625307D3, double 0x3FE9F9CB402BC46C, double 0xBFC86A8E4720DB67, double 0x3F9AC6805CF350A6, double 0xBF633816AA4607AB, double 0x3F2374719FAB3915, double 0xBEDD42498D1CE099, double 0x3E90FC992FF39E13, double 0xBE3F5F9D970CA6DF, double 0x3DE79788684225EA], align 8 +@_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_118__dtgamma_ep_a_tabE = internal unnamed_addr addrspace(1) constant [276 x double] [double 0x400DE1D0B935C815, double 0x400944093BB6812E, double 0x40033440769B85A3, double 0x3FF7EBB3B381852B, double 0x3FDD1BA06FBD7067, double 0xBFE6D5C734546D54, double 0xC000092C1B850A05, double 0xC00B3E72E7083814, double 0xC01383314CEDF144, double 0xC019316FB5C057C6, double 0xC01D395E6358D260, double 0x400F77BAB0C1141A, double 0x400FBA062DA3C0F0, double 0x4010C616EC08D183, double 0x40127DBC41C8FB23, double 0x40150DE74718EFAD, double 0x401889F68FD20B08, double 0x401D0C7DCEFC388B, double 0x4021582B7C47173B, double 0x4024BB296CB246A2, double 0x40286F3B67C41429, double 0x402B594936E72E9F, double 0x3E1021C92D435FD9, double 0x400F0FEEAFE6CBDD, double 0x400D9509F7524EB4, double 0x400A9C14ABC0F51D, double 0x40061D68BD29914C, double 0x40000A1AD69EF90C, double 0x3FF08E3622354D24, double 0xBFC5B5E8C55F2CB1, double 0xBFFA64F8F4B0F518, double 0xC00BDEA325699EBC, double 0xC0175BAC97640B5E, double 0xC02266144954CFAD, double 0x400EAFDD5E6DB189, double 0x40100E125C2544A3, double 0x401188B1F01BDCFE, double 0x4013E618E63B8EFE, double 0x4017589CFC133874, double 0x401C2F806AF55E7F, double 0x4021751008EA1F7F, double 0x402631D56796C97D, double 0x402D2156E02B5E38, double 0x40341572F9D3C4B2, double 0x403EBC1C1400185B, double 0x405B2FE1F0FD8F23, double 0x400860B3482BE286, double 0x4007383B5848CC8B, double 0x4004E203B2213260, double 0x400152A4571C9541, double 0x3FF8ED44E3C9752C, double 0x3FE8BADBC5471B70, double 0xBFCB748410D32F03, double 0xBFF71DBB62849839, double 0xC007EE6E5F68AA49, double 0xC01407BBCEB2262B, double 0xC01FB4DF88045840, double 0x4002EB357EF2F64A, double 0x4003F42C18D9E31A, double 0x40061DFE3C6A61C2, double 0x40099AC1AB88E02D, double 0x400EBCA7EC60F616, double 0x4013018527E6D2C1, double 0x40181B7FF7729153, double 0x401F56A8C4BD34B1, double 0x4024FC102EDAC0A2, double 0x402D755D892A44E1, double 0x4036E8F39B5A40AA, double 0x454559A8B26387FF, double 0x400557CAEFF79C70, double 0x40044E995DD6BBEE, double 0x400237216CC8D837, double 0x3FFE0CE30A33944B, double 0x3FF553DC30381C60, double 0x3FE40F7B6A64B965, double 0xBFD0D9170E6409F2, double 0xBFF603258BA7C8F1, double 0xC0063C14C4C7A983, double 0xC012774654231D59, double 0xC01D2854739B37DD, double 0x3FFD071612AF61A8, double 0x3FFEC1C1E000E9FA, double 0x400130D326D5C018, double 0x40041FC9D154C224, double 0x40087624539FE3BB, double 0x400EA301E0000833, double 0x4013AA0FA0F7F764, double 0x4019D6A7EF427470, double 0x402175FDF3C14922, double 0x4028B1DF225A73C4, double 0x4033510230845744, double 0x4AC7AD81C48EFD82, double 0x4003801BBEEB9B8C, double 0x400288D5D381ED50, double 0x40009578A1066217, double 0x3FFB3747412EF63E, double 0x3FF313631932823A, double 0x3FE10DCCC804631A, double 0xBFD32051848D1E32, double 0xBFF56E5A2FB9A81A, double 0xC0053B35937C8586, double 0xC011823B307542EF, double 0xC01B8EF3D30383E2, double 0x3FF83FA9590B2CBD, double 0x3FF9C7A5B213A714, double 0x3FFCFEF33015A0DF, double 0x40011BB3EE790D01, double 0x4004FAD965965A8E, double 0x400A82158917EEE9, double 0x401127337215FD7B, double 0x4016B2DBF1EEFD71, double 0x401EDB288B408FF7, double 0x4025EA5E1BACA442, double 0x403131368B7F9103, double 0x50B6FF95D0DCDC22, double 0x400238FFE9D32686, double 0x40014DCF5707C8B5, double 0x3FFEE5AC705C84F8, double 0x3FF93C5C9F367648, double 0x3FF17DFDEAD5C0BB, double 0x3FDDD2CCD56D430B, double 0xBFD4D5F5EB9DF5DC, double 0xBFF50EFD5FDE3F39, double 0xC0048B7A866091D9, double 0xC010D7A2C6D6EE9A, double 0xC01A6E437C00DC21, double 0x3FF52FDF575230A8, double 0x3FF695E15D767F2F, double 0x3FF987048326D0A3, double 0x3FFE5054C4C200DD, double 0x4002B71D3B637A8B, double 0x4007CEB2E81C76B5, double 0x400F006F6360FA4F, double 0x40149EDED8FE12F0, double 0x401C2632C04677E0, double 0x40240DBE87A72457, double 0x402F84CD564E4AB4, double 0x56FB3E96025DB5FE, double 0x400143F462E366B4, double 0x400061AB71087122, double 0x3FFD3161E2C2CCEF, double 0x3FF7BF068FEBECFB, double 0x3FF04BE2BBC69D81, double 0x3FDA908C30D71559, double 0xBFD62C2127562923, double 0xBFF4CAEB1DD49002, double 0xC00408D6CEA6DF46, double 0xC010577D837973D2, double 0xC01993BC56477523, double 0x3FF30762C2915EF0, double 0x3FF4549B1DD21FDD, double 0x3FF71288DF46FFE9, double 0x3FFB8AAE4C9090BF, double 0x400119ABAFB72EC2, double 0x4005DF9099B51C3D, double 0x400CA012221B6BE8, double 0x40131EBE90E71CF6, double 0x401A2FDCC9C43FFC, double 0x4022B2DEF4FC6C29, double 0x402D6C9B7CA1C24C, double 0x5D84120A61AF3C66, double 0x400082E131FAC559, double 0x3FFF4F12C90D6EF4, double 0x3FFBD9316295EBDD, double 0x3FF691C2A78D7E17, double 0x3FEEB2F6071792AF, double 0x3FD7F8DE1109482B, double 0xBFD740EB427257B7, double 0xBFF496F3C0368990, double 0xC003A25F4EE237F5, double 0xC00FE4988F91C211, double 0xC018E64BD90CAC4C, double 0x3FF168FB9B3C2C21, double 0x3FF2A3162236E1F1, double 0x3FF539832E40DED1, double 0x3FF9730529981AF5, double 0x3FFFC12927D522CA, double 0x4004675D44542D65, double 0x400AD057277AFAF3, double 0x4011F90A98DCDC62, double 0x4018AEA9B0515FFC, double 0x4021A8242D672E27, double 0x402BCF1AE8D09023, double 0x64471452F45B80C6, double 0x3FFFCA7A068844E2, double 0x3FFE1F0AF75D8332, double 0x3FFABFEDAE1B7786, double 0x3FF59B54BE931162, double 0x3FED25C0D3F15AEB, double 0x3FD5D76C8C8B7B28, double 0xBFD826E8C493E737, double 0xBFF46D6E9EB6C52F, double 0xC0034EF0C1BE301F, double 0xC00F3F08AFB08821, double 0xC01857E898C93D71, double 0x3FF0244BCE91379C, double 0x3FF14F114139C1DE, double 0x3FF3C5CDF0DA363B, double 0x3FF7CD0CD6439EDA, double 0x3FFDD2884DD8290D, double 0x40033D601E23B2BC, double 0x4009600B97223D6F, double 0x40110F3545FBFE74, double 0x40177B4A715A8196, double 0x4020D2DB093A6237, double 0x402A83C380829023, double 0x6B3D743487A69DCC, double 0x3FFEC227C12E654D, double 0x3FFD201A8B26360A, double 0x3FF9D3FAB1EE8BD7, double 0x3FF4CC752C6D90CA, double 0x3FEBD7EA62B12D9D, double 0x3FD40BFD482BD7AF, double 0xBFD8EA1E2257B388, double 0xBFF44B2746B8A38E, double 0xC003091C3B4FF682, double 0xC00EB3FDD0F4AEB3, double 0xC017E00407213C8B, double 0x3FEE3B1C2AE40025, double 0x3FF03BAA72F9611B, double 0x3FF2983B84E3516F, double 0x3FF675F5F36BADDC, double 0x3FFC3F698AF95038, double 0x400249F044AF1554, double 0x4008327F5F3A766D, double 0x40104F5C74D6D1DA, double 0x40167EA544FDDA48, double 0x40202340F3F6792A, double 0x402972882A8E16DF, double 0x72601404C1B967D9, double 0x3FFDDFFCA24558E6, double 0x3FFC45EE176A55AB, double 0x3FF909FE043FD328, double 0x3FF41B44411D6B65, double 0x3FEAB9BA5F9F15A6, double 0x3FD2817D8DB9B023, double 0xBFD992A9DE9FA9D7, double 0xBFF42E25C5351809, double 0xC002CD6ABBF6486A, double 0xC00E3CD45739DBA2, double 0xC017790F79806202, double 0x3FEC872E9CDA5031, double 0x3FEEAE054A2D6C99, double 0x3FF19D7963665C33, double 0x3FF55821E0B76EFC, double 0x3FFAEEDDF95640BA, double 0x40017E48123D1166, double 0x400735BC0230FCCA, double 0x400F5C8A11EDCEC5, double 0x4015AA2CCD15ADAE, double 0x401F1EBFE2E22A9F, double 0x40288C26424D1322, double 0x79A876D27E68961D, double 0x3FFD1B4C28233024, double 0x3FFB882BC0511644, double 0x3FF85A4487C89D93, double 0x3FF3810CCC96A60F, double 0x3FE9C07AF41168C2, double 0x3FD1297C775556CD, double 0xBFDA263DBAE34E06, double 0xBFF41520F9BB7C21, double 0xC00299879B38ECB9, double 0xC00DD50BE46F02C0, double 0xC0171F4096047C88, double 0x3FEB1658FB3F97B0, double 0x3FED2ACDD2755CFC, double 0x3FF0C8DCF1557DE0, double 0x3FF4655DB6C5C608, double 0x3FF9D07C80501DD0, double 0x4000D0A8BD68544B, double 0x40065DE0959D1742, double 0x400E48FA45845CD2, double 0x4014F435727C7303, double 0x401E212A2E67C58D, double 0x4027C66B37F5A250, double 1.000000e+00], align 8 +@_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a150_tabE = internal unnamed_addr addrspace(1) constant [16 x double] [double 0x3FEFFFFE2F03FB7E, double 0xBFE27861FB2F03B7, double 0x3FEFA479B2E8368C, double 0xBFECFD05A18C2752, double 0x3FEF2A6A04F8363F, double 0xBFEE8262550AE5DA, double 0x3FED2C4A94480F4C, double 0xBFE9EAF26255AFD6, double 0x3FE4CC0BE4E43EF1, double 0xBFDCFE46DD7F73EF, double 0x3FD0E88A46BE8D12, double 0xBFBFB09E6B6E19B3, double 0x3FA6BABD3CA209F5, double 0xBF874AB5343F9107, double 0x3F5E3EEBA78AC397, double 0xBF22A67F3A6E4769], align 8 +@_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a125_tabE = internal unnamed_addr addrspace(1) constant [16 x double] [double 0x3FEC56DC82A74AEF, double 0x3C6E9F1F78F8193A, double 0x3FDB6C53F7377B84, double 0xBFC0BAE9F40C7D03, double 0x3FC4981175E14AB3, double 0xBFB79F77AAF0CA70, double 0x3FB1E97BD1106464, double 0xBFA8071CDC64C2AD, double 0x3FA0B44C58DF1FDE, double 0xBF96DF2396B86E23, double 0x3F8F628021F66D2F, double 0xBF8591FABC23EDDD, double 0x3F7C6CDB65F64F70, double 0xBF78A7F06C8BA8B3, double 0x3F3D4DBD24BCDD72, double 0xBF7A070124800C33], align 8 +@_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a100_tabE = internal unnamed_addr addrspace(1) constant [16 x double] [double 1.000000e+00, double 0xBFE2788CFC6FB619, double 0x3FEFA658C23B1510, double 0xBFED0A118F32141B, double 0x3FEF6A5105412B63, double 0xBFEF6C80E99DA4CB, double 0x3FEFC7E05CBDB6D0, double 0xBFEFDF395DC596B7, double 0x3FEFF02A77A85CE3, double 0xBFEFF4BDE72B2114, double 0x3FEFE2E76FCCDFA4, double 0xBFEF6E7A62F260D1, double 0x3FED9EFBBBFA4F92, double 0xBFE89BDAE38F05EF, double 0x3FDEB6A827F2BC38, double 0xBFC480AA6160CFDA], align 8 +@_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dSE = internal unnamed_addr addrspace(1) constant [12 x double] [double 0x400EA75575AF6F09, double 0x401C0FF5F3B47250, double 0x402458D0D0BDFC29, double 0x402AA5BAF310E5A2, double 0x4030787B360508C5, double 0x40339DA8E7416CA4, double 0x4036C294E3D4D8AC, double 0x4039E7570DCEA106, double 0x403D0BFCF471FCCC, double 0x404018476E6B2BF0, double 0x4041AA890DC5E97C, double 0x40433CC523D5CB69], align 8 +@_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_114__dj0_ep_dZ_MPE = internal unnamed_addr addrspace(1) constant [24 x double] [double 0x40033D152E971B40, double 0xBCA0F80000000000, double 0x4016148F5B2C2E45, double 0x3C97600000000000, double 0x40214EB56CCCDECA, double 0xBCB5200000000000, double 0x40279544008272B6, double 0x3CB4400000000000, double 0x402DDCA13EF271D2, double 0xBCC9780000000000, double 0x403212313F8A19F6, double 0xBCD1680000000000, double 0x4035362DD173F792, double 0x3CC1D00000000000, double 0x40385A3B930156DD, double 0x3CD0880000000000, double 0x403B7E54A5FD5F11, double 0x3CDD280000000000, double 0x403EA27591CBBED2, double 0xBCC3700000000000, double 0x4040E34E13A66FE6, double 0x3CDA300000000000, double 0x404275637A9619EC, double 0xBCD0B00000000000], align 8 +@_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE = internal unnamed_addr addrspace(1) constant [220 x double] [double 0xBC35D955493B6B0D, double 0xBC73BAFEA253FDF8, double 0x3CBDF27B8669206E, double 0x3CF90F04E550CFFD, double 0xBD4104957723400A, double 0xBD7849891732FBA5, double 0x3DBE2F34250F8EDB, double 0x3DF1D043329C8A9B, double 0xBE341D72DA26310B, double 0xBE62DA37E36E5091, double 0x3EA32E6D99C860FB, double 0x3ECAD77D7489D104, double 0xBF0863F481A433D5, double 0xBF26F641F41956AA, double 0x3F627E31FE9A977D, double 0x3F72F7FFE90256BA, double 0xBFAB2150CB41E8C1, double 0xBF9F8F72E7A848E0, double 0x3FD5C6E60A097823, double 0x3BF5537A4A674F2B, double 0x3C35ED704D8015DA, double 0x3C7127B5283E9152, double 0xBCBEE6C1C2EC9E2E, double 0xBCF56A9C639AAA23, double 0x3D41821B65A8B9D3, double 0x3D743C1B8CCD409E, double 0xBDBEDAFC3AD99A1C, double 0xBDECADE185D21FCC, double 0x3E34582CB291BBF3, double 0x3E5CEDA4796B2099, double 0xBEA30E8CC3600387, double 0xBEC3324842F78EF0, double 0x3F07800BC5506925, double 0x3F1D7960527759D9, double 0xBF60E0D60385A6F2, double 0xBF648E63600D8416, double 0x3FA68B984EC6493C, double 0x3F900F7FCF183E0D, double 0xBFD15F7977A772D4, double 0x3BFC7EB732F60F33, double 0xBC35E53634558CBC, double 0xBC6D992C6CD8D18D, double 0x3CBF1A72AC660F07, double 0x3CF21E22B88824A7, double 0xBD4180DD20DAB08B, double 0xBD70AD811C59C626, double 0x3DBE88C501BF63BA, double 0x3DE6DBC0FABFEFCC, double 0xBE33D79883295630, double 0xBE5612F2E7664C7B, double 0x3EA2346D74948C55, double 0x3EBBB178DA9BC42B, double 0xBF05CE7F496657E8, double 0xBF13DFC3782AF13A, double 0x3F5E2E16F97D0A83, double 0x3F5A55E9B346EDBE, double 0xBFA38D1DD8992E04, double 0xBF842FF0CDC58463, double 0x3FCDC13E66AC2E77, double 0xBBF28EE6544B70DC, double 0x3C35A6781CF41CBC, double 0x3C6969D0283D99B8, double 0xBCBEC6F223F067C8, double 0xBCEE897448C7EB57, double 0x3D412DD25F2C175C, double 0x3D6B75E24A45C4A7, double 0xBDBDA52768A0D79B, double 0xBDE24C47DC3D1E3F, double 0x3E32FFB8DEFF4597, double 0x3E511963965BEBA5, double 0xBEA1223E2BD0B15D, double 0xBEB4B230B1143795, double 0x3F041F3B0662F541, double 0x3F0CC0BDA19FFCC4, double 0xBF5B541F829BFB43, double 0xBF52A2151407DD07, double 0x3FA17798AA09F11F, double 0x3F7C54B930FEF892, double 0xBFCA701D0F967500, double 0xBBE27CDE1849FA8C, double 0xBC353B922ACC4216, double 0xBC65D20661DB4CCB, double 0x3CBE1DD45A8BEDA2, double 0x3CE9CC61B982AC49, double 0xBD40AD5FA8D7158E, double 0xBD66C2A68B9F3D8A, double 0x3DBC80AAB9DA1AFA, double 0x3DDDB1E891A16F65, double 0xBE32101C49E7C80D, double 0xBE4B227EEEEE871A, double 0x3EA01716DC9F5493, double 0x3EB0129708EBB820, double 0xBF02AA939FD9FCF5, double 0xBF05F0152478F4B0, double 0x3F59166C7D3EAA7D, double 0x3F4C1B47C809C5E7, double 0xBF9FD7C3AD6F59E0, double 0xBF75467EB535DEAA, double 0x3FC8077F56C9B782, double 0xBBF82AC3A064232C, double 0x3C34B4638AC429C4, double 0x3C62CE8B53923151, double 0xBCBD461CFB2DDD4E, double 0xBCE5F1550AE87343, double 0x3D401935044E553F, double 0x3D6313240BCE5607, double 0xBDBB4C521A2448D9, double 0xBDD881D562B5B01C, double 0x3E312782F0F7CBBE, double 0x3E460F73A68467A4, double 0xBE9E4D893DCE540D, double 0xBEA9C8E418A144CF, double 0x3F0170AB5EEB0E79, double 0x3F01695765F13A9F, double 0xBF574A948D05638E, double 0xBF462813C7F5872F, double 0x3F9D7073DAEBB02C, double 0x3F70BA9CE88929F2, double 0xBFC62D93AA9D05BB, double 0x3BEFDD6F4A95B3F2, double 0xBC341EA695BAF3F0, double 0xBC604F4B5412E2CE, double 0x3CBC5AB00BE3F86C, double 0x3CE2D49F4087F3F1, double 0xBD3F01CCEA7FBFAC, double 0xBD602FF6CA737039, double 0x3DBA20DE901FD3D5, double 0x3DD4919923775607, double 0xBE305141505A1539, double 0xBE4253415EC9C629, double 0x3E9CA7507840C38E, double 0x3EA53AC4ECD41679, double 0xBF00679C92C303BE, double 0xBEFC79DB4B341C92, double 0x3F55D18D69DE6CFB, double 0x3F420A3F8C12A1FC, double 0xBF9B8105D59B114C, double 0xBF6B3297FDAE7902, double 0x3FC4B2A2EBF61ECE, double 0x3C022F06185A8BF4, double 0x3C33842B3B8E29FD, double 0x3C5C7F11E67C2051, double 0xBCBB6C24D6E7FD96, double 0xBCE050D2534C486E, double 0x3D3DD98428322E03, double 0x3D5BD09A871F3B29, double 0xBDB908BA7B66FB77, double 0xBDD187927059E20B, double 0x3E2F1FB225D854D3, double 0x3E3F0200E1F470F6, double 0xBE9B35EF28E9CD70, double 0xBEA1D9E3629B04AA, double 0x3EFF0B30F4506216, double 0x3EF7D55405348AE8, double 0xBF5496158DC5F7FE, double 0xBF3E1C0589E32BAB, double 0x3F99E74E754EA71F, double 0x3F66AC0D2E2F2F87, double 0xBFC37AAC8C1AEABB, double 0x3BFF5078E644F55F, double 0xBC32EB3155314FEC, double 0xBC5915E8122BAB2B, double 0x3CBA83CC046DA134, double 0x3CDC8A91DBC9D4D6, double 0xBD3CC152566EE9F5, double 0xBD582C011F5A35AB, double 0x3DB80711232343FC, double 0x3DCE48DBED0DCFA5, double 0xBE2DC4C0237A6250, double 0xBE3AA483FC7C56D6, double 0x3E99F1BD69B14FFB, double 0x3E9E8A88601EEB3D, double 0xBEFD855D7B8F0213, double 0xBEF452194B75F238, double 0x3F538984B76CDF4A, double 0x3F399E6923ADA91D, double 0xBF988D48D1D4EB7B, double 0xBF6346950BFD91F1, double 0x3FC27407DFADEE6D, double 0xBBF3B39297FBA3E3, double 0x3C32575867E38308, double 0x3C563FC5CCF70DB9, double 0xBCB9A65E8E451006, double 0xBCD92F8CA6CFE9CF, double 0x3D3BBC1B6AA232EB, double 0x3D55394457782F8B, double 0xBDB71BBB6819623A, double 0xBDCA782BF181AA3F, double 0x3E2C8D9D45BAE50B, double 0x3E3731841027F81A, double 0xBE98D38497BEC23A, double 0xBE9A8019EF76367B, double 0x3EFC317F85411268, double 0x3EF196DE0EEEF02D, double 0xBF52A184BE0D9891, double 0xBF3624437A2FE765, double 0x3F9764141D652089, double 0x3F60A668185C01B1, double 0xBFC192F23CE3E051, double 0x3BF55053071414B3, double 0xBC31CA82AC691FF5, double 0xBC53DFB01914866C, double 0x3CB8D5E17978CF93, double 0x3CD667E8C25401FE, double 0xBD3ACA41BFD9D46E, double 0xBD52CEA1765CD74A, double 0x3DB64531BC5B6933, double 0x3DC75F5A38A279C8, double 0xBE2B75D66A6D7DB9, double 0xBE346AC67A2DE74E, double 0x3E97D51F133B39A3, double 0x3E97452C65228420, double 0xBEFB06384E48EE08, double 0xBEEED574AFAB6E7F, double 0x3F51D69CA0D88394, double 0x3F33627F261F5113, double 0xBF96613D93B0180B, double 0xBF5D242AA529931D, double 0x3FC0CF3ED059C573, double 0x3C0952703B5AFD34], align 8 +@__const._ZN18__imf_impl_j0_d_ep12_GLOBAL__N_127__dj0_ep_sincos_kernel_fp64EdiPdS1_.ones = private unnamed_addr addrspace(1) constant [2 x double] [double 1.000000e+00, double -1.000000e+00], align 8 +@__const._ZN18__imf_impl_j0_d_ep12_GLOBAL__N_121__dj0_ep_reduce_pi04dEdPdi.zero_none = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -1.000000e+00], align 8 +@_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE = internal unnamed_addr addrspace(1) constant [98 x i32] [i32 0, i32 0, i32 1610612736, i32 1282694960, i32 0, i32 1256952721, i32 536870912, i32 1229269500, i32 -1073741824, i32 1202544455, i32 0, i32 1176818551, i32 -2147483648, i32 1148939346, i32 536870912, i32 1124701124, i32 -536870912, i32 1099498527, i32 -536870912, i32 1071929578, i32 1342177280, i32 1046982385, i32 805306368, i32 1020320658, i32 -2147483648, i32 993817732, i32 0, i32 968598976, i32 -1610612736, i32 942220475, i32 -1879048192, i32 915426956, i32 0, i32 885849629, i32 536870912, i32 863855510, i32 1610612736, i32 836031391, i32 -268435456, i32 810828058, i32 1073741824, i32 784674491, i32 1610612736, i32 757207974, i32 -805306368, i32 732020890, i32 0, i32 703061904, i32 1610612736, i32 679713053, i32 -2147483648, i32 652001705, i32 1073741824, i32 626850382, i32 -2147483648, i32 597786158, i32 805306368, i32 575535400, i32 536870912, i32 548814833, i32 268435456, i32 523239288, i32 -536870912, i32 495550718, i32 -1342177280, i32 469954840, i32 1073741824, i32 442925723, i32 1073741824, i32 416247094, i32 -536870912, i32 392128403, i32 -2147483648, i32 364254062, i32 -1073741824, i32 339643518, i32 -1610612736, i32 313162111, i32 805306368, i32 286354345, i32 -1342177280, i32 260811902, i32 1610612736, i32 234667567, i32 -536870912, i32 207520668, i32 1073741824, i32 182175017, i32 -268435456, i32 155380331, i32 805306368, i32 129417058, i32 536870912, i32 103691636, i32 0, i32 73760972, i32 -1073741824, i32 48348958], align 4 +@__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_dj1EPKdPd.zeros = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -0.000000e+00], align 8 +@_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dSE = internal unnamed_addr addrspace(1) constant [12 x double] [double 0x40033D152E971B40, double 0x4016148F5B2C2E45, double 0x40214EB56CCCDECA, double 0x40279544008272B6, double 0x402DDCA13EF271D2, double 0x403212313F8A19F6, double 0x4035362DD173F792, double 0x40385A3B930156DD, double 0x403B7E54A5FD5F11, double 0x403EA27591CBBED2, double 0x4040E34E13A66FE6, double 0x404275637A9619EC], align 8 +@_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_114__dj1_ep_dZ_MPE = internal unnamed_addr addrspace(1) constant [22 x double] [double 0x400EA75575AF6F09, double 0xBCA6000000000000, double 0x401C0FF5F3B47250, double 0xBC9B200000000000, double 0x402458D0D0BDFC29, double 0x3CC0280000000000, double 0x402AA5BAF310E5A2, double 0x3CB2C00000000000, double 0x4030787B360508C5, double 0xBCDD280000000000, double 0x40339DA8E7416CA4, double 0xBCD2180000000000, double 0x4036C294E3D4D8AC, double 0xBCC1C00000000000, double 0x4039E7570DCEA106, double 0x3CC1A00000000000, double 0x403D0BFCF471FCCC, double 0xBCB4200000000000, double 0x404018476E6B2BF0, double 0xBCDBE00000000000, double 0x4041AA890DC5E97C, double 0xBCED600000000000], align 8 +@_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE = internal unnamed_addr addrspace(1) constant [220 x double] [double 0x3C3330A7FE596675, double 0x3C71BC4221E9DEB6, double 0xBCBED01FC415011E, double 0xBCF67B613000E036, double 0x3D417A109BB68425, double 0x3D75EC82B3941144, double 0xBDBEC62236D85A8D, double 0xBDF03B9E94AA17B5, double 0x3E34569B21873D25, double 0x3E617069233E912A, double 0xBEA33825CD2C3F8E, double 0xBEC9799D4C9F2C34, double 0x3F083A06E30C3D40, double 0x3F26E4C2D5354236, double 0xBF624B3409959060, double 0xBF7537544C331DA7, double 0x3FAB589D1DA13905, double 0x3FAAE8A39F51AD04, double 0xBFD9C6CF582CBF7F, double 0xBBD13375C64C8179, double 0xBC343F6A0D2E3DD1, double 0xBC7076AA6242A7E1, double 0x3CBEECF9138BEC23, double 0x3CF4ABEE40CEF878, double 0xBD4183CEDBE9A804, double 0xBD73BB626CC8C1C1, double 0x3DBECAE89BB3C682, double 0x3DEC62CCA0946B8B, double 0xBE344639D71C2713, double 0xBE5D48DCDAC07ECB, double 0x3EA3026E0CE80B4C, double 0x3EC4255B015AAC17, double 0xBF0796A751F88D5E, double 0xBF207358BBDBFF48, double 0x3F613FBC7D698214, double 0x3F69A4B292E3DE41, double 0xBFA80C83BDEEE5B0, double 0xBF95E70DC60362BF, double 0x3FD33518B3874E8A, double 0x3BC751CB99A9AD1B, double 0x3C34BD139F70A8D4, double 0x3C6D5834C9725244, double 0xBCBF015D810F4074, double 0xBCF21D70FB51A73D, double 0x3D41796857B2FC2C, double 0x3D70E24444CAE855, double 0xBDBE844E4E84C00B, double 0xBDE78A38914F17F5, double 0x3E33E3BF23ED0443, double 0x3E57486F6B6C5FF9, double 0xBEA25C1238B228B9, double 0xBEBE3725DAF620F1, double 0x3F063C5475439A95, double 0x3F16B4C9CA0F765B, double 0xBF5F51C2489B9E6A, double 0xBF5F91A9EE0D2895, double 0x3FA4B0C5D5DA6789, double 0x3F89223FF2C0785B, double 0xBFCFF654544EBCD1, double 0xBBEEEC5379BB1EB6, double 0xBC34DB9AE73F6EA6, double 0xBC69B4E82EE09444, double 0x3CBEBEC3D360F2BB, double 0x3CEF2DEBAAB94B75, double 0xBD41357498205C84, double 0xBD6C6507202CC00A, double 0x3DBDC8F5188CBF16, double 0x3DE33ACCBAAC62D5, double 0xBE332DB1B441B27A, double 0xBE5257F16F30D01E, double 0x3EA16ABD781518F7, double 0x3EB6C43EEDFE62E2, double 0xBF04A6704D05AB74, double 0xBF10413E306DFF8B, double 0x3F5C5BCE33AF2D73, double 0x3F559EB160BF72D6, double 0xBFA251858011816B, double 0xBF80C83A2D7ADD33, double 0x3FCBF3337873A7D8, double 0x3BE59E2E1791B42A, double 0x3C34B50D5F1AE24C, double 0x3C665B3EE45E0E0C, double 0xBCBE2FB40575BB2A, double 0xBCEAAC197F69A705, double 0x3D40C57979347FA2, double 0x3D67CD6BF57A0624, double 0xBDBCC40CC54C83AD, double 0xBDDF7B8E74DE9E81, double 0x3E325108C473D70B, double 0x3E4D3A689E16363C, double 0xBEA06A042FBB07E6, double 0xBEB19D8CE8C2F4EF, double 0x3F032CB00EE8C0B2, double 0x3F0877991AF9D07A, double 0xBF59F4BE60758FAE, double 0xBF4FDA0298C87687, double 0x3FA09463BBD0367F, double 0x3F786DD32E059B0E, double 0xBFC925C6FCA08F55, double 0xBBFE4CDF56162187, double 0xBC345F8A7F33BFE0, double 0xBC636BBC9F175C0E, double 0x3CBD6E1D76F23B96, double 0x3CE6D7F8DC8284DE, double 0xBD403CF9B3701E67, double 0xBD640D4A7F8863ED, double 0x3DBBA135C3F5E254, double 0x3DDA0BC844840BC1, double 0xBE316F39370E8BAE, double 0xBE47B9BB07A8BF18, double 0x3E9EF16159108051, double 0x3EAC129F077AF20F, double 0xBF01E5D2836C8C92, double 0xBF032EE4CA1FC9DA, double 0x3F580503724AD307, double 0x3F48ACDC5B058C0B, double 0xBF9E7DC08E70E99A, double 0xBF72CCB0E97558DA, double 0x3FC70C511227D5AA, double 0x3BC1526B369F38D3, double 0x3C33ED29BF89D85D, double 0x3C60EB0681F63632, double 0xBCBC91E31A16A214, double 0xBCE3AB665FE159F3, double 0x3D3F568BDC13C545, double 0x3D610B5A1D814E0A, double 0xBDBA7CBCAABF3986, double 0xBDD5D856876B5FE8, double 0x3E309901B0683C34, double 0x3E43A33CD99E7B0E, double 0xBE9D407F7C23B332, double 0xBEA6F46D51E4CBC4, double 0x3F00CF2643413FC0, double 0x3EFF0DE0532650D1, double 0xBF566F4EC27A96E7, double 0xBF43D369F958E567, double 0x3F9C5E1AD9FB2F40, double 0x3F6E16555E108DC6, double 0xBFC5664E13B70622, double 0x3BD114379074B05C, double 0xBC336B62612F3ECE, double 0xBC5DA049B1422063, double 0x3CBBAC540F48CD1D, double 0x3CE10FFF88269C81, double 0xBD3E3405876D84CD, double 0xBD5D474119513806, double 0x3DB96544A2AD129D, double 0x3DD293FDF9ECD4F9, double 0xBE2FA8F9D86AD3F4, double 0xBE408B946D2AFEE8, double 0x3E9BC212085D0E6B, double 0x3EA32DFEA250F4E4, double 0xBEFFC1BBF57E3963, double 0xBEF9C5807675C42A, double 0x3F551D30D78AB525, double 0x3F405FA598EF5D1A, double 0xBF9AA0CE0421D1A8, double 0xBF68C833077FBEAE, double 0x3FC40F90793605BB, double 0xBBE826A9E86C72F5, double 0x3C32E36C197947E1, double 0x3C5A1A0FD1B8BB4F, double 0xBCBAC863CC598623, double 0xBCDDD812C0626084, double 0x3D3D1CD6C1A15148, double 0x3D596910E3D7D440, double 0xBDB860E9363C7DBE, double 0xBDD0015AEE522D86, double 0x3E2E454FEDA39C6B, double 0x3E3C509252772667, double 0xBE9A70F232D928B9, double 0xBEA0509768AAE72B, double 0x3EFE26D3747FE6D7, double 0x3EF5D17602B01B11, double 0xBF53FE9D5BAA4A3C, double 0xBF3BA181C06897C8, double 0x3F992BB5E1E159FC, double 0x3F64DF208BBD44F2, double 0xBFC2F2072E638CF4, double 0xBBFE86165A822864, double 0xBC325B29B3E823F8, double 0xBC57262BCBDD103F, double 0x3CB9EC4DBDB090CF, double 0x3CDA50207C520CC8, double 0xBD3C15D9EA83DCDB, double 0xBD5645783B5AD729, double 0x3DB77142BF7E9B46, double 0x3DCBE6435C2540E4, double 0xBE2D04D33B8B7EA0, double 0xBE388DB618EA8101, double 0x3E9946D1DAB7260E, double 0x3E9C2C3A1B7F21C9, double 0xBEFCC11A59E1360B, double 0xBEF2C5F5EDAFC37A, double 0x3F53081DEF9612C4, double 0x3F37B7997BABD9C5, double 0xBF97ED5FFFC1C774, double 0xBF61E438B722C3B6, double 0x3FC1FF5EEC6A01CD, double 0x3C0057885A9E498A, double 0x3C31D621FA2C7C85, double 0x3C54AA56422BEF54, double 0xBCB91B37E6B9D09D, double 0xBCD76135D2F416B1, double 0x3D3B20B5C32A5555, double 0x3D53B25238F33BCF, double 0xBDB695C36797BFFD, double 0xBDC8913EF6B419BC, double 0x3E2BE3EE32463BE6, double 0x3E3589A7CA0CF0C1, double 0xBE983DCAF3F87316, double 0xBE98A1B3A9E84CF0, double 0x3EFB86BAD42FC10D, double 0x3EF05F11577B44DC, double 0xBF52316250B4AE36, double 0xBF34A538A4829797, double 0x3F96D9AFE88301FA, double 0x3F5F1E1E7F393E83, double 0xBFC12DD57BF18ADA, double 0x3BD240F662940830], align 8 +@__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_127__dj1_ep_sincos_kernel_fp64EdiPdS1_.ones = private unnamed_addr addrspace(1) constant [2 x double] [double 1.000000e+00, double -1.000000e+00], align 8 +@__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_121__dj1_ep_reduce_pi04dEdPdi.zero_none = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -1.000000e+00], align 8 +@_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE = internal unnamed_addr addrspace(1) constant [98 x i32] [i32 0, i32 0, i32 1610612736, i32 1282694960, i32 0, i32 1256952721, i32 536870912, i32 1229269500, i32 -1073741824, i32 1202544455, i32 0, i32 1176818551, i32 -2147483648, i32 1148939346, i32 536870912, i32 1124701124, i32 -536870912, i32 1099498527, i32 -536870912, i32 1071929578, i32 1342177280, i32 1046982385, i32 805306368, i32 1020320658, i32 -2147483648, i32 993817732, i32 0, i32 968598976, i32 -1610612736, i32 942220475, i32 -1879048192, i32 915426956, i32 0, i32 885849629, i32 536870912, i32 863855510, i32 1610612736, i32 836031391, i32 -268435456, i32 810828058, i32 1073741824, i32 784674491, i32 1610612736, i32 757207974, i32 -805306368, i32 732020890, i32 0, i32 703061904, i32 1610612736, i32 679713053, i32 -2147483648, i32 652001705, i32 1073741824, i32 626850382, i32 -2147483648, i32 597786158, i32 805306368, i32 575535400, i32 536870912, i32 548814833, i32 268435456, i32 523239288, i32 -536870912, i32 495550718, i32 -1342177280, i32 469954840, i32 1073741824, i32 442925723, i32 1073741824, i32 416247094, i32 -536870912, i32 392128403, i32 -2147483648, i32 364254062, i32 -1073741824, i32 339643518, i32 -1610612736, i32 313162111, i32 805306368, i32 286354345, i32 -1342177280, i32 260811902, i32 1610612736, i32 234667567, i32 -536870912, i32 207520668, i32 1073741824, i32 182175017, i32 -268435456, i32 155380331, i32 805306368, i32 129417058, i32 536870912, i32 103691636, i32 0, i32 73760972, i32 -1073741824, i32 48348958], align 4 +@_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dSE = internal unnamed_addr addrspace(1) constant [12 x double] [double 0x400193BED4DFF243, double 0x4015B7FE4E87B02E, double 0x40213127AE6169B4, double 0x40277F9138D43206, double 0x402DCB7D88DE848B, double 0x40320B1C695F1E3B, double 0x40353025492188CD, double 0x403854FA303820CA, double 0x403B79ACEE8CFB7D, double 0x403E9E480605283C, double 0x4040E16907F8FB56, double 0x404273A7B35A7AFF], align 8 +@_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_114__dy0_ep_dZ_MPE = internal unnamed_addr addrspace(1) constant [24 x double] [double 0x3FEC982EB8D417EA, double 0x3C7EB00000000000, double 0x400FA9534D98569C, double 0xBC9F000000000000, double 0x401C581DC4E72103, double 0xBC99800000000000, double 0x402471D735A47D58, double 0xBCCCB80000000000, double 0x402AB8E1C4A1E74A, double 0xBCC7E00000000000, double 0x4030803C74003214, double 0x3CD2580000000000, double 0x4033A42CDF5FEBD7, double 0xBCD8C00000000000, double 0x4036C832FD77AC07, double 0x3CDCA80000000000, double 0x4039EC46F3E80146, double 0xBCB0400000000000, double 0x403D106449616C4F, double 0x3CD0A80000000000, double 0x40401A4420E4ABEE, double 0x3CED300000000000, double 0x4041AC588C944279, double 0xBCAA000000000000], align 8 +@_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE = internal unnamed_addr addrspace(1) constant [180 x double] [double 0x3C35FB563CB6EFE3, double 0x3C6FD7D9B26FC9D7, double 0xBCBF10F62040782D, double 0xBCF3BA068C00701C, double 0x3D418F3A34D8C3FD, double 0x3D72612F0893E289, double 0xBDBEC980898CF81A, double 0xBDE99D8C29D7230F, double 0x3E3428A3A43E94DE, double 0x3E593EB9F1A81534, double 0xBEA2AEA9EC4984D5, double 0xBEC04053ABF3F276, double 0x3F06AFDD57BE1F88, double 0x3F17F84D7C50E3F1, double 0xBF5FE23914FB912B, double 0xBF60325EE41E910A, double 0x3FA4E667A71556AF, double 0x3F89036451FF57C5, double 0xBFCFF635CC72B9F1, double 0x3BFAF800C1B9F7AC, double 0xBC35CC3D3C010DAC, double 0xBC6B6F2F3CD96816, double 0x3CBEFE55DDDA3895, double 0x3CF0A20182B52E7B, double 0xBD415F0C321E437E, double 0xBD6E4080FB50AC8F, double 0x3DBE235D52EDB436, double 0x3DE46CE060DD438C, double 0xBE3371AE6CA7A2F3, double 0xBE536021C89A40B0, double 0x3EA1AD073122E57B, double 0x3EB7D1E2809461A2, double 0xBF04F0AF7D46CE1E, double 0xBF10C5F18C46CF6E, double 0x3F5CAAA76E34992F, double 0x3F55F03E47165D70, double 0xBFA26CAB38A8B368, double 0xBF80BC2D84E65214, double 0x3FCBF32A27594007, double 0xBBCB8AAC9E758A6F, double 0x3C35758B68F047EE, double 0x3C678AC3F4310E68, double 0xBCBE7A5CFCEB3D41, double 0xBCEC0CD66BA7E979, double 0x3D40F1682AB5A0C3, double 0x3D68F866DF2C7741, double 0xBDBD1743D944EBD8, double 0xBDE0730C1543C6C2, double 0x3E3288585504A439, double 0x3E4E5DE01DD711F4, double 0xBEA099E713932AF8, double 0xBEB2283A9310CDD1, double 0x3F035D17CEC017AA, double 0x3F08F91421377E51, double 0xBF5A24A1215F6685, double 0xBF5013B38CFB9290, double 0x3FA0A4512039D6A2, double 0x3F7862549367591E, double 0xBFC925C35988EE29, double 0x3BFAE3FCCFBCAA98, double 0xBC34FA9208B7434D, double 0xBC643E8EF43DAA8F, double 0x3CBDB5D770E7B25E, double 0x3CE7C4AB0E6A222B, double 0xBD406492D902421A, double 0xBD64CDEFCC3A3B7D, double 0x3DBBE67C1D07D4D4, double 0x3DDAEB1A60E1C26D, double 0xBE3199EC88BC81A4, double 0xBE48654AFFC2FB6B, double 0x3E9F367117733B49, double 0x3EACAF84DB864A56, double 0xBF0206DA232A2BAA, double 0xBF037612593854EB, double 0x3F58247B02D6B0F7, double 0x3F48D6C364D9207E, double 0xBF9E924B85A17361, double 0xBF72C6731071E936, double 0x3FC70C4F66CAB47F, double 0xBBD3A8340991C9B2, double 0x3C346AA20EFBEEDF, double 0x3C617FA752F497F3, double 0xBCBCD19ED804C9D5, double 0xBCE44D978A274A2F, double 0x3D3F99D64FED83F2, double 0x3D618B4D730F528C, double 0xBDBAB498E3FEC265, double 0xBDD668085F00F1AE, double 0x3E30B9CFAE2BCAAF, double 0x3E440E6A7C6BEB11, double 0xBE9D735E8BEBA051, double 0xBEA7541247AC2CC2, double 0x3F00E6AFA01AF57B, double 0x3EFF632A9396FB31, double 0xBF56853B2D047885, double 0xBF43EC49CB941F52, double 0x3F9C6C415C971B4B, double 0x3F6E0EE8EC84659A, double 0xBFC5664D37C37D7B, double 0xBBDD57213607B311, double 0xBC33D189FD596A01, double 0xBC5E75971797D4D9, double 0x3CBBE316851C33CA, double 0x3CE181CBA6FA9A8A, double 0xBD3E6BFB03E29E4E, double 0xBD5DF6A85B4343F6, double 0x3DB992136CA07E30, double 0x3DD2F44CE5819DA0, double 0xBE2FDBEB1072D26B, double 0xBE40D1FDED8AF247, double 0x3E9BE87E2CAD253C, double 0x3EA36BD2D58F56C1, double 0xBEFFE48825ED3C8F, double 0xBEF9FC04C675BF10, double 0x3F552D29A06802E0, double 0x3F406F735CC0F6A3, double 0xBF9AAB099314B209, double 0xBF68C37A29C4586F, double 0x3FC40F8FFDF09A5F, double 0xBBD3DBB13F38B650, double 0x3C333737490FA560, double 0x3C5AB60C99503E8B, double 0xBCBAF6D1B0912158, double 0xBCDE7B9E972CD23F, double 0x3D3D4B25AEBC356B, double 0x3D59E4EC824BC1B0, double 0xBDB8850C8F878E43, double 0xBDD04444607DD040, double 0x3E2E6D78878B936F, double 0x3E3CB10B3A95E17C, double 0xBE9A8EA97B66E824, double 0xBEA07A7A07456BA7, double 0x3EFE4158391F2C08, double 0x3EF5F61B666127FF, double 0xBF540AAA5D94BD8D, double 0xBF3BB6AA3D4E9E73, double 0x3F99336443318ED1, double 0x3F64DBF6A9FB80D7, double 0xBFC2F206E49909C7, double 0x3BF9836354209655, double 0xBC32A07A7481E725, double 0xBC579A6B5C91C60B, double 0x3CBA138BA3FF01A2, double 0x3CDAC858D99227E1, double 0xBD3C3C47396D619D, double 0xBD569F50C705C067, double 0x3DB78EAFA534527D, double 0x3DCC462D71FAAAEB, double 0xBE2D24FC943E9253, double 0xBE38D22635B5A2F9, double 0x3E995E4B1021714D, double 0x3E9C672D4D6E7EBC, double 0xBEFCD5D4A9D789D9, double 0xBEF2DF9AFA52111B, double 0x3F53117816335150, double 0x3F37C65C9302C536, double 0xBF97F3506D4A1231, double 0xBF61E2035324643C, double 0x3FC1FF5EBDDD3C3A, double 0x3BF04370896C67B0, double 0x3C320FFB5CA66BF8, double 0x3C55028BB8DEDCF6, double 0xBCB93C7362D60B24, double 0xBCD7BB728F79BEB6, double 0x3D3B40CB7509E29E, double 0x3D53F5129847F0AA, double 0xBDB6ADFBC9FC5E6C, double 0xBDC8D7DBBD895C12, double 0x3E2BFE1396C9CC28, double 0x3E35BBA73DD3A714, double 0xBE9850AE878BFA22, double 0xBE98CC82A70C9697, double 0x3EFB974781A52668, double 0x3EF0719D13E00D02, double 0xBF5238CFC13AC771, double 0xBF34AFDF89FCA616, double 0x3F96DE64242A8310, double 0x3F5F1AEE31818D18, double 0xBFC12DD55D4BE2B3, double 0x3C02BE9ADC4ECF3E], align 8 +@__const._ZN18__imf_impl_y0_d_ep12_GLOBAL__N_127__dy0_ep_sincos_kernel_fp64EdiPdS1_.ones = private unnamed_addr addrspace(1) constant [2 x double] [double 1.000000e+00, double -1.000000e+00], align 8 +@__const._ZN18__imf_impl_y0_d_ep12_GLOBAL__N_121__dy0_ep_reduce_pi04dEdPdi.zero_none = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -1.000000e+00], align 8 +@_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE = internal unnamed_addr addrspace(1) constant [98 x i32] [i32 0, i32 0, i32 1610612736, i32 1282694960, i32 0, i32 1256952721, i32 536870912, i32 1229269500, i32 -1073741824, i32 1202544455, i32 0, i32 1176818551, i32 -2147483648, i32 1148939346, i32 536870912, i32 1124701124, i32 -536870912, i32 1099498527, i32 -536870912, i32 1071929578, i32 1342177280, i32 1046982385, i32 805306368, i32 1020320658, i32 -2147483648, i32 993817732, i32 0, i32 968598976, i32 -1610612736, i32 942220475, i32 -1879048192, i32 915426956, i32 0, i32 885849629, i32 536870912, i32 863855510, i32 1610612736, i32 836031391, i32 -268435456, i32 810828058, i32 1073741824, i32 784674491, i32 1610612736, i32 757207974, i32 -805306368, i32 732020890, i32 0, i32 703061904, i32 1610612736, i32 679713053, i32 -2147483648, i32 652001705, i32 1073741824, i32 626850382, i32 -2147483648, i32 597786158, i32 805306368, i32 575535400, i32 536870912, i32 548814833, i32 268435456, i32 523239288, i32 -536870912, i32 495550718, i32 -1342177280, i32 469954840, i32 1073741824, i32 442925723, i32 1073741824, i32 416247094, i32 -536870912, i32 392128403, i32 -2147483648, i32 364254062, i32 -1073741824, i32 339643518, i32 -1610612736, i32 313162111, i32 805306368, i32 286354345, i32 -1342177280, i32 260811902, i32 1610612736, i32 234667567, i32 -536870912, i32 207520668, i32 1073741824, i32 182175017, i32 -268435456, i32 155380331, i32 805306368, i32 129417058, i32 536870912, i32 103691636, i32 0, i32 73760972, i32 -1073741824, i32 48348958], align 4 +@__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_dy1EPKdPd.zeros = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -0.000000e+00], align 8 +@_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dSE = internal unnamed_addr addrspace(1) constant [12 x double] [double 0x400FA9534D98569C, double 0x401C581DC4E72103, double 0x402471D735A47D58, double 0x402AB8E1C4A1E74A, double 0x4030803C74003214, double 0x4033A42CDF5FEBD7, double 0x4036C832FD77AC07, double 0x4039EC46F3E80146, double 0x403D106449616C4F, double 0x40401A4420E4ABEE, double 0x4041AC588C944279, double 0x40433E6ECF5CB221], align 8 +@_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_114__dy1_ep_dZ_MPE = internal unnamed_addr addrspace(1) constant [24 x double] [double 0x400193BED4DFF243, double 0xBC8BE00000000000, double 0x4015B7FE4E87B02E, double 0x3CBE000000000000, double 0x40213127AE6169B4, double 0x3CB4800000000000, double 0x40277F9138D43206, double 0x3C81000000000000, double 0x402DCB7D88DE848B, double 0xBCC5E00000000000, double 0x40320B1C695F1E3B, double 0xBCDA200000000000, double 0x40353025492188CD, double 0x3CD3900000000000, double 0x403854FA303820CA, double 0x3CB5200000000000, double 0x403B79ACEE8CFB7D, double 0xBCBD000000000000, double 0x403E9E480605283C, double 0xBC9E800000000000, double 0x4040E16907F8FB56, double 0xBCE9680000000000, double 0x404273A7B35A7AFF, double 0x3CD2500000000000], align 8 +@_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE = internal unnamed_addr addrspace(1) constant [200 x double] [double 0xBC323C4BB7553E3E, double 0xBC70F7CB29EBBB8F, double 0x3CBFA151696070A1, double 0x3CF3171CDB0EE64C, double 0xBD416F653B9E1EF1, double 0xBD7268654326D457, double 0x3DBEC40B00A20E6D, double 0x3DE9E32843FAE514, double 0xBE341E7A91B4F17D, double 0xBE5A384EEBE6A606, double 0x3EA2BECB2B6AD58C, double 0x3EC176E72BF92DF6, double 0xBF06F7BAB104F181, double 0xBF1B50D7E1D31FC9, double 0x3F607A678D6000B9, double 0x3F63CED2A2E69180, double 0xBFA6395DFE49FCD4, double 0xBF902B3933CF21B1, double 0x3FD15F993FCEAB5C, double 0x3BFAF12431B1228B, double 0x3C34D7880D44D429, double 0x3C6B7F6EAD01CFB1, double 0xBCBEEA793E6D058C, double 0xBCF0D4440DFF0AD2, double 0x3D415E48CE887637, double 0x3D6EFF4C3CAA680F, double 0xBDBE32CF1D510801, double 0xBDE549E89E5E2CF8, double 0x3E339066099A7D85, double 0x3E54A7B82D1421ED, double 0xBEA1E86423078152, double 0xBEBA2977FA427B1F, double 0x3F0571814A1AA12F, double 0x3F1315EC04D6E60A, double 0xBF5DC4F991B3DB82, double 0xBF59D6EB2BC49E33, double 0x3FA367D7D608E4BA, double 0x3F84429FEF5B5FBD, double 0xBFCDC14EA14E89F9, double 0xBBBA417D82054693, double 0xBC34CF7DD90EA184, double 0xBC67FBFBADFF5FB8, double 0x3CBE7F3D0FAA0BC6, double 0x3CECD81A41EEB45E, double 0xBD4101B3C3CBE706, double 0xBD69FDCE8CA13DAF, double 0x3DBD4CA9D6F9295C, double 0x3DE161B696B87B8E, double 0xBE32C1A8C894C566, double 0xBE5056BABCAEBD9E, double 0x3EA0E9B612DB24AE, double 0x3EB3F35DB1FEAC10, double 0xBF03E398CBC47183, double 0xBF0C0A9CEE3C82DB, double 0x3F5B17602840ABF1, double 0x3F526B045287DDC8, double 0xBFA163191C30AA62, double 0xBF7C650B6B83109A, double 0x3FCA7022BE084D99, double 0x3BCE151F1E87DCE3, double 0x3C348EEDE9471C7A, double 0x3C64D57AABA3CF39, double 0xBCBDD398875A030A, double 0xBCE8AC1C027A0FDA, double 0x3D408331CF64A87B, double 0x3D65D3809162514F, double 0xBDBC3439B9960DDA, double 0xBDDC96E9AB628898, double 0x3E31DF6532D8D629, double 0x3E4A44A79032DF68, double 0xBE9FDD03174E759C, double 0xBEAF56C29D9A0F3E, double 0x3F0282D26A74C26D, double 0x3F059145B4F0E3AD, double 0xBF58EFEE4094379A, double 0xBF4BE318D61276DD, double 0x3F9FBE6DF840847F, double 0x3F754EDA697A0098, double 0xBFC80781C32422E7, double 0x3BEA95CF5F9BE762, double 0xBC342902BA810806, double 0xBC621DE544FBBF0F, double 0x3CBD0215D40C39C7, double 0x3CE52DF4BA743E23, double 0xBD3FE918E736AC7A, double 0xBD6276C2E1DB4588, double 0x3DBB0E00EB7F8FEA, double 0x3DD7CFA786D5F503, double 0xBE31021CDD567B6C, double 0xBE4588C7589AF927, double 0x3E9E12725852BDE3, double 0x3EA94F64F476314B, double 0xBF0154ED4598D1FF, double 0xBF0132C0AA83CFCB, double 0x3F57307B03E248F6, double 0x3F46081B0B7FE56F, double 0xBF9D5F857A2A6107, double 0xBF70BF614807033C, double 0x3FC62D94D97E859C, double 0xBBF2C47F24B48519, double 0x3C33AD885D1D7785, double 0x3C5FA35E806C6375, double 0xBCBC1F7535A31D2D, double 0xBCE24D2CB6829464, double 0x3D3EC45A826E4008, double 0x3D5F8CE22D12FB43, double 0xBDB9EED9F5FE3AC6, double 0xBDD41C85FF6200CA, double 0x3E303466438E4E89, double 0x3E41FCE14F0B14CE, double 0xBE9C7B3D81B534ED, double 0xBEA4EE5E4E7C107D, double 0x3F005375A588A65D, double 0x3EFC3625D7A64EA2, double 0xBF55BEEE6FD51C88, double 0xBF41F6911725A953, double 0x3F9B750D89A9B35F, double 0x3F6B3878AADEB34D, double 0xBFC4B2A38F1AB9B4, double 0x3C04000A4A8848AC, double 0xBC3327BDFFC19753, double 0xBC5BC9190CE6547F, double 0x3CBB39AD6736D9F4, double 0x3CDFE14719717F8C, double 0xBD3DA69C601B6551, double 0xBD5B3DBB60F8BDFA, double 0x3DB8E087A1380D19, double 0x3DD137A1A61B6D28, double 0xBE2EF28E31D55157, double 0xBE3E8E0000B60CA7, double 0x3E9B143D39C85C07, double 0x3EA1A743E05AAA41, double 0xBEFEECEB341AD6CC, double 0xBEF7A8E14711BF43, double 0x3F548843C426ABDE, double 0x3F3E024F567AC482, double 0xBF99DE7A33BC3A97, double 0xBF66AFE4FE0BC0F7, double 0x3FC37AACEAC987B9, double 0xBC02075F63B9CDE1, double 0x3C329F108151F739, double 0x3C588F8F0A0F6041, double 0xBCBA591CD6EE9C07, double 0xBCDBFEBB8C357DE2, double 0x3D3C9729F4B9C4BC, double 0x3D57C2D94EB287A0, double 0xBDB7E68014E9ABFC, double 0xBDCDD7F8EBC658AE, double 0x3E2DA0E1C8421A22, double 0x3E3A53958C2C02B5, double 0xBE99D764EE072969, double 0xBE9E448FBC891EBB, double 0x3EFD6DFCDB025EE9, double 0x3EF43394C95B2BA7, double 0xBF537EEF9AADEEE1, double 0xBF398CD1BEBE1440, double 0x3F98868D7401BF2E, double 0x3F6349369DC780BB, double 0xBFC2740819F1CAAA, double 0x3BC988FB7F736C57, double 0xBC321817B556268F, double 0xBC55DABB073706B2, double 0x3CB98245F5F9A472, double 0x3CD8C7A72600E22B, double 0xBD3B990686B9B228, double 0xBD54EC0AA96471CD, double 0x3DB701128AACC46C, double 0x3DCA262167D7525E, double 0xBE2C70AB1536C516, double 0xBE36F737958AF3BA, double 0x3E98BE81AD444941, double 0x3E9A4E0BC0917F1F, double 0xBEFC1F05A2D85045, double 0xBEF18123E875172E, double 0x3F529934B7A84482, double 0x3F3617C581BE35AD, double 0xBF975ECEAABF7F86, double 0xBF60A846A83FECF2, double 0x3FC192F2627A74E3, double 0x3C11359132991E55, double 0x3C31957C5E64DEC1, double 0x3C53925BC11BACDA, double 0xBCB8B73FE0DC1F17, double 0xBCD61929F3B687C8, double 0x3D3AACDB50836329, double 0x3D5294A0966390F6, double 0xBDB62F2157345F84, double 0xBDC722395A06C18B, double 0x3E2B5E23AB9C8AB6, double 0x3E343FA0EA0F3E19, double 0xBE97C412616FD00C, double 0xBE9720522BB12D1E, double 0x3EFAF7544EEAC65E, double 0x3EEEB59416878E92, double 0xBF51CFF175D05C29, double 0xBF335959B8482E3D, double 0x3F965D05948A946A, double 0x3F5D26E7AF251F79, double 0xBFC0CF3EE98F769B, double 0xBC108F18A6C5DB9F], align 8 +@__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_127__dy1_ep_sincos_kernel_fp64EdiPdS1_.ones = private unnamed_addr addrspace(1) constant [2 x double] [double 1.000000e+00, double -1.000000e+00], align 8 +@__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_121__dy1_ep_reduce_pi04dEdPdi.zero_none = private unnamed_addr addrspace(1) constant [2 x double] [double 0.000000e+00, double -1.000000e+00], align 8 +@_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE = internal unnamed_addr addrspace(1) constant [98 x i32] [i32 0, i32 0, i32 1610612736, i32 1282694960, i32 0, i32 1256952721, i32 536870912, i32 1229269500, i32 -1073741824, i32 1202544455, i32 0, i32 1176818551, i32 -2147483648, i32 1148939346, i32 536870912, i32 1124701124, i32 -536870912, i32 1099498527, i32 -536870912, i32 1071929578, i32 1342177280, i32 1046982385, i32 805306368, i32 1020320658, i32 -2147483648, i32 993817732, i32 0, i32 968598976, i32 -1610612736, i32 942220475, i32 -1879048192, i32 915426956, i32 0, i32 885849629, i32 536870912, i32 863855510, i32 1610612736, i32 836031391, i32 -268435456, i32 810828058, i32 1073741824, i32 784674491, i32 1610612736, i32 757207974, i32 -805306368, i32 732020890, i32 0, i32 703061904, i32 1610612736, i32 679713053, i32 -2147483648, i32 652001705, i32 1073741824, i32 626850382, i32 -2147483648, i32 597786158, i32 805306368, i32 575535400, i32 536870912, i32 548814833, i32 268435456, i32 523239288, i32 -536870912, i32 495550718, i32 -1342177280, i32 469954840, i32 1073741824, i32 442925723, i32 1073741824, i32 416247094, i32 -536870912, i32 392128403, i32 -2147483648, i32 364254062, i32 -1073741824, i32 339643518, i32 -1610612736, i32 313162111, i32 805306368, i32 286354345, i32 -1342177280, i32 260811902, i32 1610612736, i32 234667567, i32 -536870912, i32 207520668, i32 1073741824, i32 182175017, i32 -268435456, i32 155380331, i32 805306368, i32 129417058, i32 536870912, i32 103691636, i32 0, i32 73760972, i32 -1073741824, i32 48348958], align 4 +@_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE = internal unnamed_addr addrspace(1) constant [860 x { [2 x i32] }] [{ [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072629696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072569856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072513472] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072460224] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072409856] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072362112] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072316864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072273792] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072232896] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072193920] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072156736] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072121280] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072087424] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072054976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072023936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071994176] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071965696] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071938304] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071911936] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071886656] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071862272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071838848] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071816256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071794496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071773440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071753152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071733504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071714560] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071696256] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071678528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071661312] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1071644672] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1608581120, i32 1067891457] }, { [2 x i32] } { [2 x i32] [i32 1949948785, i32 1027381598] }, { [2 x i32] } { [2 x i32] [i32 1341652992, i32 1068918120] }, { [2 x i32] } { [2 x i32] [i32 -1918287952, i32 1026589938] }, { [2 x i32] } { [2 x i32] [i32 -2112962560, i32 1069583575] }, { [2 x i32] } { [2 x i32] [i32 297009671, i32 1026900933] }, { [2 x i32] } { [2 x i32] [i32 1687183360, i32 1069924424] }, { [2 x i32] } { [2 x i32] [i32 2120169064, i32 1026082260] }, { [2 x i32] } { [2 x i32] [i32 53207040, i32 1070255920] }, { [2 x i32] } { [2 x i32] [i32 -557870746, i32 1026438963] }, { [2 x i32] } { [2 x i32] [i32 -476651520, i32 1070578756] }, { [2 x i32] } { [2 x i32] [i32 677794872, i32 1028109305] }, { [2 x i32] } { [2 x i32] [i32 -1865240576, i32 1070744485] }, { [2 x i32] } { [2 x i32] [i32 -387328931, i32 1027382133] }, { [2 x i32] } { [2 x i32] [i32 -1592209408, i32 1070897876] }, { [2 x i32] } { [2 x i32] [i32 1929563302, i32 1027984695] }, { [2 x i32] } { [2 x i32] [i32 -1829826560, i32 1071047207] }, { [2 x i32] } { [2 x i32] [i32 243175481, i32 1026641700] }, { [2 x i32] } { [2 x i32] [i32 -1637265408, i32 1071193041] }, { [2 x i32] } { [2 x i32] [i32 -453589401, i32 1028504382] }, { [2 x i32] } { [2 x i32] [i32 658427904, i32 1071335525] }, { [2 x i32] } { [2 x i32] [i32 161357665, i32 1028306250] }, { [2 x i32] } { [2 x i32] [i32 539168768, i32 1071474585] }, { [2 x i32] } { [2 x i32] [i32 -1763150588, i32 1025043792] }, { [2 x i32] } { [2 x i32] [i32 -1636536320, i32 1071610420] }, { [2 x i32] } { [2 x i32] [i32 -2116447968, i32 1028288112] }, { [2 x i32] } { [2 x i32] [i32 1355743232, i32 1071694102] }, { [2 x i32] } { [2 x i32] [i32 -351186267, i32 1028003666] }, { [2 x i32] } { [2 x i32] [i32 1854838784, i32 1071759170] }, { [2 x i32] } { [2 x i32] [i32 1812291414, i32 1027042047] }, { [2 x i32] } { [2 x i32] [i32 473251840, i32 -1076195427] }, { [2 x i32] } { [2 x i32] [i32 1330616404, i32 -1119484683] }, { [2 x i32] } { [2 x i32] [i32 -1979437056, i32 -1076319966] }, { [2 x i32] } { [2 x i32] [i32 -812787580, i32 -1119241184] }, { [2 x i32] } { [2 x i32] [i32 -408272896, i32 -1076442215] }, { [2 x i32] } { [2 x i32] [i32 -710475733, i32 -1119802534] }, { [2 x i32] } { [2 x i32] [i32 1568866304, i32 -1076562273] }, { [2 x i32] } { [2 x i32] [i32 -766792122, i32 -1120341139] }, { [2 x i32] } { [2 x i32] [i32 -122327040, i32 -1076679659] }, { [2 x i32] } { [2 x i32] [i32 -534932942, i32 -1123193118] }, { [2 x i32] } { [2 x i32] [i32 -749752320, i32 -1076795083] }, { [2 x i32] } { [2 x i32] [i32 881689765, i32 -1121889850] }, { [2 x i32] } { [2 x i32] [i32 2121375744, i32 -1076928598] }, { [2 x i32] } { [2 x i32] [i32 549802690, i32 -1120070282] }, { [2 x i32] } { [2 x i32] [i32 492560384, i32 -1077150628] }, { [2 x i32] } { [2 x i32] [i32 239252792, i32 -1121483632] }, { [2 x i32] } { [2 x i32] [i32 155754496, i32 -1077368403] }, { [2 x i32] } { [2 x i32] [i32 1693604438, i32 -1119057478] }, { [2 x i32] } { [2 x i32] [i32 -9764864, i32 -1077582931] }, { [2 x i32] } { [2 x i32] [i32 127148739, i32 -1119025097] }, { [2 x i32] } { [2 x i32] [i32 41181184, i32 -1077793293] }, { [2 x i32] } { [2 x i32] [i32 -1034920643, i32 -1120909085] }, { [2 x i32] } { [2 x i32] [i32 -1829879808, i32 -1078065004] }, { [2 x i32] } { [2 x i32] [i32 -53117049, i32 -1119857271] }, { [2 x i32] } { [2 x i32] [i32 1101037568, i32 -1078471533] }, { [2 x i32] } { [2 x i32] [i32 -1124619691, i32 -1118900488] }, { [2 x i32] } { [2 x i32] [i32 -816168960, i32 -1078870923] }, { [2 x i32] } { [2 x i32] [i32 329155479, i32 -1118995022] }, { [2 x i32] } { [2 x i32] [i32 -1048412160, i32 -1079543555] }, { [2 x i32] } { [2 x i32] [i32 -223390925, i32 -1120651382] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 -1080606083] }, { [2 x i32] } { [2 x i32] [i32 1258533012, i32 -1119420175] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072689152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072685056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072681024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072676992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072672960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072668928] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072664960] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072660992] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072657024] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072653056] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072649152] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072645248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072641344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072637440] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072710976] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072709888] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072708864] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072707776] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072706752] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072705664] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072704640] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072703616] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072702528] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072701504] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072700480] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072699456] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072698368] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072697344] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072696320] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072695296] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072694272] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1540882432, i32 1063721742] }, { [2 x i32] } { [2 x i32] [i32 -1737035961, i32 1028226920] }, { [2 x i32] } { [2 x i32] [i32 -1066926080, i32 1064771801] }, { [2 x i32] } { [2 x i32] [i32 930662348, i32 1027873525] }, { [2 x i32] } { [2 x i32] [i32 -1971716096, i32 1065436614] }, { [2 x i32] } { [2 x i32] [i32 -1698667384, i32 1027915217] }, { [2 x i32] } { [2 x i32] [i32 1641152512, i32 1065811444] }, { [2 x i32] } { [2 x i32] [i32 1188689655, i32 1027383036] }, { [2 x i32] } { [2 x i32] [i32 895221760, i32 1066187001] }, { [2 x i32] } { [2 x i32] [i32 -1376013223, i32 1026717129] }, { [2 x i32] } { [2 x i32] [i32 -332070912, i32 1066482539] }, { [2 x i32] } { [2 x i32] [i32 1338190555, i32 1024402868] }, { [2 x i32] } { [2 x i32] [i32 2071330816, i32 1066668054] }, { [2 x i32] } { [2 x i32] [i32 -1460841705, i32 1027573772] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 1066853925] }, { [2 x i32] } { [2 x i32] [i32 1683363035, i32 1027948302] }, { [2 x i32] } { [2 x i32] [i32 1828782080, i32 1067040153] }, { [2 x i32] } { [2 x i32] [i32 874130859, i32 1026348678] }, { [2 x i32] } { [2 x i32] [i32 -1898971136, i32 1067226740] }, { [2 x i32] } { [2 x i32] [i32 1724975876, i32 1028585613] }, { [2 x i32] } { [2 x i32] [i32 -736100352, i32 1067410669] }, { [2 x i32] } { [2 x i32] [i32 -2105005862, i32 1027936707] }, { [2 x i32] } { [2 x i32] [i32 -1752039424, i32 1067522658] }, { [2 x i32] } { [2 x i32] [i32 -673958186, i32 1028493916] }, { [2 x i32] } { [2 x i32] [i32 -86573056, i32 1067614973] }, { [2 x i32] } { [2 x i32] [i32 -1517580946, i32 1028255456] }, { [2 x i32] } { [2 x i32] [i32 -1077805056, i32 1067707465] }, { [2 x i32] } { [2 x i32] [i32 772669574, i32 1028516547] }, { [2 x i32] } { [2 x i32] [i32 824377344, i32 -1080507245] }, { [2 x i32] } { [2 x i32] [i32 1593617402, i32 -1119245049] }, { [2 x i32] } { [2 x i32] [i32 830078976, i32 -1080606083] }, { [2 x i32] } { [2 x i32] [i32 1258533012, i32 -1119420175] }, { [2 x i32] } { [2 x i32] [i32 -292487168, i32 -1080699200] }, { [2 x i32] } { [2 x i32] [i32 1397883555, i32 -1119203051] }, { [2 x i32] } { [2 x i32] [i32 -1380581376, i32 -1080798234] }, { [2 x i32] } { [2 x i32] [i32 -519899343, i32 -1119790524] }, { [2 x i32] } { [2 x i32] [i32 1460142080, i32 -1080891535] }, { [2 x i32] } { [2 x i32] [i32 1592372614, i32 -1119060264] }, { [2 x i32] } { [2 x i32] [i32 219152384, i32 -1080990766] }, { [2 x i32] } { [2 x i32] [i32 1716511551, i32 -1119426375] }, { [2 x i32] } { [2 x i32] [i32 -875823104, i32 -1081086651] }, { [2 x i32] } { [2 x i32] [i32 1128677462, i32 -1120406727] }, { [2 x i32] } { [2 x i32] [i32 -974520320, i32 -1081273806] }, { [2 x i32] } { [2 x i32] [i32 -1329739553, i32 -1122513100] }, { [2 x i32] } { [2 x i32] [i32 677904384, i32 -1081472856] }, { [2 x i32] } { [2 x i32] [i32 -265577265, i32 -1120557783] }, { [2 x i32] } { [2 x i32] [i32 1290797056, i32 -1081660385] }, { [2 x i32] } { [2 x i32] [i32 1477436787, i32 -1121236684] }, { [2 x i32] } { [2 x i32] [i32 -1494089728, i32 -1081848096] }, { [2 x i32] } { [2 x i32] [i32 -13548777, i32 -1121662773] }, { [2 x i32] } { [2 x i32] [i32 -602144768, i32 -1082035989] }, { [2 x i32] } { [2 x i32] [i32 751117103, i32 -1119584848] }, { [2 x i32] } { [2 x i32] [i32 -1747714048, i32 -1082341217] }, { [2 x i32] } { [2 x i32] [i32 -1875702149, i32 -1119638372] }, { [2 x i32] } { [2 x i32] [i32 1836580864, i32 -1082717756] }, { [2 x i32] } { [2 x i32] [i32 1456335141, i32 -1119525958] }, { [2 x i32] } { [2 x i32] [i32 -856424448, i32 -1083094662] }, { [2 x i32] } { [2 x i32] [i32 -573315216, i32 -1118893849] }, { [2 x i32] } { [2 x i32] [i32 -16252928, i32 -1083764861] }, { [2 x i32] } { [2 x i32] [i32 836003693, i32 -1120687322] }, { [2 x i32] } { [2 x i32] [i32 926941184, i32 -1084812699] }, { [2 x i32] } { [2 x i32] [i32 -45102563, i32 -1120951648] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157401] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157355] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157308] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157262] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157216] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157170] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157124] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157078] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157031] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156985] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156939] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156893] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156847] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156801] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156755] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156709] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156662] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156616] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156570] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156524] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156478] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156432] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073156386] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156340] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156294] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073156248] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156201] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073156155] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156109] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156063] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073156017] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155971] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155925] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155879] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073155833] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155787] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155695] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073155649] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155602] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155556] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155510] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155464] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073155418] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155372] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155326] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155280] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155234] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155188] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155142] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155096] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155050] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073155004] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154958] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154912] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154866] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154820] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154774] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154728] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073154682] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158995] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158972] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158949] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158926] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158903] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158879] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158856] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158833] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158810] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158787] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158764] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158741] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158718] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158694] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158671] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158648] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158625] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158602] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158579] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158556] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158533] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158509] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158486] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158463] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158440] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158417] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158394] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158371] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158348] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158325] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158301] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158278] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158255] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158232] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158209] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158186] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073158163] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158140] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073158117] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158093] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158070] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073158047] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158024] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073158001] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157978] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157955] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157932] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157909] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157886] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157862] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157839] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157816] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157793] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157770] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157747] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157724] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157701] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157678] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157655] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1073157632] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157608] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157585] }, { [2 x i32] } { [2 x i32] [i32 -1073741824, i32 1073157562] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157539] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157516] }, { [2 x i32] } { [2 x i32] [i32 -2147483648, i32 1073157493] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157470] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 1057431575] }, { [2 x i32] } { [2 x i32] [i32 1679773494, i32 1024039205] }, { [2 x i32] } { [2 x i32] [i32 989855744, i32 1058476078] }, { [2 x i32] } { [2 x i32] [i32 -1050488540, i32 1024589954] }, { [2 x i32] } { [2 x i32] [i32 209715200, i32 1059147828] }, { [2 x i32] } { [2 x i32] [i32 152199156, i32 1027874535] }, { [2 x i32] } { [2 x i32] [i32 -1845493760, i32 1059526748] }, { [2 x i32] } { [2 x i32] [i32 -1951665041, i32 1022283036] }, { [2 x i32] } { [2 x i32] [i32 1560281088, i32 1059903632] }, { [2 x i32] } { [2 x i32] [i32 -256118577, i32 1027337824] }, { [2 x i32] } { [2 x i32] [i32 -12582912, i32 1060196455] }, { [2 x i32] } { [2 x i32] [i32 -1969862435, i32 1027595231] }, { [2 x i32] } { [2 x i32] [i32 1665138688, i32 1060384909] }, { [2 x i32] } { [2 x i32] [i32 -1360939408, i32 1026982347] }, { [2 x i32] } { [2 x i32] [i32 -1031798784, i32 1060574392] }, { [2 x i32] } { [2 x i32] [i32 -1086515906, i32 1027670758] }, { [2 x i32] } { [2 x i32] [i32 -314572800, i32 1060763881] }, { [2 x i32] } { [2 x i32] [i32 863587004, i32 1026973426] }, { [2 x i32] } { [2 x i32] [i32 -1824522240, i32 1060952352] }, { [2 x i32] } { [2 x i32] [i32 1027097864, i32 1028644619] }, { [2 x i32] } { [2 x i32] [i32 1296039936, i32 1061141853] }, { [2 x i32] } { [2 x i32] [i32 2016162954, i32 1025089894] }, { [2 x i32] } { [2 x i32] [i32 -1186988032, i32 1061244623] }, { [2 x i32] } { [2 x i32] [i32 970842239, i32 1028172704] }, { [2 x i32] } { [2 x i32] [i32 -572522496, i32 1061339379] }, { [2 x i32] } { [2 x i32] [i32 -1654663133, i32 1027825546] }, { [2 x i32] } { [2 x i32] [i32 -1335885824, i32 1061433626] }, { [2 x i32] } { [2 x i32] [i32 306547692, i32 1028101690] }, { [2 x i32] } { [2 x i32] [i32 -1663041536, i32 1061528388] }, { [2 x i32] } { [2 x i32] [i32 747377661, i32 1028120913] }, { [2 x i32] } { [2 x i32] [i32 794820608, i32 1061622641] }, { [2 x i32] } { [2 x i32] [i32 -888417030, i32 1028182206] }, { [2 x i32] } { [2 x i32] [i32 -469762048, i32 1061717408] }, { [2 x i32] } { [2 x i32] [i32 -589192076, i32 1027201825] }, { [2 x i32] } { [2 x i32] [i32 916455424, i32 1061811667] }, { [2 x i32] } { [2 x i32] [i32 1432750358, i32 1028165990] }, { [2 x i32] } { [2 x i32] [i32 -1283457024, i32 1061906440] }, { [2 x i32] } { [2 x i32] [i32 -933058608, i32 1027438936] }, { [2 x i32] } { [2 x i32] [i32 -964689920, i32 1062000704] }, { [2 x i32] } { [2 x i32] [i32 -734301964, i32 1027805882] }, { [2 x i32] } { [2 x i32] [i32 -1212153856, i32 1062094971] }, { [2 x i32] } { [2 x i32] [i32 -1755435967, i32 1028011583] }, { [2 x i32] } { [2 x i32] [i32 -547356672, i32 1062189753] }, { [2 x i32] } { [2 x i32] [i32 -2062563645, i32 1025658467] }, { [2 x i32] } { [2 x i32] [i32 1218445312, i32 1062245757] }, { [2 x i32] } { [2 x i32] [i32 396499622, i32 1025861782] }, { [2 x i32] } { [2 x i32] [i32 1086324736, i32 1062293151] }, { [2 x i32] } { [2 x i32] [i32 -1537726428, i32 1026731615] }, { [2 x i32] } { [2 x i32] [i32 2047868928, i32 1062340290] }, { [2 x i32] } { [2 x i32] [i32 -2068775593, i32 1027982328] }, { [2 x i32] } { [2 x i32] [i32 580911104, i32 1062387431] }, { [2 x i32] } { [2 x i32] [i32 1252857417, i32 1028280924] }, { [2 x i32] } { [2 x i32] [i32 1887436800, i32 1062434829] }, { [2 x i32] } { [2 x i32] [i32 659583454, i32 1025370904] }, { [2 x i32] } { [2 x i32] [i32 -108003328, i32 1062481972] }, { [2 x i32] } { [2 x i32] [i32 -707305546, i32 1028188900] }, { [2 x i32] } { [2 x i32] [i32 738197504, i32 1062529374] }, { [2 x i32] } { [2 x i32] [i32 -1054270587, i32 1027025093] }, { [2 x i32] } { [2 x i32] [i32 -1783627776, i32 1062576520] }, { [2 x i32] } { [2 x i32] [i32 -1410535209, i32 1028614554] }, { [2 x i32] } { [2 x i32] [i32 1859125248, i32 1062623668] }, { [2 x i32] } { [2 x i32] [i32 -1892868183, i32 1025699109] }, { [2 x i32] } { [2 x i32] [i32 -146800640, i32 1062671073] }, { [2 x i32] } { [2 x i32] [i32 -1959729792, i32 1026835951] }, { [2 x i32] } { [2 x i32] [i32 -1324351488, i32 1062718224] }, { [2 x i32] } { [2 x i32] [i32 -596247866, i32 1027808594] }, { [2 x i32] } { [2 x i32] [i32 -632291328, i32 1062765376] }, { [2 x i32] } { [2 x i32] [i32 -1590313623, i32 1027603403] }, { [2 x i32] } { [2 x i32] [i32 1929379840, i32 1062812530] }, { [2 x i32] } { [2 x i32] [i32 761521627, i32 1027109120] }, { [2 x i32] } { [2 x i32] [i32 -1021313024, i32 1062859941] }, { [2 x i32] } { [2 x i32] [i32 470528098, i32 1027977181] }, { [2 x i32] } { [2 x i32] [i32 1019215872, i32 1062907098] }, { [2 x i32] } { [2 x i32] [i32 -590331730, i32 1027707215] }, { [2 x i32] } { [2 x i32] [i32 635437056, i32 1062954256] }, { [2 x i32] } { [2 x i32] [i32 -618374369, i32 1027502983] }, { [2 x i32] } { [2 x i32] [i32 2122317824, i32 1063001415] }, { [2 x i32] } { [2 x i32] [i32 1497197375, i32 1028267547] }, { [2 x i32] } { [2 x i32] [i32 -1765801984, i32 1063048832] }, { [2 x i32] } { [2 x i32] [i32 -869139418, i32 1022000476] }, { [2 x i32] } { [2 x i32] [i32 -796917760, i32 1063095994] }, { [2 x i32] } { [2 x i32] [i32 1982476393, i32 1026289596] }, { [2 x i32] } { [2 x i32] [i32 2043674624, i32 1063143158] }, { [2 x i32] } { [2 x i32] [i32 -1792286676, i32 1028471295] }, { [2 x i32] } { [2 x i32] [i32 -1831862272, i32 1063190323] }, { [2 x i32] } { [2 x i32] [i32 991567028, i32 1027421239] }, { [2 x i32] } { [2 x i32] [i32 460324864, i32 1063237490] }, { [2 x i32] } { [2 x i32] [i32 1461814384, i32 1026181618] }, { [2 x i32] } { [2 x i32] [i32 920125440, i32 1063270489] }, { [2 x i32] } { [2 x i32] [i32 1613472693, i32 1027845558] }, { [2 x i32] } { [2 x i32] [i32 -338690048, i32 1063294073] }, { [2 x i32] } { [2 x i32] [i32 93449747, i32 1028284502] }, { [2 x i32] } { [2 x i32] [i32 1487405056, i32 1063317659] }, { [2 x i32] } { [2 x i32] [i32 1336931403, i32 1026834156] }, { [2 x i32] } { [2 x i32] [i32 2102919168, i32 1063341245] }, { [2 x i32] } { [2 x i32] [i32 319680825, i32 1027392710] }, { [2 x i32] } { [2 x i32] [i32 1508376576, i32 1063364832] }, { [2 x i32] } { [2 x i32] [i32 -1820323713, i32 1027776685] }, { [2 x i32] } { [2 x i32] [i32 -295698432, i32 1063388419] }, { [2 x i32] } { [2 x i32] [i32 -1190962646, i32 1024627034] }, { [2 x i32] } { [2 x i32] [i32 985137152, i32 1063412008] }, { [2 x i32] } { [2 x i32] [i32 550153379, i32 1026678253] }, { [2 x i32] } { [2 x i32] [i32 1056440320, i32 1063435597] }, { [2 x i32] } { [2 x i32] [i32 672168391, i32 1027731310] }, { [2 x i32] } { [2 x i32] [i32 -81264640, i32 1063459186] }, { [2 x i32] } { [2 x i32] [i32 1805142399, i32 1026660459] }, { [2 x i32] } { [2 x i32] [i32 -1522532352, i32 1063482905] }, { [2 x i32] } { [2 x i32] [i32 -1846365136, i32 1028404887] }, { [2 x i32] } { [2 x i32] [i32 -766509056, i32 1063506496] }, { [2 x i32] } { [2 x i32] [i32 -837023902, i32 1027665063] }, { [2 x i32] } { [2 x i32] [i32 -1219493888, i32 1063530088] }, { [2 x i32] } { [2 x i32] [i32 121314862, i32 1027996294] }, { [2 x i32] } { [2 x i32] [i32 1414004736, i32 1063553681] }, { [2 x i32] } { [2 x i32] [i32 94774013, i32 1028053481] }, { [2 x i32] } { [2 x i32] [i32 -1455947776, i32 1063577274] }, { [2 x i32] } { [2 x i32] [i32 1263902834, i32 1028588748] }, { [2 x i32] } { [2 x i32] [i32 -1238892544, i32 1063600868] }, { [2 x i32] } { [2 x i32] [i32 369708558, i32 1028257136] }, { [2 x i32] } { [2 x i32] [i32 2065170432, i32 1063624463] }, { [2 x i32] } { [2 x i32] [i32 1634529849, i32 1027810905] }, { [2 x i32] } { [2 x i32] [i32 1769996288, i32 -1084740139] }, { [2 x i32] } { [2 x i32] [i32 1054279927, i32 -1120225983] }, { [2 x i32] } { [2 x i32] [i32 -1852833792, i32 -1084763923] }, { [2 x i32] } { [2 x i32] [i32 2067107398, i32 -1119799866] }, { [2 x i32] } { [2 x i32] [i32 456130560, i32 -1084787451] }, { [2 x i32] } { [2 x i32] [i32 -152211490, i32 -1124142144] }, { [2 x i32] } { [2 x i32] [i32 -1992294400, i32 -1084811236] }, { [2 x i32] } { [2 x i32] [i32 1526169727, i32 -1119443883] }, { [2 x i32] } { [2 x i32] [i32 1524629504, i32 -1084834765] }, { [2 x i32] } { [2 x i32] [i32 -1852012243, i32 -1119541705] }, { [2 x i32] } { [2 x i32] [i32 251658240, i32 -1084858550] }, { [2 x i32] } { [2 x i32] [i32 -2140238128, i32 -1119431808] }, { [2 x i32] } { [2 x i32] [i32 681574400, i32 -1084882080] }, { [2 x i32] } { [2 x i32] [i32 -19104405, i32 -1118940066] }, { [2 x i32] } { [2 x i32] [i32 584056832, i32 -1084905866] }, { [2 x i32] } { [2 x i32] [i32 -39114820, i32 -1121401766] }, { [2 x i32] } { [2 x i32] [i32 -2073034752, i32 -1084929397] }, { [2 x i32] } { [2 x i32] [i32 -1796090560, i32 -1119817792] }, { [2 x i32] } { [2 x i32] [i32 -997195776, i32 -1084953184] }, { [2 x i32] } { [2 x i32] [i32 1851620949, i32 -1119278431] }, { [2 x i32] } { [2 x i32] [i32 1849688064, i32 -1084976715] }, { [2 x i32] } { [2 x i32] [i32 -1371911787, i32 -1123656655] }, { [2 x i32] } { [2 x i32] [i32 -195035136, i32 -1085000503] }, { [2 x i32] } { [2 x i32] [i32 -1867314095, i32 -1121929839] }, { [2 x i32] } { [2 x i32] [i32 -436207616, i32 -1085024035] }, { [2 x i32] } { [2 x i32] [i32 1550068012, i32 -1121939937] }, { [2 x i32] } { [2 x i32] [i32 -1307574272, i32 -1085047823] }, { [2 x i32] } { [2 x i32] [i32 -167316762, i32 -1119115683] }, { [2 x i32] } { [2 x i32] [i32 -340787200, i32 -1085071356] }, { [2 x i32] } { [2 x i32] [i32 442055840, i32 -1120195627] }, { [2 x i32] } { [2 x i32] [i32 -37748736, i32 -1085095145] }, { [2 x i32] } { [2 x i32] [i32 -181006467, i32 -1119616442] }, { [2 x i32] } { [2 x i32] [i32 2135949312, i32 -1085118678] }, { [2 x i32] } { [2 x i32] [i32 2076166727, i32 -1119737471] }, { [2 x i32] } { [2 x i32] [i32 -681574400, i32 -1085142468] }, { [2 x i32] } { [2 x i32] [i32 -818876125, i32 -1123362518] }, { [2 x i32] } { [2 x i32] [i32 -1595932672, i32 -1085166002] }, { [2 x i32] } { [2 x i32] [i32 1765290157, i32 -1121375627] }, { [2 x i32] } { [2 x i32] [i32 1053818880, i32 -1085189792] }, { [2 x i32] } { [2 x i32] [i32 -533130202, i32 -1119284114] }, { [2 x i32] } { [2 x i32] [i32 1346371584, i32 -1085213327] }, { [2 x i32] } { [2 x i32] [i32 1459626820, i32 -1118935735] }, { [2 x i32] } { [2 x i32] [i32 875560960, i32 -1085237118] }, { [2 x i32] } { [2 x i32] [i32 -1892606199, i32 -1120057977] }, { [2 x i32] } { [2 x i32] [i32 -1919942656, i32 -1085260654] }, { [2 x i32] } { [2 x i32] [i32 687754918, i32 -1120023914] }, { [2 x i32] } { [2 x i32] [i32 1858076672, i32 -1085292731] }, { [2 x i32] } { [2 x i32] [i32 252333183, i32 -1119435724] }, { [2 x i32] } { [2 x i32] [i32 -1319108608, i32 -1085339804] }, { [2 x i32] } { [2 x i32] [i32 1334776821, i32 -1120375739] }, { [2 x i32] } { [2 x i32] [i32 -1864368128, i32 -1085387389] }, { [2 x i32] } { [2 x i32] [i32 1326030186, i32 -1121480589] }, { [2 x i32] } { [2 x i32] [i32 1665138688, i32 -1085434463] }, { [2 x i32] } { [2 x i32] [i32 737674412, i32 -1120565739] }, { [2 x i32] } { [2 x i32] [i32 2122317824, i32 -1085481538] }, { [2 x i32] } { [2 x i32] [i32 -307798462, i32 -1119620388] }, { [2 x i32] } { [2 x i32] [i32 815792128, i32 -1085529125] }, { [2 x i32] } { [2 x i32] [i32 -768056624, i32 -1118898441] }, { [2 x i32] } { [2 x i32] [i32 -608174080, i32 -1085576202] }, { [2 x i32] } { [2 x i32] [i32 587265932, i32 -1120016431] }, { [2 x i32] } { [2 x i32] [i32 429916160, i32 -1085623790] }, { [2 x i32] } { [2 x i32] [i32 -1151051480, i32 -1119011687] }, { [2 x i32] } { [2 x i32] [i32 1417674752, i32 -1085670868] }, { [2 x i32] } { [2 x i32] [i32 -1376681595, i32 -1120106540] }, { [2 x i32] } { [2 x i32] [i32 505413632, i32 -1085718458] }, { [2 x i32] } { [2 x i32] [i32 436607152, i32 -1119224230] }, { [2 x i32] } { [2 x i32] [i32 -390070272, i32 -1085765538] }, { [2 x i32] } { [2 x i32] [i32 -1427179866, i32 -1121373019] }, { [2 x i32] } { [2 x i32] [i32 -65011712, i32 -1085812618] }, { [2 x i32] } { [2 x i32] [i32 -323267486, i32 -1120284736] }, { [2 x i32] } { [2 x i32] [i32 -1738539008, i32 -1085860210] }, { [2 x i32] } { [2 x i32] [i32 -1079918229, i32 -1120472242] }, { [2 x i32] } { [2 x i32] [i32 998244352, i32 -1085907291] }, { [2 x i32] } { [2 x i32] [i32 -1870083583, i32 -1121784548] }, { [2 x i32] } { [2 x i32] [i32 1667235840, i32 -1085954885] }, { [2 x i32] } { [2 x i32] [i32 762177973, i32 -1119735008] }, { [2 x i32] } { [2 x i32] [i32 -1776287744, i32 -1086001968] }, { [2 x i32] } { [2 x i32] [i32 282609672, i32 -1119332239] }, { [2 x i32] } { [2 x i32] [i32 1237319680, i32 -1086049563] }, { [2 x i32] } { [2 x i32] [i32 1502777354, i32 -1120025068] }, { [2 x i32] } { [2 x i32] [i32 203423744, i32 -1086096647] }, { [2 x i32] } { [2 x i32] [i32 -166595342, i32 -1119082319] }, { [2 x i32] } { [2 x i32] [i32 392167424, i32 -1086143732] }, { [2 x i32] } { [2 x i32] [i32 306802084, i32 -1119243150] }, { [2 x i32] } { [2 x i32] [i32 -1652555776, i32 -1086191330] }, { [2 x i32] } { [2 x i32] [i32 -1334090779, i32 -1121823649] }, { [2 x i32] } { [2 x i32] [i32 945815552, i32 -1086238416] }, { [2 x i32] } { [2 x i32] [i32 1800251929, i32 -1124860812] }, { [2 x i32] } { [2 x i32] [i32 1241513984, i32 -1086286015] }, { [2 x i32] } { [2 x i32] [i32 -1619442772, i32 -1121445459] }, { [2 x i32] } { [2 x i32] [i32 -390070272, i32 -1086341470] }, { [2 x i32] } { [2 x i32] [i32 83988225, i32 -1119171438] }, { [2 x i32] } { [2 x i32] [i32 -817889280, i32 -1086435647] }, { [2 x i32] } { [2 x i32] [i32 1575792028, i32 -1119309784] }, { [2 x i32] } { [2 x i32] [i32 -1757413376, i32 -1086530849] }, { [2 x i32] } { [2 x i32] [i32 1662079495, i32 -1119051043] }, { [2 x i32] } { [2 x i32] [i32 -1660944384, i32 -1086625029] }, { [2 x i32] } { [2 x i32] [i32 -1476619421, i32 -1120583677] }, { [2 x i32] } { [2 x i32] [i32 2080374784, i32 -1086720234] }, { [2 x i32] } { [2 x i32] [i32 1081767985, i32 -1119188256] }, { [2 x i32] } { [2 x i32] [i32 -1598029824, i32 -1086814417] }, { [2 x i32] } { [2 x i32] [i32 -1851223139, i32 -1119691381] }, { [2 x i32] } { [2 x i32] [i32 1459617792, i32 -1086908601] }, { [2 x i32] } { [2 x i32] [i32 790904149, i32 -1120253659] }, { [2 x i32] } { [2 x i32] [i32 -624951296, i32 -1087003811] }, { [2 x i32] } { [2 x i32] [i32 581064731, i32 -1121500705] }, { [2 x i32] } { [2 x i32] [i32 -1342177280, i32 -1087097998] }, { [2 x i32] } { [2 x i32] [i32 1008918738, i32 -1123243147] }, { [2 x i32] } { [2 x i32] [i32 377487360, i32 -1087192186] }, { [2 x i32] } { [2 x i32] [i32 1606538461, i32 -1119130095] }, { [2 x i32] } { [2 x i32] [i32 1052770304, i32 -1087287400] }, { [2 x i32] } { [2 x i32] [i32 -1760420312, i32 -1119907174] }, { [2 x i32] } { [2 x i32] [i32 -1996488704, i32 -1087389871] }, { [2 x i32] } { [2 x i32] [i32 -2140152870, i32 -1122768354] }, { [2 x i32] } { [2 x i32] [i32 117440512, i32 -1087580304] }, { [2 x i32] } { [2 x i32] [i32 1374248651, i32 -1120465231] }, { [2 x i32] } { [2 x i32] [i32 1342177280, i32 -1087768693] }, { [2 x i32] } { [2 x i32] [i32 -14387961, i32 -1119778983] }, { [2 x i32] } { [2 x i32] [i32 -1140850688, i32 -1087957085] }, { [2 x i32] } { [2 x i32] [i32 -960040640, i32 -1120137877] }, { [2 x i32] } { [2 x i32] [i32 -2105540608, i32 -1088147527] }, { [2 x i32] } { [2 x i32] [i32 -1194081950, i32 -1119030545] }, { [2 x i32] } { [2 x i32] [i32 746586112, i32 -1088335924] }, { [2 x i32] } { [2 x i32] [i32 315615614, i32 -1121948445] }, { [2 x i32] } { [2 x i32] [i32 -251658240, i32 -1088626761] }, { [2 x i32] } { [2 x i32] [i32 274116456, i32 -1118996684] }, { [2 x i32] } { [2 x i32] [i32 268435456, i32 -1089007662] }, { [2 x i32] } { [2 x i32] [i32 691182319, i32 -1121662300] }, { [2 x i32] } { [2 x i32] [i32 603979776, i32 -1089384474] }, { [2 x i32] } { [2 x i32] [i32 112661265, i32 -1124956989] }, { [2 x i32] } { [2 x i32] [i32 -100663296, i32 -1090052120] }, { [2 x i32] } { [2 x i32] [i32 -577218918, i32 -1120683252] }, { [2 x i32] } { [2 x i32] [i32 -1409286144, i32 -1091108876] }, { [2 x i32] } { [2 x i32] [i32 192153543, i32 -1119005481] }, { [2 x i32] } zeroinitializer, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 -1443155147, i32 1072698941] }, { [2 x i32] } { [2 x i32] [i32 -1699164745, i32 1016815913] }, { [2 x i32] } { [2 x i32] [i32 1048019041, i32 1072704666] }, { [2 x i32] } { [2 x i32] [i32 1398474845, i32 -1133408125] }, { [2 x i32] } { [2 x i32] [i32 -395411579, i32 1072710421] }, { [2 x i32] } { [2 x i32] [i32 427280750, i32 -1131371748] }, { [2 x i32] } { [2 x i32] [i32 -753564300, i32 1072716208] }, { [2 x i32] } { [2 x i32] [i32 -1535789979, i32 1015903202] }, { [2 x i32] } { [2 x i32] [i32 702412510, i32 1072722027] }, { [2 x i32] } { [2 x i32] [i32 -491701210, i32 -1131638305] }, { [2 x i32] } { [2 x i32] [i32 410360776, i32 1072727877] }, { [2 x i32] } { [2 x i32] [i32 1269990655, i32 1013024446] }, { [2 x i32] } { [2 x i32] [i32 -892931197, i32 1072733758] }, { [2 x i32] } { [2 x i32] [i32 405889333, i32 1016154232] }, { [2 x i32] } { [2 x i32] [i32 1828292879, i32 1072739672] }, { [2 x i32] } { [2 x i32] [i32 1255956746, i32 1016636974] }, { [2 x i32] } { [2 x i32] [i32 728909815, i32 1072745618] }, { [2 x i32] } { [2 x i32] [i32 383930225, i32 1016078044] }, { [2 x i32] } { [2 x i32] [i32 852742562, i32 1072751596] }, { [2 x i32] } { [2 x i32] [i32 667253586, i32 1010842135] }, { [2 x i32] } { [2 x i32] [i32 -1342254309, i32 1072757606] }, { [2 x i32] } { [2 x i32] [i32 -1001472645, i32 -1133798419] }, { [2 x i32] } { [2 x i32] [i32 -804103343, i32 1072763649] }, { [2 x i32] } { [2 x i32] [i32 960797497, i32 -1130969840] }, { [2 x i32] } { [2 x i32] [i32 -1066651188, i32 1072769725] }, { [2 x i32] } { [2 x i32] [i32 -1284725305, i32 -1135495916] }, { [2 x i32] } { [2 x i32] [i32 -1364644384, i32 1072775834] }, { [2 x i32] } { [2 x i32] [i32 -1695467874, i32 -1131204673] }, { [2 x i32] } { [2 x i32] [i32 -928674223, i32 1072781976] }, { [2 x i32] } { [2 x i32] [i32 -1175540983, i32 1015169130] }, { [2 x i32] } { [2 x i32] [i32 1014845819, i32 1072788152] }, { [2 x i32] } { [2 x i32] [i32 -1177056651, i32 -1132359615] }, { [2 x i32] } { [2 x i32] [i32 948735466, i32 1072794361] }, { [2 x i32] } { [2 x i32] [i32 -778629269, i32 -1131343837] }, { [2 x i32] } { [2 x i32] [i32 -344994955, i32 1072800603] }, { [2 x i32] } { [2 x i32] [i32 2068408548, i32 1015962444] }, { [2 x i32] } { [2 x i32] [i32 -2080088876, i32 1072806880] }, { [2 x i32] } { [2 x i32] [i32 892270087, i32 -1130802298] }, { [2 x i32] } { [2 x i32] [i32 828946858, i32 1072813191] }, { [2 x i32] } { [2 x i32] [i32 10642492, i32 1016988014] }, { [2 x i32] } { [2 x i32] [i32 586995997, i32 1072819536] }, { [2 x i32] } { [2 x i32] [i32 41662347, i32 -1131290728] }, { [2 x i32] } { [2 x i32] [i32 -2006807338, i32 1072825915] }, { [2 x i32] } { [2 x i32] [i32 -2125822828, i32 1015924597] }, { [2 x i32] } { [2 x i32] [i32 -1854022506, i32 1072832329] }, { [2 x i32] } { [2 x i32] [i32 -1802197523, i32 1015196030] }, { [2 x i32] } { [2 x i32] [i32 1853186616, i32 1072838778] }, { [2 x i32] } { [2 x i32] [i32 -1228470926, i32 1016705150] }, { [2 x i32] } { [2 x i32] [i32 1337108031, i32 1072845262] }, { [2 x i32] } { [2 x i32] [i32 -1091242844, i32 1015726421] }, { [2 x i32] } { [2 x i32] [i32 1709341917, i32 1072851781] }, { [2 x i32] } { [2 x i32] [i32 -1723799079, i32 1015201075] }, { [2 x i32] } { [2 x i32] [i32 -504011903, i32 1072858335] }, { [2 x i32] } { [2 x i32] [i32 -1942024835, i32 -1130738630] }, { [2 x i32] } { [2 x i32] [i32 -182460703, i32 1072864925] }, { [2 x i32] } { [2 x i32] [i32 -1347612075, i32 1015419624] }, { [2 x i32] } { [2 x i32] [i32 -790963824, i32 1072871551] }, { [2 x i32] } { [2 x i32] [i32 -700966237, i32 -1136588068] }, { [2 x i32] } { [2 x i32] [i32 -1495006453, i32 1072878213] }, { [2 x i32] } { [2 x i32] [i32 1423655380, i32 1016070727] }, { [2 x i32] } { [2 x i32] [i32 -1455542442, i32 1072884911] }, { [2 x i32] } { [2 x i32] [i32 1171596163, i32 1014090255] }, { [2 x i32] } { [2 x i32] [i32 171030293, i32 1072891646] }, { [2 x i32] } { [2 x i32] [i32 -768507164, i32 1015477354] }, { [2 x i32] } { [2 x i32] [i32 -62072783, i32 1072898416] }, { [2 x i32] } { [2 x i32] [i32 -1911028612, i32 1015717095] }, { [2 x i32] } { [2 x i32] [i32 -1302063361, i32 1072905224] }, { [2 x i32] } { [2 x i32] [i32 -2076812891, i32 1016276769] }, { [2 x i32] } { [2 x i32] [i32 1603444721, i32 1072912069] }, { [2 x i32] } { [2 x i32] [i32 1548633640, i32 -1131717394] }, { [2 x i32] } { [2 x i32] [i32 926591435, i32 1072918951] }, { [2 x i32] } { [2 x i32] [i32 -1086133535, i32 -1131005206] }, { [2 x i32] } { [2 x i32] [i32 1829099622, i32 1072925870] }, { [2 x i32] } { [2 x i32] [i32 1016661180, i32 -1130457715] }, { [2 x i32] } { [2 x i32] [i32 887463927, i32 1072932827] }, { [2 x i32] } { [2 x i32] [i32 -698223134, i32 -1133124554] }, { [2 x i32] } { [2 x i32] [i32 -1022121755, i32 1072939821] }, { [2 x i32] } { [2 x i32] [i32 928852419, i32 -1130430472] }, { [2 x i32] } { [2 x i32] [i32 1276261410, i32 1072946854] }, { [2 x i32] } { [2 x i32] [i32 300981947, i32 1015732745] }, { [2 x i32] } { [2 x i32] [i32 78413852, i32 1072953925] }, { [2 x i32] } { [2 x i32] [i32 -111740429, i32 -1130901469] }, { [2 x i32] } { [2 x i32] [i32 569847338, i32 1072961034] }, { [2 x i32] } { [2 x i32] [i32 472945272, i32 -1134627991] }, { [2 x i32] } { [2 x i32] [i32 -649025385, i32 1072968181] }, { [2 x i32] } { [2 x i32] [i32 -480282216, i32 -1132345379] }, { [2 x i32] } { [2 x i32] [i32 1617004845, i32 1072975368] }, { [2 x i32] } { [2 x i32] [i32 82804943, i32 1011391354] }, { [2 x i32] } { [2 x i32] [i32 -316866473, i32 1072982593] }, { [2 x i32] } { [2 x i32] [i32 -781940106, i32 1016894539] }, { [2 x i32] } { [2 x i32] [i32 -1245627184, i32 1072989858] }, { [2 x i32] } { [2 x i32] [i32 -1232051472, i32 1014219171] }, { [2 x i32] } { [2 x i32] [i32 -254290978, i32 1072997162] }, { [2 x i32] } { [2 x i32] [i32 -204358058, i32 1016712034] }, { [2 x i32] } { [2 x i32] [i32 -717870553, i32 1073004506] }, { [2 x i32] } { [2 x i32] [i32 -1343470878, i32 1014842263] }, { [2 x i32] } { [2 x i32] [i32 -1711416051, i32 1073011890] }, { [2 x i32] } { [2 x i32] [i32 -1133873101, i32 1016655067] }, { [2 x i32] } { [2 x i32] [i32 1990012071, i32 1073019314] }, { [2 x i32] } { [2 x i32] [i32 -765896733, i32 -1131105527] }, { [2 x i32] } { [2 x i32] [i32 -1563466174, i32 1073026778] }, { [2 x i32] } { [2 x i32] [i32 1774031854, i32 -1131448699] }, { [2 x i32] } { [2 x i32] [i32 1453150082, i32 1073034283] }, { [2 x i32] } { [2 x i32] [i32 498154668, i32 -1132430658] }, { [2 x i32] } { [2 x i32] [i32 -899837425, i32 1073041828] }, { [2 x i32] } { [2 x i32] [i32 -269621862, i32 -1131583332] }, { [2 x i32] } { [2 x i32] [i32 917841882, i32 1073049415] }, { [2 x i32] } { [2 x i32] [i32 18715564, i32 1016707884] }, { [2 x i32] } { [2 x i32] [i32 -728250371, i32 1073057042] }, { [2 x i32] } { [2 x i32] [i32 1536826855, i32 1015191009] }, { [2 x i32] } { [2 x i32] [i32 -582462423, i32 1073064711] }, { [2 x i32] } { [2 x i32] [i32 88491948, i32 1016476236] }, { [2 x i32] } { [2 x i32] [i32 -1973860681, i32 1073072422] }, { [2 x i32] } { [2 x i32] [i32 -2123790686, i32 1010584347] }, { [2 x i32] } { [2 x i32] [i32 363667784, i32 1073080175] }, { [2 x i32] } { [2 x i32] [i32 813753949, i32 1016833785] }, { [2 x i32] } { [2 x i32] [i32 -1183392759, i32 1073087969] }, { [2 x i32] } { [2 x i32] [i32 -1688805817, i32 -1131158974] }, { [2 x i32] } { [2 x i32] [i32 -1338354299, i32 1073095806] }, { [2 x i32] } { [2 x i32] [i32 2118169750, i32 -1131183167] }, { [2 x i32] } { [2 x i32] [i32 885834528, i32 1073103686] }, { [2 x i32] } { [2 x i32] [i32 1973258546, i32 -1131657156] }, { [2 x i32] } { [2 x i32] [i32 -2108349915, i32 1073111608] }, { [2 x i32] } { [2 x i32] [i32 -2024203213, i32 -1130646007] }, { [2 x i32] } { [2 x i32] [i32 -733173389, i32 1073119573] }, { [2 x i32] } { [2 x i32] [i32 1157054052, i32 1012938926] }, { [2 x i32] } { [2 x i32] [i32 1719614413, i32 1073127582] }, { [2 x i32] } { [2 x i32] [i32 330458197, i32 -1130635980] }, { [2 x i32] } { [2 x i32] [i32 1963711167, i32 1073135634] }, { [2 x i32] } { [2 x i32] [i32 1744767756, i32 -1133344426] }, { [2 x i32] } { [2 x i32] [i32 1013258799, i32 1073143730] }, { [2 x i32] } { [2 x i32] [i32 1748797610, i32 -1133789638] }, { [2 x i32] } { [2 x i32] [i32 -112094076, i32 1073151869] }, { [2 x i32] } { [2 x i32] [i32 629542646, i32 -1131922417] }, { [2 x i32] } { [2 x i32] [i32 -387162252, i32 1073160053] }, { [2 x i32] } { [2 x i32] [i32 -2037876071, i32 -1132368313] }, { [2 x i32] } { [2 x i32] [i32 1218806132, i32 1073168282] }, { [2 x i32] } { [2 x i32] [i32 1818613051, i32 -1131370279] }, { [2 x i32] } { [2 x i32] [i32 1447192521, i32 1073176555] }, { [2 x i32] } { [2 x i32] [i32 1462857171, i32 -1131404199] }, { [2 x i32] } { [2 x i32] [i32 1339972927, i32 1073184873] }, { [2 x i32] } { [2 x i32] [i32 167908908, i32 1016620728] }, { [2 x i32] } { [2 x i32] [i32 1944781191, i32 1073193236] }, { [2 x i32] } { [2 x i32] [i32 -301688529, i32 -1132194441] }, { [2 x i32] } { [2 x i32] [i32 19972402, i32 1073201645] }, { [2 x i32] } { [2 x i32] [i32 -787067435, i32 1017057868] }, { [2 x i32] } { [2 x i32] [i32 919555682, i32 1073210099] }, { [2 x i32] } { [2 x i32] [i32 -1172997762, i32 1013996802] }, { [2 x i32] } { [2 x i32] [i32 1413356050, i32 1073218599] }, { [2 x i32] } { [2 x i32] [i32 1651349290, i32 -1131250554] }, { [2 x i32] } { [2 x i32] [i32 -1723019757, i32 1073227145] }, { [2 x i32] } { [2 x i32] [i32 -736808233, i32 -1130542051] }, { [2 x i32] } { [2 x i32] [i32 1176749997, i32 1073235738] }, { [2 x i32] } { [2 x i32] [i32 -1555968517, i32 -1131882876] }, { [2 x i32] } { [2 x i32] [i32 -1690004755, i32 1073244377] }, { [2 x i32] } { [2 x i32] [i32 -1680542022, i32 -1130379528] }, { [2 x i32] } { [2 x i32] [i32 -645241191, i32 1073253063] }, { [2 x i32] } { [2 x i32] [i32 -209930950, i32 1016698050] }, { [2 x i32] } { [2 x i32] [i32 1110089947, i32 1073261797] }, { [2 x i32] } { [2 x i32] [i32 1451641638, i32 1016523249] }, { [2 x i32] } { [2 x i32] [i32 380978316, i32 1073270578] }, { [2 x i32] } { [2 x i32] [i32 854188970, i32 -1133456034] }, { [2 x i32] } { [2 x i32] [i32 -1726646474, i32 1073279406] }, { [2 x i32] } { [2 x i32] [i32 -1562142868, i32 1015401491] }, { [2 x i32] } { [2 x i32] [i32 194117574, i32 1073288283] }, { [2 x i32] } { [2 x i32] [i32 777528611, i32 -1130506631] }, { [2 x i32] } { [2 x i32] [i32 -1328691739, i32 1073297207] }, { [2 x i32] } { [2 x i32] [i32 -2118811973, i32 -1134075961] }, { [2 x i32] } { [2 x i32] [i32 -876064241, i32 1073306180] }, { [2 x i32] } { [2 x i32] [i32 -1767509959, i32 -1133098116] }, { [2 x i32] } { [2 x i32] [i32 -1612820912, i32 1073315202] }, { [2 x i32] } { [2 x i32] [i32 2082178512, i32 -1130555301] }, { [2 x i32] } { [2 x i32] [i32 1892288442, i32 1073324273] }, { [2 x i32] } { [2 x i32] [i32 -1848711630, i32 -1131318339] }, { [2 x i32] } { [2 x i32] [i32 -2103185264, i32 1073333393] }, { [2 x i32] } { [2 x i32] [i32 -1334709570, i32 1014791238] }, { [2 x i32] } { [2 x i32] [i32 434316067, i32 1073342563] }, { [2 x i32] } { [2 x i32] [i32 2028358766, i32 1014506698] }, { [2 x i32] } { [2 x i32] [i32 2069751141, i32 1073351782] }, { [2 x i32] } { [2 x i32] [i32 1562170674, i32 -1131194039] }, { [2 x i32] } { [2 x i32] [i32 -330683085, i32 1073361051] }, { [2 x i32] } { [2 x i32] [i32 2111583915, i32 1016475740] }, { [2 x i32] } { [2 x i32] [i32 -1304550051, i32 1073370371] }, { [2 x i32] } { [2 x i32] [i32 -611499551, i32 -1130549394] }, { [2 x i32] } { [2 x i32] [i32 321958744, i32 1073379742] }, { [2 x i32] } { [2 x i32] [i32 -893033530, i32 1016843134] }, { [2 x i32] } { [2 x i32] [i32 1434058175, i32 1073389163] }, { [2 x i32] } { [2 x i32] [i32 251133233, i32 1016134345] }, { [2 x i32] } { [2 x i32] [i32 -1076628614, i32 1073398635] }, { [2 x i32] } { [2 x i32] [i32 -890802992, i32 -1131441612] }, { [2 x i32] } { [2 x i32] [i32 -1722100819, i32 1073408159] }, { [2 x i32] } { [2 x i32] [i32 878562433, i32 1016570317] }, { [2 x i32] } { [2 x i32] [i32 697153126, i32 1073417735] }, { [2 x i32] } { [2 x i32] [i32 1283515428, i32 -1130635531] }, { [2 x i32] } { [2 x i32] [i32 -1202776581, i32 1073427362] }, { [2 x i32] } { [2 x i32] [i32 814012167, i32 -1134395298] }, { [2 x i32] } { [2 x i32] [i32 -1914349254, i32 1073437042] }, { [2 x i32] } { [2 x i32] [i32 -1145410077, i32 -1130597921] }, { [2 x i32] } { [2 x i32] [i32 -218407353, i32 1073446774] }, { [2 x i32] } { [2 x i32] [i32 2119478330, i32 -1133160369] }, { [2 x i32] } { [2 x i32] [i32 815859274, i32 1073456560] }, { [2 x i32] } { [2 x i32] [i32 240396590, i32 -1130431277] }, { [2 x i32] } { [2 x i32] [i32 -1874083374, i32 1073466398] }, { [2 x i32] } { [2 x i32] [i32 2049810052, i32 1015168464] }, { [2 x i32] } { [2 x i32] [i32 1540824585, i32 1073476290] }, { [2 x i32] } { [2 x i32] [i32 1064017010, i32 -1130431030] }, { [2 x i32] } { [2 x i32] [i32 -578465124, i32 1073486235] }, { [2 x i32] } { [2 x i32] [i32 -1991227171, i32 1015091301] }, { [2 x i32] } { [2 x i32] [i32 1610600570, i32 1073496235] }, { [2 x i32] } { [2 x i32] [i32 -528234998, i32 1016808759] }, { [2 x i32] } { [2 x i32] [i32 777507147, i32 1073506289] }, { [2 x i32] } { [2 x i32] [i32 -12043092, i32 1016236109] }, { [2 x i32] } { [2 x i32] [i32 -1811486795, i32 1073516397] }, { [2 x i32] } { [2 x i32] [i32 1216371780, i32 1014082748] }, { [2 x i32] } { [2 x i32] [i32 -588279703, i32 1073526560] }, { [2 x i32] } { [2 x i32] [i32 -773240357, i32 1014301643] }, { [2 x i32] } { [2 x i32] [i32 1432208378, i32 1073536779] }, { [2 x i32] } { [2 x i32] [i32 1401068914, i32 -1131554757] }, { [2 x i32] } { [2 x i32] [i32 1242007932, i32 1073547053] }, { [2 x i32] } { [2 x i32] [i32 1132034716, i32 -1130578889] }, { [2 x i32] } { [2 x i32] [i32 135105010, i32 1073557383] }, { [2 x i32] } { [2 x i32] [i32 1906148727, i32 -1130542981] }, { [2 x i32] } { [2 x i32] [i32 -587488121, i32 1073567768] }, { [2 x i32] } { [2 x i32] [i32 -681887994, i32 1015213314] }, { [2 x i32] } { [2 x i32] [i32 382305176, i32 1073578211] }, { [2 x i32] } { [2 x i32] [i32 -1947344920, i32 -1131340095] }, { [2 x i32] } { [2 x i32] [i32 64696965, i32 1073588710] }, { [2 x i32] } { [2 x i32] [i32 1768797490, i32 1016865536] }, { [2 x i32] } { [2 x i32] [i32 -217992096, i32 1073599265] }, { [2 x i32] } { [2 x i32] [i32 2029000898, i32 1016257111] }, { [2 x i32] } { [2 x i32] [i32 863738719, i32 1073609879] }, { [2 x i32] } { [2 x i32] [i32 1326992219, i32 -1131305523] }, { [2 x i32] } { [2 x i32] [i32 351641897, i32 1073620550] }, { [2 x i32] } { [2 x i32] [i32 -2122705770, i32 -1130908121] }, { [2 x i32] } { [2 x i32] [i32 -410304522, i32 1073631278] }, { [2 x i32] } { [2 x i32] [i32 -2136355697, i32 1015258761] }, { [2 x i32] } { [2 x i32] [i32 -70824829, i32 1073642065] }, { [2 x i32] } { [2 x i32] [i32 -905146911, i32 1016255778] }, { [2 x i32] } { [2 x i32] [i32 -1566273318, i32 1073652911] }, { [2 x i32] } { [2 x i32] [i32 396109971, i32 -1130456029] }, { [2 x i32] } { [2 x i32] [i32 764307441, i32 1073663816] }, { [2 x i32] } { [2 x i32] [i32 -1273909876, i32 -1130589197] }, { [2 x i32] } { [2 x i32] [i32 -295609817, i32 1073674779] }, { [2 x i32] } { [2 x i32] [i32 -2036025680, i32 1016973300] }, { [2 x i32] } { [2 x i32] [i32 929806999, i32 1073685803] }, { [2 x i32] } { [2 x i32] [i32 -1089630653, i32 1016308133] }, { [2 x i32] } { [2 x i32] [i32 1533953344, i32 1073696886] }, { [2 x i32] } { [2 x i32] [i32 769171850, i32 1016714209] }, { [2 x i32] } { [2 x i32] [i32 -1382236652, i32 1073708029] }, { [2 x i32] } { [2 x i32] [i32 -804899575, i32 -1130513646] }, { [2 x i32] } { [2 x i32] [i32 -2120314664, i32 1073719233] }, { [2 x i32] } { [2 x i32] [i32 -207252706, i32 1015498835] }, { [2 x i32] } { [2 x i32] [i32 730821105, i32 1073730498] }, { [2 x i32] } { [2 x i32] [i32 -1771734553, i32 1013115764] }, { [2 x i32] } { [2 x i32] [i32 -1771808792, i32 1048167334] }, { [2 x i32] } { [2 x i32] [i32 1181303047, i32 -1076482493] }, { [2 x i32] } { [2 x i32] [i32 1656151777, i32 1069842388] }, { [2 x i32] } { [2 x i32] [i32 714085080, i32 -1078636473] }, { [2 x i32] } { [2 x i32] [i32 -17155601, i32 1072049730] }, { [2 x i32] } { [2 x i32] [i32 -8206961, i32 1070514109] }, { [2 x i32] } { [2 x i32] [i32 -687562560, i32 1068264200] }, { [2 x i32] } { [2 x i32] [i32 1874480759, i32 1065595563] }, { [2 x i32] } { [2 x i32] [i32 -410360015, i32 1062590591] }, { [2 x i32] } { [2 x i32] [i32 0, i32 2145386496] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1048576] }, { [2 x i32] } zeroinitializer, { [2 x i32] } { [2 x i32] [i32 0, i32 1072693248] }, { [2 x i32] } { [2 x i32] [i32 0, i32 -1074790400] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1120403456] }, { [2 x i32] } { [2 x i32] [i32 1073741824, i32 1073157447] }, { [2 x i32] } { [2 x i32] [i32 33554432, i32 1101004800] }, { [2 x i32] } { [2 x i32] [i32 0, i32 1282408448] }, { [2 x i32] } { [2 x i32] [i32 0, i32 862978048] }], align 8 +@__spirv_BuiltInWorkgroupId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInGlobalLinearId = external dso_local local_unnamed_addr addrspace(1) constant i64, align 8 +@__spirv_BuiltInWorkgroupSize = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func ptr addrspace(4) @memcpy(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) local_unnamed_addr #0 !srcloc !5 { + %4 = tail call spir_func ptr addrspace(4) @__devicelib_memcpy(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) #54 + ret ptr addrspace(4) %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func ptr addrspace(4) @memset(ptr addrspace(4) noundef %0, i32 noundef %1, i64 noundef %2) local_unnamed_addr #0 !srcloc !6 { + %4 = tail call spir_func ptr addrspace(4) @__devicelib_memset(ptr addrspace(4) noundef %0, i32 noundef %1, i64 noundef %2) #54 + ret ptr addrspace(4) %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @memcmp(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) local_unnamed_addr #0 !srcloc !7 { + %4 = tail call spir_func i32 @__devicelib_memcmp(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) #54 + ret i32 %4 +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__assert_fail(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i32 noundef %2, ptr addrspace(4) noundef %3) local_unnamed_addr #1 !srcloc !8 { + %5 = tail call spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() #55 + %6 = tail call spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_yv() #55 + %7 = tail call spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_zv() #55 + %8 = tail call spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() #55 + %9 = tail call spir_func noundef i64 @_Z27__spirv_LocalInvocationId_yv() #55 + %10 = tail call spir_func noundef i64 @_Z27__spirv_LocalInvocationId_zv() #55 + tail call spir_func void @__devicelib_assert_fail(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i32 noundef %2, ptr addrspace(4) noundef %3, i64 noundef %5, i64 noundef %6, i64 noundef %7, i64 noundef %8, i64 noundef %9, i64 noundef %10) #54 + ret void +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() local_unnamed_addr #2 comdat !srcloc !9 { + %1 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, align 32 + ret i64 %1 +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_yv() local_unnamed_addr #2 comdat !srcloc !10 { + %1 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, i64 8), align 8 + ret i64 %1 +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_zv() local_unnamed_addr #2 comdat !srcloc !11 { + %1 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, i64 16), align 16 + ret i64 %1 +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() local_unnamed_addr #2 comdat !srcloc !12 { + %1 = load i64, ptr addrspace(1) @__spirv_BuiltInLocalInvocationId, align 32 + ret i64 %1 +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z27__spirv_LocalInvocationId_yv() local_unnamed_addr #2 comdat !srcloc !13 { + %1 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInLocalInvocationId, i64 8), align 8 + ret i64 %1 +} + +; Function Attrs: inlinehint mustprogress norecurse nounwind +define weak dso_local spir_func noundef i64 @_Z27__spirv_LocalInvocationId_zv() local_unnamed_addr #2 comdat !srcloc !14 { + %1 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInLocalInvocationId, i64 16), align 16 + ret i64 %1 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func float @cimagf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #3 !srcloc !15 { + %2 = alloca { float, float }, align 4 + %3 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + store float %4, ptr %7, align 4 + store float %6, ptr %8, align 4 + %9 = tail call spir_func float @__devicelib_cimagf(ptr noundef nonnull byval({ float, float }) align 4 %2) #54 + ret float %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func float @crealf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #3 !srcloc !16 { + %2 = alloca { float, float }, align 4 + %3 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + store float %4, ptr %7, align 4 + store float %6, ptr %8, align 4 + %9 = tail call spir_func float @__devicelib_crealf(ptr noundef nonnull byval({ float, float }) align 4 %2) #54 + ret float %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @cargf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #4 !srcloc !17 { + %2 = alloca { float, float }, align 4 + %3 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + store float %4, ptr %7, align 4 + store float %6, ptr %8, align 4 + %9 = tail call spir_func float @__devicelib_cargf(ptr noundef nonnull byval({ float, float }) align 4 %2) #54 + ret float %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @cabsf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #4 !srcloc !18 { + %2 = alloca { float, float }, align 4 + %3 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + store float %4, ptr %7, align 4 + store float %6, ptr %8, align 4 + %9 = tail call spir_func float @__devicelib_cabsf(ptr noundef nonnull byval({ float, float }) align 4 %2) #54 + ret float %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func void @cprojf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #3 !srcloc !19 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_cprojf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cexpf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !20 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_cexpf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @clogf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !21 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_clogf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cpowf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1, ptr noundef byval({ float, float }) align 4 %2) local_unnamed_addr #4 !srcloc !22 { + %4 = alloca { float, float }, align 4 + %5 = alloca { float, float }, align 4 + %6 = alloca { float, float }, align 4 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %11 = load float, ptr %10, align 4 + %12 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr %5, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr %5, i64 0, i32 1 + store float %9, ptr %16, align 4 + store float %11, ptr %17, align 4 + %18 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 0 + %19 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 1 + store float %13, ptr %18, align 4 + store float %15, ptr %19, align 4 + call spir_func void @__devicelib_cpowf(ptr addrspace(4) sret({ float, float }) align 4 %7, ptr noundef nonnull byval({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %6) #54 + %20 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %21 = load float, ptr %20, align 4 + %22 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + %23 = load float, ptr %22, align 4 + %24 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %25 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %21, ptr addrspace(4) %24, align 4 + store float %23, ptr addrspace(4) %25, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cpolarf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2) local_unnamed_addr #4 !srcloc !23 { + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %4 to ptr addrspace(4) + call spir_func void @__devicelib_cpolarf(ptr addrspace(4) sret({ float, float }) align 4 %5, float noundef %1, float noundef %2) #54 + %6 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %7, ptr addrspace(4) %10, align 4 + store float %9, ptr addrspace(4) %11, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csqrtf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !24 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_csqrtf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csinhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !25 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_csinhf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ccoshf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !26 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_ccoshf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ctanhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !27 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_ctanhf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csinf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !28 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_csinf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ccosf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !29 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_ccosf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ctanf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !30 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_ctanf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cacosf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !31 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_cacosf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @casinhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !32 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_casinhf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @casinf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !33 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_casinf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cacoshf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !34 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_cacoshf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @catanhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !35 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_catanhf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @catanf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !36 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_catanf(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__mulsc3(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4) local_unnamed_addr #4 !srcloc !37 { + %6 = alloca { float, float }, align 4 + %7 = addrspacecast ptr %6 to ptr addrspace(4) + call spir_func void @__devicelib___mulsc3(ptr addrspace(4) sret({ float, float }) align 4 %7, float noundef %1, float noundef %2, float noundef %3, float noundef %4) #54 + %8 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 0 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 1 + %11 = load float, ptr %10, align 4 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %9, ptr addrspace(4) %12, align 4 + store float %11, ptr addrspace(4) %13, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__divsc3(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4) local_unnamed_addr #4 !srcloc !38 { + %6 = alloca { float, float }, align 4 + %7 = addrspacecast ptr %6 to ptr addrspace(4) + call spir_func void @__devicelib___divsc3(ptr addrspace(4) sret({ float, float }) align 4 %7, float noundef %1, float noundef %2, float noundef %3, float noundef %4) #54 + %8 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 0 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %6, i64 0, i32 1 + %11 = load float, ptr %10, align 4 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %9, ptr addrspace(4) %12, align 4 + store float %11, ptr addrspace(4) %13, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cexp10f(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !39 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_cexp10f(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @clog10f(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #4 !srcloc !40 { + %3 = alloca { float, float }, align 4 + %4 = alloca { float, float }, align 4 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %7 = load float, ptr %6, align 4 + %8 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %9 = load float, ptr %8, align 4 + %10 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr %4, i64 0, i32 1 + store float %7, ptr %10, align 4 + store float %9, ptr %11, align 4 + call spir_func void @__devicelib_clog10f(ptr addrspace(4) sret({ float, float }) align 4 %5, ptr noundef nonnull byval({ float, float }) align 4 %4) #54 + %12 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 0 + %13 = load float, ptr %12, align 4 + %14 = getelementptr inbounds { float, float }, ptr %3, i64 0, i32 1 + %15 = load float, ptr %14, align 4 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %16, align 4 + store float %15, ptr addrspace(4) %17, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func double @cimag(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #5 !srcloc !41 { + %2 = alloca { double, double }, align 8 + %3 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + store double %4, ptr %7, align 8 + store double %6, ptr %8, align 8 + %9 = tail call spir_func double @__devicelib_cimag(ptr noundef nonnull byval({ double, double }) align 8 %2) #54 + ret double %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func double @creal(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #5 !srcloc !42 { + %2 = alloca { double, double }, align 8 + %3 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + store double %4, ptr %7, align 8 + store double %6, ptr %8, align 8 + %9 = tail call spir_func double @__devicelib_creal(ptr noundef nonnull byval({ double, double }) align 8 %2) #54 + ret double %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @cabs(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #6 !srcloc !43 { + %2 = alloca { double, double }, align 8 + %3 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + store double %4, ptr %7, align 8 + store double %6, ptr %8, align 8 + %9 = tail call spir_func double @__devicelib_cabs(ptr noundef nonnull byval({ double, double }) align 8 %2) #54 + ret double %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @carg(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #6 !srcloc !44 { + %2 = alloca { double, double }, align 8 + %3 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %8 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + store double %4, ptr %7, align 8 + store double %6, ptr %8, align 8 + %9 = tail call spir_func double @__devicelib_carg(ptr noundef nonnull byval({ double, double }) align 8 %2) #54 + ret double %9 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) +define weak dso_local spir_func void @cproj(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #5 !srcloc !45 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_cproj(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cexp(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !46 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_cexp(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @clog(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !47 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_clog(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cpow(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1, ptr noundef byval({ double, double }) align 8 %2) local_unnamed_addr #6 !srcloc !48 { + %4 = alloca { double, double }, align 8 + %5 = alloca { double, double }, align 8 + %6 = alloca { double, double }, align 8 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %11 = load double, ptr %10, align 8 + %12 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr %5, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr %5, i64 0, i32 1 + store double %9, ptr %16, align 8 + store double %11, ptr %17, align 8 + %18 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 0 + %19 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 1 + store double %13, ptr %18, align 8 + store double %15, ptr %19, align 8 + call spir_func void @__devicelib_cpow(ptr addrspace(4) sret({ double, double }) align 8 %7, ptr noundef nonnull byval({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %6) #54 + %20 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %21 = load double, ptr %20, align 8 + %22 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + %23 = load double, ptr %22, align 8 + %24 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %25 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %21, ptr addrspace(4) %24, align 8 + store double %23, ptr addrspace(4) %25, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cpolar(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2) local_unnamed_addr #6 !srcloc !49 { + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %4 to ptr addrspace(4) + call spir_func void @__devicelib_cpolar(ptr addrspace(4) sret({ double, double }) align 8 %5, double noundef %1, double noundef %2) #54 + %6 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %7, ptr addrspace(4) %10, align 8 + store double %9, ptr addrspace(4) %11, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csqrt(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !50 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_csqrt(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csinh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !51 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_csinh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ccosh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !52 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_ccosh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ctanh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !53 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_ctanh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @csin(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !54 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_csin(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ccos(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !55 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_ccos(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ctan(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !56 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_ctan(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cacos(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !57 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_cacos(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @casinh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !58 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_casinh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @casin(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !59 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_casin(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cacosh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !60 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_cacosh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @catanh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !61 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_catanh(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @catan(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !62 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_catan(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__muldc3(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4) local_unnamed_addr #6 !srcloc !63 { + %6 = alloca { double, double }, align 8 + %7 = addrspacecast ptr %6 to ptr addrspace(4) + call spir_func void @__devicelib___muldc3(ptr addrspace(4) sret({ double, double }) align 8 %7, double noundef %1, double noundef %2, double noundef %3, double noundef %4) #54 + %8 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 0 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 1 + %11 = load double, ptr %10, align 8 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %9, ptr addrspace(4) %12, align 8 + store double %11, ptr addrspace(4) %13, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__divdc3(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4) local_unnamed_addr #6 !srcloc !64 { + %6 = alloca { double, double }, align 8 + %7 = addrspacecast ptr %6 to ptr addrspace(4) + call spir_func void @__devicelib___divdc3(ptr addrspace(4) sret({ double, double }) align 8 %7, double noundef %1, double noundef %2, double noundef %3, double noundef %4) #54 + %8 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 0 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %6, i64 0, i32 1 + %11 = load double, ptr %10, align 8 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %9, ptr addrspace(4) %12, align 8 + store double %11, ptr addrspace(4) %13, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @cexp10(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !65 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_cexp10(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @clog10(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #6 !srcloc !66 { + %3 = alloca { double, double }, align 8 + %4 = alloca { double, double }, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %7 = load double, ptr %6, align 8 + %8 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %9 = load double, ptr %8, align 8 + %10 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr %4, i64 0, i32 1 + store double %7, ptr %10, align 8 + store double %9, ptr %11, align 8 + call spir_func void @__devicelib_clog10(ptr addrspace(4) sret({ double, double }) align 8 %5, ptr noundef nonnull byval({ double, double }) align 8 %4) #54 + %12 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 0 + %13 = load double, ptr %12, align 8 + %14 = getelementptr inbounds { double, double }, ptr %3, i64 0, i32 1 + %15 = load double, ptr %14, align 8 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %16, align 8 + store double %15, ptr addrspace(4) %17, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func i32 @abs(i32 noundef %0) local_unnamed_addr #7 !srcloc !67 { + %2 = tail call spir_func i32 @__devicelib_abs(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func i64 @labs(i64 noundef %0) local_unnamed_addr #7 !srcloc !68 { + %2 = tail call spir_func i64 @__devicelib_labs(i64 noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func i64 @llabs(i64 noundef %0) local_unnamed_addr #7 !srcloc !69 { + %2 = tail call spir_func i64 @__devicelib_llabs(i64 noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @div(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_32) align 4 %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #8 !srcloc !70 { + tail call spir_func void @__devicelib_div(ptr addrspace(4) sret(%struct.__devicelib_div_t_32) align 4 %0, i32 noundef %1, i32 noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @ldiv(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #8 !srcloc !71 { + tail call spir_func void @__devicelib_ldiv(ptr addrspace(4) sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @lldiv(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #8 !srcloc !72 { + tail call spir_func void @__devicelib_lldiv(ptr addrspace(4) sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func float @roundf(float noundef %0) local_unnamed_addr #7 !srcloc !73 { + %2 = tail call spir_func float @__devicelib_roundf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func float @floorf(float noundef %0) local_unnamed_addr #7 !srcloc !74 { + %2 = tail call spir_func float @__devicelib_floorf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @scalbnf(float noundef %0, i32 noundef %1) local_unnamed_addr #8 !srcloc !75 { + %3 = tail call spir_func float @__devicelib_scalbnf(float noundef %0, i32 noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @logf(float noundef %0) local_unnamed_addr #8 !srcloc !76 { + %2 = tail call spir_func float @__devicelib_logf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @expf(float noundef %0) local_unnamed_addr #8 !srcloc !77 { + %2 = tail call spir_func float @__devicelib_expf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @frexpf(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #8 !srcloc !78 { + %3 = tail call spir_func float @__devicelib_frexpf(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @ldexpf(float noundef %0, i32 noundef %1) local_unnamed_addr #8 !srcloc !79 { + %3 = tail call spir_func float @__devicelib_ldexpf(float noundef %0, i32 noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @log10f(float noundef %0) local_unnamed_addr #8 !srcloc !80 { + %2 = tail call spir_func float @__devicelib_log10f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @modff(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #8 !srcloc !81 { + %3 = tail call spir_func float @__devicelib_modff(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @exp2f(float noundef %0) local_unnamed_addr #8 !srcloc !82 { + %2 = tail call spir_func float @__devicelib_exp2f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @expm1f(float noundef %0) local_unnamed_addr #8 !srcloc !83 { + %2 = tail call spir_func float @__devicelib_expm1f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @ilogbf(float noundef %0) local_unnamed_addr #8 !srcloc !84 { + %2 = tail call spir_func i32 @__devicelib_ilogbf(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @log1pf(float noundef %0) local_unnamed_addr #8 !srcloc !85 { + %2 = tail call spir_func float @__devicelib_log1pf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @log2f(float noundef %0) local_unnamed_addr #8 !srcloc !86 { + %2 = tail call spir_func float @__devicelib_log2f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @logbf(float noundef %0) local_unnamed_addr #8 !srcloc !87 { + %2 = tail call spir_func float @__devicelib_logbf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @sqrtf(float noundef %0) local_unnamed_addr #8 !srcloc !88 { + %2 = tail call spir_func float @__devicelib_sqrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func float @cbrtf(float noundef %0) local_unnamed_addr #7 !srcloc !89 { + %2 = tail call spir_func float @__devicelib_cbrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @hypotf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !90 { + %3 = tail call spir_func float @__devicelib_hypotf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @erff(float noundef %0) local_unnamed_addr #8 !srcloc !91 { + %2 = tail call spir_func float @__devicelib_erff(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @erfcf(float noundef %0) local_unnamed_addr #8 !srcloc !92 { + %2 = tail call spir_func float @__devicelib_erfcf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @tgammaf(float noundef %0) local_unnamed_addr #8 !srcloc !93 { + %2 = tail call spir_func float @__devicelib_tgammaf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @lgammaf(float noundef %0) local_unnamed_addr #8 !srcloc !94 { + %2 = tail call spir_func float @__devicelib_lgammaf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @fmodf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !95 { + %3 = tail call spir_func float @__devicelib_fmodf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @remainderf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !96 { + %3 = tail call spir_func float @__devicelib_remainderf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #8 !srcloc !97 { + %4 = tail call spir_func float @__devicelib_remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @nextafterf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !98 { + %3 = tail call spir_func float @__devicelib_nextafterf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @fdimf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !99 { + %3 = tail call spir_func float @__devicelib_fdimf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @fmaf(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #8 !srcloc !100 { + %4 = tail call spir_func float @__devicelib_fmaf(float noundef %0, float noundef %1, float noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @sinf(float noundef %0) local_unnamed_addr #8 !srcloc !101 { + %2 = tail call spir_func float @__devicelib_sinf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @cosf(float noundef %0) local_unnamed_addr #8 !srcloc !102 { + %2 = tail call spir_func float @__devicelib_cosf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @tanf(float noundef %0) local_unnamed_addr #8 !srcloc !103 { + %2 = tail call spir_func float @__devicelib_tanf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @powf(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !104 { + %3 = tail call spir_func float @__devicelib_powf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @acosf(float noundef %0) local_unnamed_addr #8 !srcloc !105 { + %2 = tail call spir_func float @__devicelib_acosf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @asinf(float noundef %0) local_unnamed_addr #8 !srcloc !106 { + %2 = tail call spir_func float @__devicelib_asinf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @atanf(float noundef %0) local_unnamed_addr #8 !srcloc !107 { + %2 = tail call spir_func float @__devicelib_atanf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @atan2f(float noundef %0, float noundef %1) local_unnamed_addr #8 !srcloc !108 { + %3 = tail call spir_func float @__devicelib_atan2f(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @coshf(float noundef %0) local_unnamed_addr #8 !srcloc !109 { + %2 = tail call spir_func float @__devicelib_coshf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @sinhf(float noundef %0) local_unnamed_addr #8 !srcloc !110 { + %2 = tail call spir_func float @__devicelib_sinhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @tanhf(float noundef %0) local_unnamed_addr #8 !srcloc !111 { + %2 = tail call spir_func float @__devicelib_tanhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @acoshf(float noundef %0) local_unnamed_addr #8 !srcloc !112 { + %2 = tail call spir_func float @__devicelib_acoshf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @asinhf(float noundef %0) local_unnamed_addr #8 !srcloc !113 { + %2 = tail call spir_func float @__devicelib_asinhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @atanhf(float noundef %0) local_unnamed_addr #8 !srcloc !114 { + %2 = tail call spir_func float @__devicelib_atanhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @log(double noundef %0) local_unnamed_addr #9 !srcloc !115 { + %2 = tail call spir_func double @__devicelib_log(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func double @round(double noundef %0) local_unnamed_addr #10 !srcloc !116 { + %2 = tail call spir_func double @__devicelib_round(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func double @floor(double noundef %0) local_unnamed_addr #10 !srcloc !117 { + %2 = tail call spir_func double @__devicelib_floor(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @exp(double noundef %0) local_unnamed_addr #9 !srcloc !118 { + %2 = tail call spir_func double @__devicelib_exp(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @frexp(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #9 !srcloc !119 { + %3 = tail call spir_func double @__devicelib_frexp(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @ldexp(double noundef %0, i32 noundef %1) local_unnamed_addr #9 !srcloc !41 { + %3 = tail call spir_func double @__devicelib_ldexp(double noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @log10(double noundef %0) local_unnamed_addr #9 !srcloc !120 { + %2 = tail call spir_func double @__devicelib_log10(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @modf(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #9 !srcloc !121 { + %3 = tail call spir_func double @__devicelib_modf(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @exp2(double noundef %0) local_unnamed_addr #9 !srcloc !122 { + %2 = tail call spir_func double @__devicelib_exp2(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @expm1(double noundef %0) local_unnamed_addr #9 !srcloc !123 { + %2 = tail call spir_func double @__devicelib_expm1(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @ilogb(double noundef %0) local_unnamed_addr #9 !srcloc !124 { + %2 = tail call spir_func i32 @__devicelib_ilogb(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @log1p(double noundef %0) local_unnamed_addr #9 !srcloc !125 { + %2 = tail call spir_func double @__devicelib_log1p(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @log2(double noundef %0) local_unnamed_addr #9 !srcloc !126 { + %2 = tail call spir_func double @__devicelib_log2(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @logb(double noundef %0) local_unnamed_addr #9 !srcloc !127 { + %2 = tail call spir_func double @__devicelib_logb(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @sqrt(double noundef %0) local_unnamed_addr #9 !srcloc !128 { + %2 = tail call spir_func double @__devicelib_sqrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) +define weak dso_local spir_func double @cbrt(double noundef %0) local_unnamed_addr #10 !srcloc !129 { + %2 = tail call spir_func double @__devicelib_cbrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @hypot(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !130 { + %3 = tail call spir_func double @__devicelib_hypot(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @erf(double noundef %0) local_unnamed_addr #9 !srcloc !131 { + %2 = tail call spir_func double @__devicelib_erf(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @erfc(double noundef %0) local_unnamed_addr #9 !srcloc !132 { + %2 = tail call spir_func double @__devicelib_erfc(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @tgamma(double noundef %0) local_unnamed_addr #9 !srcloc !133 { + %2 = tail call spir_func double @__devicelib_tgamma(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @lgamma(double noundef %0) local_unnamed_addr #9 !srcloc !134 { + %2 = tail call spir_func double @__devicelib_lgamma(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @fmod(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !135 { + %3 = tail call spir_func double @__devicelib_fmod(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @remainder(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !136 { + %3 = tail call spir_func double @__devicelib_remainder(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #9 !srcloc !137 { + %4 = tail call spir_func double @__devicelib_remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @nextafter(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !138 { + %3 = tail call spir_func double @__devicelib_nextafter(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @fdim(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !139 { + %3 = tail call spir_func double @__devicelib_fdim(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @fma(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #9 !srcloc !140 { + %4 = tail call spir_func double @__devicelib_fma(double noundef %0, double noundef %1, double noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @sin(double noundef %0) local_unnamed_addr #9 !srcloc !141 { + %2 = tail call spir_func double @__devicelib_sin(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @cos(double noundef %0) local_unnamed_addr #9 !srcloc !142 { + %2 = tail call spir_func double @__devicelib_cos(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @tan(double noundef %0) local_unnamed_addr #9 !srcloc !143 { + %2 = tail call spir_func double @__devicelib_tan(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @pow(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !144 { + %3 = tail call spir_func double @__devicelib_pow(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @acos(double noundef %0) local_unnamed_addr #9 !srcloc !145 { + %2 = tail call spir_func double @__devicelib_acos(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @asin(double noundef %0) local_unnamed_addr #9 !srcloc !146 { + %2 = tail call spir_func double @__devicelib_asin(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @atan(double noundef %0) local_unnamed_addr #9 !srcloc !147 { + %2 = tail call spir_func double @__devicelib_atan(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @atan2(double noundef %0, double noundef %1) local_unnamed_addr #9 !srcloc !148 { + %3 = tail call spir_func double @__devicelib_atan2(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @cosh(double noundef %0) local_unnamed_addr #9 !srcloc !149 { + %2 = tail call spir_func double @__devicelib_cosh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @sinh(double noundef %0) local_unnamed_addr #9 !srcloc !150 { + %2 = tail call spir_func double @__devicelib_sinh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @tanh(double noundef %0) local_unnamed_addr #9 !srcloc !151 { + %2 = tail call spir_func double @__devicelib_tanh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @acosh(double noundef %0) local_unnamed_addr #9 !srcloc !152 { + %2 = tail call spir_func double @__devicelib_acosh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @asinh(double noundef %0) local_unnamed_addr #9 !srcloc !153 { + %2 = tail call spir_func double @__devicelib_asinh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @atanh(double noundef %0) local_unnamed_addr #9 !srcloc !154 { + %2 = tail call spir_func double @__devicelib_atanh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @scalbn(double noundef %0, i32 noundef %1) local_unnamed_addr #9 !srcloc !155 { + %3 = tail call spir_func double @__devicelib_scalbn(double noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_saturatef(float noundef %0) local_unnamed_addr #11 !srcloc !156 { + %2 = tail call spir_func float @__devicelib_imf_saturatef(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2int_rd(float noundef %0) local_unnamed_addr #11 !srcloc !157 { + %2 = tail call spir_func i32 @__devicelib_imf_float2int_rd(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2int_rn(float noundef %0) local_unnamed_addr #11 !srcloc !158 { + %2 = tail call spir_func i32 @__devicelib_imf_float2int_rn(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2int_ru(float noundef %0) local_unnamed_addr #11 !srcloc !159 { + %2 = tail call spir_func i32 @__devicelib_imf_float2int_ru(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2int_rz(float noundef %0) local_unnamed_addr #11 !srcloc !160 { + %2 = tail call spir_func i32 @__devicelib_imf_float2int_rz(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2uint_rd(float noundef %0) local_unnamed_addr #11 !srcloc !161 { + %2 = tail call spir_func i32 @__devicelib_imf_float2uint_rd(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2uint_rn(float noundef %0) local_unnamed_addr #11 !srcloc !162 { + %2 = tail call spir_func i32 @__devicelib_imf_float2uint_rn(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2uint_ru(float noundef %0) local_unnamed_addr #11 !srcloc !163 { + %2 = tail call spir_func i32 @__devicelib_imf_float2uint_ru(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float2uint_rz(float noundef %0) local_unnamed_addr #11 !srcloc !164 { + %2 = tail call spir_func i32 @__devicelib_imf_float2uint_rz(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ll_rd(float noundef %0) local_unnamed_addr #11 !srcloc !165 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ll_rd(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ll_rn(float noundef %0) local_unnamed_addr #11 !srcloc !166 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ll_rn(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ll_ru(float noundef %0) local_unnamed_addr #11 !srcloc !167 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ll_ru(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ll_rz(float noundef %0) local_unnamed_addr #11 !srcloc !168 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ll_rz(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ull_rd(float noundef %0) local_unnamed_addr #11 !srcloc !169 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ull_rd(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ull_rn(float noundef %0) local_unnamed_addr #11 !srcloc !170 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ull_rn(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ull_ru(float noundef %0) local_unnamed_addr #11 !srcloc !171 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ull_ru(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_float2ull_rz(float noundef %0) local_unnamed_addr #11 !srcloc !172 { + %2 = tail call spir_func i64 @__devicelib_imf_float2ull_rz(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float_as_int(float noundef %0) local_unnamed_addr #11 !srcloc !173 { + %2 = tail call spir_func i32 @__devicelib_imf_float_as_int(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_float_as_uint(float noundef %0) local_unnamed_addr #11 !srcloc !174 { + %2 = tail call spir_func i32 @__devicelib_imf_float_as_uint(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_int2float_rd(i32 noundef %0) local_unnamed_addr #11 !srcloc !175 { + %2 = tail call spir_func float @__devicelib_imf_int2float_rd(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_int2float_rn(i32 noundef %0) local_unnamed_addr #11 !srcloc !176 { + %2 = tail call spir_func float @__devicelib_imf_int2float_rn(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_int2float_ru(i32 noundef %0) local_unnamed_addr #11 !srcloc !177 { + %2 = tail call spir_func float @__devicelib_imf_int2float_ru(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_int2float_rz(i32 noundef %0) local_unnamed_addr #11 !srcloc !178 { + %2 = tail call spir_func float @__devicelib_imf_int2float_rz(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_int_as_float(i32 noundef %0) local_unnamed_addr #11 !srcloc !179 { + %2 = tail call spir_func float @__devicelib_imf_int_as_float(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ll2float_rd(i64 noundef %0) local_unnamed_addr #11 !srcloc !180 { + %2 = tail call spir_func float @__devicelib_imf_ll2float_rd(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ll2float_rn(i64 noundef %0) local_unnamed_addr #11 !srcloc !181 { + %2 = tail call spir_func float @__devicelib_imf_ll2float_rn(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ll2float_ru(i64 noundef %0) local_unnamed_addr #11 !srcloc !182 { + %2 = tail call spir_func float @__devicelib_imf_ll2float_ru(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ll2float_rz(i64 noundef %0) local_unnamed_addr #11 !srcloc !183 { + %2 = tail call spir_func float @__devicelib_imf_ll2float_rz(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_uint2float_rd(i32 noundef %0) local_unnamed_addr #11 !srcloc !184 { + %2 = tail call spir_func float @__devicelib_imf_uint2float_rd(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_uint2float_rn(i32 noundef %0) local_unnamed_addr #11 !srcloc !185 { + %2 = tail call spir_func float @__devicelib_imf_uint2float_rn(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_uint2float_ru(i32 noundef %0) local_unnamed_addr #11 !srcloc !186 { + %2 = tail call spir_func float @__devicelib_imf_uint2float_ru(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_uint2float_rz(i32 noundef %0) local_unnamed_addr #11 !srcloc !187 { + %2 = tail call spir_func float @__devicelib_imf_uint2float_rz(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_uint_as_float(i32 noundef %0) local_unnamed_addr #11 !srcloc !188 { + %2 = tail call spir_func float @__devicelib_imf_uint_as_float(i32 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ull2float_rd(i64 noundef %0) local_unnamed_addr #11 !srcloc !189 { + %2 = tail call spir_func float @__devicelib_imf_ull2float_rd(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ull2float_rn(i64 noundef %0) local_unnamed_addr #11 !srcloc !190 { + %2 = tail call spir_func float @__devicelib_imf_ull2float_rn(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ull2float_ru(i64 noundef %0) local_unnamed_addr #11 !srcloc !191 { + %2 = tail call spir_func float @__devicelib_imf_ull2float_ru(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ull2float_rz(i64 noundef %0) local_unnamed_addr #11 !srcloc !192 { + %2 = tail call spir_func float @__devicelib_imf_ull2float_rz(i64 noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_half2float(half noundef %0) local_unnamed_addr #11 !srcloc !193 { + %2 = tail call spir_func float @__devicelib_imf_half2float(half noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llmax(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !194 { + %3 = tail call spir_func i64 @__devicelib_imf_llmax(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llmin(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !195 { + %3 = tail call spir_func i64 @__devicelib_imf_llmin(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_max(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !196 { + %3 = tail call spir_func i32 @__devicelib_imf_max(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_min(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !197 { + %3 = tail call spir_func i32 @__devicelib_imf_min(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_ullmax(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !198 { + %3 = tail call spir_func i64 @__devicelib_imf_ullmax(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_ullmin(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !199 { + %3 = tail call spir_func i64 @__devicelib_imf_ullmin(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_umax(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !200 { + %3 = tail call spir_func i32 @__devicelib_imf_umax(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_umin(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !201 { + %3 = tail call spir_func i32 @__devicelib_imf_umin(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_brev(i32 noundef %0) local_unnamed_addr #11 !srcloc !202 { + %2 = tail call spir_func i32 @__devicelib_imf_brev(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_brevll(i64 noundef %0) local_unnamed_addr #11 !srcloc !203 { + %2 = tail call spir_func i64 @__devicelib_imf_brevll(i64 noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_clz(i32 noundef %0) local_unnamed_addr #11 !srcloc !204 { + %2 = tail call spir_func i32 @__devicelib_imf_clz(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_clzll(i64 noundef %0) local_unnamed_addr #11 !srcloc !205 { + %2 = tail call spir_func i32 @__devicelib_imf_clzll(i64 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_popc(i32 noundef %0) local_unnamed_addr #11 !srcloc !206 { + %2 = tail call spir_func i32 @__devicelib_imf_popc(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_popcll(i64 noundef %0) local_unnamed_addr #11 !srcloc !207 { + %2 = tail call spir_func i32 @__devicelib_imf_popcll(i64 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_sad(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #11 !srcloc !208 { + %4 = tail call spir_func i32 @__devicelib_imf_sad(i32 noundef %0, i32 noundef %1, i32 noundef %2) #54 + ret i32 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_usad(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #11 !srcloc !209 { + %4 = tail call spir_func i32 @__devicelib_imf_usad(i32 noundef %0, i32 noundef %1, i32 noundef %2) #54 + ret i32 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_byte_perm(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #11 !srcloc !210 { + %4 = tail call spir_func i32 @__devicelib_imf_byte_perm(i32 noundef %0, i32 noundef %1, i32 noundef %2) #54 + ret i32 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_ffs(i32 noundef %0) local_unnamed_addr #11 !srcloc !211 { + %2 = tail call spir_func i32 @__devicelib_imf_ffs(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_ffsll(i64 noundef %0) local_unnamed_addr #11 !srcloc !212 { + %2 = tail call spir_func i32 @__devicelib_imf_ffsll(i64 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_rhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !213 { + %3 = tail call spir_func i32 @__devicelib_imf_rhadd(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_hadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !214 { + %3 = tail call spir_func i32 @__devicelib_imf_hadd(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_uhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !215 { + %3 = tail call spir_func i32 @__devicelib_imf_uhadd(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_urhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !216 { + %3 = tail call spir_func i32 @__devicelib_imf_urhadd(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_mul24(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !217 { + %3 = tail call spir_func i32 @__devicelib_imf_mul24(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_umul24(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !218 { + %3 = tail call spir_func i32 @__devicelib_imf_umul24(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_mul64hi(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !219 { + %3 = tail call spir_func i64 @__devicelib_imf_mul64hi(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_umul64hi(i64 noundef %0, i64 noundef %1) local_unnamed_addr #11 !srcloc !220 { + %3 = tail call spir_func i64 @__devicelib_imf_umul64hi(i64 noundef %0, i64 noundef %1) #54 + ret i64 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_mulhi(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !221 { + %3 = tail call spir_func i32 @__devicelib_imf_mulhi(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_umulhi(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !222 { + %3 = tail call spir_func i32 @__devicelib_imf_umulhi(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmaf(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #11 !srcloc !223 { + %4 = tail call spir_func float @__devicelib_imf_fmaf(float noundef %0, float noundef %1, float noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_floorf(float noundef %0) local_unnamed_addr #11 !srcloc !224 { + %2 = tail call spir_func float @__devicelib_imf_floorf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ceilf(float noundef %0) local_unnamed_addr #11 !srcloc !225 { + %2 = tail call spir_func float @__devicelib_imf_ceilf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_truncf(float noundef %0) local_unnamed_addr #11 !srcloc !226 { + %2 = tail call spir_func float @__devicelib_imf_truncf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rintf(float noundef %0) local_unnamed_addr #11 !srcloc !227 { + %2 = tail call spir_func float @__devicelib_imf_rintf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_nearbyintf(float noundef %0) local_unnamed_addr #11 !srcloc !228 { + %2 = tail call spir_func float @__devicelib_imf_nearbyintf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_sqrtf(float noundef %0) local_unnamed_addr #11 !srcloc !229 { + %2 = tail call spir_func float @__devicelib_imf_sqrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rsqrtf(float noundef %0) local_unnamed_addr #11 !srcloc !230 { + %2 = tail call spir_func float @__devicelib_imf_rsqrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_invf(float noundef %0) local_unnamed_addr #11 !srcloc !231 { + %2 = tail call spir_func float @__devicelib_imf_invf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_abs(i32 noundef %0) local_unnamed_addr #11 !srcloc !232 { + %2 = tail call spir_func i32 @__devicelib_imf_abs(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llabs(i64 noundef %0) local_unnamed_addr #11 !srcloc !233 { + %2 = tail call spir_func i64 @__devicelib_imf_llabs(i64 noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fabsf(float noundef %0) local_unnamed_addr #11 !srcloc !234 { + %2 = tail call spir_func float @__devicelib_imf_fabsf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmaxf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !235 { + %3 = tail call spir_func float @__devicelib_imf_fmaxf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fminf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !236 { + %3 = tail call spir_func float @__devicelib_imf_fminf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_copysignf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !237 { + %3 = tail call spir_func float @__devicelib_imf_copysignf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_fmaf16(half noundef %0, half noundef %1, half noundef %2) local_unnamed_addr #11 !srcloc !238 { + %4 = tail call spir_func half @__devicelib_imf_fmaf16(half noundef %0, half noundef %1, half noundef %2) #54 + ret half %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_floorf16(half noundef %0) local_unnamed_addr #11 !srcloc !239 { + %2 = tail call spir_func half @__devicelib_imf_floorf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ceilf16(half noundef %0) local_unnamed_addr #11 !srcloc !240 { + %2 = tail call spir_func half @__devicelib_imf_ceilf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_truncf16(half noundef %0) local_unnamed_addr #11 !srcloc !241 { + %2 = tail call spir_func half @__devicelib_imf_truncf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_rintf16(half noundef %0) local_unnamed_addr #11 !srcloc !242 { + %2 = tail call spir_func half @__devicelib_imf_rintf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_nearbyintf16(half noundef %0) local_unnamed_addr #11 !srcloc !243 { + %2 = tail call spir_func half @__devicelib_imf_nearbyintf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_sqrtf16(half noundef %0) local_unnamed_addr #11 !srcloc !244 { + %2 = tail call spir_func half @__devicelib_imf_sqrtf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_rsqrtf16(half noundef %0) local_unnamed_addr #11 !srcloc !245 { + %2 = tail call spir_func half @__devicelib_imf_rsqrtf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_invf16(half noundef %0) local_unnamed_addr #11 !srcloc !246 { + %2 = tail call spir_func half @__devicelib_imf_invf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_fabsf16(half noundef %0) local_unnamed_addr #11 !srcloc !247 { + %2 = tail call spir_func half @__devicelib_imf_fabsf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_fmaxf16(half noundef %0, half noundef %1) local_unnamed_addr #11 !srcloc !248 { + %3 = tail call spir_func half @__devicelib_imf_fmaxf16(half noundef %0, half noundef %1) #54 + ret half %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_fminf16(half noundef %0, half noundef %1) local_unnamed_addr #11 !srcloc !249 { + %3 = tail call spir_func half @__devicelib_imf_fminf16(half noundef %0, half noundef %1) #54 + ret half %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_copysignf16(half noundef %0, half noundef %1) local_unnamed_addr #11 !srcloc !250 { + %3 = tail call spir_func half @__devicelib_imf_copysignf16(half noundef %0, half noundef %1) #54 + ret half %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_cosf16(half noundef %0) local_unnamed_addr #11 !srcloc !251 { + %2 = tail call spir_func half @__devicelib_imf_cosf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_exp10f16(half noundef %0) local_unnamed_addr #11 !srcloc !252 { + %2 = tail call spir_func half @__devicelib_imf_exp10f16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_exp2f16(half noundef %0) local_unnamed_addr #11 !srcloc !253 { + %2 = tail call spir_func half @__devicelib_imf_exp2f16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_expf16(half noundef %0) local_unnamed_addr #11 !srcloc !254 { + %2 = tail call spir_func half @__devicelib_imf_expf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_logf16(half noundef %0) local_unnamed_addr #11 !srcloc !255 { + %2 = tail call spir_func half @__devicelib_imf_logf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_log10f16(half noundef %0) local_unnamed_addr #11 !srcloc !256 { + %2 = tail call spir_func half @__devicelib_imf_log10f16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_log2f16(half noundef %0) local_unnamed_addr #11 !srcloc !257 { + %2 = tail call spir_func half @__devicelib_imf_log2f16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_sinf16(half noundef %0) local_unnamed_addr #11 !srcloc !258 { + %2 = tail call spir_func half @__devicelib_imf_sinf16(half noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_acoshf(float noundef %0) local_unnamed_addr #11 !srcloc !259 { + %2 = tail call spir_func float @__devicelib_imf_acoshf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_acosf(float noundef %0) local_unnamed_addr #11 !srcloc !260 { + %2 = tail call spir_func float @__devicelib_imf_acosf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_asinhf(float noundef %0) local_unnamed_addr #11 !srcloc !261 { + %2 = tail call spir_func float @__devicelib_imf_asinhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_asinf(float noundef %0) local_unnamed_addr #11 !srcloc !262 { + %2 = tail call spir_func float @__devicelib_imf_asinf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_atan2f(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !263 { + %3 = tail call spir_func float @__devicelib_imf_atan2f(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_atanhf(float noundef %0) local_unnamed_addr #11 !srcloc !264 { + %2 = tail call spir_func float @__devicelib_imf_atanhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_atanf(float noundef %0) local_unnamed_addr #11 !srcloc !265 { + %2 = tail call spir_func float @__devicelib_imf_atanf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_cbrtf(float noundef %0) local_unnamed_addr #11 !srcloc !266 { + %2 = tail call spir_func float @__devicelib_imf_cbrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_coshf(float noundef %0) local_unnamed_addr #11 !srcloc !267 { + %2 = tail call spir_func float @__devicelib_imf_coshf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_cospif(float noundef %0) local_unnamed_addr #11 !srcloc !268 { + %2 = tail call spir_func float @__devicelib_imf_cospif(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_cosf(float noundef %0) local_unnamed_addr #11 !srcloc !269 { + %2 = tail call spir_func float @__devicelib_imf_cosf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_erfcinvf(float noundef %0) local_unnamed_addr #11 !srcloc !270 { + %2 = tail call spir_func float @__devicelib_imf_erfcinvf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_erfcf(float noundef %0) local_unnamed_addr #11 !srcloc !271 { + %2 = tail call spir_func float @__devicelib_imf_erfcf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_erfinvf(float noundef %0) local_unnamed_addr #11 !srcloc !272 { + %2 = tail call spir_func float @__devicelib_imf_erfinvf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_erff(float noundef %0) local_unnamed_addr #11 !srcloc !273 { + %2 = tail call spir_func float @__devicelib_imf_erff(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_exp10f(float noundef %0) local_unnamed_addr #11 !srcloc !274 { + %2 = tail call spir_func float @__devicelib_imf_exp10f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_exp2f(float noundef %0) local_unnamed_addr #11 !srcloc !275 { + %2 = tail call spir_func float @__devicelib_imf_exp2f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_expm1f(float noundef %0) local_unnamed_addr #11 !srcloc !276 { + %2 = tail call spir_func float @__devicelib_imf_expm1f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_expf(float noundef %0) local_unnamed_addr #11 !srcloc !277 { + %2 = tail call spir_func float @__devicelib_imf_expf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fdimf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !278 { + %3 = tail call spir_func float @__devicelib_imf_fdimf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmodf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !279 { + %3 = tail call spir_func float @__devicelib_imf_fmodf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_frexpf(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #11 !srcloc !280 { + %3 = tail call spir_func float @__devicelib_imf_frexpf(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_ilogbf(float noundef %0) local_unnamed_addr #11 !srcloc !281 { + %2 = tail call spir_func i32 @__devicelib_imf_ilogbf(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rcbrtf(float noundef %0) local_unnamed_addr #11 !srcloc !282 { + %2 = tail call spir_func float @__devicelib_imf_rcbrtf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ldexpf(float noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !283 { + %3 = tail call spir_func float @__devicelib_imf_ldexpf(float noundef %0, i32 noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_lgammaf(float noundef %0) local_unnamed_addr #11 !srcloc !284 { + %2 = tail call spir_func float @__devicelib_imf_lgammaf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_logf(float noundef %0) local_unnamed_addr #11 !srcloc !285 { + %2 = tail call spir_func float @__devicelib_imf_logf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_log10f(float noundef %0) local_unnamed_addr #11 !srcloc !286 { + %2 = tail call spir_func float @__devicelib_imf_log10f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_log1pf(float noundef %0) local_unnamed_addr #11 !srcloc !287 { + %2 = tail call spir_func float @__devicelib_imf_log1pf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_log2f(float noundef %0) local_unnamed_addr #11 !srcloc !288 { + %2 = tail call spir_func float @__devicelib_imf_log2f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_logbf(float noundef %0) local_unnamed_addr #11 !srcloc !289 { + %2 = tail call spir_func float @__devicelib_imf_logbf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_modff(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #11 !srcloc !290 { + %3 = tail call spir_func float @__devicelib_imf_modff(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_nextafterf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !291 { + %3 = tail call spir_func float @__devicelib_imf_nextafterf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_normf(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #11 !srcloc !292 { + %3 = tail call spir_func float @__devicelib_imf_normf(i32 noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_norm3df(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #11 !srcloc !293 { + %4 = tail call spir_func float @__devicelib_imf_norm3df(float noundef %0, float noundef %1, float noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_norm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) local_unnamed_addr #11 !srcloc !294 { + %5 = tail call spir_func float @__devicelib_imf_norm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) #54 + ret float %5 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_powf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !295 { + %3 = tail call spir_func float @__devicelib_imf_powf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_remainderf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !296 { + %3 = tail call spir_func float @__devicelib_imf_remainderf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #11 !srcloc !297 { + %4 = tail call spir_func float @__devicelib_imf_remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rhypotf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !298 { + %3 = tail call spir_func float @__devicelib_imf_rhypotf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rnormf(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #11 !srcloc !299 { + %3 = tail call spir_func float @__devicelib_imf_rnormf(i32 noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rnorm3df(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #11 !srcloc !300 { + %4 = tail call spir_func float @__devicelib_imf_rnorm3df(float noundef %0, float noundef %1, float noundef %2) #54 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_rnorm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) local_unnamed_addr #11 !srcloc !301 { + %5 = tail call spir_func float @__devicelib_imf_rnorm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) #54 + ret float %5 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_roundf(float noundef %0) local_unnamed_addr #11 !srcloc !302 { + %2 = tail call spir_func float @__devicelib_imf_roundf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__imf_sincosf(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #11 !srcloc !303 { + tail call spir_func void @__devicelib_imf_sincosf(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__imf_sincospif(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #11 !srcloc !304 { + tail call spir_func void @__devicelib_imf_sincospif(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_sinhf(float noundef %0) local_unnamed_addr #11 !srcloc !305 { + %2 = tail call spir_func float @__devicelib_imf_sinhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_sinpif(float noundef %0) local_unnamed_addr #11 !srcloc !306 { + %2 = tail call spir_func float @__devicelib_imf_sinpif(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_sinf(float noundef %0) local_unnamed_addr #11 !srcloc !307 { + %2 = tail call spir_func float @__devicelib_imf_sinf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_tanhf(float noundef %0) local_unnamed_addr #11 !srcloc !308 { + %2 = tail call spir_func float @__devicelib_imf_tanhf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_tanf(float noundef %0) local_unnamed_addr #11 !srcloc !309 { + %2 = tail call spir_func float @__devicelib_imf_tanf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_tgammaf(float noundef %0) local_unnamed_addr #11 !srcloc !310 { + %2 = tail call spir_func float @__devicelib_imf_tgammaf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_i0f(float noundef %0) local_unnamed_addr #11 !srcloc !311 { + %2 = tail call spir_func float @__devicelib_imf_i0f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_i1f(float noundef %0) local_unnamed_addr #11 !srcloc !312 { + %2 = tail call spir_func float @__devicelib_imf_i1f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_j0f(float noundef %0) local_unnamed_addr #11 !srcloc !313 { + %2 = tail call spir_func float @__devicelib_imf_j0f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_j1f(float noundef %0) local_unnamed_addr #11 !srcloc !314 { + %2 = tail call spir_func float @__devicelib_imf_j1f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_jnf(i32 noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !315 { + %3 = tail call spir_func float @__devicelib_imf_jnf(i32 noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_y0f(float noundef %0) local_unnamed_addr #11 !srcloc !316 { + %2 = tail call spir_func float @__devicelib_imf_y0f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_y1f(float noundef %0) local_unnamed_addr #11 !srcloc !317 { + %2 = tail call spir_func float @__devicelib_imf_y1f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_ynf(i32 noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !318 { + %3 = tail call spir_func float @__devicelib_imf_ynf(i32 noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_pownf(float noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !319 { + %3 = tail call spir_func float @__devicelib_imf_pownf(float noundef %0, i32 noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_cdfnormf(float noundef %0) local_unnamed_addr #11 !srcloc !320 { + %2 = tail call spir_func float @__devicelib_imf_cdfnormf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_cdfnorminvf(float noundef %0) local_unnamed_addr #11 !srcloc !321 { + %2 = tail call spir_func float @__devicelib_imf_cdfnorminvf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_erfcxf(float noundef %0) local_unnamed_addr #11 !srcloc !322 { + %2 = tail call spir_func float @__devicelib_imf_erfcxf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_hypotf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !323 { + %3 = tail call spir_func float @__devicelib_imf_hypotf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isfinitef(float noundef %0) local_unnamed_addr #11 !srcloc !324 { + %2 = tail call spir_func i32 @__devicelib_imf_isfinitef(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isinff(float noundef %0) local_unnamed_addr #11 !srcloc !325 { + %2 = tail call spir_func i32 @__devicelib_imf_isinff(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isnanf(float noundef %0) local_unnamed_addr #11 !srcloc !326 { + %2 = tail call spir_func i32 @__devicelib_imf_isnanf(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llrintf(float noundef %0) local_unnamed_addr #11 !srcloc !327 { + %2 = tail call spir_func i64 @__devicelib_imf_llrintf(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llroundf(float noundef %0) local_unnamed_addr #11 !srcloc !328 { + %2 = tail call spir_func i64 @__devicelib_imf_llroundf(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_lrintf(float noundef %0) local_unnamed_addr #11 !srcloc !329 { + %2 = tail call spir_func i64 @__devicelib_imf_lrintf(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_lroundf(float noundef %0) local_unnamed_addr #11 !srcloc !330 { + %2 = tail call spir_func i64 @__devicelib_imf_lroundf(float noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_nanf(ptr addrspace(4) noundef %0) local_unnamed_addr #11 !srcloc !331 { + %2 = tail call spir_func float @__devicelib_imf_nanf(ptr addrspace(4) noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_scalbnf(float noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !332 { + %3 = tail call spir_func float @__devicelib_imf_scalbnf(float noundef %0, i32 noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_signbitf(float noundef %0) local_unnamed_addr #11 !srcloc !333 { + %2 = tail call spir_func i32 @__devicelib_imf_signbitf(float noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabs2(i32 noundef %0) local_unnamed_addr #11 !srcloc !334 { + %2 = tail call spir_func i32 @__devicelib_imf_vabs2(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabs4(i32 noundef %0) local_unnamed_addr #11 !srcloc !335 { + %2 = tail call spir_func i32 @__devicelib_imf_vabs4(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vneg2(i32 noundef %0) local_unnamed_addr #11 !srcloc !336 { + %2 = tail call spir_func i32 @__devicelib_imf_vneg2(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vneg4(i32 noundef %0) local_unnamed_addr #11 !srcloc !337 { + %2 = tail call spir_func i32 @__devicelib_imf_vneg4(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vnegss2(i32 noundef %0) local_unnamed_addr #11 !srcloc !338 { + %2 = tail call spir_func i32 @__devicelib_imf_vnegss2(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vnegss4(i32 noundef %0) local_unnamed_addr #11 !srcloc !339 { + %2 = tail call spir_func i32 @__devicelib_imf_vnegss4(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsdiffs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !340 { + %3 = tail call spir_func i32 @__devicelib_imf_vabsdiffs2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsdiffs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !341 { + %3 = tail call spir_func i32 @__devicelib_imf_vabsdiffs4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsdiffu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !342 { + %3 = tail call spir_func i32 @__devicelib_imf_vabsdiffu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsdiffu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !343 { + %3 = tail call spir_func i32 @__devicelib_imf_vabsdiffu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsss2(i32 noundef %0) local_unnamed_addr #11 !srcloc !344 { + %2 = tail call spir_func i32 @__devicelib_imf_vabsss2(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vabsss4(i32 noundef %0) local_unnamed_addr #11 !srcloc !345 { + %2 = tail call spir_func i32 @__devicelib_imf_vabsss4(i32 noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vadd2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !346 { + %3 = tail call spir_func i32 @__devicelib_imf_vadd2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vadd4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !347 { + %3 = tail call spir_func i32 @__devicelib_imf_vadd4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vaddss2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !348 { + %3 = tail call spir_func i32 @__devicelib_imf_vaddss2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vaddss4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !349 { + %3 = tail call spir_func i32 @__devicelib_imf_vaddss4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vaddus2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !350 { + %3 = tail call spir_func i32 @__devicelib_imf_vaddus2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vaddus4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !351 { + %3 = tail call spir_func i32 @__devicelib_imf_vaddus4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsub2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !352 { + %3 = tail call spir_func i32 @__devicelib_imf_vsub2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsub4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !353 { + %3 = tail call spir_func i32 @__devicelib_imf_vsub4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsubss2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !354 { + %3 = tail call spir_func i32 @__devicelib_imf_vsubss2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsubss4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !355 { + %3 = tail call spir_func i32 @__devicelib_imf_vsubss4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsubus2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !356 { + %3 = tail call spir_func i32 @__devicelib_imf_vsubus2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsubus4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !357 { + %3 = tail call spir_func i32 @__devicelib_imf_vsubus4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vhaddu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !358 { + %3 = tail call spir_func i32 @__devicelib_imf_vhaddu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vhaddu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !359 { + %3 = tail call spir_func i32 @__devicelib_imf_vhaddu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vavgs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !360 { + %3 = tail call spir_func i32 @__devicelib_imf_vavgs2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vavgs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !361 { + %3 = tail call spir_func i32 @__devicelib_imf_vavgs4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vavgu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !362 { + %3 = tail call spir_func i32 @__devicelib_imf_vavgu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vavgu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !363 { + %3 = tail call spir_func i32 @__devicelib_imf_vavgu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpeq2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !364 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpeq2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpeq4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !365 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpeq4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpges2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !366 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpges2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpges4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !367 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpges4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgeu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !368 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgeu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgeu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !369 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgeu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !370 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgts2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !371 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgts4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgtu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !372 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgtu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpgtu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !373 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpgtu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmples2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !374 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmples2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmples4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !375 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmples4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpleu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !376 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpleu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpleu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !377 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpleu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmplts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !378 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmplts2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmplts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !379 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmplts4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpltu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !380 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpltu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpltu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !381 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpltu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpne2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !382 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpne2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vcmpne4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !383 { + %3 = tail call spir_func i32 @__devicelib_imf_vcmpne4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmaxs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !384 { + %3 = tail call spir_func i32 @__devicelib_imf_vmaxs2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmaxs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !385 { + %3 = tail call spir_func i32 @__devicelib_imf_vmaxs4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmaxu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !386 { + %3 = tail call spir_func i32 @__devicelib_imf_vmaxu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmaxu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !387 { + %3 = tail call spir_func i32 @__devicelib_imf_vmaxu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmins2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !388 { + %3 = tail call spir_func i32 @__devicelib_imf_vmins2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vmins4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !389 { + %3 = tail call spir_func i32 @__devicelib_imf_vmins4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vminu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !390 { + %3 = tail call spir_func i32 @__devicelib_imf_vminu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vminu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !391 { + %3 = tail call spir_func i32 @__devicelib_imf_vminu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vseteq2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !392 { + %3 = tail call spir_func i32 @__devicelib_imf_vseteq2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vseteq4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !393 { + %3 = tail call spir_func i32 @__devicelib_imf_vseteq4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetne2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !394 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetne2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetne4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !395 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetne4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetges2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !396 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetges2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetges4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !397 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetges4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgeu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !398 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgeu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgeu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !399 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgeu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !400 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgts2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !401 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgts4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgtu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !402 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgtu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetgtu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !403 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetgtu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetles2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !404 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetles2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetles4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !405 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetles4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetleu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !406 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetleu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetleu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !407 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetleu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetlts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !408 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetlts2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetlts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !409 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetlts4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetltu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !410 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetltu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsetltu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !411 { + %3 = tail call spir_func i32 @__devicelib_imf_vsetltu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsads2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !412 { + %3 = tail call spir_func i32 @__devicelib_imf_vsads2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsads4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !413 { + %3 = tail call spir_func i32 @__devicelib_imf_vsads4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsadu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !414 { + %3 = tail call spir_func i32 @__devicelib_imf_vsadu2(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_vsadu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #11 !srcloc !415 { + %3 = tail call spir_func i32 @__devicelib_imf_vsadu4(i32 noundef %0, i32 noundef %1) #54 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_float2half_rn(float noundef %0) local_unnamed_addr #11 !srcloc !416 { + %2 = tail call spir_func half @__devicelib_imf_float2half_rn(float noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_float2half_rd(float noundef %0) local_unnamed_addr #11 !srcloc !417 { + %2 = tail call spir_func half @__devicelib_imf_float2half_rd(float noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_float2half_ru(float noundef %0) local_unnamed_addr #11 !srcloc !418 { + %2 = tail call spir_func half @__devicelib_imf_float2half_ru(float noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_float2half_rz(float noundef %0) local_unnamed_addr #11 !srcloc !419 { + %2 = tail call spir_func half @__devicelib_imf_float2half_rz(float noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2int_rd(half noundef %0) local_unnamed_addr #11 !srcloc !420 { + %2 = tail call spir_func i32 @__devicelib_imf_half2int_rd(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2int_rn(half noundef %0) local_unnamed_addr #11 !srcloc !421 { + %2 = tail call spir_func i32 @__devicelib_imf_half2int_rn(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2int_ru(half noundef %0) local_unnamed_addr #11 !srcloc !422 { + %2 = tail call spir_func i32 @__devicelib_imf_half2int_ru(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2int_rz(half noundef %0) local_unnamed_addr #11 !srcloc !423 { + %2 = tail call spir_func i32 @__devicelib_imf_half2int_rz(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ll_rd(half noundef %0) local_unnamed_addr #11 !srcloc !424 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ll_rd(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ll_rn(half noundef %0) local_unnamed_addr #11 !srcloc !425 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ll_rn(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ll_ru(half noundef %0) local_unnamed_addr #11 !srcloc !426 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ll_ru(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ll_rz(half noundef %0) local_unnamed_addr #11 !srcloc !427 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ll_rz(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_half2short_rd(half noundef %0) local_unnamed_addr #11 !srcloc !428 { + %2 = tail call spir_func signext i16 @__devicelib_imf_half2short_rd(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_half2short_rn(half noundef %0) local_unnamed_addr #11 !srcloc !429 { + %2 = tail call spir_func signext i16 @__devicelib_imf_half2short_rn(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_half2short_ru(half noundef %0) local_unnamed_addr #11 !srcloc !430 { + %2 = tail call spir_func signext i16 @__devicelib_imf_half2short_ru(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_half2short_rz(half noundef %0) local_unnamed_addr #11 !srcloc !431 { + %2 = tail call spir_func signext i16 @__devicelib_imf_half2short_rz(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2uint_rd(half noundef %0) local_unnamed_addr #11 !srcloc !432 { + %2 = tail call spir_func i32 @__devicelib_imf_half2uint_rd(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2uint_rn(half noundef %0) local_unnamed_addr #11 !srcloc !433 { + %2 = tail call spir_func i32 @__devicelib_imf_half2uint_rn(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2uint_ru(half noundef %0) local_unnamed_addr #11 !srcloc !434 { + %2 = tail call spir_func i32 @__devicelib_imf_half2uint_ru(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_half2uint_rz(half noundef %0) local_unnamed_addr #11 !srcloc !435 { + %2 = tail call spir_func i32 @__devicelib_imf_half2uint_rz(half noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ull_rd(half noundef %0) local_unnamed_addr #11 !srcloc !436 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ull_rd(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ull_rn(half noundef %0) local_unnamed_addr #11 !srcloc !437 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ull_rn(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ull_ru(half noundef %0) local_unnamed_addr #11 !srcloc !438 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ull_ru(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_half2ull_rz(half noundef %0) local_unnamed_addr #11 !srcloc !439 { + %2 = tail call spir_func i64 @__devicelib_imf_half2ull_rz(half noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_half2ushort_rd(half noundef %0) local_unnamed_addr #11 !srcloc !440 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_half2ushort_rd(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_half2ushort_rn(half noundef %0) local_unnamed_addr #11 !srcloc !441 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_half2ushort_rn(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_half2ushort_ru(half noundef %0) local_unnamed_addr #11 !srcloc !442 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_half2ushort_ru(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_half2ushort_rz(half noundef %0) local_unnamed_addr #11 !srcloc !443 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_half2ushort_rz(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_half_as_short(half noundef %0) local_unnamed_addr #11 !srcloc !444 { + %2 = tail call spir_func signext i16 @__devicelib_imf_half_as_short(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_half_as_ushort(half noundef %0) local_unnamed_addr #11 !srcloc !445 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_half_as_ushort(half noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_int2half_rd(i32 noundef %0) local_unnamed_addr #11 !srcloc !446 { + %2 = tail call spir_func half @__devicelib_imf_int2half_rd(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_int2half_rn(i32 noundef %0) local_unnamed_addr #11 !srcloc !447 { + %2 = tail call spir_func half @__devicelib_imf_int2half_rn(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_int2half_ru(i32 noundef %0) local_unnamed_addr #11 !srcloc !448 { + %2 = tail call spir_func half @__devicelib_imf_int2half_ru(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_int2half_rz(i32 noundef %0) local_unnamed_addr #11 !srcloc !449 { + %2 = tail call spir_func half @__devicelib_imf_int2half_rz(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ll2half_rd(i64 noundef %0) local_unnamed_addr #11 !srcloc !450 { + %2 = tail call spir_func half @__devicelib_imf_ll2half_rd(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ll2half_rn(i64 noundef %0) local_unnamed_addr #11 !srcloc !451 { + %2 = tail call spir_func half @__devicelib_imf_ll2half_rn(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ll2half_ru(i64 noundef %0) local_unnamed_addr #11 !srcloc !452 { + %2 = tail call spir_func half @__devicelib_imf_ll2half_ru(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ll2half_rz(i64 noundef %0) local_unnamed_addr #11 !srcloc !453 { + %2 = tail call spir_func half @__devicelib_imf_ll2half_rz(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_short2half_rd(i16 noundef signext %0) local_unnamed_addr #11 !srcloc !454 { + %2 = tail call spir_func half @__devicelib_imf_short2half_rd(i16 noundef signext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_short2half_rn(i16 noundef signext %0) local_unnamed_addr #11 !srcloc !455 { + %2 = tail call spir_func half @__devicelib_imf_short2half_rn(i16 noundef signext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_short2half_ru(i16 noundef signext %0) local_unnamed_addr #11 !srcloc !456 { + %2 = tail call spir_func half @__devicelib_imf_short2half_ru(i16 noundef signext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_short2half_rz(i16 noundef signext %0) local_unnamed_addr #11 !srcloc !457 { + %2 = tail call spir_func half @__devicelib_imf_short2half_rz(i16 noundef signext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_short_as_half(i16 noundef signext %0) local_unnamed_addr #11 !srcloc !458 { + %2 = tail call spir_func half @__devicelib_imf_short_as_half(i16 noundef signext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_uint2half_rd(i32 noundef %0) local_unnamed_addr #11 !srcloc !459 { + %2 = tail call spir_func half @__devicelib_imf_uint2half_rd(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_uint2half_rn(i32 noundef %0) local_unnamed_addr #11 !srcloc !460 { + %2 = tail call spir_func half @__devicelib_imf_uint2half_rn(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_uint2half_ru(i32 noundef %0) local_unnamed_addr #11 !srcloc !461 { + %2 = tail call spir_func half @__devicelib_imf_uint2half_ru(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_uint2half_rz(i32 noundef %0) local_unnamed_addr #11 !srcloc !462 { + %2 = tail call spir_func half @__devicelib_imf_uint2half_rz(i32 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ull2half_rd(i64 noundef %0) local_unnamed_addr #11 !srcloc !463 { + %2 = tail call spir_func half @__devicelib_imf_ull2half_rd(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ull2half_rn(i64 noundef %0) local_unnamed_addr #11 !srcloc !464 { + %2 = tail call spir_func half @__devicelib_imf_ull2half_rn(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ull2half_ru(i64 noundef %0) local_unnamed_addr #11 !srcloc !465 { + %2 = tail call spir_func half @__devicelib_imf_ull2half_ru(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ull2half_rz(i64 noundef %0) local_unnamed_addr #11 !srcloc !466 { + %2 = tail call spir_func half @__devicelib_imf_ull2half_rz(i64 noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ushort2half_rd(i16 noundef zeroext %0) local_unnamed_addr #11 !srcloc !467 { + %2 = tail call spir_func half @__devicelib_imf_ushort2half_rd(i16 noundef zeroext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ushort2half_rn(i16 noundef zeroext %0) local_unnamed_addr #11 !srcloc !468 { + %2 = tail call spir_func half @__devicelib_imf_ushort2half_rn(i16 noundef zeroext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ushort2half_ru(i16 noundef zeroext %0) local_unnamed_addr #11 !srcloc !469 { + %2 = tail call spir_func half @__devicelib_imf_ushort2half_ru(i16 noundef zeroext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ushort2half_rz(i16 noundef zeroext %0) local_unnamed_addr #11 !srcloc !470 { + %2 = tail call spir_func half @__devicelib_imf_ushort2half_rz(i16 noundef zeroext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_ushort_as_half(i16 noundef zeroext %0) local_unnamed_addr #11 !srcloc !471 { + %2 = tail call spir_func half @__devicelib_imf_ushort_as_half(i16 noundef zeroext %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_exp10f(float noundef %0) local_unnamed_addr #11 !srcloc !472 { + %2 = tail call spir_func float @__devicelib_imf_fast_exp10f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_expf(float noundef %0) local_unnamed_addr #11 !srcloc !473 { + %2 = tail call spir_func float @__devicelib_imf_fast_expf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_fdividef(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !474 { + %3 = tail call spir_func float @__devicelib_imf_fast_fdividef(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_logf(float noundef %0) local_unnamed_addr #11 !srcloc !475 { + %2 = tail call spir_func float @__devicelib_imf_fast_logf(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_log2f(float noundef %0) local_unnamed_addr #11 !srcloc !476 { + %2 = tail call spir_func float @__devicelib_imf_fast_log2f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_log10f(float noundef %0) local_unnamed_addr #11 !srcloc !477 { + %2 = tail call spir_func float @__devicelib_imf_fast_log10f(float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fast_powf(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !478 { + %3 = tail call spir_func float @__devicelib_imf_fast_powf(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fadd_rd(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !479 { + %3 = tail call spir_func float @__devicelib_imf_fadd_rd(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fadd_rn(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !480 { + %3 = tail call spir_func float @__devicelib_imf_fadd_rn(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fadd_ru(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !481 { + %3 = tail call spir_func float @__devicelib_imf_fadd_ru(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fadd_rz(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !482 { + %3 = tail call spir_func float @__devicelib_imf_fadd_rz(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fsub_rd(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !483 { + %3 = tail call spir_func float @__devicelib_imf_fsub_rd(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fsub_rn(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !484 { + %3 = tail call spir_func float @__devicelib_imf_fsub_rn(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fsub_ru(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !485 { + %3 = tail call spir_func float @__devicelib_imf_fsub_ru(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fsub_rz(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !486 { + %3 = tail call spir_func float @__devicelib_imf_fsub_rz(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmul_rd(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !487 { + %3 = tail call spir_func float @__devicelib_imf_fmul_rd(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmul_rn(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !488 { + %3 = tail call spir_func float @__devicelib_imf_fmul_rn(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmul_ru(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !489 { + %3 = tail call spir_func float @__devicelib_imf_fmul_ru(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fmul_rz(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !490 { + %3 = tail call spir_func float @__devicelib_imf_fmul_rz(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fdiv_rd(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !491 { + %3 = tail call spir_func float @__devicelib_imf_fdiv_rd(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_frcp_rd(float noundef %0) local_unnamed_addr #11 !srcloc !492 { + %2 = tail call spir_func float @__devicelib_imf_fdiv_rd(float noundef 1.000000e+00, float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fdiv_rn(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !493 { + %3 = tail call spir_func float @__devicelib_imf_fdiv_rn(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_frcp_rn(float noundef %0) local_unnamed_addr #11 !srcloc !494 { + %2 = tail call spir_func float @__devicelib_imf_fdiv_rn(float noundef 1.000000e+00, float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fdiv_ru(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !495 { + %3 = tail call spir_func float @__devicelib_imf_fdiv_ru(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_frcp_ru(float noundef %0) local_unnamed_addr #11 !srcloc !496 { + %2 = tail call spir_func float @__devicelib_imf_fdiv_ru(float noundef 1.000000e+00, float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_fdiv_rz(float noundef %0, float noundef %1) local_unnamed_addr #11 !srcloc !497 { + %3 = tail call spir_func float @__devicelib_imf_fdiv_rz(float noundef %0, float noundef %1) #54 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_frcp_rz(float noundef %0) local_unnamed_addr #11 !srcloc !498 { + %2 = tail call spir_func float @__devicelib_imf_fdiv_rz(float noundef 1.000000e+00, float noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_double2float_rd(double noundef %0) local_unnamed_addr #12 !srcloc !499 { + %2 = tail call spir_func float @__devicelib_imf_double2float_rd(double noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_double2float_rn(double noundef %0) local_unnamed_addr #12 !srcloc !500 { + %2 = tail call spir_func float @__devicelib_imf_double2float_rn(double noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_double2float_ru(double noundef %0) local_unnamed_addr #12 !srcloc !501 { + %2 = tail call spir_func float @__devicelib_imf_double2float_ru(double noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_double2float_rz(double noundef %0) local_unnamed_addr #12 !srcloc !502 { + %2 = tail call spir_func float @__devicelib_imf_double2float_rz(double noundef %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2int_rd(double noundef %0) local_unnamed_addr #12 !srcloc !503 { + %2 = tail call spir_func i32 @__devicelib_imf_double2int_rd(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2int_rn(double noundef %0) local_unnamed_addr #12 !srcloc !504 { + %2 = tail call spir_func i32 @__devicelib_imf_double2int_rn(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2int_ru(double noundef %0) local_unnamed_addr #12 !srcloc !505 { + %2 = tail call spir_func i32 @__devicelib_imf_double2int_ru(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2int_rz(double noundef %0) local_unnamed_addr #12 !srcloc !506 { + %2 = tail call spir_func i32 @__devicelib_imf_double2int_rz(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2hiint(double noundef %0) local_unnamed_addr #12 !srcloc !507 { + %2 = tail call spir_func i32 @__devicelib_imf_double2hiint(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2loint(double noundef %0) local_unnamed_addr #12 !srcloc !508 { + %2 = tail call spir_func i32 @__devicelib_imf_double2loint(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2uint_rd(double noundef %0) local_unnamed_addr #12 !srcloc !509 { + %2 = tail call spir_func i32 @__devicelib_imf_double2uint_rd(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2uint_rn(double noundef %0) local_unnamed_addr #12 !srcloc !510 { + %2 = tail call spir_func i32 @__devicelib_imf_double2uint_rn(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2uint_ru(double noundef %0) local_unnamed_addr #12 !srcloc !511 { + %2 = tail call spir_func i32 @__devicelib_imf_double2uint_ru(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_double2uint_rz(double noundef %0) local_unnamed_addr #12 !srcloc !512 { + %2 = tail call spir_func i32 @__devicelib_imf_double2uint_rz(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ll_rd(double noundef %0) local_unnamed_addr #12 !srcloc !513 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ll_rd(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ll_rn(double noundef %0) local_unnamed_addr #12 !srcloc !514 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ll_rn(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ll_ru(double noundef %0) local_unnamed_addr #12 !srcloc !515 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ll_ru(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ll_rz(double noundef %0) local_unnamed_addr #12 !srcloc !516 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ll_rz(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ull_rd(double noundef %0) local_unnamed_addr #12 !srcloc !517 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ull_rd(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ull_rn(double noundef %0) local_unnamed_addr #12 !srcloc !518 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ull_rn(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ull_ru(double noundef %0) local_unnamed_addr #12 !srcloc !519 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ull_ru(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double2ull_rz(double noundef %0) local_unnamed_addr #12 !srcloc !520 { + %2 = tail call spir_func i64 @__devicelib_imf_double2ull_rz(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_double_as_longlong(double noundef %0) local_unnamed_addr #12 !srcloc !521 { + %2 = tail call spir_func i64 @__devicelib_imf_double_as_longlong(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_hiloint2double(i32 noundef %0, i32 noundef %1) local_unnamed_addr #12 !srcloc !522 { + %3 = tail call spir_func double @__devicelib_imf_hiloint2double(i32 noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_int2double_rn(i32 noundef %0) local_unnamed_addr #12 !srcloc !523 { + %2 = tail call spir_func double @__devicelib_imf_int2double_rn(i32 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ll2double_rd(i64 noundef %0) local_unnamed_addr #12 !srcloc !524 { + %2 = tail call spir_func double @__devicelib_imf_ll2double_rd(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ll2double_rn(i64 noundef %0) local_unnamed_addr #12 !srcloc !525 { + %2 = tail call spir_func double @__devicelib_imf_ll2double_rn(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ll2double_ru(i64 noundef %0) local_unnamed_addr #12 !srcloc !526 { + %2 = tail call spir_func double @__devicelib_imf_ll2double_ru(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ll2double_rz(i64 noundef %0) local_unnamed_addr #12 !srcloc !527 { + %2 = tail call spir_func double @__devicelib_imf_ll2double_rz(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_longlong_as_double(i64 noundef %0) local_unnamed_addr #12 !srcloc !528 { + %2 = tail call spir_func double @__devicelib_imf_longlong_as_double(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_uint2double_rn(i32 noundef %0) local_unnamed_addr #12 !srcloc !529 { + %2 = tail call spir_func double @__devicelib_imf_uint2double_rn(i32 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ull2double_rd(i64 noundef %0) local_unnamed_addr #12 !srcloc !530 { + %2 = tail call spir_func double @__devicelib_imf_ull2double_rd(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ull2double_rn(i64 noundef %0) local_unnamed_addr #12 !srcloc !531 { + %2 = tail call spir_func double @__devicelib_imf_ull2double_rn(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ull2double_ru(i64 noundef %0) local_unnamed_addr #12 !srcloc !532 { + %2 = tail call spir_func double @__devicelib_imf_ull2double_ru(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ull2double_rz(i64 noundef %0) local_unnamed_addr #12 !srcloc !533 { + %2 = tail call spir_func double @__devicelib_imf_ull2double_rz(i64 noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fma(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #12 !srcloc !534 { + %4 = tail call spir_func double @__devicelib_imf_fma(double noundef %0, double noundef %1, double noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_floor(double noundef %0) local_unnamed_addr #12 !srcloc !535 { + %2 = tail call spir_func double @__devicelib_imf_floor(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ceil(double noundef %0) local_unnamed_addr #12 !srcloc !536 { + %2 = tail call spir_func double @__devicelib_imf_ceil(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_trunc(double noundef %0) local_unnamed_addr #12 !srcloc !537 { + %2 = tail call spir_func double @__devicelib_imf_trunc(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rint(double noundef %0) local_unnamed_addr #12 !srcloc !538 { + %2 = tail call spir_func double @__devicelib_imf_rint(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_nearbyint(double noundef %0) local_unnamed_addr #12 !srcloc !539 { + %2 = tail call spir_func double @__devicelib_imf_nearbyint(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_sqrt(double noundef %0) local_unnamed_addr #12 !srcloc !540 { + %2 = tail call spir_func double @__devicelib_imf_sqrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rsqrt(double noundef %0) local_unnamed_addr #12 !srcloc !541 { + %2 = tail call spir_func double @__devicelib_imf_rsqrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_inv(double noundef %0) local_unnamed_addr #12 !srcloc !542 { + %2 = tail call spir_func double @__devicelib_imf_inv(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fabs(double noundef %0) local_unnamed_addr #12 !srcloc !543 { + %2 = tail call spir_func double @__devicelib_imf_fabs(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fmax(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !544 { + %3 = tail call spir_func double @__devicelib_imf_fmax(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fmin(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !545 { + %3 = tail call spir_func double @__devicelib_imf_fmin(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_copysign(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !546 { + %3 = tail call spir_func double @__devicelib_imf_copysign(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_erfinv(double noundef %0) local_unnamed_addr #12 !srcloc !547 { + %2 = tail call spir_func double @__devicelib_imf_erfinv(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_acos(double noundef %0) local_unnamed_addr #12 !srcloc !230 { + %2 = tail call spir_func double @__devicelib_imf_acos(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_acosh(double noundef %0) local_unnamed_addr #12 !srcloc !548 { + %2 = tail call spir_func double @__devicelib_imf_acosh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_asin(double noundef %0) local_unnamed_addr #12 !srcloc !549 { + %2 = tail call spir_func double @__devicelib_imf_asin(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_asinh(double noundef %0) local_unnamed_addr #12 !srcloc !550 { + %2 = tail call spir_func double @__devicelib_imf_asinh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_atan2(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !551 { + %3 = tail call spir_func double @__devicelib_imf_atan2(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_atan(double noundef %0) local_unnamed_addr #12 !srcloc !552 { + %2 = tail call spir_func double @__devicelib_imf_atan(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_atanh(double noundef %0) local_unnamed_addr #12 !srcloc !553 { + %2 = tail call spir_func double @__devicelib_imf_atanh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cbrt(double noundef %0) local_unnamed_addr #12 !srcloc !554 { + %2 = tail call spir_func double @__devicelib_imf_cbrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cdfnorm(double noundef %0) local_unnamed_addr #12 !srcloc !555 { + %2 = tail call spir_func double @__devicelib_imf_cdfnorm(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cdfnorminv(double noundef %0) local_unnamed_addr #12 !srcloc !556 { + %2 = tail call spir_func double @__devicelib_imf_cdfnorminv(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cos(double noundef %0) local_unnamed_addr #12 !srcloc !557 { + %2 = tail call spir_func double @__devicelib_imf_cos(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cosh(double noundef %0) local_unnamed_addr #12 !srcloc !558 { + %2 = tail call spir_func double @__devicelib_imf_cosh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_cospi(double noundef %0) local_unnamed_addr #12 !srcloc !559 { + %2 = tail call spir_func double @__devicelib_imf_cospi(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_erfc(double noundef %0) local_unnamed_addr #12 !srcloc !560 { + %2 = tail call spir_func double @__devicelib_imf_erfc(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_erfcinv(double noundef %0) local_unnamed_addr #12 !srcloc !561 { + %2 = tail call spir_func double @__devicelib_imf_erfcinv(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_erfcx(double noundef %0) local_unnamed_addr #12 !srcloc !562 { + %2 = tail call spir_func double @__devicelib_imf_erfcx(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_erf(double noundef %0) local_unnamed_addr #12 !srcloc !563 { + %2 = tail call spir_func double @__devicelib_imf_erf(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_exp10(double noundef %0) local_unnamed_addr #12 !srcloc !564 { + %2 = tail call spir_func double @__devicelib_imf_exp10(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_exp2(double noundef %0) local_unnamed_addr #12 !srcloc !565 { + %2 = tail call spir_func double @__devicelib_imf_exp2(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_exp(double noundef %0) local_unnamed_addr #12 !srcloc !566 { + %2 = tail call spir_func double @__devicelib_imf_exp(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_expm1(double noundef %0) local_unnamed_addr #12 !srcloc !567 { + %2 = tail call spir_func double @__devicelib_imf_expm1(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fdim(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !568 { + %3 = tail call spir_func double @__devicelib_imf_fdim(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_fmod(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !569 { + %3 = tail call spir_func double @__devicelib_imf_fmod(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_frexp(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #12 !srcloc !570 { + %3 = tail call spir_func double @__devicelib_imf_frexp(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_hypot(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !571 { + %3 = tail call spir_func double @__devicelib_imf_hypot(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_ilogb(double noundef %0) local_unnamed_addr #12 !srcloc !572 { + %2 = tail call spir_func i32 @__devicelib_imf_ilogb(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rcbrt(double noundef %0) local_unnamed_addr #12 !srcloc !573 { + %2 = tail call spir_func double @__devicelib_imf_rcbrt(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isfinite(double noundef %0) local_unnamed_addr #12 !srcloc !574 { + %2 = tail call spir_func i32 @__devicelib_imf_isfinite(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isinf(double noundef %0) local_unnamed_addr #12 !srcloc !575 { + %2 = tail call spir_func i32 @__devicelib_imf_isinf(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_isnan(double noundef %0) local_unnamed_addr #12 !srcloc !576 { + %2 = tail call spir_func i32 @__devicelib_imf_isnan(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ldexp(double noundef %0, i32 noundef %1) local_unnamed_addr #12 !srcloc !577 { + %3 = tail call spir_func double @__devicelib_imf_ldexp(double noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llrint(double noundef %0) local_unnamed_addr #12 !srcloc !578 { + %2 = tail call spir_func i64 @__devicelib_imf_llrint(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_llround(double noundef %0) local_unnamed_addr #12 !srcloc !579 { + %2 = tail call spir_func i64 @__devicelib_imf_llround(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_log(double noundef %0) local_unnamed_addr #12 !srcloc !580 { + %2 = tail call spir_func double @__devicelib_imf_log(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_log10(double noundef %0) local_unnamed_addr #12 !srcloc !581 { + %2 = tail call spir_func double @__devicelib_imf_log10(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_log1p(double noundef %0) local_unnamed_addr #12 !srcloc !582 { + %2 = tail call spir_func double @__devicelib_imf_log1p(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_log2(double noundef %0) local_unnamed_addr #12 !srcloc !583 { + %2 = tail call spir_func double @__devicelib_imf_log2(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_logb(double noundef %0) local_unnamed_addr #12 !srcloc !584 { + %2 = tail call spir_func double @__devicelib_imf_logb(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_lrint(double noundef %0) local_unnamed_addr #12 !srcloc !585 { + %2 = tail call spir_func i64 @__devicelib_imf_lrint(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_lround(double noundef %0) local_unnamed_addr #12 !srcloc !586 { + %2 = tail call spir_func i64 @__devicelib_imf_lround(double noundef %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_modf(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #12 !srcloc !587 { + %3 = tail call spir_func double @__devicelib_imf_modf(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_nan(ptr addrspace(4) noundef %0) local_unnamed_addr #12 !srcloc !588 { + %2 = tail call spir_func double @__devicelib_imf_nan(ptr addrspace(4) noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_nextafter(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !589 { + %3 = tail call spir_func double @__devicelib_imf_nextafter(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_norm(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #12 !srcloc !590 { + %3 = tail call spir_func double @__devicelib_imf_norm(i32 noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_norm3d(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #12 !srcloc !591 { + %4 = tail call spir_func double @__devicelib_imf_norm3d(double noundef %0, double noundef %1, double noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_norm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) local_unnamed_addr #12 !srcloc !592 { + %5 = tail call spir_func double @__devicelib_imf_norm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) #54 + ret double %5 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_pow(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !593 { + %3 = tail call spir_func double @__devicelib_imf_pow(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_remainder(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !594 { + %3 = tail call spir_func double @__devicelib_imf_remainder(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #12 !srcloc !595 { + %4 = tail call spir_func double @__devicelib_imf_remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rhypot(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !596 { + %3 = tail call spir_func double @__devicelib_imf_rhypot(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rnorm(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #12 !srcloc !597 { + %3 = tail call spir_func double @__devicelib_imf_rnorm(i32 noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rnorm3d(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #12 !srcloc !598 { + %4 = tail call spir_func double @__devicelib_imf_rnorm3d(double noundef %0, double noundef %1, double noundef %2) #54 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_rnorm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) local_unnamed_addr #12 !srcloc !599 { + %5 = tail call spir_func double @__devicelib_imf_rnorm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) #54 + ret double %5 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_round(double noundef %0) local_unnamed_addr #12 !srcloc !600 { + %2 = tail call spir_func double @__devicelib_imf_round(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_scalbn(double noundef %0, i32 noundef %1) local_unnamed_addr #12 !srcloc !601 { + %3 = tail call spir_func double @__devicelib_imf_scalbn(double noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_signbit(double noundef %0) local_unnamed_addr #12 !srcloc !602 { + %2 = tail call spir_func i32 @__devicelib_imf_signbit(double noundef %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__imf_sincos(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #12 !srcloc !603 { + tail call spir_func void @__devicelib_imf_sincos(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__imf_sincospi(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #12 !srcloc !604 { + tail call spir_func void @__devicelib_imf_sincospi(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) #54 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_sin(double noundef %0) local_unnamed_addr #12 !srcloc !605 { + %2 = tail call spir_func double @__devicelib_imf_sin(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_sinh(double noundef %0) local_unnamed_addr #12 !srcloc !606 { + %2 = tail call spir_func double @__devicelib_imf_sinh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_sinpi(double noundef %0) local_unnamed_addr #12 !srcloc !607 { + %2 = tail call spir_func double @__devicelib_imf_sinpi(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_tan(double noundef %0) local_unnamed_addr #12 !srcloc !608 { + %2 = tail call spir_func double @__devicelib_imf_tan(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_tanh(double noundef %0) local_unnamed_addr #12 !srcloc !609 { + %2 = tail call spir_func double @__devicelib_imf_tanh(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_tgamma(double noundef %0) local_unnamed_addr #12 !srcloc !610 { + %2 = tail call spir_func double @__devicelib_imf_tgamma(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_lgamma(double noundef %0) local_unnamed_addr #12 !srcloc !611 { + %2 = tail call spir_func double @__devicelib_imf_lgamma(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_i0(double noundef %0) local_unnamed_addr #12 !srcloc !612 { + %2 = tail call spir_func double @__devicelib_imf_i0(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_i1(double noundef %0) local_unnamed_addr #12 !srcloc !613 { + %2 = tail call spir_func double @__devicelib_imf_i1(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_j0(double noundef %0) local_unnamed_addr #12 !srcloc !614 { + %2 = tail call spir_func double @__devicelib_imf_j0(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_j1(double noundef %0) local_unnamed_addr #12 !srcloc !615 { + %2 = tail call spir_func double @__devicelib_imf_j1(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_y0(double noundef %0) local_unnamed_addr #12 !srcloc !616 { + %2 = tail call spir_func double @__devicelib_imf_y0(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_y1(double noundef %0) local_unnamed_addr #12 !srcloc !617 { + %2 = tail call spir_func double @__devicelib_imf_y1(double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_pown(double noundef %0, i32 noundef %1) local_unnamed_addr #12 !srcloc !618 { + %3 = tail call spir_func double @__devicelib_imf_pown(double noundef %0, i32 noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__imf_double2half(double noundef %0) local_unnamed_addr #12 !srcloc !619 { + %2 = tail call spir_func half @__devicelib_imf_double2half(double noundef %0) #54 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_double2bfloat16(double noundef %0) local_unnamed_addr #12 !srcloc !620 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_double2bfloat16(double noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dadd_rd(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !621 { + %3 = tail call spir_func double @__devicelib_imf_dadd_rd(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dadd_rn(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !622 { + %3 = tail call spir_func double @__devicelib_imf_dadd_rn(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dadd_ru(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !623 { + %3 = tail call spir_func double @__devicelib_imf_dadd_ru(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dadd_rz(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !624 { + %3 = tail call spir_func double @__devicelib_imf_dadd_rz(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dsub_rd(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !625 { + %3 = tail call spir_func double @__devicelib_imf_dsub_rd(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dsub_rn(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !626 { + %3 = tail call spir_func double @__devicelib_imf_dsub_rn(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dsub_ru(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !627 { + %3 = tail call spir_func double @__devicelib_imf_dsub_ru(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dsub_rz(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !628 { + %3 = tail call spir_func double @__devicelib_imf_dsub_rz(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dmul_rd(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !629 { + %3 = tail call spir_func double @__devicelib_imf_dmul_rd(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dmul_rn(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !630 { + %3 = tail call spir_func double @__devicelib_imf_dmul_rn(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dmul_ru(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !631 { + %3 = tail call spir_func double @__devicelib_imf_dmul_ru(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_dmul_rz(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !632 { + %3 = tail call spir_func double @__devicelib_imf_dmul_rz(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ddiv_rd(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !633 { + %3 = tail call spir_func double @__devicelib_imf_ddiv_rd(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_drcp_rd(double noundef %0) local_unnamed_addr #12 !srcloc !634 { + %2 = tail call spir_func double @__devicelib_imf_ddiv_rd(double noundef 1.000000e+00, double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ddiv_rn(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !635 { + %3 = tail call spir_func double @__devicelib_imf_ddiv_rn(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_drcp_rn(double noundef %0) local_unnamed_addr #12 !srcloc !636 { + %2 = tail call spir_func double @__devicelib_imf_ddiv_rn(double noundef 1.000000e+00, double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ddiv_ru(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !637 { + %3 = tail call spir_func double @__devicelib_imf_ddiv_ru(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_drcp_ru(double noundef %0) local_unnamed_addr #12 !srcloc !638 { + %2 = tail call spir_func double @__devicelib_imf_ddiv_ru(double noundef 1.000000e+00, double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_ddiv_rz(double noundef %0, double noundef %1) local_unnamed_addr #12 !srcloc !639 { + %3 = tail call spir_func double @__devicelib_imf_ddiv_rz(double noundef %0, double noundef %1) #54 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__imf_drcp_rz(double noundef %0) local_unnamed_addr #12 !srcloc !640 { + %2 = tail call spir_func double @__devicelib_imf_ddiv_rz(double noundef 1.000000e+00, double noundef %0) #54 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__imf_bfloat162float(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !641 { + %2 = tail call spir_func float @__devicelib_imf_bfloat162float(i16 noundef zeroext %0) #54 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_float2bfloat16(float noundef %0) local_unnamed_addr #13 !srcloc !642 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_float2bfloat16(float noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_float2bfloat16_rd(float noundef %0) local_unnamed_addr #13 !srcloc !643 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rd(float noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_float2bfloat16_rn(float noundef %0) local_unnamed_addr #13 !srcloc !644 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rn(float noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_float2bfloat16_ru(float noundef %0) local_unnamed_addr #13 !srcloc !645 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_float2bfloat16_ru(float noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_float2bfloat16_rz(float noundef %0) local_unnamed_addr #13 !srcloc !123 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rz(float noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162uint_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !646 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162uint_rd(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162uint_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !647 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162uint_rn(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162uint_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !648 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162uint_ru(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162uint_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !649 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162uint_rz(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162int_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !650 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162int_rd(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162int_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !651 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162int_rn(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162int_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !652 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162int_ru(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__imf_bfloat162int_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !653 { + %2 = tail call spir_func i32 @__devicelib_imf_bfloat162int_rz(i16 noundef zeroext %0) #54 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_bfloat162ushort_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !654 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rd(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_bfloat162ushort_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !655 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rn(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_bfloat162ushort_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !656 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_ru(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_bfloat162ushort_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !657 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rz(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_bfloat162short_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !658 { + %2 = tail call spir_func signext i16 @__devicelib_imf_bfloat162short_rd(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_bfloat162short_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !659 { + %2 = tail call spir_func signext i16 @__devicelib_imf_bfloat162short_rn(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_bfloat162short_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !660 { + %2 = tail call spir_func signext i16 @__devicelib_imf_bfloat162short_ru(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_bfloat162short_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !661 { + %2 = tail call spir_func signext i16 @__devicelib_imf_bfloat162short_rz(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ull_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !662 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ull_rd(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ull_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !663 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ull_rn(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ull_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !515 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ull_ru(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ull_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !664 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ull_rz(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ll_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !665 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ll_rd(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ll_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !666 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ll_rn(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ll_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !667 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ll_ru(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__imf_bfloat162ll_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !183 { + %2 = tail call spir_func i64 @__devicelib_imf_bfloat162ll_rz(i16 noundef zeroext %0) #54 + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ushort2bfloat16_rd(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !668 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rd(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ushort2bfloat16_rn(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !669 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rn(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ushort2bfloat16_ru(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !670 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_ru(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ushort2bfloat16_rz(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !671 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rz(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_uint2bfloat16_rd(i32 noundef %0) local_unnamed_addr #13 !srcloc !672 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rd(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_uint2bfloat16_rn(i32 noundef %0) local_unnamed_addr #13 !srcloc !673 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rn(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_uint2bfloat16_ru(i32 noundef %0) local_unnamed_addr #13 !srcloc !674 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_ru(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_uint2bfloat16_rz(i32 noundef %0) local_unnamed_addr #13 !srcloc !675 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rz(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ull2bfloat16_rd(i64 noundef %0) local_unnamed_addr #13 !srcloc !676 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rd(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ull2bfloat16_rn(i64 noundef %0) local_unnamed_addr #13 !srcloc !677 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rn(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ull2bfloat16_ru(i64 noundef %0) local_unnamed_addr #13 !srcloc !678 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_ru(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ull2bfloat16_rz(i64 noundef %0) local_unnamed_addr #13 !srcloc !679 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rz(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_short2bfloat16_rd(i16 noundef signext %0) local_unnamed_addr #13 !srcloc !680 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rd(i16 noundef signext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_short2bfloat16_rn(i16 noundef signext %0) local_unnamed_addr #13 !srcloc !681 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rn(i16 noundef signext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_short2bfloat16_ru(i16 noundef signext %0) local_unnamed_addr #13 !srcloc !682 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_short2bfloat16_ru(i16 noundef signext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_short2bfloat16_rz(i16 noundef signext %0) local_unnamed_addr #13 !srcloc !683 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rz(i16 noundef signext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_int2bfloat16_rd(i32 noundef %0) local_unnamed_addr #13 !srcloc !684 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rd(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_int2bfloat16_rn(i32 noundef %0) local_unnamed_addr #13 !srcloc !685 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rn(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_int2bfloat16_ru(i32 noundef %0) local_unnamed_addr #13 !srcloc !686 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_int2bfloat16_ru(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_int2bfloat16_rz(i32 noundef %0) local_unnamed_addr #13 !srcloc !687 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rz(i32 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ll2bfloat16_rd(i64 noundef %0) local_unnamed_addr #13 !srcloc !688 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rd(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ll2bfloat16_rn(i64 noundef %0) local_unnamed_addr #13 !srcloc !689 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rn(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ll2bfloat16_ru(i64 noundef %0) local_unnamed_addr #13 !srcloc !690 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_ru(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ll2bfloat16_rz(i64 noundef %0) local_unnamed_addr #13 !srcloc !691 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rz(i64 noundef %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__imf_bfloat16_as_short(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !692 { + %2 = tail call spir_func signext i16 @__devicelib_imf_bfloat16_as_short(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_bfloat16_as_ushort(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !693 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_bfloat16_as_ushort(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_short_as_bfloat16(i16 noundef signext %0) local_unnamed_addr #13 !srcloc !694 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_short_as_bfloat16(i16 noundef signext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ushort_as_bfloat16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !695 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ushort_as_bfloat16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_fmabf16(i16 noundef zeroext %0, i16 noundef zeroext %1, i16 noundef zeroext %2) local_unnamed_addr #13 !srcloc !696 { + %4 = tail call spir_func zeroext i16 @__devicelib_imf_fmabf16(i16 noundef zeroext %0, i16 noundef zeroext %1, i16 noundef zeroext %2) #54 + ret i16 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_sqrtbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !697 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_sqrtbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_rsqrtbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !698 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_rsqrtbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_fminbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #13 !srcloc !699 { + %3 = tail call spir_func zeroext i16 @__devicelib_imf_fminbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) #54 + ret i16 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_fmaxbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #13 !srcloc !700 { + %3 = tail call spir_func zeroext i16 @__devicelib_imf_fmaxbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) #54 + ret i16 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_fabsbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !701 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_fabsbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_copysignbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #13 !srcloc !702 { + %3 = tail call spir_func zeroext i16 @__devicelib_imf_copysignbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) #54 + ret i16 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_rintbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !703 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_rintbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_floorbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !704 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_floorbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_ceilbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !705 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_ceilbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__imf_truncbf16(i16 noundef zeroext %0) local_unnamed_addr #13 !srcloc !706 { + %2 = tail call spir_func zeroext i16 @__devicelib_imf_truncbf16(i16 noundef zeroext %0) #54 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_assert_read(ptr addrspace(4) noundef %0) local_unnamed_addr #14 !srcloc !707 { + %2 = tail call spir_func noundef i32 @_Z18__spirv_AtomicLoadPU3AS1KiN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagE(ptr addrspace(1) noundef @SPIR_AssertHappenedMem, i32 noundef 1, i32 noundef 16) #54 + switch i32 %2, label %5 [ + i32 0, label %3 + i32 2, label %8 + ] + +3: ; preds = %1 + %4 = getelementptr inbounds %struct.AssertHappened, ptr addrspace(4) %0, i64 0, i32 0 + store i32 0, ptr addrspace(4) %4, align 8, !tbaa !708 + br label %9 + +5: ; preds = %5, %1 + %6 = tail call spir_func noundef i32 @_Z18__spirv_AtomicLoadPU3AS1KiN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagE(ptr addrspace(1) noundef @SPIR_AssertHappenedMem, i32 noundef 1, i32 noundef 16) #54 + %7 = icmp eq i32 %6, 1 + br i1 %7, label %5, label %8, !llvm.loop !714 + +8: ; preds = %5, %1 + call void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) align 8 %0, ptr addrspace(1) align 8 @SPIR_AssertHappenedMem, i64 704, i1 false), !tbaa.struct !716 + br label %9 + +9: ; preds = %8, %3 + ret void +} + +; Function Attrs: convergent nounwind +declare extern_weak dso_local spir_func noundef i32 @_Z18__spirv_AtomicLoadPU3AS1KiN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagE(ptr addrspace(1) noundef, i32 noundef, i32 noundef) local_unnamed_addr #15 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg) #16 + +; Function Attrs: convergent mustprogress norecurse nounwind +declare extern_weak dso_local spir_func void @__devicelib_assert_fail(ptr addrspace(4) noundef, ptr addrspace(4) noundef, i32 noundef, ptr addrspace(4) noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #14 + +; Function Attrs: convergent nounwind +declare extern_weak dso_local spir_func noundef i32 @_Z29__spirv_AtomicCompareExchangePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagES5_ii(ptr addrspace(1) noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #15 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.umin.i32(i32, i32) #17 + +; Function Attrs: convergent nounwind +declare extern_weak dso_local spir_func void @_Z19__spirv_AtomicStorePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEi(ptr addrspace(1) noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func ptr addrspace(4) @__devicelib_memcpy(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) local_unnamed_addr #18 !srcloc !720 { + %4 = icmp eq ptr addrspace(4) %0, null + %5 = icmp eq ptr addrspace(4) %1, null + %6 = or i1 %4, %5 + %7 = icmp eq i64 %2, 0 + %8 = or i1 %6, %7 + br i1 %8, label %109, label %9 + +9: ; preds = %3 + %10 = ptrtoint ptr addrspace(4) %0 to i64 + %11 = ptrtoint ptr addrspace(4) %1 to i64 + %12 = and i64 %10, 3 + %13 = and i64 %11, 3 + %14 = icmp eq i64 %12, %13 + br i1 %14, label %23, label %15 + +15: ; preds = %18, %9 + %16 = phi i64 [ %22, %18 ], [ 0, %9 ] + %17 = icmp ult i64 %16, %2 + br i1 %17, label %18, label %109 + +18: ; preds = %15 + %19 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %16 + %20 = load i8, ptr addrspace(4) %19, align 1, !tbaa !718 + %21 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %16 + store i8 %20, ptr addrspace(4) %21, align 1, !tbaa !718 + %22 = add nuw i64 %16, 1 + br label %15, !llvm.loop !721 + +23: ; preds = %9 + %24 = icmp eq i64 %12, 0 + br i1 %24, label %25, label %52 + +25: ; preds = %23 + %26 = and i64 %2, 3 + %27 = lshr i64 %2, 2 + br label %28 + +28: ; preds = %31, %25 + %29 = phi i64 [ 0, %25 ], [ %35, %31 ] + %30 = icmp ult i64 %29, %27 + br i1 %30, label %31, label %36 + +31: ; preds = %28 + %32 = getelementptr inbounds i32, ptr addrspace(4) %1, i64 %29 + %33 = load i32, ptr addrspace(4) %32, align 4, !tbaa !717 + %34 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %29 + store i32 %33, ptr addrspace(4) %34, align 4, !tbaa !717 + %35 = add nuw nsw i64 %29, 1 + br label %28, !llvm.loop !722 + +36: ; preds = %28 + %37 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %29 + %38 = getelementptr inbounds i32, ptr addrspace(4) %1, i64 %29 + %39 = icmp eq ptr addrspace(4) %37, null + %40 = icmp eq ptr addrspace(4) %38, null + %41 = or i1 %39, %40 + %42 = icmp eq i64 %26, 0 + %43 = or i1 %41, %42 + br i1 %43, label %109, label %44 + +44: ; preds = %47, %36 + %45 = phi i64 [ %51, %47 ], [ 0, %36 ] + %46 = icmp ult i64 %45, %26 + br i1 %46, label %47, label %109 + +47: ; preds = %44 + %48 = getelementptr inbounds i8, ptr addrspace(4) %38, i64 %45 + %49 = load i8, ptr addrspace(4) %48, align 1, !tbaa !718 + %50 = getelementptr inbounds i8, ptr addrspace(4) %37, i64 %45 + store i8 %49, ptr addrspace(4) %50, align 1, !tbaa !718 + %51 = add nuw i64 %45, 1 + br label %44, !llvm.loop !721 + +52: ; preds = %23 + %53 = sub nuw nsw i64 4, %12 + %54 = icmp ult i64 %53, %2 + br i1 %54, label %63, label %55 + +55: ; preds = %58, %52 + %56 = phi i64 [ %62, %58 ], [ 0, %52 ] + %57 = icmp ult i64 %56, %2 + br i1 %57, label %58, label %109 + +58: ; preds = %55 + %59 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %56 + %60 = load i8, ptr addrspace(4) %59, align 1, !tbaa !718 + %61 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %56 + store i8 %60, ptr addrspace(4) %61, align 1, !tbaa !718 + %62 = add nuw i64 %56, 1 + br label %55, !llvm.loop !721 + +63: ; preds = %66, %52 + %64 = phi i64 [ %70, %66 ], [ 0, %52 ] + %65 = icmp ult i64 %64, %53 + br i1 %65, label %66, label %71 + +66: ; preds = %63 + %67 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %64 + %68 = load i8, ptr addrspace(4) %67, align 1, !tbaa !718 + %69 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %64 + store i8 %68, ptr addrspace(4) %69, align 1, !tbaa !718 + %70 = add nuw i64 %64, 1 + br label %63, !llvm.loop !721 + +71: ; preds = %63 + %72 = add i64 %53, %10 + %73 = inttoptr i64 %72 to ptr addrspace(4) + %74 = add i64 %53, %11 + %75 = inttoptr i64 %74 to ptr addrspace(4) + %76 = icmp eq i64 %72, 0 + %77 = icmp eq i64 %74, 0 + %78 = or i1 %76, %77 + %79 = icmp eq i64 %53, %2 + %80 = or i1 %78, %79 + br i1 %80, label %109, label %81 + +81: ; preds = %71 + %82 = sub i64 %2, %53 + %83 = and i64 %82, 3 + %84 = lshr i64 %82, 2 + br label %85 + +85: ; preds = %88, %81 + %86 = phi i64 [ 0, %81 ], [ %92, %88 ] + %87 = icmp ult i64 %86, %84 + br i1 %87, label %88, label %93 + +88: ; preds = %85 + %89 = getelementptr inbounds i32, ptr addrspace(4) %75, i64 %86 + %90 = load i32, ptr addrspace(4) %89, align 4, !tbaa !717 + %91 = getelementptr inbounds i32, ptr addrspace(4) %73, i64 %86 + store i32 %90, ptr addrspace(4) %91, align 4, !tbaa !717 + %92 = add nuw nsw i64 %86, 1 + br label %85, !llvm.loop !722 + +93: ; preds = %85 + %94 = getelementptr inbounds i32, ptr addrspace(4) %73, i64 %86 + %95 = getelementptr inbounds i32, ptr addrspace(4) %75, i64 %86 + %96 = icmp eq ptr addrspace(4) %94, null + %97 = icmp eq ptr addrspace(4) %95, null + %98 = or i1 %96, %97 + %99 = icmp eq i64 %83, 0 + %100 = or i1 %98, %99 + br i1 %100, label %109, label %101 + +101: ; preds = %104, %93 + %102 = phi i64 [ %108, %104 ], [ 0, %93 ] + %103 = icmp ult i64 %102, %83 + br i1 %103, label %104, label %109 + +104: ; preds = %101 + %105 = getelementptr inbounds i8, ptr addrspace(4) %95, i64 %102 + %106 = load i8, ptr addrspace(4) %105, align 1, !tbaa !718 + %107 = getelementptr inbounds i8, ptr addrspace(4) %94, i64 %102 + store i8 %106, ptr addrspace(4) %107, align 1, !tbaa !718 + %108 = add nuw i64 %102, 1 + br label %101, !llvm.loop !721 + +109: ; preds = %101, %93, %71, %55, %44, %36, %15, %3 + ret ptr addrspace(4) %0 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func ptr addrspace(4) @__devicelib_memset(ptr addrspace(4) noundef %0, i32 noundef %1, i64 noundef %2) local_unnamed_addr #18 !srcloc !723 { + %4 = alloca i32, align 4 + %5 = alloca i32, align 4 + %6 = icmp eq ptr addrspace(4) %0, null + %7 = icmp eq i64 %2, 0 + %8 = or i1 %6, %7 + br i1 %8, label %98, label %9 + +9: ; preds = %3 + %10 = ptrtoint ptr addrspace(4) %0 to i64 + %11 = and i64 %10, 3 + %12 = icmp eq i64 %11, 0 + br i1 %12, label %13, label %43 + +13: ; preds = %9 + %14 = trunc i32 %1 to i8 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + store i32 0, ptr %5, align 4, !tbaa !717 + br label %15 + +15: ; preds = %18, %13 + %16 = phi i64 [ 0, %13 ], [ %20, %18 ] + %17 = icmp ult i64 %16, 4 + br i1 %17, label %18, label %21 + +18: ; preds = %15 + %19 = getelementptr inbounds i8, ptr %5, i64 %16 + store i8 %14, ptr %19, align 1, !tbaa !718 + %20 = add nuw nsw i64 %16, 1 + br label %15, !llvm.loop !724 + +21: ; preds = %15 + %22 = and i64 %2, 3 + %23 = lshr i64 %2, 2 + %24 = load i32, ptr %5, align 4 + br label %25 + +25: ; preds = %28, %21 + %26 = phi i64 [ 0, %21 ], [ %30, %28 ] + %27 = icmp ult i64 %26, %23 + br i1 %27, label %28, label %31 + +28: ; preds = %25 + %29 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %26 + store i32 %24, ptr addrspace(4) %29, align 4, !tbaa !717 + %30 = add nuw nsw i64 %26, 1 + br label %25, !llvm.loop !725 + +31: ; preds = %25 + %32 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %26 + %33 = icmp eq ptr addrspace(4) %32, null + %34 = icmp eq i64 %22, 0 + %35 = or i1 %33, %34 + br i1 %35, label %42, label %36 + +36: ; preds = %39, %31 + %37 = phi i64 [ %41, %39 ], [ 0, %31 ] + %38 = icmp ult i64 %37, %22 + br i1 %38, label %39, label %42 + +39: ; preds = %36 + %40 = getelementptr inbounds i8, ptr addrspace(4) %32, i64 %37 + store i8 %14, ptr addrspace(4) %40, align 1, !tbaa !718 + %41 = add nuw nsw i64 %37, 1 + br label %36, !llvm.loop !726 + +42: ; preds = %36, %31 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + br label %98 + +43: ; preds = %9 + %44 = sub nuw nsw i64 4, %11 + %45 = icmp ult i64 %44, %2 + br i1 %45, label %54, label %46 + +46: ; preds = %43 + %47 = trunc i32 %1 to i8 + br label %48 + +48: ; preds = %51, %46 + %49 = phi i64 [ %53, %51 ], [ 0, %46 ] + %50 = icmp ult i64 %49, %2 + br i1 %50, label %51, label %98 + +51: ; preds = %48 + %52 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %49 + store i8 %47, ptr addrspace(4) %52, align 1, !tbaa !718 + %53 = add nuw nsw i64 %49, 1 + br label %48, !llvm.loop !726 + +54: ; preds = %43 + %55 = trunc i32 %1 to i8 + br label %56 + +56: ; preds = %59, %54 + %57 = phi i64 [ %61, %59 ], [ 0, %54 ] + %58 = icmp ult i64 %57, %44 + br i1 %58, label %59, label %62 + +59: ; preds = %56 + %60 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %57 + store i8 %55, ptr addrspace(4) %60, align 1, !tbaa !718 + %61 = add nuw nsw i64 %57, 1 + br label %56, !llvm.loop !726 + +62: ; preds = %56 + %63 = sub i64 %2, %44 + %64 = add i64 %44, %10 + %65 = inttoptr i64 %64 to ptr addrspace(4) + %66 = icmp eq i64 %64, 0 + %67 = icmp eq i64 %44, %2 + %68 = or i1 %66, %67 + br i1 %68, label %98, label %69 + +69: ; preds = %62 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + store i32 0, ptr %4, align 4, !tbaa !717 + br label %70 + +70: ; preds = %73, %69 + %71 = phi i64 [ 0, %69 ], [ %75, %73 ] + %72 = icmp ult i64 %71, 4 + br i1 %72, label %73, label %76 + +73: ; preds = %70 + %74 = getelementptr inbounds i8, ptr %4, i64 %71 + store i8 %55, ptr %74, align 1, !tbaa !718 + %75 = add nuw nsw i64 %71, 1 + br label %70, !llvm.loop !724 + +76: ; preds = %70 + %77 = and i64 %63, 3 + %78 = lshr i64 %63, 2 + %79 = load i32, ptr %4, align 4 + br label %80 + +80: ; preds = %83, %76 + %81 = phi i64 [ 0, %76 ], [ %85, %83 ] + %82 = icmp ult i64 %81, %78 + br i1 %82, label %83, label %86 + +83: ; preds = %80 + %84 = getelementptr inbounds i32, ptr addrspace(4) %65, i64 %81 + store i32 %79, ptr addrspace(4) %84, align 4, !tbaa !717 + %85 = add nuw nsw i64 %81, 1 + br label %80, !llvm.loop !725 + +86: ; preds = %80 + %87 = getelementptr inbounds i32, ptr addrspace(4) %65, i64 %81 + %88 = icmp eq ptr addrspace(4) %87, null + %89 = icmp eq i64 %77, 0 + %90 = or i1 %88, %89 + br i1 %90, label %97, label %91 + +91: ; preds = %94, %86 + %92 = phi i64 [ %96, %94 ], [ 0, %86 ] + %93 = icmp ult i64 %92, %77 + br i1 %93, label %94, label %97 + +94: ; preds = %91 + %95 = getelementptr inbounds i8, ptr addrspace(4) %87, i64 %92 + store i8 %55, ptr addrspace(4) %95, align 1, !tbaa !718 + %96 = add nuw nsw i64 %92, 1 + br label %91, !llvm.loop !726 + +97: ; preds = %91, %86 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + br label %98 + +98: ; preds = %97, %62, %48, %42, %3 + ret ptr addrspace(4) %0 +} + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #19 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #19 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_memcmp(ptr addrspace(4) noundef %0, ptr addrspace(4) noundef %1, i64 noundef %2) local_unnamed_addr #18 !srcloc !727 { + %4 = icmp eq ptr addrspace(4) %0, %1 + %5 = icmp eq i64 %2, 0 + %6 = or i1 %4, %5 + br i1 %6, label %201, label %7 + +7: ; preds = %3 + %8 = ptrtoint ptr addrspace(4) %0 to i64 + %9 = and i64 %8, 3 + %10 = ptrtoint ptr addrspace(4) %1 to i64 + %11 = and i64 %10, 3 + %12 = icmp eq i64 %9, %11 + br i1 %12, label %28, label %13 + +13: ; preds = %26, %7 + %14 = phi i64 [ %27, %26 ], [ 0, %7 ] + %15 = icmp ult i64 %14, %2 + br i1 %15, label %16, label %201 + +16: ; preds = %13 + %17 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %14 + %18 = load i8, ptr addrspace(4) %17, align 1, !tbaa !718 + %19 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %14 + %20 = load i8, ptr addrspace(4) %19, align 1, !tbaa !718 + %21 = icmp eq i8 %18, %20 + br i1 %21, label %26, label %22 + +22: ; preds = %16 + %23 = zext i8 %20 to i32 + %24 = zext i8 %18 to i32 + %25 = sub nsw i32 %24, %23 + br label %201 + +26: ; preds = %16 + %27 = add nuw i64 %14, 1 + br label %13, !llvm.loop !728 + +28: ; preds = %7 + %29 = icmp eq i64 %9, 0 + br i1 %29, label %30, label %96 + +30: ; preds = %28 + %31 = icmp ult i64 %2, 4 + br i1 %31, label %32, label %47 + +32: ; preds = %45, %30 + %33 = phi i64 [ %46, %45 ], [ 0, %30 ] + %34 = icmp ult i64 %33, %2 + br i1 %34, label %35, label %201 + +35: ; preds = %32 + %36 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %33 + %37 = load i8, ptr addrspace(4) %36, align 1, !tbaa !718 + %38 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %33 + %39 = load i8, ptr addrspace(4) %38, align 1, !tbaa !718 + %40 = icmp eq i8 %37, %39 + br i1 %40, label %45, label %41 + +41: ; preds = %35 + %42 = zext i8 %39 to i32 + %43 = zext i8 %37 to i32 + %44 = sub nsw i32 %43, %42 + br label %201 + +45: ; preds = %35 + %46 = add nuw i64 %33, 1 + br label %32, !llvm.loop !728 + +47: ; preds = %30 + %48 = and i64 %2, 3 + %49 = lshr i64 %2, 2 + br label %50 + +50: ; preds = %59, %47 + %51 = phi i64 [ 0, %47 ], [ %60, %59 ] + %52 = icmp ult i64 %51, %49 + br i1 %52, label %53, label %76 + +53: ; preds = %50 + %54 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %51 + %55 = load i32, ptr addrspace(4) %54, align 4, !tbaa !717 + %56 = getelementptr inbounds i32, ptr addrspace(4) %1, i64 %51 + %57 = load i32, ptr addrspace(4) %56, align 4, !tbaa !717 + %58 = icmp eq i32 %55, %57 + br i1 %58, label %59, label %61 + +59: ; preds = %53 + %60 = add nuw nsw i64 %51, 1 + br label %50, !llvm.loop !729 + +61: ; preds = %74, %53 + %62 = phi i64 [ %75, %74 ], [ 0, %53 ] + %63 = icmp ult i64 %62, 4 + br i1 %63, label %64, label %201 + +64: ; preds = %61 + %65 = getelementptr inbounds i8, ptr addrspace(4) %54, i64 %62 + %66 = load i8, ptr addrspace(4) %65, align 1, !tbaa !718 + %67 = getelementptr inbounds i8, ptr addrspace(4) %56, i64 %62 + %68 = load i8, ptr addrspace(4) %67, align 1, !tbaa !718 + %69 = icmp eq i8 %66, %68 + br i1 %69, label %74, label %70 + +70: ; preds = %64 + %71 = zext i8 %68 to i32 + %72 = zext i8 %66 to i32 + %73 = sub nsw i32 %72, %71 + br label %201 + +74: ; preds = %64 + %75 = add nuw nsw i64 %62, 1 + br label %61, !llvm.loop !728 + +76: ; preds = %50 + %77 = icmp eq i64 %48, 0 + br i1 %77, label %201, label %78 + +78: ; preds = %76 + %79 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 %49 + %80 = getelementptr inbounds i32, ptr addrspace(4) %1, i64 %49 + br label %81 + +81: ; preds = %94, %78 + %82 = phi i64 [ 0, %78 ], [ %95, %94 ] + %83 = icmp ult i64 %82, %48 + br i1 %83, label %84, label %201 + +84: ; preds = %81 + %85 = getelementptr inbounds i8, ptr addrspace(4) %79, i64 %82 + %86 = load i8, ptr addrspace(4) %85, align 1, !tbaa !718 + %87 = getelementptr inbounds i8, ptr addrspace(4) %80, i64 %82 + %88 = load i8, ptr addrspace(4) %87, align 1, !tbaa !718 + %89 = icmp eq i8 %86, %88 + br i1 %89, label %94, label %90 + +90: ; preds = %84 + %91 = zext i8 %88 to i32 + %92 = zext i8 %86 to i32 + %93 = sub nsw i32 %92, %91 + br label %201 + +94: ; preds = %84 + %95 = add nuw i64 %82, 1 + br label %81, !llvm.loop !728 + +96: ; preds = %28 + %97 = sub nuw nsw i64 4, %9 + %98 = icmp ult i64 %97, %2 + br i1 %98, label %114, label %99 + +99: ; preds = %112, %96 + %100 = phi i64 [ %113, %112 ], [ 0, %96 ] + %101 = icmp ult i64 %100, %2 + br i1 %101, label %102, label %201 + +102: ; preds = %99 + %103 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %100 + %104 = load i8, ptr addrspace(4) %103, align 1, !tbaa !718 + %105 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %100 + %106 = load i8, ptr addrspace(4) %105, align 1, !tbaa !718 + %107 = icmp eq i8 %104, %106 + br i1 %107, label %112, label %108 + +108: ; preds = %102 + %109 = zext i8 %106 to i32 + %110 = zext i8 %104 to i32 + %111 = sub nsw i32 %110, %109 + br label %201 + +112: ; preds = %102 + %113 = add nuw i64 %100, 1 + br label %99, !llvm.loop !728 + +114: ; preds = %123, %96 + %115 = phi i64 [ %124, %123 ], [ 0, %96 ] + %116 = icmp ult i64 %115, %97 + br i1 %116, label %117, label %130 + +117: ; preds = %114 + %118 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %115 + %119 = load i8, ptr addrspace(4) %118, align 1, !tbaa !718 + %120 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %115 + %121 = load i8, ptr addrspace(4) %120, align 1, !tbaa !718 + %122 = icmp eq i8 %119, %121 + br i1 %122, label %123, label %125 + +123: ; preds = %117 + %124 = add nuw i64 %115, 1 + br label %114, !llvm.loop !728 + +125: ; preds = %117 + %126 = zext i8 %121 to i32 + %127 = zext i8 %119 to i32 + %128 = sub nsw i32 %127, %126 + %129 = icmp eq i32 %128, 0 + br i1 %129, label %130, label %201 + +130: ; preds = %125, %114 + %131 = getelementptr inbounds i8, ptr addrspace(4) %0, i64 %97 + %132 = getelementptr inbounds i8, ptr addrspace(4) %1, i64 %97 + %133 = sub i64 %2, %97 + %134 = icmp eq i64 %97, %2 + br i1 %134, label %201, label %135 + +135: ; preds = %130 + %136 = icmp ult i64 %133, 4 + br i1 %136, label %137, label %152 + +137: ; preds = %150, %135 + %138 = phi i64 [ %151, %150 ], [ 0, %135 ] + %139 = icmp ult i64 %138, %133 + br i1 %139, label %140, label %201 + +140: ; preds = %137 + %141 = getelementptr inbounds i8, ptr addrspace(4) %131, i64 %138 + %142 = load i8, ptr addrspace(4) %141, align 1, !tbaa !718 + %143 = getelementptr inbounds i8, ptr addrspace(4) %132, i64 %138 + %144 = load i8, ptr addrspace(4) %143, align 1, !tbaa !718 + %145 = icmp eq i8 %142, %144 + br i1 %145, label %150, label %146 + +146: ; preds = %140 + %147 = zext i8 %144 to i32 + %148 = zext i8 %142 to i32 + %149 = sub nsw i32 %148, %147 + br label %201 + +150: ; preds = %140 + %151 = add nuw i64 %138, 1 + br label %137, !llvm.loop !728 + +152: ; preds = %135 + %153 = and i64 %133, 3 + %154 = lshr i64 %133, 2 + br label %155 + +155: ; preds = %164, %152 + %156 = phi i64 [ 0, %152 ], [ %165, %164 ] + %157 = icmp ult i64 %156, %154 + br i1 %157, label %158, label %181 + +158: ; preds = %155 + %159 = getelementptr inbounds i32, ptr addrspace(4) %131, i64 %156 + %160 = load i32, ptr addrspace(4) %159, align 4, !tbaa !717 + %161 = getelementptr inbounds i32, ptr addrspace(4) %132, i64 %156 + %162 = load i32, ptr addrspace(4) %161, align 4, !tbaa !717 + %163 = icmp eq i32 %160, %162 + br i1 %163, label %164, label %166 + +164: ; preds = %158 + %165 = add nuw nsw i64 %156, 1 + br label %155, !llvm.loop !729 + +166: ; preds = %179, %158 + %167 = phi i64 [ %180, %179 ], [ 0, %158 ] + %168 = icmp ult i64 %167, 4 + br i1 %168, label %169, label %201 + +169: ; preds = %166 + %170 = getelementptr inbounds i8, ptr addrspace(4) %159, i64 %167 + %171 = load i8, ptr addrspace(4) %170, align 1, !tbaa !718 + %172 = getelementptr inbounds i8, ptr addrspace(4) %161, i64 %167 + %173 = load i8, ptr addrspace(4) %172, align 1, !tbaa !718 + %174 = icmp eq i8 %171, %173 + br i1 %174, label %179, label %175 + +175: ; preds = %169 + %176 = zext i8 %173 to i32 + %177 = zext i8 %171 to i32 + %178 = sub nsw i32 %177, %176 + br label %201 + +179: ; preds = %169 + %180 = add nuw nsw i64 %167, 1 + br label %166, !llvm.loop !728 + +181: ; preds = %155 + %182 = icmp eq i64 %153, 0 + br i1 %182, label %201, label %183 + +183: ; preds = %181 + %184 = getelementptr inbounds i32, ptr addrspace(4) %131, i64 %154 + %185 = getelementptr inbounds i32, ptr addrspace(4) %132, i64 %154 + br label %186 + +186: ; preds = %199, %183 + %187 = phi i64 [ 0, %183 ], [ %200, %199 ] + %188 = icmp ult i64 %187, %153 + br i1 %188, label %189, label %201 + +189: ; preds = %186 + %190 = getelementptr inbounds i8, ptr addrspace(4) %184, i64 %187 + %191 = load i8, ptr addrspace(4) %190, align 1, !tbaa !718 + %192 = getelementptr inbounds i8, ptr addrspace(4) %185, i64 %187 + %193 = load i8, ptr addrspace(4) %192, align 1, !tbaa !718 + %194 = icmp eq i8 %191, %193 + br i1 %194, label %199, label %195 + +195: ; preds = %189 + %196 = zext i8 %193 to i32 + %197 = zext i8 %191 to i32 + %198 = sub nsw i32 %197, %196 + br label %201 + +199: ; preds = %189 + %200 = add nuw i64 %187, 1 + br label %186, !llvm.loop !728 + +201: ; preds = %195, %186, %181, %175, %166, %146, %137, %130, %125, %108, %99, %90, %81, %76, %70, %61, %41, %32, %22, %13, %3 + %202 = phi i32 [ 0, %3 ], [ %128, %125 ], [ %25, %22 ], [ 0, %76 ], [ %44, %41 ], [ %73, %70 ], [ %93, %90 ], [ %111, %108 ], [ 0, %130 ], [ 0, %181 ], [ %149, %146 ], [ %178, %175 ], [ %198, %195 ], [ 0, %32 ], [ 0, %61 ], [ 0, %81 ], [ 0, %137 ], [ 0, %166 ], [ 0, %186 ], [ 0, %99 ], [ 0, %13 ] + ret i32 %202 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_crealf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #20 !srcloc !730 { + %2 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %3 = load float, ptr %2, align 4, !tbaa !731 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_cimagf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #20 !srcloc !733 { + %2 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %3 = load float, ptr %2, align 4, !tbaa !731 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib___mulsc3(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4) local_unnamed_addr #21 !srcloc !734 { + %6 = fmul float %1, %3 + %7 = fmul float %2, %4 + %8 = fmul float %1, %4 + %9 = fmul float %2, %3 + %10 = fsub float %6, %7 + %11 = fadd float %8, %9 + %12 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %10) #56 + br i1 %12, label %13, label %98 + +13: ; preds = %5 + %14 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %11) #56 + br i1 %14, label %15, label %98 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + br i1 %16, label %19, label %17 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %2) #56 + br i1 %18, label %19, label %34 + +19: ; preds = %17, %15 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + %21 = select i1 %20, float 1.000000e+00, float 0.000000e+00 + %22 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %21, float noundef %1) #56 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %2) #56 + %24 = select i1 %23, float 1.000000e+00, float 0.000000e+00 + %25 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %24, float noundef %2) #56 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %3) #56 + br i1 %26, label %27, label %29 + +27: ; preds = %19 + %28 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %3) #56 + br label %29 + +29: ; preds = %27, %19 + %30 = phi float [ %28, %27 ], [ %3, %19 ] + %31 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + br i1 %31, label %32, label %34 + +32: ; preds = %29 + %33 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %4) #56 + br label %34 + +34: ; preds = %32, %29, %17 + %35 = phi float [ %4, %17 ], [ %33, %32 ], [ %4, %29 ] + %36 = phi float [ %3, %17 ], [ %30, %32 ], [ %30, %29 ] + %37 = phi i1 [ true, %17 ], [ false, %32 ], [ false, %29 ] + %38 = phi float [ %2, %17 ], [ %25, %32 ], [ %25, %29 ] + %39 = phi float [ %1, %17 ], [ %22, %32 ], [ %22, %29 ] + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %36) #56 + br i1 %40, label %43, label %41 + +41: ; preds = %34 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %35) #56 + br i1 %42, label %43, label %58 + +43: ; preds = %41, %34 + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %36) #56 + %45 = select i1 %44, float 1.000000e+00, float 0.000000e+00 + %46 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %45, float noundef %36) #56 + %47 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %35) #56 + %48 = select i1 %47, float 1.000000e+00, float 0.000000e+00 + %49 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %48, float noundef %35) #56 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %50, label %51, label %53 + +51: ; preds = %43 + %52 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %39) #56 + br label %53 + +53: ; preds = %51, %43 + %54 = phi float [ %52, %51 ], [ %39, %43 ] + %55 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %38) #56 + br i1 %55, label %56, label %86 + +56: ; preds = %53 + %57 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %38) #56 + br label %86 + +58: ; preds = %41 + br i1 %37, label %59, label %86 + +59: ; preds = %58 + %60 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %60, label %67, label %61 + +61: ; preds = %59 + %62 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %62, label %67, label %63 + +63: ; preds = %61 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %8) #56 + br i1 %64, label %67, label %65 + +65: ; preds = %63 + %66 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %9) #56 + br i1 %66, label %67, label %98 + +67: ; preds = %65, %63, %61, %59 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %68, label %69, label %71 + +69: ; preds = %67 + %70 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %39) #56 + br label %71 + +71: ; preds = %69, %67 + %72 = phi float [ %70, %69 ], [ %39, %67 ] + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %38) #56 + br i1 %73, label %74, label %76 + +74: ; preds = %71 + %75 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %38) #56 + br label %76 + +76: ; preds = %74, %71 + %77 = phi float [ %75, %74 ], [ %38, %71 ] + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %36) #56 + br i1 %78, label %79, label %81 + +79: ; preds = %76 + %80 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %36) #56 + br label %81 + +81: ; preds = %79, %76 + %82 = phi float [ %80, %79 ], [ %36, %76 ] + %83 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %35) #56 + br i1 %83, label %84, label %86 + +84: ; preds = %81 + %85 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %35) #56 + br label %86 + +86: ; preds = %84, %81, %58, %56, %53 + %87 = phi float [ %35, %81 ], [ %85, %84 ], [ %35, %58 ], [ %49, %56 ], [ %49, %53 ] + %88 = phi float [ %82, %81 ], [ %82, %84 ], [ %36, %58 ], [ %46, %56 ], [ %46, %53 ] + %89 = phi float [ %77, %81 ], [ %77, %84 ], [ %38, %58 ], [ %57, %56 ], [ %38, %53 ] + %90 = phi float [ %72, %81 ], [ %72, %84 ], [ %39, %58 ], [ %54, %56 ], [ %54, %53 ] + %91 = fneg float %89 + %92 = fmul float %87, %91 + %93 = tail call float @llvm.fmuladd.f32(float %90, float %88, float %92) + %94 = fmul float %93, 0x7FF0000000000000 + %95 = fmul float %89, %88 + %96 = tail call float @llvm.fmuladd.f32(float %90, float %87, float %95) + %97 = fmul float %96, 0x7FF0000000000000 + br label %98 + +98: ; preds = %86, %65, %13, %5 + %99 = phi float [ %11, %13 ], [ %11, %5 ], [ %97, %86 ], [ %11, %65 ] + %100 = phi float [ %10, %13 ], [ %10, %5 ], [ %94, %86 ], [ %10, %65 ] + %101 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %102 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %100, ptr addrspace(4) %101, align 4 + store float %99, ptr addrspace(4) %102, align 4 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare float @llvm.fmuladd.f32(float, float, float) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib___divsc3(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4) local_unnamed_addr #21 !srcloc !735 { + %6 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %3) #56 + %7 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %6, float noundef %7) #56 + %9 = tail call spir_func noundef float @_Z16__spirv_ocl_logbf(float noundef %8) #56 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %9) #56 + br i1 %10, label %11, label %16 + +11: ; preds = %5 + %12 = fptosi float %9 to i32 + %13 = sub nsw i32 0, %12 + %14 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %3, i32 noundef %13) #56 + %15 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %4, i32 noundef %13) #56 + br label %16 + +16: ; preds = %11, %5 + %17 = phi i32 [ %12, %11 ], [ 0, %5 ] + %18 = phi float [ %15, %11 ], [ %4, %5 ] + %19 = phi float [ %14, %11 ], [ %3, %5 ] + %20 = fmul float %18, %18 + %21 = tail call float @llvm.fmuladd.f32(float %19, float %19, float %20) + %22 = fmul float %18, %2 + %23 = tail call float @llvm.fmuladd.f32(float %1, float %19, float %22) + %24 = fdiv float %23, %21 + %25 = sub nsw i32 0, %17 + %26 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %24, i32 noundef %25) #56 + %27 = fneg float %18 + %28 = fmul float %27, %1 + %29 = tail call float @llvm.fmuladd.f32(float %2, float %19, float %28) + %30 = fdiv float %29, %21 + %31 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %30, i32 noundef %25) #56 + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %26) #56 + br i1 %32, label %33, label %89 + +33: ; preds = %16 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %31) #56 + br i1 %34, label %35, label %89 + +35: ; preds = %33 + %36 = fcmp oeq float %21, 0.000000e+00 + br i1 %36, label %37, label %45 + +37: ; preds = %35 + %38 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %1) #56 + br i1 %38, label %39, label %41 + +39: ; preds = %37 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %2) #56 + br i1 %40, label %45, label %41 + +41: ; preds = %39, %37 + %42 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0x7FF0000000000000, float noundef %19) #56 + %43 = fmul float %42, %1 + %44 = fmul float %42, %2 + br label %89 + +45: ; preds = %39, %35 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + br i1 %46, label %49, label %47 + +47: ; preds = %45 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %2) #56 + br i1 %48, label %49, label %67 + +49: ; preds = %47, %45 + %50 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %19) #56 + br i1 %50, label %51, label %67 + +51: ; preds = %49 + %52 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %18) #56 + br i1 %52, label %53, label %67 + +53: ; preds = %51 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + %55 = select i1 %54, float 1.000000e+00, float 0.000000e+00 + %56 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %55, float noundef %1) #56 + %57 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %2) #56 + %58 = select i1 %57, float 1.000000e+00, float 0.000000e+00 + %59 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %58, float noundef %2) #56 + %60 = fmul float %59, %18 + %61 = tail call float @llvm.fmuladd.f32(float %56, float %19, float %60) + %62 = fmul float %61, 0x7FF0000000000000 + %63 = fneg float %56 + %64 = fmul float %18, %63 + %65 = tail call float @llvm.fmuladd.f32(float %59, float %19, float %64) + %66 = fmul float %65, 0x7FF0000000000000 + br label %89 + +67: ; preds = %51, %49, %47 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %9) #56 + %69 = fcmp ogt float %9, 0.000000e+00 + %70 = and i1 %68, %69 + br i1 %70, label %71, label %89 + +71: ; preds = %67 + %72 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %1) #56 + br i1 %72, label %73, label %89 + +73: ; preds = %71 + %74 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %2) #56 + br i1 %74, label %75, label %89 + +75: ; preds = %73 + %76 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %19) #56 + %77 = select i1 %76, float 1.000000e+00, float 0.000000e+00 + %78 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %77, float noundef %19) #56 + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %18) #56 + %80 = select i1 %79, float 1.000000e+00, float 0.000000e+00 + %81 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %80, float noundef %18) #56 + %82 = fmul float %81, %2 + %83 = tail call float @llvm.fmuladd.f32(float %1, float %78, float %82) + %84 = fmul float %83, 0.000000e+00 + %85 = fneg float %81 + %86 = fmul float %85, %1 + %87 = tail call float @llvm.fmuladd.f32(float %2, float %78, float %86) + %88 = fmul float %87, 0.000000e+00 + br label %89 + +89: ; preds = %75, %73, %71, %67, %53, %41, %33, %16 + %90 = phi float [ %62, %53 ], [ %84, %75 ], [ %26, %73 ], [ %26, %71 ], [ %26, %67 ], [ %43, %41 ], [ %26, %33 ], [ %26, %16 ] + %91 = phi float [ %66, %53 ], [ %88, %75 ], [ %31, %73 ], [ %31, %71 ], [ %31, %67 ], [ %44, %41 ], [ %31, %33 ], [ %31, %16 ] + %92 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %93 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %90, ptr addrspace(4) %92, align 4 + store float %91, ptr addrspace(4) %93, align 4 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_logbf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_cargf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #21 !srcloc !736 { + %2 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %3 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %4 = load float, ptr %3, align 4 + %5 = load float, ptr %2, align 4 + %6 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %4, float noundef %5) #56 + ret float %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_cabsf(ptr noundef byval({ float, float }) align 4 %0) local_unnamed_addr #21 !srcloc !737 { + %2 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 0 + %3 = load float, ptr %2, align 4 + %4 = getelementptr inbounds { float, float }, ptr %0, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %3, float noundef %5) #56 + ret float %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cprojf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !738 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %7, label %10, label %8 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %9, label %10, label %12 + +10: ; preds = %8, %2 + %11 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + br label %12 + +12: ; preds = %10, %8 + %13 = phi float [ 0x7FF0000000000000, %10 ], [ %4, %8 ] + %14 = phi float [ %11, %10 ], [ %6, %8 ] + %15 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %13, ptr addrspace(4) %15, align 4 + store float %14, ptr addrspace(4) %16, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cexpf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !739 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = load float, ptr %3, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %7, label %8, label %22 + +8: ; preds = %2 + %9 = fcmp olt float %6, 0.000000e+00 + br i1 %9, label %10, label %13 + +10: ; preds = %8 + %11 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %5) #56 + %12 = select i1 %11, float %5, float 1.000000e+00 + br label %29 + +13: ; preds = %8 + %14 = fcmp oeq float %5, 0.000000e+00 + br i1 %14, label %17, label %15 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %5) #56 + br i1 %16, label %29, label %17 + +17: ; preds = %15, %13 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %5) #56 + %19 = select i1 %18, float 0x7FF8000000000000, float %5 + %20 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %21 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %6, ptr addrspace(4) %20, align 4 + store float %19, ptr addrspace(4) %21, align 4 + br label %38 + +22: ; preds = %2 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + %24 = fcmp oeq float %5, 0.000000e+00 + %25 = select i1 %23, i1 %24, i1 false + br i1 %25, label %26, label %29 + +26: ; preds = %22 + %27 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %28 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %6, ptr addrspace(4) %27, align 4 + store float %5, ptr addrspace(4) %28, align 4 + br label %38 + +29: ; preds = %22, %15, %10 + %30 = phi float [ %12, %10 ], [ %5, %15 ], [ %5, %22 ] + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_expf(float noundef %6) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %30) #56 + %33 = fmul float %31, %32 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %30) #56 + %35 = fmul float %31, %34 + %36 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %37 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %33, ptr addrspace(4) %36, align 4 + store float %35, ptr addrspace(4) %37, align 4 + br label %38 + +38: ; preds = %29, %26, %17 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_expf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_clogf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !740 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %4, float noundef %6) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %7) #56 + %9 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %6, float noundef %4) #56 + %10 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %11 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %8, ptr addrspace(4) %10, align 4 + store float %9, ptr addrspace(4) %11, align 4 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_logf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cpowf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1, ptr noundef byval({ float, float }) align 4 %2) local_unnamed_addr #21 !srcloc !741 { + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %5 = load float, ptr %4, align 4 + %6 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %7 = load float, ptr %6, align 4 + %8 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %5, float noundef %7) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %8) #56 + %10 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %7, float noundef %5) #56 + %11 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 0 + %12 = load float, ptr %11, align 4 + %13 = getelementptr inbounds { float, float }, ptr %2, i64 0, i32 1 + %14 = load float, ptr %13, align 4 + %15 = fmul float %12, %9 + %16 = fmul float %14, %10 + %17 = fmul float %12, %10 + %18 = fmul float %14, %9 + %19 = fsub float %15, %16 + %20 = fadd float %17, %18 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %19) #56 + br i1 %21, label %22, label %107 + +22: ; preds = %3 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %20) #56 + br i1 %23, label %24, label %107 + +24: ; preds = %22 + %25 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %12) #56 + br i1 %25, label %28, label %26 + +26: ; preds = %24 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %14) #56 + br i1 %27, label %28, label %43 + +28: ; preds = %26, %24 + %29 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %12) #56 + %30 = select i1 %29, float 1.000000e+00, float 0.000000e+00 + %31 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %30, float noundef %12) #56 + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %14) #56 + %33 = select i1 %32, float 1.000000e+00, float 0.000000e+00 + %34 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %33, float noundef %14) #56 + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %9) #56 + br i1 %35, label %36, label %38 + +36: ; preds = %28 + %37 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %9) #56 + br label %38 + +38: ; preds = %36, %28 + %39 = phi float [ %37, %36 ], [ %9, %28 ] + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %10) #56 + br i1 %40, label %41, label %43 + +41: ; preds = %38 + %42 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %10) #56 + br label %43 + +43: ; preds = %41, %38, %26 + %44 = phi float [ %10, %26 ], [ %42, %41 ], [ %10, %38 ] + %45 = phi float [ %9, %26 ], [ %39, %41 ], [ %39, %38 ] + %46 = phi i1 [ true, %26 ], [ false, %41 ], [ false, %38 ] + %47 = phi float [ %14, %26 ], [ %34, %41 ], [ %34, %38 ] + %48 = phi float [ %12, %26 ], [ %31, %41 ], [ %31, %38 ] + %49 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %45) #56 + br i1 %49, label %52, label %50 + +50: ; preds = %43 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %44) #56 + br i1 %51, label %52, label %67 + +52: ; preds = %50, %43 + %53 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %45) #56 + %54 = select i1 %53, float 1.000000e+00, float 0.000000e+00 + %55 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %54, float noundef %45) #56 + %56 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %44) #56 + %57 = select i1 %56, float 1.000000e+00, float 0.000000e+00 + %58 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %57, float noundef %44) #56 + %59 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %48) #56 + br i1 %59, label %60, label %62 + +60: ; preds = %52 + %61 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %48) #56 + br label %62 + +62: ; preds = %60, %52 + %63 = phi float [ %61, %60 ], [ %48, %52 ] + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %47) #56 + br i1 %64, label %65, label %95 + +65: ; preds = %62 + %66 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %47) #56 + br label %95 + +67: ; preds = %50 + br i1 %46, label %68, label %95 + +68: ; preds = %67 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %15) #56 + br i1 %69, label %76, label %70 + +70: ; preds = %68 + %71 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %16) #56 + br i1 %71, label %76, label %72 + +72: ; preds = %70 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %17) #56 + br i1 %73, label %76, label %74 + +74: ; preds = %72 + %75 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %18) #56 + br i1 %75, label %76, label %107 + +76: ; preds = %74, %72, %70, %68 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %48) #56 + br i1 %77, label %78, label %80 + +78: ; preds = %76 + %79 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %48) #56 + br label %80 + +80: ; preds = %78, %76 + %81 = phi float [ %79, %78 ], [ %48, %76 ] + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %47) #56 + br i1 %82, label %83, label %85 + +83: ; preds = %80 + %84 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %47) #56 + br label %85 + +85: ; preds = %83, %80 + %86 = phi float [ %84, %83 ], [ %47, %80 ] + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %45) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %85 + %89 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %45) #56 + br label %90 + +90: ; preds = %88, %85 + %91 = phi float [ %89, %88 ], [ %45, %85 ] + %92 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %44) #56 + br i1 %92, label %93, label %95 + +93: ; preds = %90 + %94 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %44) #56 + br label %95 + +95: ; preds = %93, %90, %67, %65, %62 + %96 = phi float [ %44, %90 ], [ %94, %93 ], [ %44, %67 ], [ %58, %65 ], [ %58, %62 ] + %97 = phi float [ %91, %90 ], [ %91, %93 ], [ %45, %67 ], [ %55, %65 ], [ %55, %62 ] + %98 = phi float [ %86, %90 ], [ %86, %93 ], [ %47, %67 ], [ %66, %65 ], [ %47, %62 ] + %99 = phi float [ %81, %90 ], [ %81, %93 ], [ %48, %67 ], [ %63, %65 ], [ %63, %62 ] + %100 = fneg float %98 + %101 = fmul float %96, %100 + %102 = tail call float @llvm.fmuladd.f32(float %99, float %97, float %101) + %103 = fmul float %102, 0x7FF0000000000000 + %104 = fmul float %98, %97 + %105 = tail call float @llvm.fmuladd.f32(float %99, float %96, float %104) + %106 = fmul float %105, 0x7FF0000000000000 + br label %107 + +107: ; preds = %95, %74, %22, %3 + %108 = phi float [ %20, %22 ], [ %20, %3 ], [ %106, %95 ], [ %20, %74 ] + %109 = phi float [ %19, %22 ], [ %19, %3 ], [ %103, %95 ], [ %19, %74 ] + %110 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %109) #56 + br i1 %110, label %111, label %123 + +111: ; preds = %107 + %112 = fcmp olt float %109, 0.000000e+00 + br i1 %112, label %113, label %116 + +113: ; preds = %111 + %114 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %108) #56 + %115 = select i1 %114, float %108, float 1.000000e+00 + br label %127 + +116: ; preds = %111 + %117 = fcmp oeq float %108, 0.000000e+00 + br i1 %117, label %120, label %118 + +118: ; preds = %116 + %119 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %108) #56 + br i1 %119, label %127, label %120 + +120: ; preds = %118, %116 + %121 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %108) #56 + %122 = select i1 %121, float 0x7FF8000000000000, float %108 + br label %134 + +123: ; preds = %107 + %124 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %109) #56 + %125 = fcmp oeq float %108, 0.000000e+00 + %126 = select i1 %124, i1 %125, i1 false + br i1 %126, label %134, label %127 + +127: ; preds = %123, %118, %113 + %128 = phi float [ %115, %113 ], [ %108, %118 ], [ %108, %123 ] + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_expf(float noundef %109) #56 + %130 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %128) #56 + %131 = fmul float %129, %130 + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %128) #56 + %133 = fmul float %129, %132 + br label %134 + +134: ; preds = %127, %123, %120 + %135 = phi float [ %131, %127 ], [ %109, %120 ], [ %109, %123 ] + %136 = phi float [ %133, %127 ], [ %122, %120 ], [ %108, %123 ] + %137 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %138 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %135, ptr addrspace(4) %137, align 4 + store float %136, ptr addrspace(4) %138, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cpolarf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, float noundef %1, float noundef %2) local_unnamed_addr #21 !srcloc !742 { + %4 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %1) #56 + br i1 %4, label %7, label %5 + +5: ; preds = %3 + %6 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %1) #56 + br i1 %6, label %7, label %10 + +7: ; preds = %5, %3 + %8 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %9 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 0x7FF8000000000000, ptr addrspace(4) %8, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %9, align 4 + br label %41 + +10: ; preds = %5 + %11 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %2) #56 + br i1 %11, label %12, label %20 + +12: ; preds = %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %16 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %1, ptr addrspace(4) %15, align 4 + store float %2, ptr addrspace(4) %16, align 4 + br label %41 + +17: ; preds = %12 + %18 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %19 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %2, ptr addrspace(4) %18, align 4 + store float %2, ptr addrspace(4) %19, align 4 + br label %41 + +20: ; preds = %10 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %2) #56 + br i1 %21, label %22, label %30 + +22: ; preds = %20 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %1) #56 + br i1 %23, label %24, label %27 + +24: ; preds = %22 + %25 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %26 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %1, ptr addrspace(4) %25, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %26, align 4 + br label %41 + +27: ; preds = %22 + %28 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %29 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 0x7FF8000000000000, ptr addrspace(4) %28, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %29, align 4 + br label %41 + +30: ; preds = %20 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %2) #56 + %32 = fmul float %31, %1 + %33 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %32) #56 + %34 = select i1 %33, float 0.000000e+00, float %32 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %2) #56 + %36 = fmul float %35, %1 + %37 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %36) #56 + %38 = select i1 %37, float 0.000000e+00, float %36 + %39 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %34, ptr addrspace(4) %39, align 4 + store float %38, ptr addrspace(4) %40, align 4 + br label %41 + +41: ; preds = %30, %27, %24, %17, %14, %7 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csqrtf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !743 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %7, label %8, label %11 + +8: ; preds = %2 + %9 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %10 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 0x7FF0000000000000, ptr addrspace(4) %9, align 4 + store float %6, ptr addrspace(4) %10, align 4 + br label %61 + +11: ; preds = %2 + %12 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %12, label %13, label %29 + +13: ; preds = %11 + %14 = fcmp ogt float %4, 0.000000e+00 + br i1 %14, label %15, label %23 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %16, label %19, label %17 + +17: ; preds = %15 + %18 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + br label %19 + +19: ; preds = %17, %15 + %20 = phi float [ %18, %17 ], [ %6, %15 ] + %21 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %21, align 4 + store float %20, ptr addrspace(4) %22, align 4 + br label %61 + +23: ; preds = %13 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + %25 = select i1 %24, float %6, float 0.000000e+00 + %26 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %4, float noundef %6) #56 + %27 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %28 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %25, ptr addrspace(4) %27, align 4 + store float %26, ptr addrspace(4) %28, align 4 + br label %61 + +29: ; preds = %11 + %30 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %4, float noundef %6) #56 + %31 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %30) #56 + %32 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %6, float noundef %4) #56 + %33 = fmul float %32, 5.000000e-01 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %31) #56 + br i1 %34, label %56, label %35 + +35: ; preds = %29 + %36 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %31) #56 + br i1 %36, label %56, label %37 + +37: ; preds = %35 + %38 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %33) #56 + br i1 %38, label %39, label %42 + +39: ; preds = %37 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %31) #56 + %41 = select i1 %40, float %31, float %33 + br label %56 + +42: ; preds = %37 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %33) #56 + br i1 %43, label %44, label %47 + +44: ; preds = %42 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %31) #56 + %46 = select i1 %45, float %31, float 0x7FF8000000000000 + br label %56 + +47: ; preds = %42 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %33) #56 + %49 = fmul float %48, %31 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %49) #56 + %51 = select i1 %50, float 0.000000e+00, float %49 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %33) #56 + %53 = fmul float %52, %31 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %53) #56 + %55 = select i1 %54, float 0.000000e+00, float %53 + br label %56 + +56: ; preds = %47, %44, %39, %35, %29 + %57 = phi float [ %55, %47 ], [ 0x7FF8000000000000, %35 ], [ 0x7FF8000000000000, %29 ], [ %33, %39 ], [ 0x7FF8000000000000, %44 ] + %58 = phi float [ %51, %47 ], [ 0x7FF8000000000000, %35 ], [ 0x7FF8000000000000, %29 ], [ %41, %39 ], [ %46, %44 ] + %59 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %60 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %58, ptr addrspace(4) %59, align 4 + store float %57, ptr addrspace(4) %60, align 4 + br label %61 + +61: ; preds = %56, %23, %19, %8 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csinhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !744 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %7, label %8, label %13 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %9, label %13, label %10 + +10: ; preds = %8 + %11 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %11, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %12, align 4 + br label %36 + +13: ; preds = %8, %2 + %14 = fcmp oeq float %4, 0.000000e+00 + br i1 %14, label %15, label %20 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %16, label %20, label %17 + +17: ; preds = %15 + %18 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %19 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %18, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %19, align 4 + br label %36 + +20: ; preds = %15, %13 + %21 = fcmp oeq float %6, 0.000000e+00 + br i1 %21, label %22, label %27 + +22: ; preds = %20 + %23 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %4) #56 + br i1 %23, label %27, label %24 + +24: ; preds = %22 + %25 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %26 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %25, align 4 + store float %6, ptr addrspace(4) %26, align 4 + br label %36 + +27: ; preds = %22, %20 + %28 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %4) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %6) #56 + %30 = fmul float %28, %29 + %31 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %4) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %6) #56 + %33 = fmul float %31, %32 + %34 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %35 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %30, ptr addrspace(4) %34, align 4 + store float %33, ptr addrspace(4) %35, align 4 + br label %36 + +36: ; preds = %27, %24, %17, %10 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ccoshf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !745 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %7, label %8, label %14 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %9, label %14, label %10 + +10: ; preds = %8 + %11 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %11, ptr addrspace(4) %12, align 4 + store float 0x7FF8000000000000, ptr addrspace(4) %13, align 4 + br label %43 + +14: ; preds = %8, %2 + %15 = fcmp oeq float %4, 0.000000e+00 + br i1 %15, label %18, label %16 + +16: ; preds = %14 + %17 = fcmp oeq float %6, 0.000000e+00 + br i1 %17, label %28, label %34 + +18: ; preds = %14 + %19 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %19, label %23, label %20 + +20: ; preds = %18 + %21 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 0x7FF8000000000000, ptr addrspace(4) %21, align 4 + store float %4, ptr addrspace(4) %22, align 4 + br label %43 + +23: ; preds = %18 + %24 = fcmp oeq float %6, 0.000000e+00 + br i1 %24, label %25, label %34 + +25: ; preds = %23 + %26 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 1.000000e+00, ptr addrspace(4) %26, align 4 + store float %6, ptr addrspace(4) %27, align 4 + br label %43 + +28: ; preds = %16 + %29 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %4) #56 + br i1 %29, label %34, label %30 + +30: ; preds = %28 + %31 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %32 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %33 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %31, ptr addrspace(4) %32, align 4 + store float %6, ptr addrspace(4) %33, align 4 + br label %43 + +34: ; preds = %28, %23, %16 + %35 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %4) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %6) #56 + %37 = fmul float %35, %36 + %38 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %4) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %6) #56 + %40 = fmul float %38, %39 + %41 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %42 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %37, ptr addrspace(4) %41, align 4 + store float %40, ptr addrspace(4) %42, align 4 + br label %43 + +43: ; preds = %34, %30, %25, %20, %10 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ctanhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !746 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %7, label %8, label %19 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %9, label %13, label %10 + +10: ; preds = %8 + %11 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 1.000000e+00, ptr addrspace(4) %11, align 4 + store float 0.000000e+00, ptr addrspace(4) %12, align 4 + br label %49 + +13: ; preds = %8 + %14 = fmul float %6, 2.000000e+00 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %14) #56 + %16 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %15) #56 + %17 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %18 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 1.000000e+00, ptr addrspace(4) %17, align 4 + store float %16, ptr addrspace(4) %18, align 4 + br label %49 + +19: ; preds = %2 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + %21 = fcmp oeq float %6, 0.000000e+00 + %22 = select i1 %20, i1 %21, i1 false + br i1 %22, label %23, label %26 + +23: ; preds = %19 + %24 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %25 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %24, align 4 + store float %6, ptr addrspace(4) %25, align 4 + br label %49 + +26: ; preds = %19 + %27 = fmul float %4, 2.000000e+00 + %28 = fmul float %6, 2.000000e+00 + %29 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %27) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %28) #56 + %31 = fadd float %29, %30 + %32 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %27) #56 + %33 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %32) #56 + br i1 %33, label %34, label %43 + +34: ; preds = %26 + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %31) #56 + br i1 %35, label %36, label %43 + +36: ; preds = %34 + %37 = fcmp ogt float %32, 0.000000e+00 + %38 = select i1 %37, float 1.000000e+00, float -1.000000e+00 + %39 = fcmp ogt float %28, 0.000000e+00 + %40 = select i1 %39, float 0.000000e+00, float -0.000000e+00 + %41 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %42 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %38, ptr addrspace(4) %41, align 4 + store float %40, ptr addrspace(4) %42, align 4 + br label %49 + +43: ; preds = %34, %26 + %44 = fdiv float %32, %31 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %28) #56 + %46 = fdiv float %45, %31 + %47 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %48 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %44, ptr addrspace(4) %47, align 4 + store float %46, ptr addrspace(4) %48, align 4 + br label %49 + +49: ; preds = %43, %36, %23, %13, %10 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csinf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !747 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = fneg float %5 + %7 = load float, ptr %3, align 4 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %8, label %9, label %11 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %10, label %11, label %26 + +11: ; preds = %9, %2 + %12 = fcmp oeq float %5, 0.000000e+00 + br i1 %12, label %13, label %15 + +13: ; preds = %11 + %14 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %14, label %15, label %26 + +15: ; preds = %13, %11 + %16 = fcmp oeq float %7, 0.000000e+00 + br i1 %16, label %17, label %19 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %18, label %19, label %26 + +19: ; preds = %17, %15 + %20 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %6) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %7) #56 + %22 = fmul float %20, %21 + %23 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %6) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %7) #56 + %25 = fmul float %23, %24 + br label %26 + +26: ; preds = %19, %17, %13, %9 + %27 = phi float [ %22, %19 ], [ %6, %9 ], [ %6, %13 ], [ %6, %17 ] + %28 = phi float [ %25, %19 ], [ 0x7FF8000000000000, %9 ], [ 0x7FF8000000000000, %13 ], [ %7, %17 ] + %29 = fneg float %27 + %30 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %31 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %28, ptr addrspace(4) %30, align 4 + store float %29, ptr addrspace(4) %31, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ccosf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !748 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = fneg float %5 + %7 = load float, ptr %3, align 4 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %8, label %9, label %13 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %10, label %13, label %11 + +11: ; preds = %9 + %12 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %6) #56 + br label %32 + +13: ; preds = %9, %2 + %14 = fcmp oeq float %5, 0.000000e+00 + br i1 %14, label %17, label %15 + +15: ; preds = %13 + %16 = fcmp oeq float %7, 0.000000e+00 + br i1 %16, label %21, label %25 + +17: ; preds = %13 + %18 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %18, label %19, label %32 + +19: ; preds = %17 + %20 = fcmp oeq float %7, 0.000000e+00 + br i1 %20, label %32, label %25 + +21: ; preds = %15 + %22 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %22, label %25, label %23 + +23: ; preds = %21 + %24 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %6) #56 + br label %32 + +25: ; preds = %21, %19, %15 + %26 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %6) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %7) #56 + %28 = fmul float %26, %27 + %29 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %6) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %7) #56 + %31 = fmul float %29, %30 + br label %32 + +32: ; preds = %25, %23, %19, %17, %11 + %33 = phi float [ %28, %25 ], [ %24, %23 ], [ %12, %11 ], [ 0x7FF8000000000000, %17 ], [ 1.000000e+00, %19 ] + %34 = phi float [ %31, %25 ], [ %7, %23 ], [ 0x7FF8000000000000, %11 ], [ %6, %17 ], [ %7, %19 ] + %35 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %33, ptr addrspace(4) %35, align 4 + store float %34, ptr addrspace(4) %36, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ctanf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !749 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = fneg float %5 + %7 = load float, ptr %3, align 4 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %8, label %9, label %15 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %10, label %11, label %38 + +11: ; preds = %9 + %12 = fmul float %7, 2.000000e+00 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %12) #56 + %14 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %13) #56 + br label %38 + +15: ; preds = %2 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + %17 = fcmp oeq float %7, 0.000000e+00 + %18 = select i1 %16, i1 %17, i1 false + br i1 %18, label %38, label %19 + +19: ; preds = %15 + %20 = fmul float %5, -2.000000e+00 + %21 = fmul float %7, 2.000000e+00 + %22 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %20) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %21) #56 + %24 = fadd float %22, %23 + %25 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %20) #56 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %25) #56 + br i1 %26, label %27, label %34 + +27: ; preds = %19 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %24) #56 + br i1 %28, label %29, label %34 + +29: ; preds = %27 + %30 = fcmp ogt float %25, 0.000000e+00 + %31 = select i1 %30, float 1.000000e+00, float -1.000000e+00 + %32 = fcmp ogt float %21, 0.000000e+00 + %33 = select i1 %32, float 0.000000e+00, float -0.000000e+00 + br label %38 + +34: ; preds = %27, %19 + %35 = fdiv float %25, %24 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %21) #56 + %37 = fdiv float %36, %24 + br label %38 + +38: ; preds = %34, %29, %15, %11, %9 + %39 = phi float [ 1.000000e+00, %11 ], [ %31, %29 ], [ %35, %34 ], [ 1.000000e+00, %9 ], [ %6, %15 ] + %40 = phi float [ %14, %11 ], [ %33, %29 ], [ %37, %34 ], [ 0.000000e+00, %9 ], [ %7, %15 ] + %41 = fneg float %39 + %42 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %43 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %40, ptr addrspace(4) %42, align 4 + store float %41, ptr addrspace(4) %43, align 4 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func void @__sqrf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #20 !srcloc !750 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = fadd float %4, %6 + %8 = fsub float %4, %6 + %9 = fmul float %7, %8 + %10 = fmul float %4, 2.000000e+00 + %11 = fmul float %10, %6 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %9, ptr addrspace(4) %12, align 4 + store float %11, ptr addrspace(4) %13, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cacosf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !751 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %8, label %9, label %42 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %6, ptr addrspace(4) %12, align 4 + store float %4, ptr addrspace(4) %13, align 4 + br label %138 + +14: ; preds = %9 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %15, label %16, label %28 + +16: ; preds = %14 + %17 = fcmp olt float %4, 0.000000e+00 + br i1 %17, label %18, label %23 + +18: ; preds = %16 + %19 = fmul float %7, 7.500000e-01 + %20 = fneg float %6 + %21 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %19, ptr addrspace(4) %21, align 4 + store float %20, ptr addrspace(4) %22, align 4 + br label %138 + +23: ; preds = %16 + %24 = fmul float %7, 2.500000e-01 + %25 = fneg float %6 + %26 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %24, ptr addrspace(4) %26, align 4 + store float %25, ptr addrspace(4) %27, align 4 + br label %138 + +28: ; preds = %14 + %29 = fcmp olt float %4, 0.000000e+00 + br i1 %29, label %30, label %36 + +30: ; preds = %28 + %31 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %6) #56 + %32 = fneg float %4 + %33 = select i1 %31, float %32, float %4 + %34 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %35 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %7, ptr addrspace(4) %34, align 4 + store float %33, ptr addrspace(4) %35, align 4 + br label %138 + +36: ; preds = %28 + %37 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %6) #56 + %38 = fneg float %4 + %39 = select i1 %37, float %4, float %38 + %40 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %41 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float 0.000000e+00, ptr addrspace(4) %40, align 4 + store float %39, ptr addrspace(4) %41, align 4 + br label %138 + +42: ; preds = %2 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + br i1 %43, label %44, label %53 + +44: ; preds = %42 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %45, label %46, label %50 + +46: ; preds = %44 + %47 = fneg float %6 + %48 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %49 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %48, align 4 + store float %47, ptr addrspace(4) %49, align 4 + br label %138 + +50: ; preds = %44 + %51 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %52 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %51, align 4 + store float %4, ptr addrspace(4) %52, align 4 + br label %138 + +53: ; preds = %42 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %54, label %55, label %60 + +55: ; preds = %53 + %56 = fmul float %7, 5.000000e-01 + %57 = fneg float %6 + %58 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %59 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %56, ptr addrspace(4) %58, align 4 + store float %57, ptr addrspace(4) %59, align 4 + br label %138 + +60: ; preds = %53 + %61 = fcmp oeq float %4, 0.000000e+00 + br i1 %61, label %62, label %71 + +62: ; preds = %60 + %63 = fcmp oeq float %6, 0.000000e+00 + br i1 %63, label %66, label %64 + +64: ; preds = %62 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %65, label %66, label %71 + +66: ; preds = %64, %62 + %67 = fmul float %7, 5.000000e-01 + %68 = fneg float %6 + %69 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %70 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %67, ptr addrspace(4) %69, align 4 + store float %68, ptr addrspace(4) %70, align 4 + br label %138 + +71: ; preds = %64, %60 + %72 = fadd float %4, %6 + %73 = fsub float %4, %6 + %74 = fmul float %72, %73 + %75 = fmul float %4, 2.000000e+00 + %76 = fmul float %75, %6 + %77 = fadd float %74, -1.000000e+00 + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %76) #56 + br i1 %78, label %118, label %79 + +79: ; preds = %71 + %80 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %77) #56 + br i1 %80, label %81, label %91 + +81: ; preds = %79 + %82 = fcmp ogt float %77, 0.000000e+00 + br i1 %82, label %83, label %87 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %76) #56 + br i1 %84, label %118, label %85 + +85: ; preds = %83 + %86 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %76) #56 + br label %118 + +87: ; preds = %81 + %88 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %76) #56 + %89 = select i1 %88, float %76, float 0.000000e+00 + %90 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %77, float noundef %76) #56 + br label %118 + +91: ; preds = %79 + %92 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %77, float noundef %76) #56 + %93 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %92) #56 + %94 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %76, float noundef %77) #56 + %95 = fmul float %94, 5.000000e-01 + %96 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %93) #56 + br i1 %96, label %118, label %97 + +97: ; preds = %91 + %98 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %93) #56 + br i1 %98, label %118, label %99 + +99: ; preds = %97 + %100 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %95) #56 + br i1 %100, label %101, label %104 + +101: ; preds = %99 + %102 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %93) #56 + %103 = select i1 %102, float %93, float %95 + br label %118 + +104: ; preds = %99 + %105 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %95) #56 + br i1 %105, label %106, label %109 + +106: ; preds = %104 + %107 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %93) #56 + %108 = select i1 %107, float %93, float 0x7FF8000000000000 + br label %118 + +109: ; preds = %104 + %110 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %95) #56 + %111 = fmul float %110, %93 + %112 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %111) #56 + %113 = select i1 %112, float 0.000000e+00, float %111 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %95) #56 + %115 = fmul float %114, %93 + %116 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %115) #56 + %117 = select i1 %116, float 0.000000e+00, float %115 + br label %118 + +118: ; preds = %109, %106, %101, %97, %91, %87, %85, %83, %71 + %119 = phi float [ %89, %87 ], [ 0x7FF0000000000000, %71 ], [ %77, %85 ], [ %77, %83 ], [ %113, %109 ], [ 0x7FF8000000000000, %97 ], [ 0x7FF8000000000000, %91 ], [ %103, %101 ], [ %108, %106 ] + %120 = phi float [ %90, %87 ], [ %76, %71 ], [ %86, %85 ], [ %76, %83 ], [ %117, %109 ], [ 0x7FF8000000000000, %97 ], [ 0x7FF8000000000000, %91 ], [ %95, %101 ], [ 0x7FF8000000000000, %106 ] + %121 = fadd float %4, %119 + %122 = fadd float %6, %120 + %123 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %121, float noundef %122) #56 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %123) #56 + %125 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %122, float noundef %121) #56 + %126 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %6) #56 + br i1 %126, label %127, label %132 + +127: ; preds = %118 + %128 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %125) #56 + %129 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %124) #56 + %130 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %131 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %128, ptr addrspace(4) %130, align 4 + store float %129, ptr addrspace(4) %131, align 4 + br label %138 + +132: ; preds = %118 + %133 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %125) #56 + %134 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %124) #56 + %135 = fneg float %134 + %136 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %137 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %133, ptr addrspace(4) %136, align 4 + store float %135, ptr addrspace(4) %137, align 4 + br label %138 + +138: ; preds = %132, %127, %66, %55, %50, %46, %36, %30, %23, %18, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_casinhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !752 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %8, label %9, label %25 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %12, align 4 + store float %6, ptr addrspace(4) %13, align 4 + br label %107 + +14: ; preds = %9 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %15, label %16, label %21 + +16: ; preds = %14 + %17 = fmul float %7, 2.500000e-01 + %18 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %17, float noundef %6) #56 + %19 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %20 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %19, align 4 + store float %18, ptr addrspace(4) %20, align 4 + br label %107 + +21: ; preds = %14 + %22 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + %23 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %24 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %23, align 4 + store float %22, ptr addrspace(4) %24, align 4 + br label %107 + +25: ; preds = %2 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + br i1 %26, label %27, label %40 + +27: ; preds = %25 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %28, label %29, label %32 + +29: ; preds = %27 + %30 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %31 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %6, ptr addrspace(4) %30, align 4 + store float %4, ptr addrspace(4) %31, align 4 + br label %107 + +32: ; preds = %27 + %33 = fcmp oeq float %6, 0.000000e+00 + br i1 %33, label %34, label %37 + +34: ; preds = %32 + %35 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %35, align 4 + store float %6, ptr addrspace(4) %36, align 4 + br label %107 + +37: ; preds = %32 + %38 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %39 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %38, align 4 + store float %4, ptr addrspace(4) %39, align 4 + br label %107 + +40: ; preds = %25 + %41 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %41, label %42, label %48 + +42: ; preds = %40 + %43 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %6, float noundef %4) #56 + %44 = fmul float %7, 5.000000e-01 + %45 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %44, float noundef %6) #56 + %46 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %47 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %43, ptr addrspace(4) %46, align 4 + store float %45, ptr addrspace(4) %47, align 4 + br label %107 + +48: ; preds = %40 + %49 = fadd float %4, %6 + %50 = fsub float %4, %6 + %51 = fmul float %49, %50 + %52 = fmul float %4, 2.000000e+00 + %53 = fmul float %52, %6 + %54 = fadd float %51, 1.000000e+00 + %55 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %53) #56 + br i1 %55, label %95, label %56 + +56: ; preds = %48 + %57 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %54) #56 + br i1 %57, label %58, label %68 + +58: ; preds = %56 + %59 = fcmp ogt float %54, 0.000000e+00 + br i1 %59, label %60, label %64 + +60: ; preds = %58 + %61 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %53) #56 + br i1 %61, label %95, label %62 + +62: ; preds = %60 + %63 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %53) #56 + br label %95 + +64: ; preds = %58 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %53) #56 + %66 = select i1 %65, float %53, float 0.000000e+00 + %67 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %54, float noundef %53) #56 + br label %95 + +68: ; preds = %56 + %69 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %54, float noundef %53) #56 + %70 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %69) #56 + %71 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %53, float noundef %54) #56 + %72 = fmul float %71, 5.000000e-01 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %70) #56 + br i1 %73, label %95, label %74 + +74: ; preds = %68 + %75 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %70) #56 + br i1 %75, label %95, label %76 + +76: ; preds = %74 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %72) #56 + br i1 %77, label %78, label %81 + +78: ; preds = %76 + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %70) #56 + %80 = select i1 %79, float %70, float %72 + br label %95 + +81: ; preds = %76 + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %72) #56 + br i1 %82, label %83, label %86 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %70) #56 + %85 = select i1 %84, float %70, float 0x7FF8000000000000 + br label %95 + +86: ; preds = %81 + %87 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %72) #56 + %88 = fmul float %87, %70 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %88) #56 + %90 = select i1 %89, float 0.000000e+00, float %88 + %91 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %72) #56 + %92 = fmul float %91, %70 + %93 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %92) #56 + %94 = select i1 %93, float 0.000000e+00, float %92 + br label %95 + +95: ; preds = %86, %83, %78, %74, %68, %64, %62, %60, %48 + %96 = phi float [ %66, %64 ], [ 0x7FF0000000000000, %48 ], [ %54, %62 ], [ %54, %60 ], [ %90, %86 ], [ 0x7FF8000000000000, %74 ], [ 0x7FF8000000000000, %68 ], [ %80, %78 ], [ %85, %83 ] + %97 = phi float [ %67, %64 ], [ %53, %48 ], [ %63, %62 ], [ %53, %60 ], [ %94, %86 ], [ 0x7FF8000000000000, %74 ], [ 0x7FF8000000000000, %68 ], [ %72, %78 ], [ 0x7FF8000000000000, %83 ] + %98 = fadd float %4, %96 + %99 = fadd float %6, %97 + %100 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %98, float noundef %99) #56 + %101 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %100) #56 + %102 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %99, float noundef %98) #56 + %103 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %101, float noundef %4) #56 + %104 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %102, float noundef %6) #56 + %105 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %106 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %103, ptr addrspace(4) %105, align 4 + store float %104, ptr addrspace(4) %106, align 4 + br label %107 + +107: ; preds = %95, %42, %37, %34, %29, %21, %16, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_casinf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !753 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = fneg float %5 + %7 = load float, ptr %3, align 4 + %8 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %9, label %10, label %19 + +10: ; preds = %2 + %11 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %7) #56 + br i1 %11, label %90, label %12 + +12: ; preds = %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = fmul float %8, 2.500000e-01 + %16 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %15, float noundef %7) #56 + br label %90 + +17: ; preds = %12 + %18 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %7) #56 + br label %90 + +19: ; preds = %2 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %20, label %21, label %27 + +21: ; preds = %19 + %22 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + %23 = fcmp oeq float %7, 0.000000e+00 + %24 = select i1 %23, float %7, float %6 + %25 = select i1 %22, float %7, float %6 + %26 = select i1 %22, float %6, float %24 + br label %90 + +27: ; preds = %19 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %28, label %29, label %33 + +29: ; preds = %27 + %30 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %7, float noundef %6) #56 + %31 = fmul float %8, 5.000000e-01 + %32 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %31, float noundef %7) #56 + br label %90 + +33: ; preds = %27 + %34 = fsub float %7, %5 + %35 = fsub float %6, %7 + %36 = fmul float %34, %35 + %37 = fmul float %5, -2.000000e+00 + %38 = fmul float %37, %7 + %39 = fadd float %36, 1.000000e+00 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %38) #56 + br i1 %40, label %80, label %41 + +41: ; preds = %33 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %39) #56 + br i1 %42, label %43, label %53 + +43: ; preds = %41 + %44 = fcmp ogt float %39, 0.000000e+00 + br i1 %44, label %45, label %49 + +45: ; preds = %43 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %38) #56 + br i1 %46, label %80, label %47 + +47: ; preds = %45 + %48 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %38) #56 + br label %80 + +49: ; preds = %43 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %38) #56 + %51 = select i1 %50, float %38, float 0.000000e+00 + %52 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %39, float noundef %38) #56 + br label %80 + +53: ; preds = %41 + %54 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %39, float noundef %38) #56 + %55 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %54) #56 + %56 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %38, float noundef %39) #56 + %57 = fmul float %56, 5.000000e-01 + %58 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %55) #56 + br i1 %58, label %80, label %59 + +59: ; preds = %53 + %60 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %55) #56 + br i1 %60, label %80, label %61 + +61: ; preds = %59 + %62 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %57) #56 + br i1 %62, label %63, label %66 + +63: ; preds = %61 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %55) #56 + %65 = select i1 %64, float %55, float %57 + br label %80 + +66: ; preds = %61 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %57) #56 + br i1 %67, label %68, label %71 + +68: ; preds = %66 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %55) #56 + %70 = select i1 %69, float %55, float 0x7FF8000000000000 + br label %80 + +71: ; preds = %66 + %72 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %57) #56 + %73 = fmul float %72, %55 + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %73) #56 + %75 = select i1 %74, float 0.000000e+00, float %73 + %76 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %57) #56 + %77 = fmul float %76, %55 + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %77) #56 + %79 = select i1 %78, float 0.000000e+00, float %77 + br label %80 + +80: ; preds = %71, %68, %63, %59, %53, %49, %47, %45, %33 + %81 = phi float [ %51, %49 ], [ 0x7FF0000000000000, %33 ], [ %39, %47 ], [ %39, %45 ], [ %75, %71 ], [ 0x7FF8000000000000, %59 ], [ 0x7FF8000000000000, %53 ], [ %65, %63 ], [ %70, %68 ] + %82 = phi float [ %52, %49 ], [ %38, %33 ], [ %48, %47 ], [ %38, %45 ], [ %79, %71 ], [ 0x7FF8000000000000, %59 ], [ 0x7FF8000000000000, %53 ], [ %57, %63 ], [ 0x7FF8000000000000, %68 ] + %83 = fsub float %81, %5 + %84 = fadd float %7, %82 + %85 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %83, float noundef %84) #56 + %86 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %85) #56 + %87 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %84, float noundef %83) #56 + %88 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %86, float noundef %6) #56 + %89 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %87, float noundef %7) #56 + br label %90 + +90: ; preds = %80, %29, %21, %17, %14, %10 + %91 = phi float [ %6, %14 ], [ %6, %17 ], [ %30, %29 ], [ %88, %80 ], [ %6, %10 ], [ %25, %21 ] + %92 = phi float [ %16, %14 ], [ %18, %17 ], [ %32, %29 ], [ %89, %80 ], [ %7, %10 ], [ %26, %21 ] + %93 = fneg float %91 + %94 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %95 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %92, ptr addrspace(4) %94, align 4 + store float %93, ptr addrspace(4) %95, align 4 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cacoshf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !754 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %8, label %9, label %41 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %10, label %11, label %15 + +11: ; preds = %9 + %12 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %14 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %12, ptr addrspace(4) %13, align 4 + store float %6, ptr addrspace(4) %14, align 4 + br label %119 + +15: ; preds = %9 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %16, label %17, label %30 + +17: ; preds = %15 + %18 = fcmp ogt float %4, 0.000000e+00 + br i1 %18, label %19, label %24 + +19: ; preds = %17 + %20 = fmul float %7, 2.500000e-01 + %21 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %20, float noundef %6) #56 + %22 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %23 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %22, align 4 + store float %21, ptr addrspace(4) %23, align 4 + br label %119 + +24: ; preds = %17 + %25 = fneg float %4 + %26 = fmul float %7, 7.500000e-01 + %27 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %26, float noundef %6) #56 + %28 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %29 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %25, ptr addrspace(4) %28, align 4 + store float %27, ptr addrspace(4) %29, align 4 + br label %119 + +30: ; preds = %15 + %31 = fcmp olt float %4, 0.000000e+00 + br i1 %31, label %32, label %37 + +32: ; preds = %30 + %33 = fneg float %4 + %34 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %7, float noundef %6) #56 + %35 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %33, ptr addrspace(4) %35, align 4 + store float %34, ptr addrspace(4) %36, align 4 + br label %119 + +37: ; preds = %30 + %38 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + %39 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %39, align 4 + store float %38, ptr addrspace(4) %40, align 4 + br label %119 + +41: ; preds = %2 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + br i1 %42, label %43, label %52 + +43: ; preds = %41 + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %44, label %45, label %49 + +45: ; preds = %43 + %46 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %6) #56 + %47 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %48 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %46, ptr addrspace(4) %47, align 4 + store float %4, ptr addrspace(4) %48, align 4 + br label %119 + +49: ; preds = %43 + %50 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %51 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %50, align 4 + store float %4, ptr addrspace(4) %51, align 4 + br label %119 + +52: ; preds = %41 + %53 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %53, label %54, label %60 + +54: ; preds = %52 + %55 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %6) #56 + %56 = fmul float %7, 5.000000e-01 + %57 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %56, float noundef %6) #56 + %58 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %59 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %55, ptr addrspace(4) %58, align 4 + store float %57, ptr addrspace(4) %59, align 4 + br label %119 + +60: ; preds = %52 + %61 = fadd float %4, %6 + %62 = fsub float %4, %6 + %63 = fmul float %61, %62 + %64 = fmul float %4, 2.000000e+00 + %65 = fmul float %64, %6 + %66 = fadd float %63, -1.000000e+00 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %65) #56 + br i1 %67, label %107, label %68 + +68: ; preds = %60 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %66) #56 + br i1 %69, label %70, label %80 + +70: ; preds = %68 + %71 = fcmp ogt float %66, 0.000000e+00 + br i1 %71, label %72, label %76 + +72: ; preds = %70 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %65) #56 + br i1 %73, label %107, label %74 + +74: ; preds = %72 + %75 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %65) #56 + br label %107 + +76: ; preds = %70 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %65) #56 + %78 = select i1 %77, float %65, float 0.000000e+00 + %79 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %66, float noundef %65) #56 + br label %107 + +80: ; preds = %68 + %81 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %66, float noundef %65) #56 + %82 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %81) #56 + %83 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %65, float noundef %66) #56 + %84 = fmul float %83, 5.000000e-01 + %85 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %82) #56 + br i1 %85, label %107, label %86 + +86: ; preds = %80 + %87 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetf(float noundef %82) #56 + br i1 %87, label %107, label %88 + +88: ; preds = %86 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %84) #56 + br i1 %89, label %90, label %93 + +90: ; preds = %88 + %91 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %82) #56 + %92 = select i1 %91, float %82, float %84 + br label %107 + +93: ; preds = %88 + %94 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %84) #56 + br i1 %94, label %95, label %98 + +95: ; preds = %93 + %96 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %82) #56 + %97 = select i1 %96, float %82, float 0x7FF8000000000000 + br label %107 + +98: ; preds = %93 + %99 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %84) #56 + %100 = fmul float %99, %82 + %101 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %100) #56 + %102 = select i1 %101, float 0.000000e+00, float %100 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %84) #56 + %104 = fmul float %103, %82 + %105 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %104) #56 + %106 = select i1 %105, float 0.000000e+00, float %104 + br label %107 + +107: ; preds = %98, %95, %90, %86, %80, %76, %74, %72, %60 + %108 = phi float [ %78, %76 ], [ 0x7FF0000000000000, %60 ], [ %66, %74 ], [ %66, %72 ], [ %102, %98 ], [ 0x7FF8000000000000, %86 ], [ 0x7FF8000000000000, %80 ], [ %92, %90 ], [ %97, %95 ] + %109 = phi float [ %79, %76 ], [ %65, %60 ], [ %75, %74 ], [ %65, %72 ], [ %106, %98 ], [ 0x7FF8000000000000, %86 ], [ 0x7FF8000000000000, %80 ], [ %84, %90 ], [ 0x7FF8000000000000, %95 ] + %110 = fadd float %4, %108 + %111 = fadd float %6, %109 + %112 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %110, float noundef %111) #56 + %113 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %112) #56 + %114 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %111, float noundef %110) #56 + %115 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %113, float noundef 0.000000e+00) #56 + %116 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %114, float noundef %6) #56 + %117 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %118 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %115, ptr addrspace(4) %117, align 4 + store float %116, ptr addrspace(4) %118, align 4 + br label %119 + +119: ; preds = %107, %54, %49, %45, %37, %32, %24, %19, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_catanhf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !755 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %8, label %9, label %15 + +9: ; preds = %2 + %10 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %4) #56 + %11 = fmul float %7, 5.000000e-01 + %12 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %11, float noundef %6) #56 + %13 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %14 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %10, ptr addrspace(4) %13, align 4 + store float %12, ptr addrspace(4) %14, align 4 + br label %150 + +15: ; preds = %2 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %16, label %17, label %28 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + %19 = fcmp oeq float %4, 0.000000e+00 + %20 = select i1 %18, i1 true, i1 %19 + br i1 %20, label %21, label %25 + +21: ; preds = %17 + %22 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %4) #56 + %23 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %24 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %22, ptr addrspace(4) %23, align 4 + store float %6, ptr addrspace(4) %24, align 4 + br label %150 + +25: ; preds = %17 + %26 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %6, ptr addrspace(4) %26, align 4 + store float %6, ptr addrspace(4) %27, align 4 + br label %150 + +28: ; preds = %15 + %29 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %4) #56 + br i1 %29, label %30, label %33 + +30: ; preds = %28 + %31 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %32 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %4, ptr addrspace(4) %31, align 4 + store float %4, ptr addrspace(4) %32, align 4 + br label %150 + +33: ; preds = %28 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %34, label %35, label %41 + +35: ; preds = %33 + %36 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %4) #56 + %37 = fmul float %7, 5.000000e-01 + %38 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %37, float noundef %6) #56 + %39 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %36, ptr addrspace(4) %39, align 4 + store float %38, ptr addrspace(4) %40, align 4 + br label %150 + +41: ; preds = %33 + %42 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %43 = fcmp oeq float %42, 1.000000e+00 + %44 = fcmp oeq float %6, 0.000000e+00 + %45 = and i1 %43, %44 + br i1 %45, label %46, label %51 + +46: ; preds = %41 + %47 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0x7FF0000000000000, float noundef %4) #56 + %48 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + %49 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %50 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %47, ptr addrspace(4) %49, align 4 + store float %48, ptr addrspace(4) %50, align 4 + br label %150 + +51: ; preds = %41 + %52 = fadd float %4, 1.000000e+00 + %53 = fsub float 1.000000e+00, %4 + %54 = fneg float %6 + %55 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %53) #56 + %56 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %54) #56 + %57 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %55, float noundef %56) #56 + %58 = tail call spir_func noundef float @_Z16__spirv_ocl_logbf(float noundef %57) #56 + %59 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %58) #56 + br i1 %59, label %60, label %65 + +60: ; preds = %51 + %61 = fptosi float %58 to i32 + %62 = sub nsw i32 0, %61 + %63 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %53, i32 noundef %62) #56 + %64 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %54, i32 noundef %62) #56 + br label %65 + +65: ; preds = %60, %51 + %66 = phi i32 [ %61, %60 ], [ 0, %51 ] + %67 = phi float [ %64, %60 ], [ %54, %51 ] + %68 = phi float [ %63, %60 ], [ %53, %51 ] + %69 = fmul float %67, %67 + %70 = tail call float @llvm.fmuladd.f32(float %68, float %68, float %69) + %71 = fmul float %67, %6 + %72 = tail call float @llvm.fmuladd.f32(float %52, float %68, float %71) + %73 = fdiv float %72, %70 + %74 = sub nsw i32 0, %66 + %75 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %73, i32 noundef %74) #56 + %76 = fneg float %67 + %77 = fmul float %52, %76 + %78 = tail call float @llvm.fmuladd.f32(float %6, float %68, float %77) + %79 = fdiv float %78, %70 + %80 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %79, i32 noundef %74) #56 + %81 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %75) #56 + br i1 %81, label %82, label %138 + +82: ; preds = %65 + %83 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %80) #56 + br i1 %83, label %84, label %138 + +84: ; preds = %82 + %85 = fcmp oeq float %70, 0.000000e+00 + br i1 %85, label %86, label %94 + +86: ; preds = %84 + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %52) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %86 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %89, label %94, label %90 + +90: ; preds = %88, %86 + %91 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0x7FF0000000000000, float noundef %68) #56 + %92 = fmul float %91, %52 + %93 = fmul float %91, %6 + br label %138 + +94: ; preds = %88, %84 + %95 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %52) #56 + br i1 %95, label %98, label %96 + +96: ; preds = %94 + %97 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %97, label %98, label %116 + +98: ; preds = %96, %94 + %99 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %68) #56 + br i1 %99, label %100, label %116 + +100: ; preds = %98 + %101 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %67) #56 + br i1 %101, label %102, label %116 + +102: ; preds = %100 + %103 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %52) #56 + %104 = select i1 %103, float 1.000000e+00, float 0.000000e+00 + %105 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %104, float noundef %52) #56 + %106 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + %107 = select i1 %106, float 1.000000e+00, float 0.000000e+00 + %108 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %107, float noundef %6) #56 + %109 = fmul float %108, %67 + %110 = tail call float @llvm.fmuladd.f32(float %105, float %68, float %109) + %111 = fmul float %110, 0x7FF0000000000000 + %112 = fneg float %105 + %113 = fmul float %67, %112 + %114 = tail call float @llvm.fmuladd.f32(float %108, float %68, float %113) + %115 = fmul float %114, 0x7FF0000000000000 + br label %138 + +116: ; preds = %100, %98, %96 + %117 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %58) #56 + %118 = fcmp ogt float %58, 0.000000e+00 + %119 = and i1 %117, %118 + br i1 %119, label %120, label %138 + +120: ; preds = %116 + %121 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %52) #56 + br i1 %121, label %122, label %138 + +122: ; preds = %120 + %123 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %6) #56 + br i1 %123, label %124, label %138 + +124: ; preds = %122 + %125 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %68) #56 + %126 = select i1 %125, float 1.000000e+00, float 0.000000e+00 + %127 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %126, float noundef %68) #56 + %128 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %67) #56 + %129 = select i1 %128, float 1.000000e+00, float 0.000000e+00 + %130 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %129, float noundef %67) #56 + %131 = fmul float %130, %6 + %132 = tail call float @llvm.fmuladd.f32(float %52, float %127, float %131) + %133 = fmul float %132, 0.000000e+00 + %134 = fneg float %130 + %135 = fmul float %52, %134 + %136 = tail call float @llvm.fmuladd.f32(float %6, float %127, float %135) + %137 = fmul float %136, 0.000000e+00 + br label %138 + +138: ; preds = %124, %122, %120, %116, %102, %90, %82, %65 + %139 = phi float [ %111, %102 ], [ %133, %124 ], [ %75, %122 ], [ %75, %120 ], [ %75, %116 ], [ %92, %90 ], [ %75, %82 ], [ %75, %65 ] + %140 = phi float [ %115, %102 ], [ %137, %124 ], [ %80, %122 ], [ %80, %120 ], [ %80, %116 ], [ %93, %90 ], [ %80, %82 ], [ %80, %65 ] + %141 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %139, float noundef %140) #56 + %142 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %141) #56 + %143 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %140, float noundef %139) #56 + %144 = fmul float %142, 5.000000e-01 + %145 = fmul float %143, 5.000000e-01 + %146 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %144, float noundef %4) #56 + %147 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %145, float noundef %6) #56 + %148 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %149 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %146, ptr addrspace(4) %148, align 4 + store float %147, ptr addrspace(4) %149, align 4 + br label %150 + +150: ; preds = %138, %46, %35, %30, %25, %21, %9 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_catanf(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #21 !srcloc !756 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %5 = load float, ptr %4, align 4 + %6 = fneg float %5 + %7 = load float, ptr %3, align 4 + %8 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef 0.000000e+00, float noundef -0.000000e+00) #56 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %9, label %10, label %14 + +10: ; preds = %2 + %11 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + %12 = fmul float %8, 5.000000e-01 + %13 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %12, float noundef %7) #56 + br label %135 + +14: ; preds = %2 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %7) #56 + br i1 %15, label %16, label %22 + +16: ; preds = %14 + %17 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + %18 = fcmp oeq float %5, 0.000000e+00 + %19 = select i1 %17, i1 true, i1 %18 + br i1 %19, label %20, label %135 + +20: ; preds = %16 + %21 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + br label %135 + +22: ; preds = %14 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %6) #56 + br i1 %23, label %135, label %24 + +24: ; preds = %22 + %25 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %25, label %26, label %30 + +26: ; preds = %24 + %27 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %6) #56 + %28 = fmul float %8, 5.000000e-01 + %29 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %28, float noundef %7) #56 + br label %135 + +30: ; preds = %24 + %31 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %6) #56 + %32 = fcmp oeq float %31, 1.000000e+00 + %33 = fcmp oeq float %7, 0.000000e+00 + %34 = and i1 %32, %33 + br i1 %34, label %35, label %38 + +35: ; preds = %30 + %36 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0x7FF0000000000000, float noundef %6) #56 + %37 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %7) #56 + br label %135 + +38: ; preds = %30 + %39 = fsub float 1.000000e+00, %5 + %40 = fadd float %5, 1.000000e+00 + %41 = fneg float %7 + %42 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %40) #56 + %43 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %41) #56 + %44 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %42, float noundef %43) #56 + %45 = tail call spir_func noundef float @_Z16__spirv_ocl_logbf(float noundef %44) #56 + %46 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %45) #56 + br i1 %46, label %47, label %52 + +47: ; preds = %38 + %48 = fptosi float %45 to i32 + %49 = sub nsw i32 0, %48 + %50 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %40, i32 noundef %49) #56 + %51 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %41, i32 noundef %49) #56 + br label %52 + +52: ; preds = %47, %38 + %53 = phi i32 [ %48, %47 ], [ 0, %38 ] + %54 = phi float [ %51, %47 ], [ %41, %38 ] + %55 = phi float [ %50, %47 ], [ %40, %38 ] + %56 = fmul float %54, %54 + %57 = tail call float @llvm.fmuladd.f32(float %55, float %55, float %56) + %58 = fmul float %54, %7 + %59 = tail call float @llvm.fmuladd.f32(float %39, float %55, float %58) + %60 = fdiv float %59, %57 + %61 = sub nsw i32 0, %53 + %62 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %60, i32 noundef %61) #56 + %63 = fneg float %54 + %64 = fmul float %39, %63 + %65 = tail call float @llvm.fmuladd.f32(float %7, float %55, float %64) + %66 = fdiv float %65, %57 + %67 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %66, i32 noundef %61) #56 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %62) #56 + br i1 %68, label %69, label %125 + +69: ; preds = %52 + %70 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %67) #56 + br i1 %70, label %71, label %125 + +71: ; preds = %69 + %72 = fcmp oeq float %57, 0.000000e+00 + br i1 %72, label %73, label %81 + +73: ; preds = %71 + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %74, label %75, label %77 + +75: ; preds = %73 + %76 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %7) #56 + br i1 %76, label %81, label %77 + +77: ; preds = %75, %73 + %78 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0x7FF0000000000000, float noundef %55) #56 + %79 = fmul float %78, %39 + %80 = fmul float %78, %7 + br label %125 + +81: ; preds = %75, %71 + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %39) #56 + br i1 %82, label %85, label %83 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %84, label %85, label %103 + +85: ; preds = %83, %81 + %86 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %55) #56 + br i1 %86, label %87, label %103 + +87: ; preds = %85 + %88 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %54) #56 + br i1 %88, label %89, label %103 + +89: ; preds = %87 + %90 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %39) #56 + %91 = select i1 %90, float 1.000000e+00, float 0.000000e+00 + %92 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %91, float noundef %39) #56 + %93 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + %94 = select i1 %93, float 1.000000e+00, float 0.000000e+00 + %95 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %94, float noundef %7) #56 + %96 = fmul float %95, %54 + %97 = tail call float @llvm.fmuladd.f32(float %92, float %55, float %96) + %98 = fmul float %97, 0x7FF0000000000000 + %99 = fneg float %92 + %100 = fmul float %54, %99 + %101 = tail call float @llvm.fmuladd.f32(float %95, float %55, float %100) + %102 = fmul float %101, 0x7FF0000000000000 + br label %125 + +103: ; preds = %87, %85, %83 + %104 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %45) #56 + %105 = fcmp ogt float %45, 0.000000e+00 + %106 = and i1 %104, %105 + br i1 %106, label %107, label %125 + +107: ; preds = %103 + %108 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %39) #56 + br i1 %108, label %109, label %125 + +109: ; preds = %107 + %110 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %7) #56 + br i1 %110, label %111, label %125 + +111: ; preds = %109 + %112 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %55) #56 + %113 = select i1 %112, float 1.000000e+00, float 0.000000e+00 + %114 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %113, float noundef %55) #56 + %115 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %54) #56 + %116 = select i1 %115, float 1.000000e+00, float 0.000000e+00 + %117 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %116, float noundef %54) #56 + %118 = fmul float %117, %7 + %119 = tail call float @llvm.fmuladd.f32(float %39, float %114, float %118) + %120 = fmul float %119, 0.000000e+00 + %121 = fneg float %117 + %122 = fmul float %39, %121 + %123 = tail call float @llvm.fmuladd.f32(float %7, float %114, float %122) + %124 = fmul float %123, 0.000000e+00 + br label %125 + +125: ; preds = %111, %109, %107, %103, %89, %77, %69, %52 + %126 = phi float [ %98, %89 ], [ %120, %111 ], [ %62, %109 ], [ %62, %107 ], [ %62, %103 ], [ %79, %77 ], [ %62, %69 ], [ %62, %52 ] + %127 = phi float [ %102, %89 ], [ %124, %111 ], [ %67, %109 ], [ %67, %107 ], [ %67, %103 ], [ %80, %77 ], [ %67, %69 ], [ %67, %52 ] + %128 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %126, float noundef %127) #56 + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %128) #56 + %130 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %127, float noundef %126) #56 + %131 = fmul float %129, 5.000000e-01 + %132 = fmul float %130, 5.000000e-01 + %133 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %131, float noundef %6) #56 + %134 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %132, float noundef %7) #56 + br label %135 + +135: ; preds = %125, %35, %26, %22, %20, %16, %10 + %136 = phi float [ %11, %10 ], [ %21, %20 ], [ %27, %26 ], [ %36, %35 ], [ %133, %125 ], [ %7, %16 ], [ %6, %22 ] + %137 = phi float [ %13, %10 ], [ %7, %20 ], [ %29, %26 ], [ %37, %35 ], [ %134, %125 ], [ %7, %16 ], [ %6, %22 ] + %138 = fneg float %136 + %139 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %140 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %137, ptr addrspace(4) %139, align 4 + store float %138, ptr addrspace(4) %140, align 4 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cexp10f(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #23 !srcloc !757 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = fmul float %4, 0x40026BB1C0000000 + %8 = fmul float %6, 0.000000e+00 + %9 = fmul float %4, 0.000000e+00 + %10 = fmul float %6, 0x40026BB1C0000000 + %11 = fsub float %7, %8 + %12 = fadd float %9, %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %11) #56 + br i1 %13, label %14, label %99 + +14: ; preds = %2 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %12) #56 + br i1 %15, label %16, label %99 + +16: ; preds = %14 + %17 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + br i1 %17, label %20, label %18 + +18: ; preds = %16 + %19 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + br i1 %19, label %20, label %35 + +20: ; preds = %18, %16 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %4) #56 + %22 = select i1 %21, float 1.000000e+00, float 0.000000e+00 + %23 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %22, float noundef %4) #56 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %6) #56 + %25 = select i1 %24, float 1.000000e+00, float 0.000000e+00 + %26 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %25, float noundef %6) #56 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef 0x40026BB1C0000000) #56 + br i1 %27, label %28, label %30 + +28: ; preds = %20 + %29 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef 0x40026BB1C0000000) #56 + br label %30 + +30: ; preds = %28, %20 + %31 = phi float [ %29, %28 ], [ 0x40026BB1C0000000, %20 ] + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef 0.000000e+00) #56 + br i1 %32, label %33, label %35 + +33: ; preds = %30 + %34 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef 0.000000e+00) #56 + br label %35 + +35: ; preds = %33, %30, %18 + %36 = phi float [ 0.000000e+00, %18 ], [ %34, %33 ], [ 0.000000e+00, %30 ] + %37 = phi float [ 0x40026BB1C0000000, %18 ], [ %31, %33 ], [ %31, %30 ] + %38 = phi i1 [ true, %18 ], [ false, %33 ], [ false, %30 ] + %39 = phi float [ %6, %18 ], [ %26, %33 ], [ %26, %30 ] + %40 = phi float [ %4, %18 ], [ %23, %33 ], [ %23, %30 ] + %41 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %37) #56 + br i1 %41, label %44, label %42 + +42: ; preds = %35 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %36) #56 + br i1 %43, label %44, label %59 + +44: ; preds = %42, %35 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %37) #56 + %46 = select i1 %45, float 1.000000e+00, float 0.000000e+00 + %47 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %46, float noundef %37) #56 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %36) #56 + %49 = select i1 %48, float 1.000000e+00, float 0.000000e+00 + %50 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %49, float noundef %36) #56 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %40) #56 + br i1 %51, label %52, label %54 + +52: ; preds = %44 + %53 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %40) #56 + br label %54 + +54: ; preds = %52, %44 + %55 = phi float [ %53, %52 ], [ %40, %44 ] + %56 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %56, label %57, label %87 + +57: ; preds = %54 + %58 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %39) #56 + br label %87 + +59: ; preds = %42 + br i1 %38, label %60, label %87 + +60: ; preds = %59 + %61 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %7) #56 + br i1 %61, label %68, label %62 + +62: ; preds = %60 + %63 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %8) #56 + br i1 %63, label %68, label %64 + +64: ; preds = %62 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %9) #56 + br i1 %65, label %68, label %66 + +66: ; preds = %64 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %10) #56 + br i1 %67, label %68, label %99 + +68: ; preds = %66, %64, %62, %60 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %40) #56 + br i1 %69, label %70, label %72 + +70: ; preds = %68 + %71 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %40) #56 + br label %72 + +72: ; preds = %70, %68 + %73 = phi float [ %71, %70 ], [ %40, %68 ] + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %74, label %75, label %77 + +75: ; preds = %72 + %76 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %39) #56 + br label %77 + +77: ; preds = %75, %72 + %78 = phi float [ %76, %75 ], [ %39, %72 ] + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %37) #56 + br i1 %79, label %80, label %82 + +80: ; preds = %77 + %81 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %37) #56 + br label %82 + +82: ; preds = %80, %77 + %83 = phi float [ %81, %80 ], [ %37, %77 ] + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %36) #56 + br i1 %84, label %85, label %87 + +85: ; preds = %82 + %86 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %36) #56 + br label %87 + +87: ; preds = %85, %82, %59, %57, %54 + %88 = phi float [ %36, %82 ], [ %86, %85 ], [ %36, %59 ], [ %50, %57 ], [ %50, %54 ] + %89 = phi float [ %83, %82 ], [ %83, %85 ], [ %37, %59 ], [ %47, %57 ], [ %47, %54 ] + %90 = phi float [ %78, %82 ], [ %78, %85 ], [ %39, %59 ], [ %58, %57 ], [ %39, %54 ] + %91 = phi float [ %73, %82 ], [ %73, %85 ], [ %40, %59 ], [ %55, %57 ], [ %55, %54 ] + %92 = fneg float %90 + %93 = fmul float %88, %92 + %94 = tail call float @llvm.fmuladd.f32(float %91, float %89, float %93) + %95 = fmul float %94, 0x7FF0000000000000 + %96 = fmul float %90, %89 + %97 = tail call float @llvm.fmuladd.f32(float %91, float %88, float %96) + %98 = fmul float %97, 0x7FF0000000000000 + br label %99 + +99: ; preds = %87, %66, %14, %2 + %100 = phi float [ %12, %14 ], [ %12, %2 ], [ %98, %87 ], [ %12, %66 ] + %101 = phi float [ %11, %14 ], [ %11, %2 ], [ %95, %87 ], [ %11, %66 ] + %102 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %101) #56 + br i1 %102, label %103, label %115 + +103: ; preds = %99 + %104 = fcmp olt float %101, 0.000000e+00 + br i1 %104, label %105, label %108 + +105: ; preds = %103 + %106 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %100) #56 + %107 = select i1 %106, float %100, float 1.000000e+00 + br label %119 + +108: ; preds = %103 + %109 = fcmp oeq float %100, 0.000000e+00 + br i1 %109, label %112, label %110 + +110: ; preds = %108 + %111 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinitef(float noundef %100) #56 + br i1 %111, label %119, label %112 + +112: ; preds = %110, %108 + %113 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %100) #56 + %114 = select i1 %113, float 0x7FF8000000000000, float %100 + br label %126 + +115: ; preds = %99 + %116 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %101) #56 + %117 = fcmp oeq float %100, 0.000000e+00 + %118 = select i1 %116, i1 %117, i1 false + br i1 %118, label %126, label %119 + +119: ; preds = %115, %110, %105 + %120 = phi float [ %107, %105 ], [ %100, %110 ], [ %100, %115 ] + %121 = tail call spir_func noundef float @_Z15__spirv_ocl_expf(float noundef %101) #56 + %122 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %120) #56 + %123 = fmul float %121, %122 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %120) #56 + %125 = fmul float %121, %124 + br label %126 + +126: ; preds = %119, %115, %112 + %127 = phi float [ %123, %119 ], [ %101, %112 ], [ %101, %115 ] + %128 = phi float [ %125, %119 ], [ %114, %112 ], [ %100, %115 ] + %129 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %130 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %127, ptr addrspace(4) %129, align 4 + store float %128, ptr addrspace(4) %130, align 4 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_clog10f(ptr addrspace(4) noalias sret({ float, float }) align 4 %0, ptr noundef byval({ float, float }) align 4 %1) local_unnamed_addr #23 !srcloc !758 { + %3 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 0 + %4 = load float, ptr %3, align 4 + %5 = getelementptr inbounds { float, float }, ptr %1, i64 0, i32 1 + %6 = load float, ptr %5, align 4 + %7 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %4, float noundef %6) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %7) #56 + %9 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %6, float noundef %4) #56 + %10 = fmul float %8, 0x3FDBCB7B00000000 + %11 = fmul float %9, 0.000000e+00 + %12 = fmul float %8, 0.000000e+00 + %13 = fmul float %9, 0x3FDBCB7B00000000 + %14 = fsub float %10, %11 + %15 = fadd float %12, %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %14) #56 + br i1 %16, label %17, label %102 + +17: ; preds = %2 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %15) #56 + br i1 %18, label %19, label %102 + +19: ; preds = %17 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %8) #56 + br i1 %20, label %23, label %21 + +21: ; preds = %19 + %22 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %9) #56 + br i1 %22, label %23, label %38 + +23: ; preds = %21, %19 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %8) #56 + %25 = select i1 %24, float 1.000000e+00, float 0.000000e+00 + %26 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %25, float noundef %8) #56 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %9) #56 + %28 = select i1 %27, float 1.000000e+00, float 0.000000e+00 + %29 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %28, float noundef %9) #56 + %30 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef 0x3FDBCB7B00000000) #56 + br i1 %30, label %31, label %33 + +31: ; preds = %23 + %32 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef 0x3FDBCB7B00000000) #56 + br label %33 + +33: ; preds = %31, %23 + %34 = phi float [ %32, %31 ], [ 0x3FDBCB7B00000000, %23 ] + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef 0.000000e+00) #56 + br i1 %35, label %36, label %38 + +36: ; preds = %33 + %37 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef 0.000000e+00) #56 + br label %38 + +38: ; preds = %36, %33, %21 + %39 = phi float [ 0.000000e+00, %21 ], [ %37, %36 ], [ 0.000000e+00, %33 ] + %40 = phi float [ 0x3FDBCB7B00000000, %21 ], [ %34, %36 ], [ %34, %33 ] + %41 = phi i1 [ true, %21 ], [ false, %36 ], [ false, %33 ] + %42 = phi float [ %9, %21 ], [ %29, %36 ], [ %29, %33 ] + %43 = phi float [ %8, %21 ], [ %26, %36 ], [ %26, %33 ] + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %40) #56 + br i1 %44, label %47, label %45 + +45: ; preds = %38 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %39) #56 + br i1 %46, label %47, label %62 + +47: ; preds = %45, %38 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %40) #56 + %49 = select i1 %48, float 1.000000e+00, float 0.000000e+00 + %50 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %49, float noundef %40) #56 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %39) #56 + %52 = select i1 %51, float 1.000000e+00, float 0.000000e+00 + %53 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %52, float noundef %39) #56 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %43) #56 + br i1 %54, label %55, label %57 + +55: ; preds = %47 + %56 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %43) #56 + br label %57 + +57: ; preds = %55, %47 + %58 = phi float [ %56, %55 ], [ %43, %47 ] + %59 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %42) #56 + br i1 %59, label %60, label %90 + +60: ; preds = %57 + %61 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %42) #56 + br label %90 + +62: ; preds = %45 + br i1 %41, label %63, label %90 + +63: ; preds = %62 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %10) #56 + br i1 %64, label %71, label %65 + +65: ; preds = %63 + %66 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %11) #56 + br i1 %66, label %71, label %67 + +67: ; preds = %65 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %12) #56 + br i1 %68, label %71, label %69 + +69: ; preds = %67 + %70 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInff(float noundef %13) #56 + br i1 %70, label %71, label %102 + +71: ; preds = %69, %67, %65, %63 + %72 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %43) #56 + br i1 %72, label %73, label %75 + +73: ; preds = %71 + %74 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %43) #56 + br label %75 + +75: ; preds = %73, %71 + %76 = phi float [ %74, %73 ], [ %43, %71 ] + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %42) #56 + br i1 %77, label %78, label %80 + +78: ; preds = %75 + %79 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %42) #56 + br label %80 + +80: ; preds = %78, %75 + %81 = phi float [ %79, %78 ], [ %42, %75 ] + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %40) #56 + br i1 %82, label %83, label %85 + +83: ; preds = %80 + %84 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %40) #56 + br label %85 + +85: ; preds = %83, %80 + %86 = phi float [ %84, %83 ], [ %40, %80 ] + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNanf(float noundef %39) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %85 + %89 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef 0.000000e+00, float noundef %39) #56 + br label %90 + +90: ; preds = %88, %85, %62, %60, %57 + %91 = phi float [ %39, %85 ], [ %89, %88 ], [ %39, %62 ], [ %53, %60 ], [ %53, %57 ] + %92 = phi float [ %86, %85 ], [ %86, %88 ], [ %40, %62 ], [ %50, %60 ], [ %50, %57 ] + %93 = phi float [ %81, %85 ], [ %81, %88 ], [ %42, %62 ], [ %61, %60 ], [ %42, %57 ] + %94 = phi float [ %76, %85 ], [ %76, %88 ], [ %43, %62 ], [ %58, %60 ], [ %58, %57 ] + %95 = fneg float %93 + %96 = fmul float %91, %95 + %97 = tail call float @llvm.fmuladd.f32(float %94, float %92, float %96) + %98 = fmul float %97, 0x7FF0000000000000 + %99 = fmul float %93, %92 + %100 = tail call float @llvm.fmuladd.f32(float %94, float %91, float %99) + %101 = fmul float %100, 0x7FF0000000000000 + br label %102 + +102: ; preds = %90, %69, %17, %2 + %103 = phi float [ %15, %17 ], [ %15, %2 ], [ %101, %90 ], [ %15, %69 ] + %104 = phi float [ %14, %17 ], [ %14, %2 ], [ %98, %90 ], [ %14, %69 ] + %105 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 0 + %106 = getelementptr inbounds { float, float }, ptr addrspace(4) %0, i64 0, i32 1 + store float %104, ptr addrspace(4) %105, align 4 + store float %103, ptr addrspace(4) %106, align 4 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_creal(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #24 !srcloc !759 { + %2 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %3 = load double, ptr %2, align 8, !tbaa !760 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_cimag(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #24 !srcloc !762 { + %2 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %3 = load double, ptr %2, align 8, !tbaa !760 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib___muldc3(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4) local_unnamed_addr #25 !srcloc !763 { + %6 = fmul double %1, %3 + %7 = fmul double %2, %4 + %8 = fmul double %1, %4 + %9 = fmul double %2, %3 + %10 = fsub double %6, %7 + %11 = fadd double %8, %9 + %12 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %10) #56 + br i1 %12, label %13, label %98 + +13: ; preds = %5 + %14 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %11) #56 + br i1 %14, label %15, label %98 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + br i1 %16, label %19, label %17 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %2) #56 + br i1 %18, label %19, label %34 + +19: ; preds = %17, %15 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + %21 = select i1 %20, double 1.000000e+00, double 0.000000e+00 + %22 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %21, double noundef %1) #56 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %2) #56 + %24 = select i1 %23, double 1.000000e+00, double 0.000000e+00 + %25 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %24, double noundef %2) #56 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %3) #56 + br i1 %26, label %27, label %29 + +27: ; preds = %19 + %28 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %3) #56 + br label %29 + +29: ; preds = %27, %19 + %30 = phi double [ %28, %27 ], [ %3, %19 ] + %31 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + br i1 %31, label %32, label %34 + +32: ; preds = %29 + %33 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %4) #56 + br label %34 + +34: ; preds = %32, %29, %17 + %35 = phi double [ %4, %17 ], [ %33, %32 ], [ %4, %29 ] + %36 = phi double [ %3, %17 ], [ %30, %32 ], [ %30, %29 ] + %37 = phi i1 [ true, %17 ], [ false, %32 ], [ false, %29 ] + %38 = phi double [ %2, %17 ], [ %25, %32 ], [ %25, %29 ] + %39 = phi double [ %1, %17 ], [ %22, %32 ], [ %22, %29 ] + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %36) #56 + br i1 %40, label %43, label %41 + +41: ; preds = %34 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %35) #56 + br i1 %42, label %43, label %58 + +43: ; preds = %41, %34 + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %36) #56 + %45 = select i1 %44, double 1.000000e+00, double 0.000000e+00 + %46 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %45, double noundef %36) #56 + %47 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %35) #56 + %48 = select i1 %47, double 1.000000e+00, double 0.000000e+00 + %49 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %48, double noundef %35) #56 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %50, label %51, label %53 + +51: ; preds = %43 + %52 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %39) #56 + br label %53 + +53: ; preds = %51, %43 + %54 = phi double [ %52, %51 ], [ %39, %43 ] + %55 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %38) #56 + br i1 %55, label %56, label %86 + +56: ; preds = %53 + %57 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %38) #56 + br label %86 + +58: ; preds = %41 + br i1 %37, label %59, label %86 + +59: ; preds = %58 + %60 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %60, label %67, label %61 + +61: ; preds = %59 + %62 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %62, label %67, label %63 + +63: ; preds = %61 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %8) #56 + br i1 %64, label %67, label %65 + +65: ; preds = %63 + %66 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %9) #56 + br i1 %66, label %67, label %98 + +67: ; preds = %65, %63, %61, %59 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %68, label %69, label %71 + +69: ; preds = %67 + %70 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %39) #56 + br label %71 + +71: ; preds = %69, %67 + %72 = phi double [ %70, %69 ], [ %39, %67 ] + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %38) #56 + br i1 %73, label %74, label %76 + +74: ; preds = %71 + %75 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %38) #56 + br label %76 + +76: ; preds = %74, %71 + %77 = phi double [ %75, %74 ], [ %38, %71 ] + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %36) #56 + br i1 %78, label %79, label %81 + +79: ; preds = %76 + %80 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %36) #56 + br label %81 + +81: ; preds = %79, %76 + %82 = phi double [ %80, %79 ], [ %36, %76 ] + %83 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %35) #56 + br i1 %83, label %84, label %86 + +84: ; preds = %81 + %85 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %35) #56 + br label %86 + +86: ; preds = %84, %81, %58, %56, %53 + %87 = phi double [ %35, %81 ], [ %85, %84 ], [ %35, %58 ], [ %49, %56 ], [ %49, %53 ] + %88 = phi double [ %82, %81 ], [ %82, %84 ], [ %36, %58 ], [ %46, %56 ], [ %46, %53 ] + %89 = phi double [ %77, %81 ], [ %77, %84 ], [ %38, %58 ], [ %57, %56 ], [ %38, %53 ] + %90 = phi double [ %72, %81 ], [ %72, %84 ], [ %39, %58 ], [ %54, %56 ], [ %54, %53 ] + %91 = fneg double %89 + %92 = fmul double %87, %91 + %93 = tail call double @llvm.fmuladd.f64(double %90, double %88, double %92) + %94 = fmul double %93, 0x7FF0000000000000 + %95 = fmul double %89, %88 + %96 = tail call double @llvm.fmuladd.f64(double %90, double %87, double %95) + %97 = fmul double %96, 0x7FF0000000000000 + br label %98 + +98: ; preds = %86, %65, %13, %5 + %99 = phi double [ %11, %13 ], [ %11, %5 ], [ %97, %86 ], [ %11, %65 ] + %100 = phi double [ %10, %13 ], [ %10, %5 ], [ %94, %86 ], [ %10, %65 ] + %101 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %102 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %100, ptr addrspace(4) %101, align 8 + store double %99, ptr addrspace(4) %102, align 8 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare double @llvm.fmuladd.f64(double, double, double) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib___divdc3(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2, double noundef %3, double noundef %4) local_unnamed_addr #25 !srcloc !764 { + %6 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %3) #56 + %7 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %8 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %6, double noundef %7) #56 + %9 = tail call spir_func noundef double @_Z16__spirv_ocl_logbd(double noundef %8) #56 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %9) #56 + br i1 %10, label %11, label %16 + +11: ; preds = %5 + %12 = fptosi double %9 to i32 + %13 = sub nsw i32 0, %12 + %14 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %3, i32 noundef %13) #56 + %15 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %4, i32 noundef %13) #56 + br label %16 + +16: ; preds = %11, %5 + %17 = phi i32 [ %12, %11 ], [ 0, %5 ] + %18 = phi double [ %15, %11 ], [ %4, %5 ] + %19 = phi double [ %14, %11 ], [ %3, %5 ] + %20 = fmul double %18, %18 + %21 = tail call double @llvm.fmuladd.f64(double %19, double %19, double %20) + %22 = fmul double %18, %2 + %23 = tail call double @llvm.fmuladd.f64(double %1, double %19, double %22) + %24 = fdiv double %23, %21 + %25 = sub nsw i32 0, %17 + %26 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %24, i32 noundef %25) #56 + %27 = fneg double %18 + %28 = fmul double %27, %1 + %29 = tail call double @llvm.fmuladd.f64(double %2, double %19, double %28) + %30 = fdiv double %29, %21 + %31 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %30, i32 noundef %25) #56 + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %26) #56 + br i1 %32, label %33, label %89 + +33: ; preds = %16 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %31) #56 + br i1 %34, label %35, label %89 + +35: ; preds = %33 + %36 = fcmp oeq double %21, 0.000000e+00 + br i1 %36, label %37, label %45 + +37: ; preds = %35 + %38 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %1) #56 + br i1 %38, label %39, label %41 + +39: ; preds = %37 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %2) #56 + br i1 %40, label %45, label %41 + +41: ; preds = %39, %37 + %42 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0x7FF0000000000000, double noundef %19) #56 + %43 = fmul double %42, %1 + %44 = fmul double %42, %2 + br label %89 + +45: ; preds = %39, %35 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + br i1 %46, label %49, label %47 + +47: ; preds = %45 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %2) #56 + br i1 %48, label %49, label %67 + +49: ; preds = %47, %45 + %50 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %19) #56 + br i1 %50, label %51, label %67 + +51: ; preds = %49 + %52 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %18) #56 + br i1 %52, label %53, label %67 + +53: ; preds = %51 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + %55 = select i1 %54, double 1.000000e+00, double 0.000000e+00 + %56 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %55, double noundef %1) #56 + %57 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %2) #56 + %58 = select i1 %57, double 1.000000e+00, double 0.000000e+00 + %59 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %58, double noundef %2) #56 + %60 = fmul double %59, %18 + %61 = tail call double @llvm.fmuladd.f64(double %56, double %19, double %60) + %62 = fmul double %61, 0x7FF0000000000000 + %63 = fneg double %56 + %64 = fmul double %18, %63 + %65 = tail call double @llvm.fmuladd.f64(double %59, double %19, double %64) + %66 = fmul double %65, 0x7FF0000000000000 + br label %89 + +67: ; preds = %51, %49, %47 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %9) #56 + %69 = fcmp ogt double %9, 0.000000e+00 + %70 = and i1 %68, %69 + br i1 %70, label %71, label %89 + +71: ; preds = %67 + %72 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %1) #56 + br i1 %72, label %73, label %89 + +73: ; preds = %71 + %74 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %2) #56 + br i1 %74, label %75, label %89 + +75: ; preds = %73 + %76 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %19) #56 + %77 = select i1 %76, double 1.000000e+00, double 0.000000e+00 + %78 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %77, double noundef %19) #56 + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %18) #56 + %80 = select i1 %79, double 1.000000e+00, double 0.000000e+00 + %81 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %80, double noundef %18) #56 + %82 = fmul double %81, %2 + %83 = tail call double @llvm.fmuladd.f64(double %1, double %78, double %82) + %84 = fmul double %83, 0.000000e+00 + %85 = fneg double %81 + %86 = fmul double %85, %1 + %87 = tail call double @llvm.fmuladd.f64(double %2, double %78, double %86) + %88 = fmul double %87, 0.000000e+00 + br label %89 + +89: ; preds = %75, %73, %71, %67, %53, %41, %33, %16 + %90 = phi double [ %62, %53 ], [ %84, %75 ], [ %26, %73 ], [ %26, %71 ], [ %26, %67 ], [ %43, %41 ], [ %26, %33 ], [ %26, %16 ] + %91 = phi double [ %66, %53 ], [ %88, %75 ], [ %31, %73 ], [ %31, %71 ], [ %31, %67 ], [ %44, %41 ], [ %31, %33 ], [ %31, %16 ] + %92 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %93 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %90, ptr addrspace(4) %92, align 8 + store double %91, ptr addrspace(4) %93, align 8 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_logbd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_cabs(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #25 !srcloc !765 { + %2 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %3 = load double, ptr %2, align 8 + %4 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %3, double noundef %5) #56 + ret double %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_carg(ptr noundef byval({ double, double }) align 8 %0) local_unnamed_addr #25 !srcloc !766 { + %2 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 0 + %3 = getelementptr inbounds { double, double }, ptr %0, i64 0, i32 1 + %4 = load double, ptr %3, align 8 + %5 = load double, ptr %2, align 8 + %6 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %4, double noundef %5) #56 + ret double %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cproj(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !767 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %7, label %10, label %8 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %9, label %10, label %12 + +10: ; preds = %8, %2 + %11 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + br label %12 + +12: ; preds = %10, %8 + %13 = phi double [ 0x7FF0000000000000, %10 ], [ %4, %8 ] + %14 = phi double [ %11, %10 ], [ %6, %8 ] + %15 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %13, ptr addrspace(4) %15, align 8 + store double %14, ptr addrspace(4) %16, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cexp(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !768 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = load double, ptr %3, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %7, label %8, label %22 + +8: ; preds = %2 + %9 = fcmp olt double %6, 0.000000e+00 + br i1 %9, label %10, label %13 + +10: ; preds = %8 + %11 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %5) #56 + %12 = select i1 %11, double %5, double 1.000000e+00 + br label %29 + +13: ; preds = %8 + %14 = fcmp oeq double %5, 0.000000e+00 + br i1 %14, label %17, label %15 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %5) #56 + br i1 %16, label %29, label %17 + +17: ; preds = %15, %13 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %5) #56 + %19 = select i1 %18, double 0x7FF8000000000000, double %5 + %20 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %21 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %6, ptr addrspace(4) %20, align 8 + store double %19, ptr addrspace(4) %21, align 8 + br label %38 + +22: ; preds = %2 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + %24 = fcmp oeq double %5, 0.000000e+00 + %25 = select i1 %23, i1 %24, i1 false + br i1 %25, label %26, label %29 + +26: ; preds = %22 + %27 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %28 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %6, ptr addrspace(4) %27, align 8 + store double %5, ptr addrspace(4) %28, align 8 + br label %38 + +29: ; preds = %22, %15, %10 + %30 = phi double [ %12, %10 ], [ %5, %15 ], [ %5, %22 ] + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_expd(double noundef %6) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %30) #56 + %33 = fmul double %31, %32 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %30) #56 + %35 = fmul double %31, %34 + %36 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %37 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %33, ptr addrspace(4) %36, align 8 + store double %35, ptr addrspace(4) %37, align 8 + br label %38 + +38: ; preds = %29, %26, %17 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_expd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_sind(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_clog(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !769 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %4, double noundef %6) #56 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %7) #56 + %9 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %6, double noundef %4) #56 + %10 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %11 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %8, ptr addrspace(4) %10, align 8 + store double %9, ptr addrspace(4) %11, align 8 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_logd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cpow(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1, ptr noundef byval({ double, double }) align 8 %2) local_unnamed_addr #25 !srcloc !770 { + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %5 = load double, ptr %4, align 8 + %6 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %7 = load double, ptr %6, align 8 + %8 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %5, double noundef %7) #56 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %8) #56 + %10 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %7, double noundef %5) #56 + %11 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 0 + %12 = load double, ptr %11, align 8 + %13 = getelementptr inbounds { double, double }, ptr %2, i64 0, i32 1 + %14 = load double, ptr %13, align 8 + %15 = fmul double %12, %9 + %16 = fmul double %14, %10 + %17 = fmul double %12, %10 + %18 = fmul double %14, %9 + %19 = fsub double %15, %16 + %20 = fadd double %17, %18 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %19) #56 + br i1 %21, label %22, label %107 + +22: ; preds = %3 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %20) #56 + br i1 %23, label %24, label %107 + +24: ; preds = %22 + %25 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %12) #56 + br i1 %25, label %28, label %26 + +26: ; preds = %24 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %14) #56 + br i1 %27, label %28, label %43 + +28: ; preds = %26, %24 + %29 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %12) #56 + %30 = select i1 %29, double 1.000000e+00, double 0.000000e+00 + %31 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %30, double noundef %12) #56 + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %14) #56 + %33 = select i1 %32, double 1.000000e+00, double 0.000000e+00 + %34 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %33, double noundef %14) #56 + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %9) #56 + br i1 %35, label %36, label %38 + +36: ; preds = %28 + %37 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %9) #56 + br label %38 + +38: ; preds = %36, %28 + %39 = phi double [ %37, %36 ], [ %9, %28 ] + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %10) #56 + br i1 %40, label %41, label %43 + +41: ; preds = %38 + %42 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %10) #56 + br label %43 + +43: ; preds = %41, %38, %26 + %44 = phi double [ %10, %26 ], [ %42, %41 ], [ %10, %38 ] + %45 = phi double [ %9, %26 ], [ %39, %41 ], [ %39, %38 ] + %46 = phi i1 [ true, %26 ], [ false, %41 ], [ false, %38 ] + %47 = phi double [ %14, %26 ], [ %34, %41 ], [ %34, %38 ] + %48 = phi double [ %12, %26 ], [ %31, %41 ], [ %31, %38 ] + %49 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %45) #56 + br i1 %49, label %52, label %50 + +50: ; preds = %43 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %44) #56 + br i1 %51, label %52, label %67 + +52: ; preds = %50, %43 + %53 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %45) #56 + %54 = select i1 %53, double 1.000000e+00, double 0.000000e+00 + %55 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %54, double noundef %45) #56 + %56 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %44) #56 + %57 = select i1 %56, double 1.000000e+00, double 0.000000e+00 + %58 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %57, double noundef %44) #56 + %59 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %48) #56 + br i1 %59, label %60, label %62 + +60: ; preds = %52 + %61 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %48) #56 + br label %62 + +62: ; preds = %60, %52 + %63 = phi double [ %61, %60 ], [ %48, %52 ] + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %47) #56 + br i1 %64, label %65, label %95 + +65: ; preds = %62 + %66 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %47) #56 + br label %95 + +67: ; preds = %50 + br i1 %46, label %68, label %95 + +68: ; preds = %67 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %15) #56 + br i1 %69, label %76, label %70 + +70: ; preds = %68 + %71 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %16) #56 + br i1 %71, label %76, label %72 + +72: ; preds = %70 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %17) #56 + br i1 %73, label %76, label %74 + +74: ; preds = %72 + %75 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %18) #56 + br i1 %75, label %76, label %107 + +76: ; preds = %74, %72, %70, %68 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %48) #56 + br i1 %77, label %78, label %80 + +78: ; preds = %76 + %79 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %48) #56 + br label %80 + +80: ; preds = %78, %76 + %81 = phi double [ %79, %78 ], [ %48, %76 ] + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %47) #56 + br i1 %82, label %83, label %85 + +83: ; preds = %80 + %84 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %47) #56 + br label %85 + +85: ; preds = %83, %80 + %86 = phi double [ %84, %83 ], [ %47, %80 ] + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %45) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %85 + %89 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %45) #56 + br label %90 + +90: ; preds = %88, %85 + %91 = phi double [ %89, %88 ], [ %45, %85 ] + %92 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %44) #56 + br i1 %92, label %93, label %95 + +93: ; preds = %90 + %94 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %44) #56 + br label %95 + +95: ; preds = %93, %90, %67, %65, %62 + %96 = phi double [ %44, %90 ], [ %94, %93 ], [ %44, %67 ], [ %58, %65 ], [ %58, %62 ] + %97 = phi double [ %91, %90 ], [ %91, %93 ], [ %45, %67 ], [ %55, %65 ], [ %55, %62 ] + %98 = phi double [ %86, %90 ], [ %86, %93 ], [ %47, %67 ], [ %66, %65 ], [ %47, %62 ] + %99 = phi double [ %81, %90 ], [ %81, %93 ], [ %48, %67 ], [ %63, %65 ], [ %63, %62 ] + %100 = fneg double %98 + %101 = fmul double %96, %100 + %102 = tail call double @llvm.fmuladd.f64(double %99, double %97, double %101) + %103 = fmul double %102, 0x7FF0000000000000 + %104 = fmul double %98, %97 + %105 = tail call double @llvm.fmuladd.f64(double %99, double %96, double %104) + %106 = fmul double %105, 0x7FF0000000000000 + br label %107 + +107: ; preds = %95, %74, %22, %3 + %108 = phi double [ %20, %22 ], [ %20, %3 ], [ %106, %95 ], [ %20, %74 ] + %109 = phi double [ %19, %22 ], [ %19, %3 ], [ %103, %95 ], [ %19, %74 ] + %110 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %109) #56 + br i1 %110, label %111, label %123 + +111: ; preds = %107 + %112 = fcmp olt double %109, 0.000000e+00 + br i1 %112, label %113, label %116 + +113: ; preds = %111 + %114 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %108) #56 + %115 = select i1 %114, double %108, double 1.000000e+00 + br label %127 + +116: ; preds = %111 + %117 = fcmp oeq double %108, 0.000000e+00 + br i1 %117, label %120, label %118 + +118: ; preds = %116 + %119 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %108) #56 + br i1 %119, label %127, label %120 + +120: ; preds = %118, %116 + %121 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %108) #56 + %122 = select i1 %121, double 0x7FF8000000000000, double %108 + br label %134 + +123: ; preds = %107 + %124 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %109) #56 + %125 = fcmp oeq double %108, 0.000000e+00 + %126 = select i1 %124, i1 %125, i1 false + br i1 %126, label %134, label %127 + +127: ; preds = %123, %118, %113 + %128 = phi double [ %115, %113 ], [ %108, %118 ], [ %108, %123 ] + %129 = tail call spir_func noundef double @_Z15__spirv_ocl_expd(double noundef %109) #56 + %130 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %128) #56 + %131 = fmul double %129, %130 + %132 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %128) #56 + %133 = fmul double %129, %132 + br label %134 + +134: ; preds = %127, %123, %120 + %135 = phi double [ %131, %127 ], [ %109, %120 ], [ %109, %123 ] + %136 = phi double [ %133, %127 ], [ %122, %120 ], [ %108, %123 ] + %137 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %138 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %135, ptr addrspace(4) %137, align 8 + store double %136, ptr addrspace(4) %138, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cpolar(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, double noundef %1, double noundef %2) local_unnamed_addr #25 !srcloc !771 { + %4 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %1) #56 + br i1 %4, label %7, label %5 + +5: ; preds = %3 + %6 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %1) #56 + br i1 %6, label %7, label %10 + +7: ; preds = %5, %3 + %8 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %9 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 0x7FF8000000000000, ptr addrspace(4) %8, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %9, align 8 + br label %41 + +10: ; preds = %5 + %11 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %2) #56 + br i1 %11, label %12, label %20 + +12: ; preds = %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %16 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %1, ptr addrspace(4) %15, align 8 + store double %2, ptr addrspace(4) %16, align 8 + br label %41 + +17: ; preds = %12 + %18 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %19 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %2, ptr addrspace(4) %18, align 8 + store double %2, ptr addrspace(4) %19, align 8 + br label %41 + +20: ; preds = %10 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %2) #56 + br i1 %21, label %22, label %30 + +22: ; preds = %20 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %1) #56 + br i1 %23, label %24, label %27 + +24: ; preds = %22 + %25 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %26 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %1, ptr addrspace(4) %25, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %26, align 8 + br label %41 + +27: ; preds = %22 + %28 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %29 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 0x7FF8000000000000, ptr addrspace(4) %28, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %29, align 8 + br label %41 + +30: ; preds = %20 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %2) #56 + %32 = fmul double %31, %1 + %33 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %32) #56 + %34 = select i1 %33, double 0.000000e+00, double %32 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %2) #56 + %36 = fmul double %35, %1 + %37 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %36) #56 + %38 = select i1 %37, double 0.000000e+00, double %36 + %39 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %34, ptr addrspace(4) %39, align 8 + store double %38, ptr addrspace(4) %40, align 8 + br label %41 + +41: ; preds = %30, %27, %24, %17, %14, %7 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csqrt(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !772 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %7, label %8, label %11 + +8: ; preds = %2 + %9 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %10 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 0x7FF0000000000000, ptr addrspace(4) %9, align 8 + store double %6, ptr addrspace(4) %10, align 8 + br label %61 + +11: ; preds = %2 + %12 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %12, label %13, label %29 + +13: ; preds = %11 + %14 = fcmp ogt double %4, 0.000000e+00 + br i1 %14, label %15, label %23 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %16, label %19, label %17 + +17: ; preds = %15 + %18 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + br label %19 + +19: ; preds = %17, %15 + %20 = phi double [ %18, %17 ], [ %6, %15 ] + %21 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %21, align 8 + store double %20, ptr addrspace(4) %22, align 8 + br label %61 + +23: ; preds = %13 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + %25 = select i1 %24, double %6, double 0.000000e+00 + %26 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %4, double noundef %6) #56 + %27 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %28 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %25, ptr addrspace(4) %27, align 8 + store double %26, ptr addrspace(4) %28, align 8 + br label %61 + +29: ; preds = %11 + %30 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %4, double noundef %6) #56 + %31 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %30) #56 + %32 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %6, double noundef %4) #56 + %33 = fmul double %32, 5.000000e-01 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %31) #56 + br i1 %34, label %56, label %35 + +35: ; preds = %29 + %36 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %31) #56 + br i1 %36, label %56, label %37 + +37: ; preds = %35 + %38 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %33) #56 + br i1 %38, label %39, label %42 + +39: ; preds = %37 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %31) #56 + %41 = select i1 %40, double %31, double %33 + br label %56 + +42: ; preds = %37 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %33) #56 + br i1 %43, label %44, label %47 + +44: ; preds = %42 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %31) #56 + %46 = select i1 %45, double %31, double 0x7FF8000000000000 + br label %56 + +47: ; preds = %42 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %33) #56 + %49 = fmul double %48, %31 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %49) #56 + %51 = select i1 %50, double 0.000000e+00, double %49 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %33) #56 + %53 = fmul double %52, %31 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %53) #56 + %55 = select i1 %54, double 0.000000e+00, double %53 + br label %56 + +56: ; preds = %47, %44, %39, %35, %29 + %57 = phi double [ %55, %47 ], [ 0x7FF8000000000000, %35 ], [ 0x7FF8000000000000, %29 ], [ %33, %39 ], [ 0x7FF8000000000000, %44 ] + %58 = phi double [ %51, %47 ], [ 0x7FF8000000000000, %35 ], [ 0x7FF8000000000000, %29 ], [ %41, %39 ], [ %46, %44 ] + %59 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %60 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %58, ptr addrspace(4) %59, align 8 + store double %57, ptr addrspace(4) %60, align 8 + br label %61 + +61: ; preds = %56, %23, %19, %8 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csinh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !773 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %7, label %8, label %13 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %9, label %13, label %10 + +10: ; preds = %8 + %11 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %11, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %12, align 8 + br label %36 + +13: ; preds = %8, %2 + %14 = fcmp oeq double %4, 0.000000e+00 + br i1 %14, label %15, label %20 + +15: ; preds = %13 + %16 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %16, label %20, label %17 + +17: ; preds = %15 + %18 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %19 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %18, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %19, align 8 + br label %36 + +20: ; preds = %15, %13 + %21 = fcmp oeq double %6, 0.000000e+00 + br i1 %21, label %22, label %27 + +22: ; preds = %20 + %23 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %4) #56 + br i1 %23, label %27, label %24 + +24: ; preds = %22 + %25 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %26 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %25, align 8 + store double %6, ptr addrspace(4) %26, align 8 + br label %36 + +27: ; preds = %22, %20 + %28 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %4) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %6) #56 + %30 = fmul double %28, %29 + %31 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %4) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %6) #56 + %33 = fmul double %31, %32 + %34 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %35 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %30, ptr addrspace(4) %34, align 8 + store double %33, ptr addrspace(4) %35, align 8 + br label %36 + +36: ; preds = %27, %24, %17, %10 + ret void +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef) local_unnamed_addr #22 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ccosh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !774 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %7, label %8, label %14 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %9, label %14, label %10 + +10: ; preds = %8 + %11 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %11, ptr addrspace(4) %12, align 8 + store double 0x7FF8000000000000, ptr addrspace(4) %13, align 8 + br label %43 + +14: ; preds = %8, %2 + %15 = fcmp oeq double %4, 0.000000e+00 + br i1 %15, label %18, label %16 + +16: ; preds = %14 + %17 = fcmp oeq double %6, 0.000000e+00 + br i1 %17, label %28, label %34 + +18: ; preds = %14 + %19 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %19, label %23, label %20 + +20: ; preds = %18 + %21 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 0x7FF8000000000000, ptr addrspace(4) %21, align 8 + store double %4, ptr addrspace(4) %22, align 8 + br label %43 + +23: ; preds = %18 + %24 = fcmp oeq double %6, 0.000000e+00 + br i1 %24, label %25, label %34 + +25: ; preds = %23 + %26 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 1.000000e+00, ptr addrspace(4) %26, align 8 + store double %6, ptr addrspace(4) %27, align 8 + br label %43 + +28: ; preds = %16 + %29 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %4) #56 + br i1 %29, label %34, label %30 + +30: ; preds = %28 + %31 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %32 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %33 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %31, ptr addrspace(4) %32, align 8 + store double %6, ptr addrspace(4) %33, align 8 + br label %43 + +34: ; preds = %28, %23, %16 + %35 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %4) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %6) #56 + %37 = fmul double %35, %36 + %38 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %4) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %6) #56 + %40 = fmul double %38, %39 + %41 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %42 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %37, ptr addrspace(4) %41, align 8 + store double %40, ptr addrspace(4) %42, align 8 + br label %43 + +43: ; preds = %34, %30, %25, %20, %10 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ctanh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !775 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %7, label %8, label %19 + +8: ; preds = %2 + %9 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %9, label %13, label %10 + +10: ; preds = %8 + %11 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 1.000000e+00, ptr addrspace(4) %11, align 8 + store double 0.000000e+00, ptr addrspace(4) %12, align 8 + br label %49 + +13: ; preds = %8 + %14 = fmul double %6, 2.000000e+00 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %14) #56 + %16 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %15) #56 + %17 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %18 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 1.000000e+00, ptr addrspace(4) %17, align 8 + store double %16, ptr addrspace(4) %18, align 8 + br label %49 + +19: ; preds = %2 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + %21 = fcmp oeq double %6, 0.000000e+00 + %22 = select i1 %20, i1 %21, i1 false + br i1 %22, label %23, label %26 + +23: ; preds = %19 + %24 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %25 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %24, align 8 + store double %6, ptr addrspace(4) %25, align 8 + br label %49 + +26: ; preds = %19 + %27 = fmul double %4, 2.000000e+00 + %28 = fmul double %6, 2.000000e+00 + %29 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %27) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %28) #56 + %31 = fadd double %29, %30 + %32 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %27) #56 + %33 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %32) #56 + br i1 %33, label %34, label %43 + +34: ; preds = %26 + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %31) #56 + br i1 %35, label %36, label %43 + +36: ; preds = %34 + %37 = fcmp ogt double %32, 0.000000e+00 + %38 = select i1 %37, double 1.000000e+00, double -1.000000e+00 + %39 = fcmp ogt double %28, 0.000000e+00 + %40 = select i1 %39, double 0.000000e+00, double -0.000000e+00 + %41 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %42 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %38, ptr addrspace(4) %41, align 8 + store double %40, ptr addrspace(4) %42, align 8 + br label %49 + +43: ; preds = %34, %26 + %44 = fdiv double %32, %31 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %28) #56 + %46 = fdiv double %45, %31 + %47 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %48 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %44, ptr addrspace(4) %47, align 8 + store double %46, ptr addrspace(4) %48, align 8 + br label %49 + +49: ; preds = %43, %36, %23, %13, %10 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_csin(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !776 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = fneg double %5 + %7 = load double, ptr %3, align 8 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %8, label %9, label %11 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %10, label %11, label %26 + +11: ; preds = %9, %2 + %12 = fcmp oeq double %5, 0.000000e+00 + br i1 %12, label %13, label %15 + +13: ; preds = %11 + %14 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %14, label %15, label %26 + +15: ; preds = %13, %11 + %16 = fcmp oeq double %7, 0.000000e+00 + br i1 %16, label %17, label %19 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %18, label %19, label %26 + +19: ; preds = %17, %15 + %20 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %6) #56 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %7) #56 + %22 = fmul double %20, %21 + %23 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %6) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %7) #56 + %25 = fmul double %23, %24 + br label %26 + +26: ; preds = %19, %17, %13, %9 + %27 = phi double [ %22, %19 ], [ %6, %9 ], [ %6, %13 ], [ %6, %17 ] + %28 = phi double [ %25, %19 ], [ 0x7FF8000000000000, %9 ], [ 0x7FF8000000000000, %13 ], [ %7, %17 ] + %29 = fneg double %27 + %30 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %31 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %28, ptr addrspace(4) %30, align 8 + store double %29, ptr addrspace(4) %31, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ccos(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !777 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = fneg double %5 + %7 = load double, ptr %3, align 8 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %8, label %9, label %13 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %10, label %13, label %11 + +11: ; preds = %9 + %12 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + br label %32 + +13: ; preds = %9, %2 + %14 = fcmp oeq double %5, 0.000000e+00 + br i1 %14, label %17, label %15 + +15: ; preds = %13 + %16 = fcmp oeq double %7, 0.000000e+00 + br i1 %16, label %21, label %25 + +17: ; preds = %13 + %18 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %18, label %19, label %32 + +19: ; preds = %17 + %20 = fcmp oeq double %7, 0.000000e+00 + br i1 %20, label %32, label %25 + +21: ; preds = %15 + %22 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %22, label %25, label %23 + +23: ; preds = %21 + %24 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + br label %32 + +25: ; preds = %21, %19, %15 + %26 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %6) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %7) #56 + %28 = fmul double %26, %27 + %29 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %6) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %7) #56 + %31 = fmul double %29, %30 + br label %32 + +32: ; preds = %25, %23, %19, %17, %11 + %33 = phi double [ %28, %25 ], [ %24, %23 ], [ %12, %11 ], [ 0x7FF8000000000000, %17 ], [ 1.000000e+00, %19 ] + %34 = phi double [ %31, %25 ], [ %7, %23 ], [ 0x7FF8000000000000, %11 ], [ %6, %17 ], [ %7, %19 ] + %35 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %33, ptr addrspace(4) %35, align 8 + store double %34, ptr addrspace(4) %36, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ctan(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !778 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = fneg double %5 + %7 = load double, ptr %3, align 8 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %8, label %9, label %15 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %10, label %11, label %38 + +11: ; preds = %9 + %12 = fmul double %7, 2.000000e+00 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %12) #56 + %14 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %13) #56 + br label %38 + +15: ; preds = %2 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + %17 = fcmp oeq double %7, 0.000000e+00 + %18 = select i1 %16, i1 %17, i1 false + br i1 %18, label %38, label %19 + +19: ; preds = %15 + %20 = fmul double %5, -2.000000e+00 + %21 = fmul double %7, 2.000000e+00 + %22 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %20) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %21) #56 + %24 = fadd double %22, %23 + %25 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %20) #56 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %25) #56 + br i1 %26, label %27, label %34 + +27: ; preds = %19 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %24) #56 + br i1 %28, label %29, label %34 + +29: ; preds = %27 + %30 = fcmp ogt double %25, 0.000000e+00 + %31 = select i1 %30, double 1.000000e+00, double -1.000000e+00 + %32 = fcmp ogt double %21, 0.000000e+00 + %33 = select i1 %32, double 0.000000e+00, double -0.000000e+00 + br label %38 + +34: ; preds = %27, %19 + %35 = fdiv double %25, %24 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %21) #56 + %37 = fdiv double %36, %24 + br label %38 + +38: ; preds = %34, %29, %15, %11, %9 + %39 = phi double [ 1.000000e+00, %11 ], [ %31, %29 ], [ %35, %34 ], [ 1.000000e+00, %9 ], [ %6, %15 ] + %40 = phi double [ %14, %11 ], [ %33, %29 ], [ %37, %34 ], [ 0.000000e+00, %9 ], [ %7, %15 ] + %41 = fneg double %39 + %42 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %43 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %40, ptr addrspace(4) %42, align 8 + store double %41, ptr addrspace(4) %43, align 8 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func void @__sqr(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #24 !srcloc !779 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = fadd double %4, %6 + %8 = fsub double %4, %6 + %9 = fmul double %7, %8 + %10 = fmul double %4, 2.000000e+00 + %11 = fmul double %10, %6 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %9, ptr addrspace(4) %12, align 8 + store double %11, ptr addrspace(4) %13, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cacos(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !780 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %8, label %9, label %42 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %6, ptr addrspace(4) %12, align 8 + store double %4, ptr addrspace(4) %13, align 8 + br label %138 + +14: ; preds = %9 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %15, label %16, label %28 + +16: ; preds = %14 + %17 = fcmp olt double %4, 0.000000e+00 + br i1 %17, label %18, label %23 + +18: ; preds = %16 + %19 = fmul double %7, 7.500000e-01 + %20 = fneg double %6 + %21 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %22 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %19, ptr addrspace(4) %21, align 8 + store double %20, ptr addrspace(4) %22, align 8 + br label %138 + +23: ; preds = %16 + %24 = fmul double %7, 2.500000e-01 + %25 = fneg double %6 + %26 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %24, ptr addrspace(4) %26, align 8 + store double %25, ptr addrspace(4) %27, align 8 + br label %138 + +28: ; preds = %14 + %29 = fcmp olt double %4, 0.000000e+00 + br i1 %29, label %30, label %36 + +30: ; preds = %28 + %31 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %6) #56 + %32 = fneg double %4 + %33 = select i1 %31, double %32, double %4 + %34 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %35 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %7, ptr addrspace(4) %34, align 8 + store double %33, ptr addrspace(4) %35, align 8 + br label %138 + +36: ; preds = %28 + %37 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %6) #56 + %38 = fneg double %4 + %39 = select i1 %37, double %4, double %38 + %40 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %41 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double 0.000000e+00, ptr addrspace(4) %40, align 8 + store double %39, ptr addrspace(4) %41, align 8 + br label %138 + +42: ; preds = %2 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + br i1 %43, label %44, label %53 + +44: ; preds = %42 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %45, label %46, label %50 + +46: ; preds = %44 + %47 = fneg double %6 + %48 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %49 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %48, align 8 + store double %47, ptr addrspace(4) %49, align 8 + br label %138 + +50: ; preds = %44 + %51 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %52 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %51, align 8 + store double %4, ptr addrspace(4) %52, align 8 + br label %138 + +53: ; preds = %42 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %54, label %55, label %60 + +55: ; preds = %53 + %56 = fmul double %7, 5.000000e-01 + %57 = fneg double %4 + %58 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %59 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %56, ptr addrspace(4) %58, align 8 + store double %57, ptr addrspace(4) %59, align 8 + br label %138 + +60: ; preds = %53 + %61 = fcmp oeq double %4, 0.000000e+00 + br i1 %61, label %62, label %71 + +62: ; preds = %60 + %63 = fcmp oeq double %6, 0.000000e+00 + br i1 %63, label %66, label %64 + +64: ; preds = %62 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %65, label %66, label %71 + +66: ; preds = %64, %62 + %67 = fmul double %7, 5.000000e-01 + %68 = fneg double %6 + %69 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %70 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %67, ptr addrspace(4) %69, align 8 + store double %68, ptr addrspace(4) %70, align 8 + br label %138 + +71: ; preds = %64, %60 + %72 = fadd double %4, %6 + %73 = fsub double %4, %6 + %74 = fmul double %72, %73 + %75 = fmul double %4, 2.000000e+00 + %76 = fmul double %75, %6 + %77 = fadd double %74, -1.000000e+00 + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %76) #56 + br i1 %78, label %118, label %79 + +79: ; preds = %71 + %80 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %77) #56 + br i1 %80, label %81, label %91 + +81: ; preds = %79 + %82 = fcmp ogt double %77, 0.000000e+00 + br i1 %82, label %83, label %87 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %76) #56 + br i1 %84, label %118, label %85 + +85: ; preds = %83 + %86 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %76) #56 + br label %118 + +87: ; preds = %81 + %88 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %76) #56 + %89 = select i1 %88, double %76, double 0.000000e+00 + %90 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %77, double noundef %76) #56 + br label %118 + +91: ; preds = %79 + %92 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %77, double noundef %76) #56 + %93 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %92) #56 + %94 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %76, double noundef %77) #56 + %95 = fmul double %94, 5.000000e-01 + %96 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %93) #56 + br i1 %96, label %118, label %97 + +97: ; preds = %91 + %98 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %93) #56 + br i1 %98, label %118, label %99 + +99: ; preds = %97 + %100 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %95) #56 + br i1 %100, label %101, label %104 + +101: ; preds = %99 + %102 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %93) #56 + %103 = select i1 %102, double %93, double %95 + br label %118 + +104: ; preds = %99 + %105 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %95) #56 + br i1 %105, label %106, label %109 + +106: ; preds = %104 + %107 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %93) #56 + %108 = select i1 %107, double %93, double 0x7FF8000000000000 + br label %118 + +109: ; preds = %104 + %110 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %95) #56 + %111 = fmul double %110, %93 + %112 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %111) #56 + %113 = select i1 %112, double 0.000000e+00, double %111 + %114 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %95) #56 + %115 = fmul double %114, %93 + %116 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %115) #56 + %117 = select i1 %116, double 0.000000e+00, double %115 + br label %118 + +118: ; preds = %109, %106, %101, %97, %91, %87, %85, %83, %71 + %119 = phi double [ %89, %87 ], [ 0x7FF0000000000000, %71 ], [ %77, %85 ], [ %77, %83 ], [ %113, %109 ], [ 0x7FF8000000000000, %97 ], [ 0x7FF8000000000000, %91 ], [ %103, %101 ], [ %108, %106 ] + %120 = phi double [ %90, %87 ], [ %76, %71 ], [ %86, %85 ], [ %76, %83 ], [ %117, %109 ], [ 0x7FF8000000000000, %97 ], [ 0x7FF8000000000000, %91 ], [ %95, %101 ], [ 0x7FF8000000000000, %106 ] + %121 = fadd double %4, %119 + %122 = fadd double %6, %120 + %123 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %121, double noundef %122) #56 + %124 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %123) #56 + %125 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %122, double noundef %121) #56 + %126 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %6) #56 + br i1 %126, label %127, label %132 + +127: ; preds = %118 + %128 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %125) #56 + %129 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %124) #56 + %130 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %131 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %128, ptr addrspace(4) %130, align 8 + store double %129, ptr addrspace(4) %131, align 8 + br label %138 + +132: ; preds = %118 + %133 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %125) #56 + %134 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %124) #56 + %135 = fneg double %134 + %136 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %137 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %133, ptr addrspace(4) %136, align 8 + store double %135, ptr addrspace(4) %137, align 8 + br label %138 + +138: ; preds = %132, %127, %66, %55, %50, %46, %36, %30, %23, %18, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_casinh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !781 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %8, label %9, label %25 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %12, align 8 + store double %6, ptr addrspace(4) %13, align 8 + br label %107 + +14: ; preds = %9 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %15, label %16, label %21 + +16: ; preds = %14 + %17 = fmul double %7, 2.500000e-01 + %18 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %17, double noundef %6) #56 + %19 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %20 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %19, align 8 + store double %18, ptr addrspace(4) %20, align 8 + br label %107 + +21: ; preds = %14 + %22 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + %23 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %24 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %23, align 8 + store double %22, ptr addrspace(4) %24, align 8 + br label %107 + +25: ; preds = %2 + %26 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + br i1 %26, label %27, label %40 + +27: ; preds = %25 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %28, label %29, label %32 + +29: ; preds = %27 + %30 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %31 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %6, ptr addrspace(4) %30, align 8 + store double %4, ptr addrspace(4) %31, align 8 + br label %107 + +32: ; preds = %27 + %33 = fcmp oeq double %6, 0.000000e+00 + br i1 %33, label %34, label %37 + +34: ; preds = %32 + %35 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %35, align 8 + store double %6, ptr addrspace(4) %36, align 8 + br label %107 + +37: ; preds = %32 + %38 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %39 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %38, align 8 + store double %4, ptr addrspace(4) %39, align 8 + br label %107 + +40: ; preds = %25 + %41 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %41, label %42, label %48 + +42: ; preds = %40 + %43 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %6, double noundef %4) #56 + %44 = fmul double %7, 5.000000e-01 + %45 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %44, double noundef %6) #56 + %46 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %47 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %43, ptr addrspace(4) %46, align 8 + store double %45, ptr addrspace(4) %47, align 8 + br label %107 + +48: ; preds = %40 + %49 = fadd double %4, %6 + %50 = fsub double %4, %6 + %51 = fmul double %49, %50 + %52 = fmul double %4, 2.000000e+00 + %53 = fmul double %52, %6 + %54 = fadd double %51, 1.000000e+00 + %55 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %53) #56 + br i1 %55, label %95, label %56 + +56: ; preds = %48 + %57 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %54) #56 + br i1 %57, label %58, label %68 + +58: ; preds = %56 + %59 = fcmp ogt double %54, 0.000000e+00 + br i1 %59, label %60, label %64 + +60: ; preds = %58 + %61 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %53) #56 + br i1 %61, label %95, label %62 + +62: ; preds = %60 + %63 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %53) #56 + br label %95 + +64: ; preds = %58 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %53) #56 + %66 = select i1 %65, double %53, double 0.000000e+00 + %67 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %54, double noundef %53) #56 + br label %95 + +68: ; preds = %56 + %69 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %54, double noundef %53) #56 + %70 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %69) #56 + %71 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %53, double noundef %54) #56 + %72 = fmul double %71, 5.000000e-01 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %70) #56 + br i1 %73, label %95, label %74 + +74: ; preds = %68 + %75 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %70) #56 + br i1 %75, label %95, label %76 + +76: ; preds = %74 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %72) #56 + br i1 %77, label %78, label %81 + +78: ; preds = %76 + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %70) #56 + %80 = select i1 %79, double %70, double %72 + br label %95 + +81: ; preds = %76 + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %72) #56 + br i1 %82, label %83, label %86 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %70) #56 + %85 = select i1 %84, double %70, double 0x7FF8000000000000 + br label %95 + +86: ; preds = %81 + %87 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %72) #56 + %88 = fmul double %87, %70 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %88) #56 + %90 = select i1 %89, double 0.000000e+00, double %88 + %91 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %72) #56 + %92 = fmul double %91, %70 + %93 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %92) #56 + %94 = select i1 %93, double 0.000000e+00, double %92 + br label %95 + +95: ; preds = %86, %83, %78, %74, %68, %64, %62, %60, %48 + %96 = phi double [ %66, %64 ], [ 0x7FF0000000000000, %48 ], [ %54, %62 ], [ %54, %60 ], [ %90, %86 ], [ 0x7FF8000000000000, %74 ], [ 0x7FF8000000000000, %68 ], [ %80, %78 ], [ %85, %83 ] + %97 = phi double [ %67, %64 ], [ %53, %48 ], [ %63, %62 ], [ %53, %60 ], [ %94, %86 ], [ 0x7FF8000000000000, %74 ], [ 0x7FF8000000000000, %68 ], [ %72, %78 ], [ 0x7FF8000000000000, %83 ] + %98 = fadd double %4, %96 + %99 = fadd double %6, %97 + %100 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %98, double noundef %99) #56 + %101 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %100) #56 + %102 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %99, double noundef %98) #56 + %103 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %101, double noundef %4) #56 + %104 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %102, double noundef %6) #56 + %105 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %106 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %103, ptr addrspace(4) %105, align 8 + store double %104, ptr addrspace(4) %106, align 8 + br label %107 + +107: ; preds = %95, %42, %37, %34, %29, %21, %16, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_casin(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !782 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = fneg double %5 + %7 = load double, ptr %3, align 8 + %8 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %9, label %10, label %19 + +10: ; preds = %2 + %11 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %7) #56 + br i1 %11, label %90, label %12 + +12: ; preds = %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = fmul double %8, 2.500000e-01 + %16 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %15, double noundef %7) #56 + br label %90 + +17: ; preds = %12 + %18 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %7) #56 + br label %90 + +19: ; preds = %2 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %20, label %21, label %27 + +21: ; preds = %19 + %22 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + %23 = fcmp oeq double %7, 0.000000e+00 + %24 = select i1 %23, double %7, double %6 + %25 = select i1 %22, double %7, double %6 + %26 = select i1 %22, double %6, double %24 + br label %90 + +27: ; preds = %19 + %28 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %28, label %29, label %33 + +29: ; preds = %27 + %30 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %7, double noundef %6) #56 + %31 = fmul double %8, 5.000000e-01 + %32 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %31, double noundef %7) #56 + br label %90 + +33: ; preds = %27 + %34 = fsub double %7, %5 + %35 = fsub double %6, %7 + %36 = fmul double %34, %35 + %37 = fmul double %5, -2.000000e+00 + %38 = fmul double %37, %7 + %39 = fadd double %36, 1.000000e+00 + %40 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %38) #56 + br i1 %40, label %80, label %41 + +41: ; preds = %33 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %39) #56 + br i1 %42, label %43, label %53 + +43: ; preds = %41 + %44 = fcmp ogt double %39, 0.000000e+00 + br i1 %44, label %45, label %49 + +45: ; preds = %43 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %38) #56 + br i1 %46, label %80, label %47 + +47: ; preds = %45 + %48 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %38) #56 + br label %80 + +49: ; preds = %43 + %50 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %38) #56 + %51 = select i1 %50, double %38, double 0.000000e+00 + %52 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %39, double noundef %38) #56 + br label %80 + +53: ; preds = %41 + %54 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %39, double noundef %38) #56 + %55 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %54) #56 + %56 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %38, double noundef %39) #56 + %57 = fmul double %56, 5.000000e-01 + %58 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %55) #56 + br i1 %58, label %80, label %59 + +59: ; preds = %53 + %60 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %55) #56 + br i1 %60, label %80, label %61 + +61: ; preds = %59 + %62 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %57) #56 + br i1 %62, label %63, label %66 + +63: ; preds = %61 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %55) #56 + %65 = select i1 %64, double %55, double %57 + br label %80 + +66: ; preds = %61 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %57) #56 + br i1 %67, label %68, label %71 + +68: ; preds = %66 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %55) #56 + %70 = select i1 %69, double %55, double 0x7FF8000000000000 + br label %80 + +71: ; preds = %66 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %57) #56 + %73 = fmul double %72, %55 + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %73) #56 + %75 = select i1 %74, double 0.000000e+00, double %73 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %57) #56 + %77 = fmul double %76, %55 + %78 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %77) #56 + %79 = select i1 %78, double 0.000000e+00, double %77 + br label %80 + +80: ; preds = %71, %68, %63, %59, %53, %49, %47, %45, %33 + %81 = phi double [ %51, %49 ], [ 0x7FF0000000000000, %33 ], [ %39, %47 ], [ %39, %45 ], [ %75, %71 ], [ 0x7FF8000000000000, %59 ], [ 0x7FF8000000000000, %53 ], [ %65, %63 ], [ %70, %68 ] + %82 = phi double [ %52, %49 ], [ %38, %33 ], [ %48, %47 ], [ %38, %45 ], [ %79, %71 ], [ 0x7FF8000000000000, %59 ], [ 0x7FF8000000000000, %53 ], [ %57, %63 ], [ 0x7FF8000000000000, %68 ] + %83 = fsub double %81, %5 + %84 = fadd double %7, %82 + %85 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %83, double noundef %84) #56 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %85) #56 + %87 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %84, double noundef %83) #56 + %88 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %86, double noundef %6) #56 + %89 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %87, double noundef %7) #56 + br label %90 + +90: ; preds = %80, %29, %21, %17, %14, %10 + %91 = phi double [ %6, %14 ], [ %6, %17 ], [ %30, %29 ], [ %88, %80 ], [ %6, %10 ], [ %25, %21 ] + %92 = phi double [ %16, %14 ], [ %18, %17 ], [ %32, %29 ], [ %89, %80 ], [ %7, %10 ], [ %26, %21 ] + %93 = fneg double %91 + %94 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %95 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %92, ptr addrspace(4) %94, align 8 + store double %93, ptr addrspace(4) %95, align 8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cacosh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !783 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %8, label %9, label %41 + +9: ; preds = %2 + %10 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %10, label %11, label %15 + +11: ; preds = %9 + %12 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %14 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %12, ptr addrspace(4) %13, align 8 + store double %6, ptr addrspace(4) %14, align 8 + br label %119 + +15: ; preds = %9 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %16, label %17, label %30 + +17: ; preds = %15 + %18 = fcmp ogt double %4, 0.000000e+00 + br i1 %18, label %19, label %24 + +19: ; preds = %17 + %20 = fmul double %7, 2.500000e-01 + %21 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %20, double noundef %6) #56 + %22 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %23 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %22, align 8 + store double %21, ptr addrspace(4) %23, align 8 + br label %119 + +24: ; preds = %17 + %25 = fneg double %4 + %26 = fmul double %7, 7.500000e-01 + %27 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %26, double noundef %6) #56 + %28 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %29 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %25, ptr addrspace(4) %28, align 8 + store double %27, ptr addrspace(4) %29, align 8 + br label %119 + +30: ; preds = %15 + %31 = fcmp olt double %4, 0.000000e+00 + br i1 %31, label %32, label %37 + +32: ; preds = %30 + %33 = fneg double %4 + %34 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %7, double noundef %6) #56 + %35 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %36 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %33, ptr addrspace(4) %35, align 8 + store double %34, ptr addrspace(4) %36, align 8 + br label %119 + +37: ; preds = %30 + %38 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + %39 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %39, align 8 + store double %38, ptr addrspace(4) %40, align 8 + br label %119 + +41: ; preds = %2 + %42 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + br i1 %42, label %43, label %52 + +43: ; preds = %41 + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %44, label %45, label %49 + +45: ; preds = %43 + %46 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + %47 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %48 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %46, ptr addrspace(4) %47, align 8 + store double %4, ptr addrspace(4) %48, align 8 + br label %119 + +49: ; preds = %43 + %50 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %51 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %50, align 8 + store double %4, ptr addrspace(4) %51, align 8 + br label %119 + +52: ; preds = %41 + %53 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %53, label %54, label %60 + +54: ; preds = %52 + %55 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + %56 = fmul double %7, 5.000000e-01 + %57 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %56, double noundef %6) #56 + %58 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %59 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %55, ptr addrspace(4) %58, align 8 + store double %57, ptr addrspace(4) %59, align 8 + br label %119 + +60: ; preds = %52 + %61 = fadd double %4, %6 + %62 = fsub double %4, %6 + %63 = fmul double %61, %62 + %64 = fmul double %4, 2.000000e+00 + %65 = fmul double %64, %6 + %66 = fadd double %63, -1.000000e+00 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %65) #56 + br i1 %67, label %107, label %68 + +68: ; preds = %60 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %66) #56 + br i1 %69, label %70, label %80 + +70: ; preds = %68 + %71 = fcmp ogt double %66, 0.000000e+00 + br i1 %71, label %72, label %76 + +72: ; preds = %70 + %73 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %65) #56 + br i1 %73, label %107, label %74 + +74: ; preds = %72 + %75 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %65) #56 + br label %107 + +76: ; preds = %70 + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %65) #56 + %78 = select i1 %77, double %65, double 0.000000e+00 + %79 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %66, double noundef %65) #56 + br label %107 + +80: ; preds = %68 + %81 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %66, double noundef %65) #56 + %82 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %81) #56 + %83 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %65, double noundef %66) #56 + %84 = fmul double %83, 5.000000e-01 + %85 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %82) #56 + br i1 %85, label %107, label %86 + +86: ; preds = %80 + %87 = tail call spir_func noundef zeroext i1 @_Z18__spirv_SignBitSetd(double noundef %82) #56 + br i1 %87, label %107, label %88 + +88: ; preds = %86 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %84) #56 + br i1 %89, label %90, label %93 + +90: ; preds = %88 + %91 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %82) #56 + %92 = select i1 %91, double %82, double %84 + br label %107 + +93: ; preds = %88 + %94 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %84) #56 + br i1 %94, label %95, label %98 + +95: ; preds = %93 + %96 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %82) #56 + %97 = select i1 %96, double %82, double 0x7FF8000000000000 + br label %107 + +98: ; preds = %93 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %84) #56 + %100 = fmul double %99, %82 + %101 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %100) #56 + %102 = select i1 %101, double 0.000000e+00, double %100 + %103 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %84) #56 + %104 = fmul double %103, %82 + %105 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %104) #56 + %106 = select i1 %105, double 0.000000e+00, double %104 + br label %107 + +107: ; preds = %98, %95, %90, %86, %80, %76, %74, %72, %60 + %108 = phi double [ %78, %76 ], [ 0x7FF0000000000000, %60 ], [ %66, %74 ], [ %66, %72 ], [ %102, %98 ], [ 0x7FF8000000000000, %86 ], [ 0x7FF8000000000000, %80 ], [ %92, %90 ], [ %97, %95 ] + %109 = phi double [ %79, %76 ], [ %65, %60 ], [ %75, %74 ], [ %65, %72 ], [ %106, %98 ], [ 0x7FF8000000000000, %86 ], [ 0x7FF8000000000000, %80 ], [ %84, %90 ], [ 0x7FF8000000000000, %95 ] + %110 = fadd double %4, %108 + %111 = fadd double %6, %109 + %112 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %110, double noundef %111) #56 + %113 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %112) #56 + %114 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %111, double noundef %110) #56 + %115 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %113, double noundef 0.000000e+00) #56 + %116 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %114, double noundef %6) #56 + %117 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %118 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %115, ptr addrspace(4) %117, align 8 + store double %116, ptr addrspace(4) %118, align 8 + br label %119 + +119: ; preds = %107, %54, %49, %45, %37, %32, %24, %19, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_catanh(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !784 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %8 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %8, label %9, label %15 + +9: ; preds = %2 + %10 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %4) #56 + %11 = fmul double %7, 5.000000e-01 + %12 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %11, double noundef %6) #56 + %13 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %14 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %10, ptr addrspace(4) %13, align 8 + store double %12, ptr addrspace(4) %14, align 8 + br label %150 + +15: ; preds = %2 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %16, label %17, label %28 + +17: ; preds = %15 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + %19 = fcmp oeq double %4, 0.000000e+00 + %20 = select i1 %18, i1 true, i1 %19 + br i1 %20, label %21, label %25 + +21: ; preds = %17 + %22 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %4) #56 + %23 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %24 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %22, ptr addrspace(4) %23, align 8 + store double %6, ptr addrspace(4) %24, align 8 + br label %150 + +25: ; preds = %17 + %26 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %27 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %6, ptr addrspace(4) %26, align 8 + store double %6, ptr addrspace(4) %27, align 8 + br label %150 + +28: ; preds = %15 + %29 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %4) #56 + br i1 %29, label %30, label %33 + +30: ; preds = %28 + %31 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %32 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %4, ptr addrspace(4) %31, align 8 + store double %4, ptr addrspace(4) %32, align 8 + br label %150 + +33: ; preds = %28 + %34 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %34, label %35, label %41 + +35: ; preds = %33 + %36 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %4) #56 + %37 = fmul double %7, 5.000000e-01 + %38 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %37, double noundef %6) #56 + %39 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %40 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %36, ptr addrspace(4) %39, align 8 + store double %38, ptr addrspace(4) %40, align 8 + br label %150 + +41: ; preds = %33 + %42 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %43 = fcmp oeq double %42, 1.000000e+00 + %44 = fcmp oeq double %6, 0.000000e+00 + %45 = and i1 %43, %44 + br i1 %45, label %46, label %51 + +46: ; preds = %41 + %47 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0x7FF0000000000000, double noundef %4) #56 + %48 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + %49 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %50 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %47, ptr addrspace(4) %49, align 8 + store double %48, ptr addrspace(4) %50, align 8 + br label %150 + +51: ; preds = %41 + %52 = fadd double %4, 1.000000e+00 + %53 = fsub double 1.000000e+00, %4 + %54 = fneg double %6 + %55 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %53) #56 + %56 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %54) #56 + %57 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %55, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z16__spirv_ocl_logbd(double noundef %57) #56 + %59 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %58) #56 + br i1 %59, label %60, label %65 + +60: ; preds = %51 + %61 = fptosi double %58 to i32 + %62 = sub nsw i32 0, %61 + %63 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %53, i32 noundef %62) #56 + %64 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %54, i32 noundef %62) #56 + br label %65 + +65: ; preds = %60, %51 + %66 = phi i32 [ %61, %60 ], [ 0, %51 ] + %67 = phi double [ %64, %60 ], [ %54, %51 ] + %68 = phi double [ %63, %60 ], [ %53, %51 ] + %69 = fmul double %67, %67 + %70 = tail call double @llvm.fmuladd.f64(double %68, double %68, double %69) + %71 = fmul double %67, %6 + %72 = tail call double @llvm.fmuladd.f64(double %52, double %68, double %71) + %73 = fdiv double %72, %70 + %74 = sub nsw i32 0, %66 + %75 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %73, i32 noundef %74) #56 + %76 = fneg double %67 + %77 = fmul double %52, %76 + %78 = tail call double @llvm.fmuladd.f64(double %6, double %68, double %77) + %79 = fdiv double %78, %70 + %80 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %79, i32 noundef %74) #56 + %81 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %75) #56 + br i1 %81, label %82, label %138 + +82: ; preds = %65 + %83 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %80) #56 + br i1 %83, label %84, label %138 + +84: ; preds = %82 + %85 = fcmp oeq double %70, 0.000000e+00 + br i1 %85, label %86, label %94 + +86: ; preds = %84 + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %52) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %86 + %89 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %89, label %94, label %90 + +90: ; preds = %88, %86 + %91 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0x7FF0000000000000, double noundef %68) #56 + %92 = fmul double %91, %52 + %93 = fmul double %91, %6 + br label %138 + +94: ; preds = %88, %84 + %95 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %52) #56 + br i1 %95, label %98, label %96 + +96: ; preds = %94 + %97 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %97, label %98, label %116 + +98: ; preds = %96, %94 + %99 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %68) #56 + br i1 %99, label %100, label %116 + +100: ; preds = %98 + %101 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %67) #56 + br i1 %101, label %102, label %116 + +102: ; preds = %100 + %103 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %52) #56 + %104 = select i1 %103, double 1.000000e+00, double 0.000000e+00 + %105 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %104, double noundef %52) #56 + %106 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + %107 = select i1 %106, double 1.000000e+00, double 0.000000e+00 + %108 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %107, double noundef %6) #56 + %109 = fmul double %108, %67 + %110 = tail call double @llvm.fmuladd.f64(double %105, double %68, double %109) + %111 = fmul double %110, 0x7FF0000000000000 + %112 = fneg double %105 + %113 = fmul double %67, %112 + %114 = tail call double @llvm.fmuladd.f64(double %108, double %68, double %113) + %115 = fmul double %114, 0x7FF0000000000000 + br label %138 + +116: ; preds = %100, %98, %96 + %117 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %58) #56 + %118 = fcmp ogt double %58, 0.000000e+00 + %119 = and i1 %117, %118 + br i1 %119, label %120, label %138 + +120: ; preds = %116 + %121 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %52) #56 + br i1 %121, label %122, label %138 + +122: ; preds = %120 + %123 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %6) #56 + br i1 %123, label %124, label %138 + +124: ; preds = %122 + %125 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %68) #56 + %126 = select i1 %125, double 1.000000e+00, double 0.000000e+00 + %127 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %126, double noundef %68) #56 + %128 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %67) #56 + %129 = select i1 %128, double 1.000000e+00, double 0.000000e+00 + %130 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %129, double noundef %67) #56 + %131 = fmul double %130, %6 + %132 = tail call double @llvm.fmuladd.f64(double %52, double %127, double %131) + %133 = fmul double %132, 0.000000e+00 + %134 = fneg double %130 + %135 = fmul double %52, %134 + %136 = tail call double @llvm.fmuladd.f64(double %6, double %127, double %135) + %137 = fmul double %136, 0.000000e+00 + br label %138 + +138: ; preds = %124, %122, %120, %116, %102, %90, %82, %65 + %139 = phi double [ %111, %102 ], [ %133, %124 ], [ %75, %122 ], [ %75, %120 ], [ %75, %116 ], [ %92, %90 ], [ %75, %82 ], [ %75, %65 ] + %140 = phi double [ %115, %102 ], [ %137, %124 ], [ %80, %122 ], [ %80, %120 ], [ %80, %116 ], [ %93, %90 ], [ %80, %82 ], [ %80, %65 ] + %141 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %139, double noundef %140) #56 + %142 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %141) #56 + %143 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %140, double noundef %139) #56 + %144 = fmul double %142, 5.000000e-01 + %145 = fmul double %143, 5.000000e-01 + %146 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %144, double noundef %4) #56 + %147 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %145, double noundef %6) #56 + %148 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %149 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %146, ptr addrspace(4) %148, align 8 + store double %147, ptr addrspace(4) %149, align 8 + br label %150 + +150: ; preds = %138, %46, %35, %30, %25, %21, %9 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_catan(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #25 !srcloc !785 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %5 = load double, ptr %4, align 8 + %6 = fneg double %5 + %7 = load double, ptr %3, align 8 + %8 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef 0.000000e+00, double noundef -0.000000e+00) #56 + %9 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %9, label %10, label %14 + +10: ; preds = %2 + %11 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + %12 = fmul double %8, 5.000000e-01 + %13 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %12, double noundef %7) #56 + br label %135 + +14: ; preds = %2 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %7) #56 + br i1 %15, label %16, label %22 + +16: ; preds = %14 + %17 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + %18 = fcmp oeq double %5, 0.000000e+00 + %19 = select i1 %17, i1 true, i1 %18 + br i1 %19, label %20, label %135 + +20: ; preds = %16 + %21 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + br label %135 + +22: ; preds = %14 + %23 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %6) #56 + br i1 %23, label %135, label %24 + +24: ; preds = %22 + %25 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %25, label %26, label %30 + +26: ; preds = %24 + %27 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %6) #56 + %28 = fmul double %8, 5.000000e-01 + %29 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %28, double noundef %7) #56 + br label %135 + +30: ; preds = %24 + %31 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + %32 = fcmp oeq double %31, 1.000000e+00 + %33 = fcmp oeq double %7, 0.000000e+00 + %34 = and i1 %32, %33 + br i1 %34, label %35, label %38 + +35: ; preds = %30 + %36 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0x7FF0000000000000, double noundef %6) #56 + %37 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %7) #56 + br label %135 + +38: ; preds = %30 + %39 = fsub double 1.000000e+00, %5 + %40 = fadd double %5, 1.000000e+00 + %41 = fneg double %7 + %42 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %40) #56 + %43 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %41) #56 + %44 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %42, double noundef %43) #56 + %45 = tail call spir_func noundef double @_Z16__spirv_ocl_logbd(double noundef %44) #56 + %46 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %45) #56 + br i1 %46, label %47, label %52 + +47: ; preds = %38 + %48 = fptosi double %45 to i32 + %49 = sub nsw i32 0, %48 + %50 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %40, i32 noundef %49) #56 + %51 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %41, i32 noundef %49) #56 + br label %52 + +52: ; preds = %47, %38 + %53 = phi i32 [ %48, %47 ], [ 0, %38 ] + %54 = phi double [ %51, %47 ], [ %41, %38 ] + %55 = phi double [ %50, %47 ], [ %40, %38 ] + %56 = fmul double %54, %54 + %57 = tail call double @llvm.fmuladd.f64(double %55, double %55, double %56) + %58 = fmul double %54, %7 + %59 = tail call double @llvm.fmuladd.f64(double %39, double %55, double %58) + %60 = fdiv double %59, %57 + %61 = sub nsw i32 0, %53 + %62 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %60, i32 noundef %61) #56 + %63 = fneg double %54 + %64 = fmul double %39, %63 + %65 = tail call double @llvm.fmuladd.f64(double %7, double %55, double %64) + %66 = fdiv double %65, %57 + %67 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %66, i32 noundef %61) #56 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %62) #56 + br i1 %68, label %69, label %125 + +69: ; preds = %52 + %70 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %67) #56 + br i1 %70, label %71, label %125 + +71: ; preds = %69 + %72 = fcmp oeq double %57, 0.000000e+00 + br i1 %72, label %73, label %81 + +73: ; preds = %71 + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %74, label %75, label %77 + +75: ; preds = %73 + %76 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %7) #56 + br i1 %76, label %81, label %77 + +77: ; preds = %75, %73 + %78 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0x7FF0000000000000, double noundef %55) #56 + %79 = fmul double %78, %39 + %80 = fmul double %78, %7 + br label %125 + +81: ; preds = %75, %71 + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %39) #56 + br i1 %82, label %85, label %83 + +83: ; preds = %81 + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %84, label %85, label %103 + +85: ; preds = %83, %81 + %86 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %55) #56 + br i1 %86, label %87, label %103 + +87: ; preds = %85 + %88 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %54) #56 + br i1 %88, label %89, label %103 + +89: ; preds = %87 + %90 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %39) #56 + %91 = select i1 %90, double 1.000000e+00, double 0.000000e+00 + %92 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %91, double noundef %39) #56 + %93 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + %94 = select i1 %93, double 1.000000e+00, double 0.000000e+00 + %95 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %94, double noundef %7) #56 + %96 = fmul double %95, %54 + %97 = tail call double @llvm.fmuladd.f64(double %92, double %55, double %96) + %98 = fmul double %97, 0x7FF0000000000000 + %99 = fneg double %92 + %100 = fmul double %54, %99 + %101 = tail call double @llvm.fmuladd.f64(double %95, double %55, double %100) + %102 = fmul double %101, 0x7FF0000000000000 + br label %125 + +103: ; preds = %87, %85, %83 + %104 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %45) #56 + %105 = fcmp ogt double %45, 0.000000e+00 + %106 = and i1 %104, %105 + br i1 %106, label %107, label %125 + +107: ; preds = %103 + %108 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %39) #56 + br i1 %108, label %109, label %125 + +109: ; preds = %107 + %110 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %7) #56 + br i1 %110, label %111, label %125 + +111: ; preds = %109 + %112 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %55) #56 + %113 = select i1 %112, double 1.000000e+00, double 0.000000e+00 + %114 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %113, double noundef %55) #56 + %115 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %54) #56 + %116 = select i1 %115, double 1.000000e+00, double 0.000000e+00 + %117 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %116, double noundef %54) #56 + %118 = fmul double %117, %7 + %119 = tail call double @llvm.fmuladd.f64(double %39, double %114, double %118) + %120 = fmul double %119, 0.000000e+00 + %121 = fneg double %117 + %122 = fmul double %39, %121 + %123 = tail call double @llvm.fmuladd.f64(double %7, double %114, double %122) + %124 = fmul double %123, 0.000000e+00 + br label %125 + +125: ; preds = %111, %109, %107, %103, %89, %77, %69, %52 + %126 = phi double [ %98, %89 ], [ %120, %111 ], [ %62, %109 ], [ %62, %107 ], [ %62, %103 ], [ %79, %77 ], [ %62, %69 ], [ %62, %52 ] + %127 = phi double [ %102, %89 ], [ %124, %111 ], [ %67, %109 ], [ %67, %107 ], [ %67, %103 ], [ %80, %77 ], [ %67, %69 ], [ %67, %52 ] + %128 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %126, double noundef %127) #56 + %129 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %128) #56 + %130 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %127, double noundef %126) #56 + %131 = fmul double %129, 5.000000e-01 + %132 = fmul double %130, 5.000000e-01 + %133 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %131, double noundef %6) #56 + %134 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %132, double noundef %7) #56 + br label %135 + +135: ; preds = %125, %35, %26, %22, %20, %16, %10 + %136 = phi double [ %11, %10 ], [ %21, %20 ], [ %27, %26 ], [ %36, %35 ], [ %133, %125 ], [ %7, %16 ], [ %6, %22 ] + %137 = phi double [ %13, %10 ], [ %7, %20 ], [ %29, %26 ], [ %37, %35 ], [ %134, %125 ], [ %7, %16 ], [ %6, %22 ] + %138 = fneg double %136 + %139 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %140 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %137, ptr addrspace(4) %139, align 8 + store double %138, ptr addrspace(4) %140, align 8 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_cexp10(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #26 !srcloc !786 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = fmul double %4, 0x40026BB1BBB55516 + %8 = fmul double %6, 0.000000e+00 + %9 = fmul double %4, 0.000000e+00 + %10 = fmul double %6, 0x40026BB1BBB55516 + %11 = fsub double %7, %8 + %12 = fadd double %9, %10 + %13 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %11) #56 + br i1 %13, label %14, label %99 + +14: ; preds = %2 + %15 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %12) #56 + br i1 %15, label %16, label %99 + +16: ; preds = %14 + %17 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + br i1 %17, label %20, label %18 + +18: ; preds = %16 + %19 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + br i1 %19, label %20, label %35 + +20: ; preds = %18, %16 + %21 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %4) #56 + %22 = select i1 %21, double 1.000000e+00, double 0.000000e+00 + %23 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %22, double noundef %4) #56 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %6) #56 + %25 = select i1 %24, double 1.000000e+00, double 0.000000e+00 + %26 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %25, double noundef %6) #56 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef 0x40026BB1BBB55516) #56 + br i1 %27, label %28, label %30 + +28: ; preds = %20 + %29 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef 0x40026BB1BBB55516) #56 + br label %30 + +30: ; preds = %28, %20 + %31 = phi double [ %29, %28 ], [ 0x40026BB1BBB55516, %20 ] + %32 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef 0.000000e+00) #56 + br i1 %32, label %33, label %35 + +33: ; preds = %30 + %34 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef 0.000000e+00) #56 + br label %35 + +35: ; preds = %33, %30, %18 + %36 = phi double [ 0.000000e+00, %18 ], [ %34, %33 ], [ 0.000000e+00, %30 ] + %37 = phi double [ 0x40026BB1BBB55516, %18 ], [ %31, %33 ], [ %31, %30 ] + %38 = phi i1 [ true, %18 ], [ false, %33 ], [ false, %30 ] + %39 = phi double [ %6, %18 ], [ %26, %33 ], [ %26, %30 ] + %40 = phi double [ %4, %18 ], [ %23, %33 ], [ %23, %30 ] + %41 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %37) #56 + br i1 %41, label %44, label %42 + +42: ; preds = %35 + %43 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %36) #56 + br i1 %43, label %44, label %59 + +44: ; preds = %42, %35 + %45 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %37) #56 + %46 = select i1 %45, double 1.000000e+00, double 0.000000e+00 + %47 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %46, double noundef %37) #56 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %36) #56 + %49 = select i1 %48, double 1.000000e+00, double 0.000000e+00 + %50 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %49, double noundef %36) #56 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %40) #56 + br i1 %51, label %52, label %54 + +52: ; preds = %44 + %53 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %40) #56 + br label %54 + +54: ; preds = %52, %44 + %55 = phi double [ %53, %52 ], [ %40, %44 ] + %56 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %56, label %57, label %87 + +57: ; preds = %54 + %58 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %39) #56 + br label %87 + +59: ; preds = %42 + br i1 %38, label %60, label %87 + +60: ; preds = %59 + %61 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %7) #56 + br i1 %61, label %68, label %62 + +62: ; preds = %60 + %63 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %8) #56 + br i1 %63, label %68, label %64 + +64: ; preds = %62 + %65 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %9) #56 + br i1 %65, label %68, label %66 + +66: ; preds = %64 + %67 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %10) #56 + br i1 %67, label %68, label %99 + +68: ; preds = %66, %64, %62, %60 + %69 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %40) #56 + br i1 %69, label %70, label %72 + +70: ; preds = %68 + %71 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %40) #56 + br label %72 + +72: ; preds = %70, %68 + %73 = phi double [ %71, %70 ], [ %40, %68 ] + %74 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %74, label %75, label %77 + +75: ; preds = %72 + %76 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %39) #56 + br label %77 + +77: ; preds = %75, %72 + %78 = phi double [ %76, %75 ], [ %39, %72 ] + %79 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %37) #56 + br i1 %79, label %80, label %82 + +80: ; preds = %77 + %81 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %37) #56 + br label %82 + +82: ; preds = %80, %77 + %83 = phi double [ %81, %80 ], [ %37, %77 ] + %84 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %36) #56 + br i1 %84, label %85, label %87 + +85: ; preds = %82 + %86 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %36) #56 + br label %87 + +87: ; preds = %85, %82, %59, %57, %54 + %88 = phi double [ %36, %82 ], [ %86, %85 ], [ %36, %59 ], [ %50, %57 ], [ %50, %54 ] + %89 = phi double [ %83, %82 ], [ %83, %85 ], [ %37, %59 ], [ %47, %57 ], [ %47, %54 ] + %90 = phi double [ %78, %82 ], [ %78, %85 ], [ %39, %59 ], [ %58, %57 ], [ %39, %54 ] + %91 = phi double [ %73, %82 ], [ %73, %85 ], [ %40, %59 ], [ %55, %57 ], [ %55, %54 ] + %92 = fneg double %90 + %93 = fmul double %88, %92 + %94 = tail call double @llvm.fmuladd.f64(double %91, double %89, double %93) + %95 = fmul double %94, 0x7FF0000000000000 + %96 = fmul double %90, %89 + %97 = tail call double @llvm.fmuladd.f64(double %91, double %88, double %96) + %98 = fmul double %97, 0x7FF0000000000000 + br label %99 + +99: ; preds = %87, %66, %14, %2 + %100 = phi double [ %12, %14 ], [ %12, %2 ], [ %98, %87 ], [ %12, %66 ] + %101 = phi double [ %11, %14 ], [ %11, %2 ], [ %95, %87 ], [ %11, %66 ] + %102 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %101) #56 + br i1 %102, label %103, label %115 + +103: ; preds = %99 + %104 = fcmp olt double %101, 0.000000e+00 + br i1 %104, label %105, label %108 + +105: ; preds = %103 + %106 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %100) #56 + %107 = select i1 %106, double %100, double 1.000000e+00 + br label %119 + +108: ; preds = %103 + %109 = fcmp oeq double %100, 0.000000e+00 + br i1 %109, label %112, label %110 + +110: ; preds = %108 + %111 = tail call spir_func noundef zeroext i1 @_Z16__spirv_IsFinited(double noundef %100) #56 + br i1 %111, label %119, label %112 + +112: ; preds = %110, %108 + %113 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %100) #56 + %114 = select i1 %113, double 0x7FF8000000000000, double %100 + br label %126 + +115: ; preds = %99 + %116 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %101) #56 + %117 = fcmp oeq double %100, 0.000000e+00 + %118 = select i1 %116, i1 %117, i1 false + br i1 %118, label %126, label %119 + +119: ; preds = %115, %110, %105 + %120 = phi double [ %107, %105 ], [ %100, %110 ], [ %100, %115 ] + %121 = tail call spir_func noundef double @_Z15__spirv_ocl_expd(double noundef %101) #56 + %122 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %120) #56 + %123 = fmul double %121, %122 + %124 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %120) #56 + %125 = fmul double %121, %124 + br label %126 + +126: ; preds = %119, %115, %112 + %127 = phi double [ %123, %119 ], [ %101, %112 ], [ %101, %115 ] + %128 = phi double [ %125, %119 ], [ %114, %112 ], [ %100, %115 ] + %129 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %130 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %127, ptr addrspace(4) %129, align 8 + store double %128, ptr addrspace(4) %130, align 8 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_clog10(ptr addrspace(4) noalias sret({ double, double }) align 8 %0, ptr noundef byval({ double, double }) align 8 %1) local_unnamed_addr #26 !srcloc !787 { + %3 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 0 + %4 = load double, ptr %3, align 8 + %5 = getelementptr inbounds { double, double }, ptr %1, i64 0, i32 1 + %6 = load double, ptr %5, align 8 + %7 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %4, double noundef %6) #56 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %7) #56 + %9 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %6, double noundef %4) #56 + %10 = fmul double %8, 0x3FDBCB7B1526E50D + %11 = fmul double %9, 0.000000e+00 + %12 = fmul double %8, 0.000000e+00 + %13 = fmul double %9, 0x3FDBCB7B1526E50D + %14 = fsub double %10, %11 + %15 = fadd double %12, %13 + %16 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %14) #56 + br i1 %16, label %17, label %102 + +17: ; preds = %2 + %18 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %15) #56 + br i1 %18, label %19, label %102 + +19: ; preds = %17 + %20 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %8) #56 + br i1 %20, label %23, label %21 + +21: ; preds = %19 + %22 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %9) #56 + br i1 %22, label %23, label %38 + +23: ; preds = %21, %19 + %24 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %8) #56 + %25 = select i1 %24, double 1.000000e+00, double 0.000000e+00 + %26 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %25, double noundef %8) #56 + %27 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %9) #56 + %28 = select i1 %27, double 1.000000e+00, double 0.000000e+00 + %29 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %28, double noundef %9) #56 + %30 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef 0x3FDBCB7B1526E50D) #56 + br i1 %30, label %31, label %33 + +31: ; preds = %23 + %32 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef 0x3FDBCB7B1526E50D) #56 + br label %33 + +33: ; preds = %31, %23 + %34 = phi double [ %32, %31 ], [ 0x3FDBCB7B1526E50D, %23 ] + %35 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef 0.000000e+00) #56 + br i1 %35, label %36, label %38 + +36: ; preds = %33 + %37 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef 0.000000e+00) #56 + br label %38 + +38: ; preds = %36, %33, %21 + %39 = phi double [ 0.000000e+00, %21 ], [ %37, %36 ], [ 0.000000e+00, %33 ] + %40 = phi double [ 0x3FDBCB7B1526E50D, %21 ], [ %34, %36 ], [ %34, %33 ] + %41 = phi i1 [ true, %21 ], [ false, %36 ], [ false, %33 ] + %42 = phi double [ %9, %21 ], [ %29, %36 ], [ %29, %33 ] + %43 = phi double [ %8, %21 ], [ %26, %36 ], [ %26, %33 ] + %44 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %40) #56 + br i1 %44, label %47, label %45 + +45: ; preds = %38 + %46 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %39) #56 + br i1 %46, label %47, label %62 + +47: ; preds = %45, %38 + %48 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %40) #56 + %49 = select i1 %48, double 1.000000e+00, double 0.000000e+00 + %50 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %49, double noundef %40) #56 + %51 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %39) #56 + %52 = select i1 %51, double 1.000000e+00, double 0.000000e+00 + %53 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %52, double noundef %39) #56 + %54 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %43) #56 + br i1 %54, label %55, label %57 + +55: ; preds = %47 + %56 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %43) #56 + br label %57 + +57: ; preds = %55, %47 + %58 = phi double [ %56, %55 ], [ %43, %47 ] + %59 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %42) #56 + br i1 %59, label %60, label %90 + +60: ; preds = %57 + %61 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %42) #56 + br label %90 + +62: ; preds = %45 + br i1 %41, label %63, label %90 + +63: ; preds = %62 + %64 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %10) #56 + br i1 %64, label %71, label %65 + +65: ; preds = %63 + %66 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %11) #56 + br i1 %66, label %71, label %67 + +67: ; preds = %65 + %68 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %12) #56 + br i1 %68, label %71, label %69 + +69: ; preds = %67 + %70 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsInfd(double noundef %13) #56 + br i1 %70, label %71, label %102 + +71: ; preds = %69, %67, %65, %63 + %72 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %43) #56 + br i1 %72, label %73, label %75 + +73: ; preds = %71 + %74 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %43) #56 + br label %75 + +75: ; preds = %73, %71 + %76 = phi double [ %74, %73 ], [ %43, %71 ] + %77 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %42) #56 + br i1 %77, label %78, label %80 + +78: ; preds = %75 + %79 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %42) #56 + br label %80 + +80: ; preds = %78, %75 + %81 = phi double [ %79, %78 ], [ %42, %75 ] + %82 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %40) #56 + br i1 %82, label %83, label %85 + +83: ; preds = %80 + %84 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %40) #56 + br label %85 + +85: ; preds = %83, %80 + %86 = phi double [ %84, %83 ], [ %40, %80 ] + %87 = tail call spir_func noundef zeroext i1 @_Z13__spirv_IsNand(double noundef %39) #56 + br i1 %87, label %88, label %90 + +88: ; preds = %85 + %89 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef 0.000000e+00, double noundef %39) #56 + br label %90 + +90: ; preds = %88, %85, %62, %60, %57 + %91 = phi double [ %39, %85 ], [ %89, %88 ], [ %39, %62 ], [ %53, %60 ], [ %53, %57 ] + %92 = phi double [ %86, %85 ], [ %86, %88 ], [ %40, %62 ], [ %50, %60 ], [ %50, %57 ] + %93 = phi double [ %81, %85 ], [ %81, %88 ], [ %42, %62 ], [ %61, %60 ], [ %42, %57 ] + %94 = phi double [ %76, %85 ], [ %76, %88 ], [ %43, %62 ], [ %58, %60 ], [ %58, %57 ] + %95 = fneg double %93 + %96 = fmul double %91, %95 + %97 = tail call double @llvm.fmuladd.f64(double %94, double %92, double %96) + %98 = fmul double %97, 0x7FF0000000000000 + %99 = fmul double %93, %92 + %100 = tail call double @llvm.fmuladd.f64(double %94, double %91, double %99) + %101 = fmul double %100, 0x7FF0000000000000 + br label %102 + +102: ; preds = %90, %69, %17, %2 + %103 = phi double [ %15, %17 ], [ %15, %2 ], [ %101, %90 ], [ %15, %69 ] + %104 = phi double [ %14, %17 ], [ %14, %2 ], [ %98, %90 ], [ %14, %69 ] + %105 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 0 + %106 = getelementptr inbounds { double, double }, ptr addrspace(4) %0, i64 0, i32 1 + store double %104, ptr addrspace(4) %105, align 8 + store double %103, ptr addrspace(4) %106, align 8 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_abs(i32 noundef %0) local_unnamed_addr #27 !srcloc !71 { + %2 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + ret i32 %2 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.abs.i32(i32, i1 immarg) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_labs(i64 noundef %0) local_unnamed_addr #27 !srcloc !788 { + %2 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + ret i64 %2 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.abs.i64(i64, i1 immarg) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_llabs(i64 noundef %0) local_unnamed_addr #27 !srcloc !789 { + %2 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + ret i64 %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_div(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_32) align 4 %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #27 !srcloc !790 { + %4 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 0 + %5 = sdiv i32 %1, %2 + store i32 %5, ptr addrspace(4) %4, align 4, !tbaa !791 + %6 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %7 = mul i32 %5, %2 + %8 = sub i32 %1, %7 + store i32 %8, ptr addrspace(4) %6, align 4, !tbaa !793 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_ldiv(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #27 !srcloc !794 { + %4 = getelementptr inbounds %struct.__devicelib_div_t_64, ptr addrspace(4) %0, i64 0, i32 0 + %5 = sdiv i64 %1, %2 + store i64 %5, ptr addrspace(4) %4, align 8, !tbaa !795 + %6 = getelementptr inbounds %struct.__devicelib_div_t_64, ptr addrspace(4) %0, i64 0, i32 1 + %7 = mul i64 %5, %2 + %8 = sub i64 %1, %7 + store i64 %8, ptr addrspace(4) %6, align 8, !tbaa !797 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_lldiv(ptr addrspace(4) noalias sret(%struct.__devicelib_div_t_64) align 8 %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #27 !srcloc !798 { + %4 = getelementptr inbounds %struct.__devicelib_div_t_64, ptr addrspace(4) %0, i64 0, i32 0 + %5 = sdiv i64 %1, %2 + store i64 %5, ptr addrspace(4) %4, align 8, !tbaa !795 + %6 = getelementptr inbounds %struct.__devicelib_div_t_64, ptr addrspace(4) %0, i64 0, i32 1 + %7 = mul i64 %5, %2 + %8 = sub i64 %1, %7 + store i64 %8, ptr addrspace(4) %6, align 8, !tbaa !797 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_scalbnf(float noundef %0, i32 noundef %1) local_unnamed_addr #28 !srcloc !799 { + %3 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %0, i32 noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_roundf(float noundef %0) local_unnamed_addr #28 !srcloc !800 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_roundf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_roundf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_floorf(float noundef %0) local_unnamed_addr #28 !srcloc !801 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_floorf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_floorf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_logf(float noundef %0) local_unnamed_addr #28 !srcloc !802 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_logf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_expf(float noundef %0) local_unnamed_addr #28 !srcloc !803 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_expf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_frexpf(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #28 !srcloc !804 { + %3 = tail call spir_func noundef float @_Z17__spirv_ocl_frexpfPi(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef float @_Z17__spirv_ocl_frexpfPi(float noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_ldexpf(float noundef %0, i32 noundef %1) local_unnamed_addr #28 !srcloc !805 { + %3 = tail call spir_func noundef float @_Z17__spirv_ocl_ldexpfi(float noundef %0, i32 noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_log10f(float noundef %0) local_unnamed_addr #28 !srcloc !806 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_log10f(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_log10f(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_modff(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #28 !srcloc !807 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_modffPf(float noundef %0, ptr addrspace(4) noundef %1) #54 + ret float %3 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef float @_Z16__spirv_ocl_modffPf(float noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_exp2f(float noundef %0) local_unnamed_addr #28 !srcloc !808 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_exp2f(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_exp2f(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_expm1f(float noundef %0) local_unnamed_addr #28 !srcloc !809 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_expm1f(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_expm1f(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_ilogbf(float noundef %0) local_unnamed_addr #28 !srcloc !810 { + %2 = tail call spir_func noundef i32 @_Z17__spirv_ocl_ilogbf(float noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z17__spirv_ocl_ilogbf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_log1pf(float noundef %0) local_unnamed_addr #28 !srcloc !811 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_log1pf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_log1pf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_log2f(float noundef %0) local_unnamed_addr #28 !srcloc !812 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_log2f(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_log2f(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_logbf(float noundef %0) local_unnamed_addr #28 !srcloc !813 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_logbf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_sqrtf(float noundef %0) local_unnamed_addr #28 !srcloc !814 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_cbrtf(float noundef %0) local_unnamed_addr #28 !srcloc !815 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_cbrtf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_cbrtf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_hypotf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !816 { + %3 = tail call spir_func noundef float @_Z17__spirv_ocl_hypotff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_erff(float noundef %0) local_unnamed_addr #28 !srcloc !817 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_erff(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_erff(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_erfcf(float noundef %0) local_unnamed_addr #28 !srcloc !818 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_erfcf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_erfcf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_tgammaf(float noundef %0) local_unnamed_addr #28 !srcloc !819 { + %2 = tail call spir_func noundef float @_Z18__spirv_ocl_tgammaf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z18__spirv_ocl_tgammaf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_lgammaf(float noundef %0) local_unnamed_addr #28 !srcloc !820 { + %2 = tail call spir_func noundef float @_Z18__spirv_ocl_lgammaf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z18__spirv_ocl_lgammaf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_fmodf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !821 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fmodff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_fmodff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_remainderf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !822 { + %3 = tail call spir_func noundef float @_Z21__spirv_ocl_remainderff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z21__spirv_ocl_remainderff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #28 !srcloc !823 { + %4 = tail call spir_func noundef float @_Z18__spirv_ocl_remquoffPi(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) #54 + ret float %4 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef float @_Z18__spirv_ocl_remquoffPi(float noundef, float noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_nextafterf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !824 { + %3 = tail call spir_func noundef float @_Z21__spirv_ocl_nextafterff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z21__spirv_ocl_nextafterff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_fdimf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !825 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fdimff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_fdimff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_fmaf(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #28 !srcloc !826 { + %4 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %1, float noundef %2) #56 + ret float %4 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef, float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_sinf(float noundef %0) local_unnamed_addr #28 !srcloc !827 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_sinf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_cosf(float noundef %0) local_unnamed_addr #28 !srcloc !828 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_cosf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_tanf(float noundef %0) local_unnamed_addr #28 !srcloc !829 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_tanf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_tanf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_powf(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !830 { + %3 = tail call spir_func noundef float @_Z15__spirv_ocl_powff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z15__spirv_ocl_powff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_acosf(float noundef %0) local_unnamed_addr #28 !srcloc !831 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_acosf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_acosf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_asinf(float noundef %0) local_unnamed_addr #28 !srcloc !832 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_asinf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_asinf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_atanf(float noundef %0) local_unnamed_addr #28 !srcloc !833 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_atanf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_atanf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_atan2f(float noundef %0, float noundef %1) local_unnamed_addr #28 !srcloc !834 { + %3 = tail call spir_func noundef float @_Z17__spirv_ocl_atan2ff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_coshf(float noundef %0) local_unnamed_addr #28 !srcloc !835 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_coshf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_sinhf(float noundef %0) local_unnamed_addr #28 !srcloc !836 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_sinhf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_tanhf(float noundef %0) local_unnamed_addr #28 !srcloc !837 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_tanhf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_tanhf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_acoshf(float noundef %0) local_unnamed_addr #28 !srcloc !838 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_acoshf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_acoshf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_asinhf(float noundef %0) local_unnamed_addr #28 !srcloc !839 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_asinhf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_asinhf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_atanhf(float noundef %0) local_unnamed_addr #28 !srcloc !840 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_atanhf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_atanhf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_log(double noundef %0) local_unnamed_addr #29 !srcloc !841 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_logd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_exp(double noundef %0) local_unnamed_addr #29 !srcloc !842 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_expd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_frexp(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #29 !srcloc !843 { + %3 = tail call spir_func noundef double @_Z17__spirv_ocl_frexpdPi(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef double @_Z17__spirv_ocl_frexpdPi(double noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_ldexp(double noundef %0, i32 noundef %1) local_unnamed_addr #29 !srcloc !844 { + %3 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %0, i32 noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_log10(double noundef %0) local_unnamed_addr #29 !srcloc !845 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_log10d(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_log10d(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_modf(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #29 !srcloc !846 { + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_modfdPd(double noundef %0, ptr addrspace(4) noundef %1) #54 + ret double %3 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef double @_Z16__spirv_ocl_modfdPd(double noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_round(double noundef %0) local_unnamed_addr #29 !srcloc !847 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_roundd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_roundd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_floor(double noundef %0) local_unnamed_addr #29 !srcloc !848 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_floord(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_floord(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_exp2(double noundef %0) local_unnamed_addr #29 !srcloc !849 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_exp2d(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_exp2d(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_expm1(double noundef %0) local_unnamed_addr #29 !srcloc !850 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_expm1d(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_expm1d(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_ilogb(double noundef %0) local_unnamed_addr #29 !srcloc !851 { + %2 = tail call spir_func noundef i32 @_Z17__spirv_ocl_ilogbd(double noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z17__spirv_ocl_ilogbd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_log1p(double noundef %0) local_unnamed_addr #29 !srcloc !852 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_log1pd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_log1pd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_log2(double noundef %0) local_unnamed_addr #29 !srcloc !853 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_log2d(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_log2d(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_logb(double noundef %0) local_unnamed_addr #29 !srcloc !854 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_logbd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_sqrt(double noundef %0) local_unnamed_addr #29 !srcloc !855 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_cbrt(double noundef %0) local_unnamed_addr #29 !srcloc !856 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_cbrtd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_cbrtd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_hypot(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !857 { + %3 = tail call spir_func noundef double @_Z17__spirv_ocl_hypotdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_erf(double noundef %0) local_unnamed_addr #29 !srcloc !858 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_erfd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_erfd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_erfc(double noundef %0) local_unnamed_addr #29 !srcloc !859 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_erfcd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_erfcd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_tgamma(double noundef %0) local_unnamed_addr #29 !srcloc !91 { + %2 = tail call spir_func noundef double @_Z18__spirv_ocl_tgammad(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z18__spirv_ocl_tgammad(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_lgamma(double noundef %0) local_unnamed_addr #29 !srcloc !860 { + %2 = tail call spir_func noundef double @_Z18__spirv_ocl_lgammad(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z18__spirv_ocl_lgammad(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_fmod(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !861 { + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fmoddd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_fmoddd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_remainder(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !862 { + %3 = tail call spir_func noundef double @_Z21__spirv_ocl_remainderdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z21__spirv_ocl_remainderdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #29 !srcloc !863 { + %4 = tail call spir_func noundef double @_Z18__spirv_ocl_remquoddPi(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) #54 + ret double %4 +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef double @_Z18__spirv_ocl_remquoddPi(double noundef, double noundef, ptr addrspace(4) noundef) local_unnamed_addr #15 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_nextafter(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !864 { + %3 = tail call spir_func noundef double @_Z21__spirv_ocl_nextafterdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z21__spirv_ocl_nextafterdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_fdim(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !865 { + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fdimdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_fdimdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_fma(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #29 !srcloc !866 { + %4 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %1, double noundef %2) #56 + ret double %4 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef, double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_sin(double noundef %0) local_unnamed_addr #29 !srcloc !867 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_sind(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_cos(double noundef %0) local_unnamed_addr #29 !srcloc !868 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_cosd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_tan(double noundef %0) local_unnamed_addr #29 !srcloc !869 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_tand(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_tand(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_pow(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !870 { + %3 = tail call spir_func noundef double @_Z15__spirv_ocl_powdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z15__spirv_ocl_powdd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_acos(double noundef %0) local_unnamed_addr #29 !srcloc !871 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_acosd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_acosd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_asin(double noundef %0) local_unnamed_addr #29 !srcloc !872 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_asind(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_asind(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_atan(double noundef %0) local_unnamed_addr #29 !srcloc !873 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_atand(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_atand(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_atan2(double noundef %0, double noundef %1) local_unnamed_addr #29 !srcloc !874 { + %3 = tail call spir_func noundef double @_Z17__spirv_ocl_atan2dd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_cosh(double noundef %0) local_unnamed_addr #29 !srcloc !875 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_coshd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_sinh(double noundef %0) local_unnamed_addr #29 !srcloc !876 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_sinhd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_tanh(double noundef %0) local_unnamed_addr #29 !srcloc !877 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_tanhd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_tanhd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_acosh(double noundef %0) local_unnamed_addr #29 !srcloc !878 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_acoshd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_acoshd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_asinh(double noundef %0) local_unnamed_addr #29 !srcloc !879 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_asinhd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_asinhd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_atanh(double noundef %0) local_unnamed_addr #29 !srcloc !880 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_atanhd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_atanhd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_scalbn(double noundef %0, i32 noundef %1) local_unnamed_addr #29 !srcloc !881 { + %3 = tail call spir_func noundef double @_Z17__spirv_ocl_ldexpdi(double noundef %0, i32 noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_brev(i32 noundef %0) local_unnamed_addr #30 !srcloc !882 { + br label %2 + +2: ; preds = %10, %1 + %3 = phi i32 [ 0, %1 ], [ %13, %10 ] + %4 = phi i32 [ %0, %1 ], [ %14, %10 ] + %5 = phi i64 [ 0, %1 ], [ %15, %10 ] + %6 = icmp ult i64 %5, 31 + br i1 %6, label %10, label %7 + +7: ; preds = %2 + %8 = and i32 %4, 1 + %9 = or i32 %3, %8 + ret i32 %9 + +10: ; preds = %2 + %11 = and i32 %4, 1 + %12 = or i32 %3, %11 + %13 = shl i32 %12, 1 + %14 = lshr i32 %4, 1 + %15 = add nuw nsw i64 %5, 1 + br label %2, !llvm.loop !883 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_brevll(i64 noundef %0) local_unnamed_addr #30 !srcloc !884 { + br label %2 + +2: ; preds = %10, %1 + %3 = phi i64 [ 0, %1 ], [ %13, %10 ] + %4 = phi i64 [ %0, %1 ], [ %14, %10 ] + %5 = phi i64 [ 0, %1 ], [ %15, %10 ] + %6 = icmp ult i64 %5, 63 + br i1 %6, label %10, label %7 + +7: ; preds = %2 + %8 = and i64 %4, 1 + %9 = or i64 %3, %8 + ret i64 %9 + +10: ; preds = %2 + %11 = and i64 %4, 1 + %12 = or i64 %3, %11 + %13 = shl i64 %12, 1 + %14 = lshr i64 %4, 1 + %15 = add nuw nsw i64 %5, 1 + br label %2, !llvm.loop !885 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_clz(i32 noundef %0) local_unnamed_addr #31 !srcloc !886 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z15__spirv_ocl_clzj(i32 noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 32, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z15__spirv_ocl_clzj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_clzll(i64 noundef %0) local_unnamed_addr #31 !srcloc !887 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %6, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z15__spirv_ocl_clzm(i64 noundef %0) #56 + %5 = trunc i64 %4 to i32 + br label %6 + +6: ; preds = %3, %1 + %7 = phi i32 [ %5, %3 ], [ 64, %1 ] + ret i32 %7 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z15__spirv_ocl_clzm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_popc(i32 noundef %0) local_unnamed_addr #31 !srcloc !41 { + %2 = tail call spir_func noundef i32 @_Z20__spirv_ocl_popcountj(i32 noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z20__spirv_ocl_popcountj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_popcll(i64 noundef %0) local_unnamed_addr #31 !srcloc !888 { + %2 = tail call spir_func noundef i64 @_Z20__spirv_ocl_popcountm(i64 noundef %0) #56 + %3 = trunc i64 %2 to i32 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z20__spirv_ocl_popcountm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_sad(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #30 !srcloc !889 { + %4 = sub nsw i32 %0, %1 + %5 = tail call noundef i32 @llvm.abs.i32(i32 %4, i1 true) + %6 = add i32 %5, %2 + ret i32 %6 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_usad(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #30 !srcloc !890 { + %4 = zext i32 %0 to i64 + %5 = zext i32 %1 to i64 + %6 = sub nsw i64 %4, %5 + %7 = tail call noundef i64 @llvm.abs.i64(i64 %6, i1 true) + %8 = trunc i64 %7 to i32 + %9 = add i32 %8, %2 + ret i32 %9 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_byte_perm(i32 noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #30 !srcloc !891 { + %4 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + store i32 0, ptr %4, align 1 + br label %5 + +5: ; preds = %32, %3 + %6 = phi i64 [ 0, %3 ], [ %37, %32 ] + %7 = phi i32 [ %2, %3 ], [ %36, %32 ] + %8 = icmp ult i64 %6, 4 + br i1 %8, label %22, label %9 + +9: ; preds = %13, %5 + %10 = phi i32 [ %19, %13 ], [ 0, %5 ] + %11 = phi i64 [ %20, %13 ], [ 0, %5 ] + %12 = icmp ult i64 %11, 4 + br i1 %12, label %13, label %21 + +13: ; preds = %9 + %14 = shl i32 %10, 8 + %15 = sub nuw nsw i64 3, %11 + %16 = getelementptr inbounds [4 x i8], ptr %4, i64 0, i64 %15 + %17 = load i8, ptr %16, align 1, !tbaa !718 + %18 = zext i8 %17 to i32 + %19 = or i32 %14, %18 + %20 = add nuw nsw i64 %11, 1 + br label %9, !llvm.loop !892 + +21: ; preds = %9 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + ret i32 %10 + +22: ; preds = %5 + %23 = and i32 %7, 7 + %24 = icmp ult i32 %23, 4 + br i1 %24, label %25, label %28 + +25: ; preds = %22 + %26 = shl nuw nsw i32 %23, 3 + %27 = lshr i32 %0, %26 + br label %32 + +28: ; preds = %22 + %29 = shl nuw nsw i32 %23, 3 + %30 = add nsw i32 %29, -32 + %31 = lshr i32 %1, %30 + br label %32 + +32: ; preds = %28, %25 + %33 = phi i32 [ %27, %25 ], [ %31, %28 ] + %34 = trunc i32 %33 to i8 + %35 = getelementptr inbounds [4 x i8], ptr %4, i64 0, i64 %6 + store i8 %34, ptr %35, align 1 + %36 = lshr i32 %7, 4 + %37 = add nuw nsw i64 %6, 1 + br label %5, !llvm.loop !893 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_ffs(i32 noundef %0) local_unnamed_addr #30 !srcloc !894 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %16, label %3 + +3: ; preds = %10, %1 + %4 = phi i32 [ %11, %10 ], [ %0, %1 ] + %5 = phi i64 [ %12, %10 ], [ 0, %1 ] + %6 = icmp ult i64 %5, 32 + %7 = and i32 %4, 1 + %8 = icmp eq i32 %7, 0 + %9 = select i1 %6, i1 %8, i1 false + br i1 %9, label %10, label %13 + +10: ; preds = %3 + %11 = ashr i32 %4, 1 + %12 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !895 + +13: ; preds = %3 + %14 = trunc i64 %5 to i32 + %15 = add i32 %14, 1 + br label %16 + +16: ; preds = %13, %1 + %17 = phi i32 [ %15, %13 ], [ 0, %1 ] + ret i32 %17 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_ffsll(i64 noundef %0) local_unnamed_addr #30 !srcloc !861 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %16, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %11, %10 ], [ %0, %1 ] + %5 = phi i64 [ %12, %10 ], [ 0, %1 ] + %6 = icmp ult i64 %5, 64 + %7 = and i64 %4, 1 + %8 = icmp eq i64 %7, 0 + %9 = select i1 %6, i1 %8, i1 false + br i1 %9, label %10, label %13 + +10: ; preds = %3 + %11 = ashr i64 %4, 1 + %12 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !896 + +13: ; preds = %3 + %14 = trunc i64 %5 to i32 + %15 = add i32 %14, 1 + br label %16 + +16: ; preds = %13, %1 + %17 = phi i32 [ %15, %13 ], [ 0, %1 ] + ret i32 %17 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_rhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !138 { + %3 = tail call spir_func noundef i32 @_Z19__spirv_ocl_s_rhaddii(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z19__spirv_ocl_s_rhaddii(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_uhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !897 { + %3 = tail call spir_func noundef i32 @_Z18__spirv_ocl_u_haddjj(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z18__spirv_ocl_u_haddjj(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_urhadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !898 { + %3 = tail call spir_func noundef i32 @_Z19__spirv_ocl_u_rhaddjj(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z19__spirv_ocl_u_rhaddjj(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_mul24(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !899 { + %3 = tail call spir_func noundef i32 @_Z19__spirv_ocl_s_mul24ii(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z19__spirv_ocl_s_mul24ii(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_umul24(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !900 { + %3 = tail call spir_func noundef i32 @_Z19__spirv_ocl_u_mul24jj(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z19__spirv_ocl_u_mul24jj(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_mulhi(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !901 { + %3 = tail call spir_func noundef i32 @_Z20__spirv_ocl_s_mul_hiii(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z20__spirv_ocl_s_mul_hiii(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_umulhi(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !902 { + %3 = tail call spir_func noundef i32 @_Z20__spirv_ocl_u_mul_hijj(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z20__spirv_ocl_u_mul_hijj(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_mul64hi(i64 noundef %0, i64 noundef %1) local_unnamed_addr #31 !srcloc !903 { + %3 = tail call spir_func noundef i64 @_Z20__spirv_ocl_s_mul_hill(i64 noundef %0, i64 noundef %1) #56 + ret i64 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z20__spirv_ocl_s_mul_hill(i64 noundef, i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_umul64hi(i64 noundef %0, i64 noundef %1) local_unnamed_addr #31 !srcloc !904 { + %3 = tail call spir_func noundef i64 @_Z20__spirv_ocl_u_mul_himm(i64 noundef %0, i64 noundef %1) #56 + ret i64 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z20__spirv_ocl_u_mul_himm(i64 noundef, i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_half2float(half noundef %0) local_unnamed_addr #31 !srcloc !905 { + %2 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_float2half_rd(float noundef %0) local_unnamed_addr #31 !srcloc !906 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtnf(float noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtnf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_float2half_rn(float noundef %0) local_unnamed_addr #31 !srcloc !907 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_float2half_ru(float noundef %0) local_unnamed_addr #31 !srcloc !908 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtpf(float noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtpf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_float2half_rz(float noundef %0) local_unnamed_addr #31 !srcloc !909 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtzf(float noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtzf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2int_rd(half noundef %0) local_unnamed_addr #31 !srcloc !910 { + %2 = tail call spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtnDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2int_rn(half noundef %0) local_unnamed_addr #31 !srcloc !911 { + %2 = tail call spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rteDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2int_ru(half noundef %0) local_unnamed_addr #31 !srcloc !912 { + %2 = tail call spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtpDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2int_rz(half noundef %0) local_unnamed_addr #31 !srcloc !913 { + %2 = tail call spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtzDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z32__spirv_ConvertFToS_Rint_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ll_rd(half noundef %0) local_unnamed_addr #31 !srcloc !914 { + %2 = tail call spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtnDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ll_rn(half noundef %0) local_unnamed_addr #31 !srcloc !915 { + %2 = tail call spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rteDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ll_ru(half noundef %0) local_unnamed_addr #31 !srcloc !916 { + %2 = tail call spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtpDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ll_rz(half noundef %0) local_unnamed_addr #31 !srcloc !917 { + %2 = tail call spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtzDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z33__spirv_ConvertFToS_Rlong_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_half2short_rd(half noundef %0) local_unnamed_addr #31 !srcloc !918 { + %2 = tail call spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtnDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_half2short_rn(half noundef %0) local_unnamed_addr #31 !srcloc !919 { + %2 = tail call spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rteDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_half2short_ru(half noundef %0) local_unnamed_addr #31 !srcloc !920 { + %2 = tail call spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtpDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_half2short_rz(half noundef %0) local_unnamed_addr #31 !srcloc !921 { + %2 = tail call spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtzDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef signext i16 @_Z34__spirv_ConvertFToS_Rshort_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2uint_rd(half noundef %0) local_unnamed_addr #31 !srcloc !922 { + %2 = tail call spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtnDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2uint_rn(half noundef %0) local_unnamed_addr #31 !srcloc !923 { + %2 = tail call spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rteDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2uint_ru(half noundef %0) local_unnamed_addr #31 !srcloc !924 { + %2 = tail call spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtpDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_half2uint_rz(half noundef %0) local_unnamed_addr #31 !srcloc !925 { + %2 = tail call spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtzDF16_(half noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z33__spirv_ConvertFToU_Ruint_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ull_rd(half noundef %0) local_unnamed_addr #31 !srcloc !926 { + %2 = tail call spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtnDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ull_rn(half noundef %0) local_unnamed_addr #31 !srcloc !927 { + %2 = tail call spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rteDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ull_ru(half noundef %0) local_unnamed_addr #31 !srcloc !928 { + %2 = tail call spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtpDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_half2ull_rz(half noundef %0) local_unnamed_addr #31 !srcloc !929 { + %2 = tail call spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtzDF16_(half noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z34__spirv_ConvertFToU_Rulong_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_half2ushort_rd(half noundef %0) local_unnamed_addr #31 !srcloc !930 { + %2 = tail call spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtnDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtnDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_half2ushort_rn(half noundef %0) local_unnamed_addr #31 !srcloc !931 { + %2 = tail call spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rteDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rteDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_half2ushort_ru(half noundef %0) local_unnamed_addr #31 !srcloc !932 { + %2 = tail call spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtpDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtpDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_half2ushort_rz(half noundef %0) local_unnamed_addr #31 !srcloc !933 { + %2 = tail call spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtzDF16_(half noundef %0) #56 + ret i16 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z35__spirv_ConvertFToU_Rushort_sat_rtzDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_half_as_short(half noundef %0) local_unnamed_addr #30 !srcloc !934 { + %2 = bitcast half %0 to i16 + ret i16 %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_half_as_ushort(half noundef %0) local_unnamed_addr #30 !srcloc !935 { + %2 = bitcast half %0 to i16 + ret i16 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_int2half_rd(i32 noundef %0) local_unnamed_addr #31 !srcloc !936 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtni(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtni(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_int2half_rn(i32 noundef %0) local_unnamed_addr #31 !srcloc !937 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtei(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtei(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_int2half_ru(i32 noundef %0) local_unnamed_addr #31 !srcloc !938 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtpi(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtpi(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_int2half_rz(i32 noundef %0) local_unnamed_addr #31 !srcloc !939 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzi(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzi(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ll2half_rd(i64 noundef %0) local_unnamed_addr #31 !srcloc !940 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtnl(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtnl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ll2half_rn(i64 noundef %0) local_unnamed_addr #31 !srcloc !941 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtel(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtel(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ll2half_ru(i64 noundef %0) local_unnamed_addr #31 !srcloc !942 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtpl(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtpl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ll2half_rz(i64 noundef %0) local_unnamed_addr #31 !srcloc !943 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzl(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_short2half_rd(i16 noundef signext %0) local_unnamed_addr #31 !srcloc !944 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtns(i16 noundef signext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtns(i16 noundef signext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_short2half_rn(i16 noundef signext %0) local_unnamed_addr #31 !srcloc !945 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtes(i16 noundef signext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtes(i16 noundef signext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_short2half_ru(i16 noundef signext %0) local_unnamed_addr #31 !srcloc !946 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtps(i16 noundef signext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtps(i16 noundef signext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_short2half_rz(i16 noundef signext %0) local_unnamed_addr #31 !srcloc !947 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzs(i16 noundef signext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertSToF_Rhalf_rtzs(i16 noundef signext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_short_as_half(i16 noundef signext %0) local_unnamed_addr #30 !srcloc !948 { + %2 = bitcast i16 %0 to half + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_uint2half_rd(i32 noundef %0) local_unnamed_addr #31 !srcloc !949 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnj(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_uint2half_rn(i32 noundef %0) local_unnamed_addr #31 !srcloc !950 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtej(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtej(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_uint2half_ru(i32 noundef %0) local_unnamed_addr #31 !srcloc !951 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpj(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_uint2half_rz(i32 noundef %0) local_unnamed_addr #31 !srcloc !952 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzj(i32 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ull2half_rd(i64 noundef %0) local_unnamed_addr #31 !srcloc !953 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnm(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ull2half_rn(i64 noundef %0) local_unnamed_addr #31 !srcloc !954 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtem(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtem(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ull2half_ru(i64 noundef %0) local_unnamed_addr #31 !srcloc !955 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpm(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ull2half_rz(i64 noundef %0) local_unnamed_addr #31 !srcloc !956 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzm(i64 noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ushort2half_rd(i16 noundef zeroext %0) local_unnamed_addr #31 !srcloc !957 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnt(i16 noundef zeroext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtnt(i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ushort2half_rn(i16 noundef zeroext %0) local_unnamed_addr #31 !srcloc !958 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtet(i16 noundef zeroext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtet(i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ushort2half_ru(i16 noundef zeroext %0) local_unnamed_addr #31 !srcloc !959 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpt(i16 noundef zeroext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtpt(i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ushort2half_rz(i16 noundef zeroext %0) local_unnamed_addr #31 !srcloc !960 { + %2 = tail call spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzt(i16 noundef zeroext %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z29__spirv_ConvertUToF_Rhalf_rtzt(i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ushort_as_half(i16 noundef zeroext %0) local_unnamed_addr #30 !srcloc !961 { + %2 = bitcast i16 %0 to half + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2int_rd(float noundef %0) local_unnamed_addr #31 !srcloc !962 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtnf(float noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtnf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2int_rn(float noundef %0) local_unnamed_addr #31 !srcloc !963 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtef(float noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtef(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2int_ru(float noundef %0) local_unnamed_addr #31 !srcloc !964 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtpf(float noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtpf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2int_rz(float noundef %0) local_unnamed_addr #31 !srcloc !965 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtzf(float noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtzf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2uint_rd(float noundef %0) local_unnamed_addr #31 !srcloc !966 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtnf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtnf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2uint_rn(float noundef %0) local_unnamed_addr #31 !srcloc !967 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtef(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtef(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2uint_ru(float noundef %0) local_unnamed_addr #31 !srcloc !968 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtpf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtpf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float2uint_rz(float noundef %0) local_unnamed_addr #31 !srcloc !969 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtzf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtzf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ll_rd(float noundef %0) local_unnamed_addr #31 !srcloc !970 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtnf(float noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtnf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ll_rn(float noundef %0) local_unnamed_addr #31 !srcloc !971 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtef(float noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtef(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ll_ru(float noundef %0) local_unnamed_addr #31 !srcloc !972 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtpf(float noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtpf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ll_rz(float noundef %0) local_unnamed_addr #31 !srcloc !973 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtzf(float noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtzf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ull_rd(float noundef %0) local_unnamed_addr #31 !srcloc !974 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtnf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtnf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ull_rn(float noundef %0) local_unnamed_addr #31 !srcloc !975 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtef(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtef(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ull_ru(float noundef %0) local_unnamed_addr #31 !srcloc !976 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtpf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtpf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_float2ull_rz(float noundef %0) local_unnamed_addr #31 !srcloc !977 { + %2 = fcmp olt float %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtzf(float noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtzf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float_as_int(float noundef %0) local_unnamed_addr #30 !srcloc !978 { + %2 = bitcast float %0 to i32 + ret i32 %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_float_as_uint(float noundef %0) local_unnamed_addr #30 !srcloc !979 { + %2 = bitcast float %0 to i32 + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_int2float_rd(i32 noundef %0) local_unnamed_addr #31 !srcloc !980 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtni(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtni(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_int2float_rn(i32 noundef %0) local_unnamed_addr #31 !srcloc !981 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtei(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtei(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_int2float_ru(i32 noundef %0) local_unnamed_addr #31 !srcloc !982 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtpi(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtpi(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_int2float_rz(i32 noundef %0) local_unnamed_addr #31 !srcloc !983 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtzi(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtzi(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_int_as_float(i32 noundef %0) local_unnamed_addr #30 !srcloc !984 { + %2 = bitcast i32 %0 to float + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ll2float_rd(i64 noundef %0) local_unnamed_addr #31 !srcloc !985 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtnl(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtnl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ll2float_rn(i64 noundef %0) local_unnamed_addr #31 !srcloc !986 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtel(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtel(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ll2float_ru(i64 noundef %0) local_unnamed_addr #31 !srcloc !987 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtpl(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtpl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ll2float_rz(i64 noundef %0) local_unnamed_addr #31 !srcloc !988 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtzl(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertSToF_Rfloat_rtzl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_uint2float_rd(i32 noundef %0) local_unnamed_addr #31 !srcloc !989 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtnj(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtnj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_uint2float_rn(i32 noundef %0) local_unnamed_addr #31 !srcloc !990 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtej(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtej(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_uint2float_ru(i32 noundef %0) local_unnamed_addr #31 !srcloc !991 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtpj(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtpj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_uint2float_rz(i32 noundef %0) local_unnamed_addr #31 !srcloc !992 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtzj(i32 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtzj(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_uint_as_float(i32 noundef %0) local_unnamed_addr #30 !srcloc !993 { + %2 = bitcast i32 %0 to float + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ull2float_rd(i64 noundef %0) local_unnamed_addr #31 !srcloc !994 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtnm(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtnm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ull2float_rn(i64 noundef %0) local_unnamed_addr #31 !srcloc !995 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtem(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtem(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ull2float_ru(i64 noundef %0) local_unnamed_addr #31 !srcloc !996 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtpm(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtpm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ull2float_rz(i64 noundef %0) local_unnamed_addr #31 !srcloc !997 { + %2 = tail call spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtzm(i64 noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z30__spirv_ConvertUToF_Rfloat_rtzm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabs2(i32 noundef %0) local_unnamed_addr #30 !srcloc !998 { + %2 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 2 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %25, %18 ] + %5 = icmp ult i64 %4, 2 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 2 + br i1 %9, label %10, label %26 + +10: ; preds = %6 + %11 = shl i32 %7, 16 + %12 = sub nuw nsw i64 1, %8 + %13 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %12 + %14 = load i16, ptr %13, align 2, !tbaa !999 + %15 = zext i16 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !1001 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 4 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i16 + %23 = tail call noundef i16 @llvm.abs.i16(i16 %22, i1 false) + %24 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %4 + store i16 %23, ptr %24, align 2, !tbaa !999 + %25 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1002 + +26: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.abs.i16(i16, i1 immarg) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabs4(i32 noundef %0) local_unnamed_addr #30 !srcloc !1003 { + %2 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 1 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %25, %18 ] + %5 = icmp ult i64 %4, 4 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 4 + br i1 %9, label %10, label %26 + +10: ; preds = %6 + %11 = shl i32 %7, 8 + %12 = sub nuw nsw i64 3, %8 + %13 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %12 + %14 = load i8, ptr %13, align 1, !tbaa !718 + %15 = zext i8 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !892 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 3 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i8 + %23 = tail call noundef i8 @llvm.abs.i8(i8 %22, i1 false) + %24 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %4 + store i8 %23, ptr %24, align 1, !tbaa !718 + %25 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1004 + +26: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.abs.i8(i8, i1 immarg) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsss2(i32 noundef %0) local_unnamed_addr #30 !srcloc !1005 { + %2 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 2 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %27, %18 ] + %5 = icmp ult i64 %4, 2 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 2 + br i1 %9, label %10, label %28 + +10: ; preds = %6 + %11 = shl i32 %7, 16 + %12 = sub nuw nsw i64 1, %8 + %13 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %12 + %14 = load i16, ptr %13, align 2, !tbaa !999 + %15 = zext i16 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !1001 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 4 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i16 + %23 = icmp eq i16 %22, -32768 + %24 = tail call i16 @llvm.abs.i16(i16 %22, i1 true) + %25 = select i1 %23, i16 32767, i16 %24 + %26 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %4 + store i16 %25, ptr %26, align 2, !tbaa !999 + %27 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1006 + +28: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsss4(i32 noundef %0) local_unnamed_addr #30 !srcloc !1007 { + %2 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 1 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %27, %18 ] + %5 = icmp ult i64 %4, 4 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 4 + br i1 %9, label %10, label %28 + +10: ; preds = %6 + %11 = shl i32 %7, 8 + %12 = sub nuw nsw i64 3, %8 + %13 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %12 + %14 = load i8, ptr %13, align 1, !tbaa !718 + %15 = zext i8 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !892 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 3 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i8 + %23 = icmp eq i8 %22, -128 + %24 = tail call i8 @llvm.abs.i8(i8 %22, i1 true) + %25 = select i1 %23, i8 127, i8 %24 + %26 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %4 + store i8 %25, ptr %26, align 1, !tbaa !718 + %27 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1008 + +28: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vneg2(i32 noundef %0) local_unnamed_addr #30 !srcloc !1009 { + %2 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 2 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %25, %18 ] + %5 = icmp ult i64 %4, 2 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 2 + br i1 %9, label %10, label %26 + +10: ; preds = %6 + %11 = shl i32 %7, 16 + %12 = sub nuw nsw i64 1, %8 + %13 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %12 + %14 = load i16, ptr %13, align 2, !tbaa !999 + %15 = zext i16 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !1001 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 4 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i16 + %23 = sub i16 0, %22 + %24 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %4 + store i16 %23, ptr %24, align 2, !tbaa !999 + %25 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1010 + +26: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vneg4(i32 noundef %0) local_unnamed_addr #30 !srcloc !1011 { + %2 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 1 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %25, %18 ] + %5 = icmp ult i64 %4, 4 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 4 + br i1 %9, label %10, label %26 + +10: ; preds = %6 + %11 = shl i32 %7, 8 + %12 = sub nuw nsw i64 3, %8 + %13 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %12 + %14 = load i8, ptr %13, align 1, !tbaa !718 + %15 = zext i8 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !892 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 3 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i8 + %23 = sub i8 0, %22 + %24 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %4 + store i8 %23, ptr %24, align 1, !tbaa !718 + %25 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1012 + +26: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vnegss2(i32 noundef %0) local_unnamed_addr #30 !srcloc !1013 { + %2 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 2 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %27, %18 ] + %5 = icmp ult i64 %4, 2 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 2 + br i1 %9, label %10, label %28 + +10: ; preds = %6 + %11 = shl i32 %7, 16 + %12 = sub nuw nsw i64 1, %8 + %13 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %12 + %14 = load i16, ptr %13, align 2, !tbaa !999 + %15 = zext i16 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !1001 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 4 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i16 + %23 = sub i16 0, %22 + %24 = icmp eq i16 %22, -32768 + %25 = select i1 %24, i16 32767, i16 %23 + %26 = getelementptr inbounds [2 x i16], ptr %2, i64 0, i64 %4 + store i16 %25, ptr %26, align 2, !tbaa !999 + %27 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1014 + +28: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vnegss4(i32 noundef %0) local_unnamed_addr #30 !srcloc !1015 { + %2 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 0, ptr %2, align 1 + br label %3 + +3: ; preds = %18, %1 + %4 = phi i64 [ 0, %1 ], [ %27, %18 ] + %5 = icmp ult i64 %4, 4 + br i1 %5, label %18, label %6 + +6: ; preds = %10, %3 + %7 = phi i32 [ %16, %10 ], [ 0, %3 ] + %8 = phi i64 [ %17, %10 ], [ 0, %3 ] + %9 = icmp ult i64 %8, 4 + br i1 %9, label %10, label %28 + +10: ; preds = %6 + %11 = shl i32 %7, 8 + %12 = sub nuw nsw i64 3, %8 + %13 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %12 + %14 = load i8, ptr %13, align 1, !tbaa !718 + %15 = zext i8 %14 to i32 + %16 = or i32 %11, %15 + %17 = add nuw nsw i64 %8, 1 + br label %6, !llvm.loop !892 + +18: ; preds = %3 + %19 = trunc i64 %4 to i32 + %20 = shl nuw nsw i32 %19, 3 + %21 = lshr i32 %0, %20 + %22 = trunc i32 %21 to i8 + %23 = sub i8 0, %22 + %24 = icmp eq i8 %22, -128 + %25 = select i1 %24, i8 127, i8 %23 + %26 = getelementptr inbounds [4 x i8], ptr %2, i64 0, i64 %4 + store i8 %25, ptr %26, align 1, !tbaa !718 + %27 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1016 + +28: ; preds = %6 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + ret i32 %7 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsdiffs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1017 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %32, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %33 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = lshr i32 %1, %21 + %24 = shl i32 %22, 16 + %25 = ashr exact i32 %24, 16 + %26 = shl i32 %23, 16 + %27 = ashr exact i32 %26, 16 + %28 = sub nsw i32 %25, %27 + %29 = tail call noundef i32 @llvm.abs.i32(i32 %28, i1 true) + %30 = trunc i32 %29 to i16 + %31 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %30, ptr %31, align 2, !tbaa !999 + %32 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1018 + +33: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsdiffs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1019 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %32, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %33 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = sext i8 %25 to i16 + %27 = sext i8 %23 to i16 + %28 = sub nsw i16 %27, %26 + %29 = tail call noundef i16 @llvm.abs.i16(i16 %28, i1 true) + %30 = trunc i16 %29 to i8 + %31 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %30, ptr %31, align 1, !tbaa !718 + %32 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1020 + +33: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsdiffu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1021 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %30, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %31 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call i16 @llvm.umax.i16(i16 %23, i16 %25) + %27 = tail call i16 @llvm.umin.i16(i16 %23, i16 %25) + %28 = sub i16 %26, %27 + %29 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %28, ptr %29, align 2, !tbaa !999 + %30 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1022 + +31: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.umax.i16(i16, i16) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.umin.i16(i16, i16) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vabsdiffu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1023 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %30, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %31 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call i8 @llvm.umax.i8(i8 %23, i8 %25) + %27 = tail call i8 @llvm.umin.i8(i8 %23, i8 %25) + %28 = sub i8 %26, %27 + %29 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %28, ptr %29, align 1, !tbaa !718 + %30 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1024 + +31: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.umax.i8(i8, i8) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.umin.i8(i8, i8) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vadd2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1025 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = add i16 %23, %25 + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1026 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vadd4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1027 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = add i8 %23, %25 + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1028 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vaddss2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1029 { + %3 = alloca [2 x i16], align 2 + %4 = alloca i16, align 2 + %5 = alloca i16, align 2 + %6 = alloca %class.__add_ss_op, align 1 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #55 + br label %10 + +10: ; preds = %25, %2 + %11 = phi i64 [ 0, %2 ], [ %34, %25 ] + %12 = icmp ult i64 %11, 2 + br i1 %12, label %25, label %13 + +13: ; preds = %17, %10 + %14 = phi i32 [ %23, %17 ], [ 0, %10 ] + %15 = phi i64 [ %24, %17 ], [ 0, %10 ] + %16 = icmp ult i64 %15, 2 + br i1 %16, label %17, label %35 + +17: ; preds = %13 + %18 = shl i32 %14, 16 + %19 = sub nuw nsw i64 1, %15 + %20 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %19 + %21 = load i16, ptr %20, align 2, !tbaa !999 + %22 = zext i16 %21 to i32 + %23 = or i32 %18, %22 + %24 = add nuw nsw i64 %15, 1 + br label %13, !llvm.loop !1001 + +25: ; preds = %10 + %26 = trunc i64 %11 to i32 + %27 = shl nuw nsw i32 %26, 4 + %28 = lshr i32 %0, %27 + %29 = trunc i32 %28 to i16 + store i16 %29, ptr %4, align 2, !tbaa !999 + %30 = lshr i32 %1, %27 + %31 = trunc i32 %30 to i16 + store i16 %31, ptr %5, align 2, !tbaa !999 + %32 = call spir_func noundef zeroext i16 @_ZN11__add_ss_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %9, ptr addrspace(4) noundef align 2 dereferenceable(2) %7, ptr addrspace(4) noundef align 2 dereferenceable(2) %8) #54 + %33 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %11 + store i16 %32, ptr %33, align 2, !tbaa !999 + %34 = add nuw nsw i64 %11, 1 + br label %10, !llvm.loop !1030 + +35: ; preds = %13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %14 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define linkonce_odr dso_local spir_func noundef zeroext i16 @_ZN11__add_ss_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 2 dereferenceable(2) %1, ptr addrspace(4) noundef align 2 dereferenceable(2) %2) local_unnamed_addr #32 comdat align 2 !srcloc !1031 { + %4 = alloca i16, align 2 + %5 = alloca ptr addrspace(4), align 8 + %6 = alloca ptr addrspace(4), align 8 + %7 = alloca ptr addrspace(4), align 8 + %8 = alloca i32, align 4 + %9 = alloca %class.__add_ss_op, align 1 + %10 = alloca %class.__add_ss_op, align 1 + %11 = alloca i32, align 4 + %12 = alloca i32, align 4 + %13 = alloca i32, align 4 + %14 = alloca i32, align 4 + %15 = addrspacecast ptr %4 to ptr addrspace(4) + %16 = addrspacecast ptr %5 to ptr addrspace(4) + %17 = addrspacecast ptr %6 to ptr addrspace(4) + %18 = addrspacecast ptr %7 to ptr addrspace(4) + %19 = addrspacecast ptr %8 to ptr addrspace(4) + %20 = addrspacecast ptr %9 to ptr addrspace(4) + %21 = addrspacecast ptr %10 to ptr addrspace(4) + %22 = addrspacecast ptr %11 to ptr addrspace(4) + %23 = addrspacecast ptr %12 to ptr addrspace(4) + %24 = addrspacecast ptr %13 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %16, align 8, !tbaa !1032 + store ptr addrspace(4) %1, ptr addrspace(4) %17, align 8, !tbaa !1032 + store ptr addrspace(4) %2, ptr addrspace(4) %18, align 8, !tbaa !1032 + %25 = load ptr addrspace(4), ptr addrspace(4) %16, align 8 + call void @llvm.lifetime.start.p0(i64 4, ptr %8) #55 + %26 = load ptr addrspace(4), ptr addrspace(4) %17, align 8, !tbaa !1032 + %27 = load i16, ptr addrspace(4) %26, align 2, !tbaa !999 + %28 = sext i16 %27 to i32 + %29 = load ptr addrspace(4), ptr addrspace(4) %18, align 8, !tbaa !1032 + %30 = load i16, ptr addrspace(4) %29, align 2, !tbaa !999 + %31 = sext i16 %30 to i32 + %32 = add nsw i32 %28, %31 + store i32 %32, ptr addrspace(4) %19, align 4, !tbaa !717 + call void @llvm.lifetime.start.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr %11) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr %12) #55 + %33 = call spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3minEv() #54 + %34 = sext i16 %33 to i32 + store i32 %34, ptr addrspace(4) %23, align 4, !tbaa !717 + %35 = call spir_func noundef i32 @_ZN8__max_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %20, ptr addrspace(4) noundef align 4 dereferenceable(4) %19, ptr addrspace(4) noundef align 4 dereferenceable(4) %23) #54 + store i32 %35, ptr addrspace(4) %22, align 4, !tbaa !717 + call void @llvm.lifetime.start.p0(i64 4, ptr %13) #55 + %36 = call spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3maxEv() #54 + %37 = sext i16 %36 to i32 + store i32 %37, ptr addrspace(4) %24, align 4, !tbaa !717 + %38 = call spir_func noundef i32 @_ZN8__min_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %21, ptr addrspace(4) noundef align 4 dereferenceable(4) %22, ptr addrspace(4) noundef align 4 dereferenceable(4) %24) #54 + %39 = trunc i32 %38 to i16 + call void @llvm.lifetime.end.p0(i64 4, ptr %13) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %12) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %11) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %8) #55 + ret i16 %39 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3minEv() local_unnamed_addr #33 comdat align 2 !srcloc !1034 { + ret i16 -32768 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN8__max_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 4 dereferenceable(4) %1, ptr addrspace(4) noundef align 4 dereferenceable(4) %2) local_unnamed_addr #33 comdat align 2 !srcloc !1035 { + %4 = load i32, ptr addrspace(4) %1, align 4, !tbaa !717 + %5 = load i32, ptr addrspace(4) %2, align 4, !tbaa !717 + %6 = tail call i32 @llvm.smax.i32(i32 %4, i32 %5) + ret i32 %6 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3maxEv() local_unnamed_addr #33 comdat align 2 !srcloc !1036 { + ret i16 32767 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN8__min_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 4 dereferenceable(4) %1, ptr addrspace(4) noundef align 4 dereferenceable(4) %2) local_unnamed_addr #33 comdat align 2 !srcloc !1037 { + %4 = load i32, ptr addrspace(4) %1, align 4, !tbaa !717 + %5 = load i32, ptr addrspace(4) %2, align 4, !tbaa !717 + %6 = tail call i32 @llvm.smin.i32(i32 %4, i32 %5) + ret i32 %6 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.smin.i32(i32, i32) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.smax.i32(i32, i32) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vaddss4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1038 { + %3 = alloca [4 x i8], align 1 + %4 = alloca i8, align 1 + %5 = alloca i8, align 1 + %6 = alloca %class.__add_ss_op, align 1 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #55 + br label %10 + +10: ; preds = %25, %2 + %11 = phi i64 [ 0, %2 ], [ %34, %25 ] + %12 = icmp ult i64 %11, 4 + br i1 %12, label %25, label %13 + +13: ; preds = %17, %10 + %14 = phi i32 [ %23, %17 ], [ 0, %10 ] + %15 = phi i64 [ %24, %17 ], [ 0, %10 ] + %16 = icmp ult i64 %15, 4 + br i1 %16, label %17, label %35 + +17: ; preds = %13 + %18 = shl i32 %14, 8 + %19 = sub nuw nsw i64 3, %15 + %20 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %19 + %21 = load i8, ptr %20, align 1, !tbaa !718 + %22 = zext i8 %21 to i32 + %23 = or i32 %18, %22 + %24 = add nuw nsw i64 %15, 1 + br label %13, !llvm.loop !892 + +25: ; preds = %10 + %26 = trunc i64 %11 to i32 + %27 = shl nuw nsw i32 %26, 3 + %28 = lshr i32 %0, %27 + %29 = trunc i32 %28 to i8 + store i8 %29, ptr %4, align 1, !tbaa !718 + %30 = lshr i32 %1, %27 + %31 = trunc i32 %30 to i8 + store i8 %31, ptr %5, align 1, !tbaa !718 + %32 = call spir_func noundef zeroext i8 @_ZN11__add_ss_opIaEclERKaS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %9, ptr addrspace(4) noundef align 1 dereferenceable(1) %7, ptr addrspace(4) noundef align 1 dereferenceable(1) %8) #54 + %33 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %11 + store i8 %32, ptr %33, align 1, !tbaa !718 + %34 = add nuw nsw i64 %11, 1 + br label %10, !llvm.loop !1039 + +35: ; preds = %13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %14 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define linkonce_odr dso_local spir_func noundef zeroext i8 @_ZN11__add_ss_opIaEclERKaS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 1 dereferenceable(1) %1, ptr addrspace(4) noundef align 1 dereferenceable(1) %2) local_unnamed_addr #32 comdat align 2 !srcloc !1031 { + %4 = alloca i8, align 1 + %5 = alloca ptr addrspace(4), align 8 + %6 = alloca ptr addrspace(4), align 8 + %7 = alloca ptr addrspace(4), align 8 + %8 = alloca i16, align 2 + %9 = alloca %class.__add_ss_op, align 1 + %10 = alloca %class.__add_ss_op, align 1 + %11 = alloca i16, align 2 + %12 = alloca i16, align 2 + %13 = alloca i16, align 2 + %14 = alloca i32, align 4 + %15 = addrspacecast ptr %4 to ptr addrspace(4) + %16 = addrspacecast ptr %5 to ptr addrspace(4) + %17 = addrspacecast ptr %6 to ptr addrspace(4) + %18 = addrspacecast ptr %7 to ptr addrspace(4) + %19 = addrspacecast ptr %8 to ptr addrspace(4) + %20 = addrspacecast ptr %9 to ptr addrspace(4) + %21 = addrspacecast ptr %10 to ptr addrspace(4) + %22 = addrspacecast ptr %11 to ptr addrspace(4) + %23 = addrspacecast ptr %12 to ptr addrspace(4) + %24 = addrspacecast ptr %13 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %16, align 8, !tbaa !1032 + store ptr addrspace(4) %1, ptr addrspace(4) %17, align 8, !tbaa !1032 + store ptr addrspace(4) %2, ptr addrspace(4) %18, align 8, !tbaa !1032 + %25 = load ptr addrspace(4), ptr addrspace(4) %16, align 8 + call void @llvm.lifetime.start.p0(i64 2, ptr %8) #55 + %26 = load ptr addrspace(4), ptr addrspace(4) %17, align 8, !tbaa !1032 + %27 = load i8, ptr addrspace(4) %26, align 1, !tbaa !718 + %28 = sext i8 %27 to i32 + %29 = load ptr addrspace(4), ptr addrspace(4) %18, align 8, !tbaa !1032 + %30 = load i8, ptr addrspace(4) %29, align 1, !tbaa !718 + %31 = sext i8 %30 to i32 + %32 = add nsw i32 %28, %31 + %33 = trunc i32 %32 to i16 + store i16 %33, ptr addrspace(4) %19, align 2, !tbaa !999 + call void @llvm.lifetime.start.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr %11) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr %12) #55 + %34 = call spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3minEv() #54 + %35 = sext i8 %34 to i16 + store i16 %35, ptr addrspace(4) %23, align 2, !tbaa !999 + %36 = call spir_func noundef signext i16 @_ZN8__max_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %20, ptr addrspace(4) noundef align 2 dereferenceable(2) %19, ptr addrspace(4) noundef align 2 dereferenceable(2) %23) #54 + store i16 %36, ptr addrspace(4) %22, align 2, !tbaa !999 + call void @llvm.lifetime.start.p0(i64 2, ptr %13) #55 + %37 = call spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3maxEv() #54 + %38 = sext i8 %37 to i16 + store i16 %38, ptr addrspace(4) %24, align 2, !tbaa !999 + %39 = call spir_func noundef signext i16 @_ZN8__min_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %21, ptr addrspace(4) noundef align 2 dereferenceable(2) %22, ptr addrspace(4) noundef align 2 dereferenceable(2) %24) #54 + %40 = trunc i16 %39 to i8 + call void @llvm.lifetime.end.p0(i64 2, ptr %13) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %12) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %11) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %8) #55 + ret i8 %40 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3minEv() local_unnamed_addr #33 comdat align 2 !srcloc !1040 { + ret i8 -128 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i16 @_ZN8__max_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 2 dereferenceable(2) %1, ptr addrspace(4) noundef align 2 dereferenceable(2) %2) local_unnamed_addr #33 comdat align 2 !srcloc !1035 { + %4 = load i16, ptr addrspace(4) %1, align 2, !tbaa !999 + %5 = load i16, ptr addrspace(4) %2, align 2, !tbaa !999 + %6 = tail call i16 @llvm.smax.i16(i16 %4, i16 %5) + ret i16 %6 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3maxEv() local_unnamed_addr #33 comdat align 2 !srcloc !1041 { + ret i8 127 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef signext i16 @_ZN8__min_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 2 dereferenceable(2) %1, ptr addrspace(4) noundef align 2 dereferenceable(2) %2) local_unnamed_addr #33 comdat align 2 !srcloc !1037 { + %4 = load i16, ptr addrspace(4) %1, align 2, !tbaa !999 + %5 = load i16, ptr addrspace(4) %2, align 2, !tbaa !999 + %6 = tail call i16 @llvm.smin.i16(i16 %4, i16 %5) + ret i16 %6 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.smin.i16(i16, i16) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.smax.i16(i16, i16) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vaddus2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1042 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %30, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %31 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = lshr i32 %1, %21 + %24 = and i32 %22, 65535 + %25 = and i32 %23, 65535 + %26 = add nuw nsw i32 %24, %25 + %27 = tail call i32 @llvm.umin.i32(i32 %26, i32 65535) + %28 = trunc i32 %27 to i16 + %29 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %28, ptr %29, align 2, !tbaa !999 + %30 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1043 + +31: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vaddus4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1044 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %32, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %33 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = and i16 %23, 255 + %27 = and i16 %25, 255 + %28 = add nuw nsw i16 %26, %27 + %29 = tail call i16 @llvm.umin.i16(i16 %28, i16 255) + %30 = trunc i16 %29 to i8 + %31 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %30, ptr %31, align 1, !tbaa !718 + %32 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1045 + +33: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsub2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1046 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = sub i16 %23, %25 + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1047 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsub4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1048 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = sub i8 %23, %25 + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1049 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsubss2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1050 { + %3 = alloca [2 x i16], align 2 + %4 = alloca i16, align 2 + %5 = alloca i16, align 2 + %6 = alloca %class.__add_ss_op, align 1 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #55 + br label %10 + +10: ; preds = %25, %2 + %11 = phi i64 [ 0, %2 ], [ %34, %25 ] + %12 = icmp ult i64 %11, 2 + br i1 %12, label %25, label %13 + +13: ; preds = %17, %10 + %14 = phi i32 [ %23, %17 ], [ 0, %10 ] + %15 = phi i64 [ %24, %17 ], [ 0, %10 ] + %16 = icmp ult i64 %15, 2 + br i1 %16, label %17, label %35 + +17: ; preds = %13 + %18 = shl i32 %14, 16 + %19 = sub nuw nsw i64 1, %15 + %20 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %19 + %21 = load i16, ptr %20, align 2, !tbaa !999 + %22 = zext i16 %21 to i32 + %23 = or i32 %18, %22 + %24 = add nuw nsw i64 %15, 1 + br label %13, !llvm.loop !1001 + +25: ; preds = %10 + %26 = trunc i64 %11 to i32 + %27 = shl nuw nsw i32 %26, 4 + %28 = lshr i32 %0, %27 + %29 = trunc i32 %28 to i16 + store i16 %29, ptr %4, align 2, !tbaa !999 + %30 = lshr i32 %1, %27 + %31 = trunc i32 %30 to i16 + store i16 %31, ptr %5, align 2, !tbaa !999 + %32 = call spir_func noundef zeroext i16 @_ZN11__sub_ss_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %9, ptr addrspace(4) noundef align 2 dereferenceable(2) %7, ptr addrspace(4) noundef align 2 dereferenceable(2) %8) #54 + %33 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %11 + store i16 %32, ptr %33, align 2, !tbaa !999 + %34 = add nuw nsw i64 %11, 1 + br label %10, !llvm.loop !1051 + +35: ; preds = %13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %14 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define linkonce_odr dso_local spir_func noundef zeroext i16 @_ZN11__sub_ss_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 2 dereferenceable(2) %1, ptr addrspace(4) noundef align 2 dereferenceable(2) %2) local_unnamed_addr #32 comdat align 2 !srcloc !1052 { + %4 = alloca i16, align 2 + %5 = alloca ptr addrspace(4), align 8 + %6 = alloca ptr addrspace(4), align 8 + %7 = alloca ptr addrspace(4), align 8 + %8 = alloca i32, align 4 + %9 = alloca %class.__add_ss_op, align 1 + %10 = alloca %class.__add_ss_op, align 1 + %11 = alloca i32, align 4 + %12 = alloca i32, align 4 + %13 = alloca i32, align 4 + %14 = alloca i32, align 4 + %15 = addrspacecast ptr %4 to ptr addrspace(4) + %16 = addrspacecast ptr %5 to ptr addrspace(4) + %17 = addrspacecast ptr %6 to ptr addrspace(4) + %18 = addrspacecast ptr %7 to ptr addrspace(4) + %19 = addrspacecast ptr %8 to ptr addrspace(4) + %20 = addrspacecast ptr %9 to ptr addrspace(4) + %21 = addrspacecast ptr %10 to ptr addrspace(4) + %22 = addrspacecast ptr %11 to ptr addrspace(4) + %23 = addrspacecast ptr %12 to ptr addrspace(4) + %24 = addrspacecast ptr %13 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %16, align 8, !tbaa !1032 + store ptr addrspace(4) %1, ptr addrspace(4) %17, align 8, !tbaa !1032 + store ptr addrspace(4) %2, ptr addrspace(4) %18, align 8, !tbaa !1032 + %25 = load ptr addrspace(4), ptr addrspace(4) %16, align 8 + call void @llvm.lifetime.start.p0(i64 4, ptr %8) #55 + %26 = load ptr addrspace(4), ptr addrspace(4) %17, align 8, !tbaa !1032 + %27 = load i16, ptr addrspace(4) %26, align 2, !tbaa !999 + %28 = sext i16 %27 to i32 + %29 = load ptr addrspace(4), ptr addrspace(4) %18, align 8, !tbaa !1032 + %30 = load i16, ptr addrspace(4) %29, align 2, !tbaa !999 + %31 = sext i16 %30 to i32 + %32 = sub nsw i32 %28, %31 + store i32 %32, ptr addrspace(4) %19, align 4, !tbaa !717 + call void @llvm.lifetime.start.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr %11) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr %12) #55 + %33 = call spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3minEv() #54 + %34 = sext i16 %33 to i32 + store i32 %34, ptr addrspace(4) %23, align 4, !tbaa !717 + %35 = call spir_func noundef i32 @_ZN8__max_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %20, ptr addrspace(4) noundef align 4 dereferenceable(4) %19, ptr addrspace(4) noundef align 4 dereferenceable(4) %23) #54 + store i32 %35, ptr addrspace(4) %22, align 4, !tbaa !717 + call void @llvm.lifetime.start.p0(i64 4, ptr %13) #55 + %36 = call spir_func noundef signext i16 @_ZNSt14numeric_limitsIsE3maxEv() #54 + %37 = sext i16 %36 to i32 + store i32 %37, ptr addrspace(4) %24, align 4, !tbaa !717 + %38 = call spir_func noundef i32 @_ZN8__min_opIiEclERKiS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %21, ptr addrspace(4) noundef align 4 dereferenceable(4) %22, ptr addrspace(4) noundef align 4 dereferenceable(4) %24) #54 + %39 = trunc i32 %38 to i16 + call void @llvm.lifetime.end.p0(i64 4, ptr %13) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %12) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %11) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr %8) #55 + ret i16 %39 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsubss4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1053 { + %3 = alloca [4 x i8], align 1 + %4 = alloca i8, align 1 + %5 = alloca i8, align 1 + %6 = alloca %class.__add_ss_op, align 1 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #55 + br label %10 + +10: ; preds = %25, %2 + %11 = phi i64 [ 0, %2 ], [ %34, %25 ] + %12 = icmp ult i64 %11, 4 + br i1 %12, label %25, label %13 + +13: ; preds = %17, %10 + %14 = phi i32 [ %23, %17 ], [ 0, %10 ] + %15 = phi i64 [ %24, %17 ], [ 0, %10 ] + %16 = icmp ult i64 %15, 4 + br i1 %16, label %17, label %35 + +17: ; preds = %13 + %18 = shl i32 %14, 8 + %19 = sub nuw nsw i64 3, %15 + %20 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %19 + %21 = load i8, ptr %20, align 1, !tbaa !718 + %22 = zext i8 %21 to i32 + %23 = or i32 %18, %22 + %24 = add nuw nsw i64 %15, 1 + br label %13, !llvm.loop !892 + +25: ; preds = %10 + %26 = trunc i64 %11 to i32 + %27 = shl nuw nsw i32 %26, 3 + %28 = lshr i32 %0, %27 + %29 = trunc i32 %28 to i8 + store i8 %29, ptr %4, align 1, !tbaa !718 + %30 = lshr i32 %1, %27 + %31 = trunc i32 %30 to i8 + store i8 %31, ptr %5, align 1, !tbaa !718 + %32 = call spir_func noundef zeroext i8 @_ZN11__sub_ss_opIaEclERKaS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %9, ptr addrspace(4) noundef align 1 dereferenceable(1) %7, ptr addrspace(4) noundef align 1 dereferenceable(1) %8) #54 + %33 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %11 + store i8 %32, ptr %33, align 1, !tbaa !718 + %34 = add nuw nsw i64 %11, 1 + br label %10, !llvm.loop !1054 + +35: ; preds = %13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %14 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define linkonce_odr dso_local spir_func noundef zeroext i8 @_ZN11__sub_ss_opIaEclERKaS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %0, ptr addrspace(4) noundef align 1 dereferenceable(1) %1, ptr addrspace(4) noundef align 1 dereferenceable(1) %2) local_unnamed_addr #32 comdat align 2 !srcloc !1052 { + %4 = alloca i8, align 1 + %5 = alloca ptr addrspace(4), align 8 + %6 = alloca ptr addrspace(4), align 8 + %7 = alloca ptr addrspace(4), align 8 + %8 = alloca i16, align 2 + %9 = alloca %class.__add_ss_op, align 1 + %10 = alloca %class.__add_ss_op, align 1 + %11 = alloca i16, align 2 + %12 = alloca i16, align 2 + %13 = alloca i16, align 2 + %14 = alloca i32, align 4 + %15 = addrspacecast ptr %4 to ptr addrspace(4) + %16 = addrspacecast ptr %5 to ptr addrspace(4) + %17 = addrspacecast ptr %6 to ptr addrspace(4) + %18 = addrspacecast ptr %7 to ptr addrspace(4) + %19 = addrspacecast ptr %8 to ptr addrspace(4) + %20 = addrspacecast ptr %9 to ptr addrspace(4) + %21 = addrspacecast ptr %10 to ptr addrspace(4) + %22 = addrspacecast ptr %11 to ptr addrspace(4) + %23 = addrspacecast ptr %12 to ptr addrspace(4) + %24 = addrspacecast ptr %13 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %16, align 8, !tbaa !1032 + store ptr addrspace(4) %1, ptr addrspace(4) %17, align 8, !tbaa !1032 + store ptr addrspace(4) %2, ptr addrspace(4) %18, align 8, !tbaa !1032 + %25 = load ptr addrspace(4), ptr addrspace(4) %16, align 8 + call void @llvm.lifetime.start.p0(i64 2, ptr %8) #55 + %26 = load ptr addrspace(4), ptr addrspace(4) %17, align 8, !tbaa !1032 + %27 = load i8, ptr addrspace(4) %26, align 1, !tbaa !718 + %28 = sext i8 %27 to i32 + %29 = load ptr addrspace(4), ptr addrspace(4) %18, align 8, !tbaa !1032 + %30 = load i8, ptr addrspace(4) %29, align 1, !tbaa !718 + %31 = sext i8 %30 to i32 + %32 = sub nsw i32 %28, %31 + %33 = trunc i32 %32 to i16 + store i16 %33, ptr addrspace(4) %19, align 2, !tbaa !999 + call void @llvm.lifetime.start.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.start.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr %11) #55 + call void @llvm.lifetime.start.p0(i64 2, ptr %12) #55 + %34 = call spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3minEv() #54 + %35 = sext i8 %34 to i16 + store i16 %35, ptr addrspace(4) %23, align 2, !tbaa !999 + %36 = call spir_func noundef signext i16 @_ZN8__max_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %20, ptr addrspace(4) noundef align 2 dereferenceable(2) %19, ptr addrspace(4) noundef align 2 dereferenceable(2) %23) #54 + store i16 %36, ptr addrspace(4) %22, align 2, !tbaa !999 + call void @llvm.lifetime.start.p0(i64 2, ptr %13) #55 + %37 = call spir_func noundef signext i8 @_ZNSt14numeric_limitsIaE3maxEv() #54 + %38 = sext i8 %37 to i16 + store i16 %38, ptr addrspace(4) %24, align 2, !tbaa !999 + %39 = call spir_func noundef signext i16 @_ZN8__min_opIsEclERKsS2_(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %21, ptr addrspace(4) noundef align 2 dereferenceable(2) %22, ptr addrspace(4) noundef align 2 dereferenceable(2) %24) #54 + %40 = trunc i16 %39 to i8 + call void @llvm.lifetime.end.p0(i64 2, ptr %13) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %12) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %11) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %10) #55 + call void @llvm.lifetime.end.p0(i64 1, ptr %9) #55 + call void @llvm.lifetime.end.p0(i64 2, ptr %8) #55 + ret i8 %40 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsubus2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1055 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call noundef i16 @llvm.usub.sat.i16(i16 %23, i16 %25) + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1056 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i16 @llvm.usub.sat.i16(i16, i16) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsubus4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1057 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call noundef i8 @llvm.usub.sat.i8(i8 %23, i8 %25) + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1058 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.usub.sat.i8(i8, i8) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vavgs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1059 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %45, %2 + %5 = phi i64 [ 0, %2 ], [ %48, %45 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %49 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = lshr i32 %1, %21 + %24 = shl i32 %22, 16 + %25 = ashr exact i32 %24, 16 + %26 = shl i32 %23, 16 + %27 = ashr exact i32 %26, 16 + %28 = add nsw i32 %25, %27 + %29 = and i32 %28, 1 + %30 = icmp eq i32 %29, 0 + br i1 %30, label %31, label %34 + +31: ; preds = %19 + %32 = sdiv i32 %28, 2 + %33 = trunc i32 %32 to i16 + br label %45 + +34: ; preds = %19 + %35 = icmp sgt i32 %28, 0 + br i1 %35, label %36, label %40 + +36: ; preds = %34 + %37 = lshr i32 %28, 1 + %38 = trunc i32 %37 to i16 + %39 = add nuw i16 %38, 1 + br label %45 + +40: ; preds = %34 + %41 = sub nsw i32 0, %28 + %42 = lshr i32 %41, 1 + %43 = trunc i32 %42 to i16 + %44 = xor i16 %43, -1 + br label %45 + +45: ; preds = %40, %36, %31 + %46 = phi i16 [ %33, %31 ], [ %39, %36 ], [ %44, %40 ] + %47 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %46, ptr %47, align 2, !tbaa !999 + %48 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1060 + +49: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vavgs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1061 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %46, %2 + %5 = phi i64 [ 0, %2 ], [ %49, %46 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %50 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = lshr i32 %1, %21 + %24 = shl i32 %22, 24 + %25 = ashr exact i32 %24, 24 + %26 = shl i32 %23, 24 + %27 = ashr exact i32 %26, 24 + %28 = add nsw i32 %25, %27 + %29 = and i32 %28, 1 + %30 = icmp eq i32 %29, 0 + br i1 %30, label %31, label %35 + +31: ; preds = %19 + %32 = trunc i32 %28 to i16 + %33 = sdiv i16 %32, 2 + %34 = trunc i16 %33 to i8 + br label %46 + +35: ; preds = %19 + %36 = icmp sgt i32 %28, 0 + br i1 %36, label %37, label %41 + +37: ; preds = %35 + %38 = lshr i32 %28, 1 + %39 = trunc i32 %38 to i8 + %40 = add nuw i8 %39, 1 + br label %46 + +41: ; preds = %35 + %42 = sub nsw i32 0, %28 + %43 = lshr i32 %42, 1 + %44 = trunc i32 %43 to i8 + %45 = xor i8 %44, -1 + br label %46 + +46: ; preds = %41, %37, %31 + %47 = phi i8 [ %34, %31 ], [ %40, %37 ], [ %45, %41 ] + %48 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %47, ptr %48, align 1, !tbaa !718 + %49 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1062 + +50: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vavgu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1063 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call spir_func noundef zeroext i16 @_Z19__spirv_ocl_u_rhaddtt(i16 noundef zeroext %23, i16 noundef zeroext %25) #56 + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1064 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z19__spirv_ocl_u_rhaddtt(i16 noundef zeroext, i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vavgu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1065 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call spir_func noundef zeroext i8 @_Z19__spirv_ocl_u_rhaddhh(i8 noundef zeroext %23, i8 noundef zeroext %25) #56 + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1066 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i8 @_Z19__spirv_ocl_u_rhaddhh(i8 noundef zeroext, i8 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vhaddu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1067 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call spir_func noundef zeroext i16 @_Z18__spirv_ocl_u_haddtt(i16 noundef zeroext %23, i16 noundef zeroext %25) #56 + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1068 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i16 @_Z18__spirv_ocl_u_haddtt(i16 noundef zeroext, i16 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vhaddu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1069 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call spir_func noundef zeroext i8 @_Z18__spirv_ocl_u_haddhh(i8 noundef zeroext %23, i8 noundef zeroext %25) #56 + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1070 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef zeroext i8 @_Z18__spirv_ocl_u_haddhh(i8 noundef zeroext, i8 noundef zeroext) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpeq2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1071 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp eq i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1072 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpeq4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1073 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp eq i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1074 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpges2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1075 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sge i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1076 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpges4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1077 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sge i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1078 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgeu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1079 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp uge i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1080 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgeu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1081 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp uge i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1082 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1083 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sgt i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1084 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1085 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sgt i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1086 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgtu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1087 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ugt i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1088 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpgtu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1089 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ugt i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1090 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmples2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1091 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sle i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1092 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmples4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1093 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sle i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1094 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpleu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1095 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ule i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1096 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpleu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1097 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ule i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1098 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmplts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1099 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp slt i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1100 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmplts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1101 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp slt i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1102 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpltu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1103 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ult i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1104 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpltu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1105 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ult i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1106 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpne2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1107 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ne i16 %23, %25 + %27 = sext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1108 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vcmpne4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1109 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ne i8 %23, %25 + %27 = sext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1110 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmaxs2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1111 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call noundef i16 @llvm.smax.i16(i16 %23, i16 %25) + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1112 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmaxs4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1113 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call noundef i8 @llvm.smax.i8(i8 %23, i8 %25) + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1114 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.smax.i8(i8, i8) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmaxu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1115 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call noundef i16 @llvm.umax.i16(i16 %23, i16 %25) + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1116 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmaxu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1117 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call noundef i8 @llvm.umax.i8(i8 %23, i8 %25) + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1118 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmins2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1119 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call noundef i16 @llvm.smin.i16(i16 %23, i16 %25) + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1120 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vmins4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1121 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call noundef i8 @llvm.smin.i8(i8 %23, i8 %25) + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1122 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i8 @llvm.smin.i8(i8, i8) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vminu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1123 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = tail call noundef i16 @llvm.umin.i16(i16 %23, i16 %25) + %27 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %26, ptr %27, align 2, !tbaa !999 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1124 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vminu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1125 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %28, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %29 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = tail call noundef i8 @llvm.umin.i8(i8 %23, i8 %25) + %27 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %26, ptr %27, align 1, !tbaa !718 + %28 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1126 + +29: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vseteq2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1127 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp eq i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1128 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vseteq4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1129 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp eq i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1130 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetne2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1131 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ne i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1132 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetne4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1133 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ne i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1134 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetges2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1135 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sge i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1136 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetges4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1137 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sge i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1138 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgeu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1139 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp uge i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1140 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgeu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1141 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp uge i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1142 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1143 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sgt i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1144 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1145 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sgt i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1146 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgtu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1147 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ugt i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1148 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetgtu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1149 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ugt i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1150 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetles2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1151 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp sle i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1152 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetles4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1153 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp sle i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1154 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetleu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1155 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ule i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1156 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetleu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1157 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ule i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1158 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetlts2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1159 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp slt i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1160 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetlts4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1161 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp slt i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1162 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetltu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1163 { + %3 = alloca [2 x i16], align 2 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 2 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 2 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 16 + %13 = sub nuw nsw i64 1, %9 + %14 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %13 + %15 = load i16, ptr %14, align 2, !tbaa !999 + %16 = zext i16 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !1001 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 4 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i16 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i16 + %26 = icmp ult i16 %23, %25 + %27 = zext i1 %26 to i16 + %28 = getelementptr inbounds [2 x i16], ptr %3, i64 0, i64 %5 + store i16 %27, ptr %28, align 2, !tbaa !999 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1164 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsetltu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1165 { + %3 = alloca [4 x i8], align 1 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 0, ptr %3, align 1 + br label %4 + +4: ; preds = %19, %2 + %5 = phi i64 [ 0, %2 ], [ %29, %19 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %19, label %7 + +7: ; preds = %11, %4 + %8 = phi i32 [ %17, %11 ], [ 0, %4 ] + %9 = phi i64 [ %18, %11 ], [ 0, %4 ] + %10 = icmp ult i64 %9, 4 + br i1 %10, label %11, label %30 + +11: ; preds = %7 + %12 = shl i32 %8, 8 + %13 = sub nuw nsw i64 3, %9 + %14 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %13 + %15 = load i8, ptr %14, align 1, !tbaa !718 + %16 = zext i8 %15 to i32 + %17 = or i32 %12, %16 + %18 = add nuw nsw i64 %9, 1 + br label %7, !llvm.loop !892 + +19: ; preds = %4 + %20 = trunc i64 %5 to i32 + %21 = shl nuw nsw i32 %20, 3 + %22 = lshr i32 %0, %21 + %23 = trunc i32 %22 to i8 + %24 = lshr i32 %1, %21 + %25 = trunc i32 %24 to i8 + %26 = icmp ult i8 %23, %25 + %27 = zext i1 %26 to i8 + %28 = getelementptr inbounds [4 x i8], ptr %3, i64 0, i64 %5 + store i8 %27, ptr %28, align 1, !tbaa !718 + %29 = add nuw nsw i64 %5, 1 + br label %4, !llvm.loop !1166 + +30: ; preds = %7 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + ret i32 %8 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsads2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1167 { + br label %3 + +3: ; preds = %7, %2 + %4 = phi i32 [ 0, %2 ], [ %19, %7 ] + %5 = phi i64 [ 0, %2 ], [ %20, %7 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %7, label %21 + +7: ; preds = %3 + %8 = trunc i64 %5 to i32 + %9 = shl nuw nsw i32 %8, 4 + %10 = lshr i32 %0, %9 + %11 = trunc i32 %10 to i16 + %12 = lshr i32 %1, %9 + %13 = trunc i32 %12 to i16 + %14 = tail call i16 @llvm.smax.i16(i16 %11, i16 %13) + %15 = tail call i16 @llvm.smin.i16(i16 %11, i16 %13) + %16 = sext i16 %14 to i32 + %17 = sext i16 %15 to i32 + %18 = sub nsw i32 %16, %17 + %19 = add i32 %4, %18 + %20 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !1168 + +21: ; preds = %3 + ret i32 %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsads4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1169 { + br label %3 + +3: ; preds = %7, %2 + %4 = phi i32 [ 0, %2 ], [ %20, %7 ] + %5 = phi i64 [ 0, %2 ], [ %21, %7 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %7, label %22 + +7: ; preds = %3 + %8 = trunc i64 %5 to i32 + %9 = shl nuw nsw i32 %8, 3 + %10 = lshr i32 %0, %9 + %11 = trunc i32 %10 to i8 + %12 = lshr i32 %1, %9 + %13 = trunc i32 %12 to i8 + %14 = tail call i8 @llvm.smax.i8(i8 %11, i8 %13) + %15 = tail call i8 @llvm.smin.i8(i8 %11, i8 %13) + %16 = sext i8 %14 to i16 + %17 = sext i8 %15 to i16 + %18 = sub nsw i16 %16, %17 + %19 = sext i16 %18 to i32 + %20 = add i32 %4, %19 + %21 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !1170 + +22: ; preds = %3 + ret i32 %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsadu2(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1171 { + br label %3 + +3: ; preds = %7, %2 + %4 = phi i32 [ 0, %2 ], [ %19, %7 ] + %5 = phi i64 [ 0, %2 ], [ %20, %7 ] + %6 = icmp ult i64 %5, 2 + br i1 %6, label %7, label %21 + +7: ; preds = %3 + %8 = trunc i64 %5 to i32 + %9 = shl nuw nsw i32 %8, 4 + %10 = lshr i32 %0, %9 + %11 = trunc i32 %10 to i16 + %12 = lshr i32 %1, %9 + %13 = trunc i32 %12 to i16 + %14 = tail call i16 @llvm.umax.i16(i16 %11, i16 %13) + %15 = tail call i16 @llvm.umin.i16(i16 %11, i16 %13) + %16 = zext i16 %14 to i32 + %17 = zext i16 %15 to i32 + %18 = sub nsw i32 %16, %17 + %19 = add i32 %4, %18 + %20 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !1172 + +21: ; preds = %3 + ret i32 %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_vsadu4(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1173 { + br label %3 + +3: ; preds = %7, %2 + %4 = phi i32 [ 0, %2 ], [ %20, %7 ] + %5 = phi i64 [ 0, %2 ], [ %21, %7 ] + %6 = icmp ult i64 %5, 4 + br i1 %6, label %7, label %22 + +7: ; preds = %3 + %8 = trunc i64 %5 to i32 + %9 = shl nuw nsw i32 %8, 3 + %10 = lshr i32 %0, %9 + %11 = trunc i32 %10 to i8 + %12 = lshr i32 %1, %9 + %13 = trunc i32 %12 to i8 + %14 = tail call i8 @llvm.umax.i8(i8 %11, i8 %13) + %15 = tail call i8 @llvm.umin.i8(i8 %11, i8 %13) + %16 = zext i8 %14 to i32 + %17 = zext i8 %15 to i32 + %18 = sub nsw i32 %16, %17 + %19 = and i32 %18, 65535 + %20 = add i32 %4, %19 + %21 = add nuw nsw i64 %5, 1 + br label %3, !llvm.loop !1174 + +22: ; preds = %3 + ret i32 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_cosf(float noundef %0) local_unnamed_addr #31 !srcloc !1175 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = fadd float %2, 0x3FF921FB60000000 + %4 = fcmp ugt float %2, 1.000000e+04 + %5 = fcmp oeq float %3, 0x3FF921FB60000000 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FD45F3060000000, float noundef 0x4168000000000000) #56 + %7 = bitcast float %6 to i32 + %8 = shl i32 %7, 31 + %9 = fadd float %6, 0xC168000000000000 + %10 = fadd float %9, -5.000000e-01 + %11 = fneg float %10 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0x400921FB60000000, float noundef %2) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0xBE7777A5C0000000, float noundef %12) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0xBCEEE59DA0000000, float noundef %13) #56 + %15 = fmul float %14, %14 + %16 = bitcast float %14 to i32 + %17 = xor i32 %8, %16 + %18 = bitcast i32 %17 to float + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DE52ACEA0000000, float noundef %15, float noundef 0xBE5AE00FE0000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef 0x3EC71DCE60000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %15, float noundef 0xBF2A019FC0000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %15, float noundef 0x3F81111120000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %15, float noundef 0xBFC5555560000000) #56 + %24 = fmul float %15, %18 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef %24, float noundef %18) #56 + %26 = select i1 %5, float 1.000000e+00, float %25 + br i1 %4, label %27, label %183, !prof !1176 + +27: ; preds = %1 + %28 = bitcast float %2 to i32 + %29 = bitcast float %0 to i32 + %30 = and i32 %28, 2139095040 + %31 = bitcast i32 %30 to float + %32 = fcmp oeq float %31, 0x7FF0000000000000 + %33 = lshr i32 %29, 23 + %34 = and i32 %33, 255 + %35 = mul nuw nsw i32 %34, 3 + %36 = zext nneg i32 %35 to i64 + %37 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_144__devicelib_imf_internal_scos_reduction_dataE, i64 %36 + %38 = load i32, ptr addrspace(1) %37, align 4, !tbaa !717 + %39 = add nuw nsw i32 %35, 1 + %40 = zext nneg i32 %39 to i64 + %41 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_144__devicelib_imf_internal_scos_reduction_dataE, i64 %40 + %42 = load i32, ptr addrspace(1) %41, align 4, !tbaa !717 + %43 = add nuw nsw i32 %35, 2 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_144__devicelib_imf_internal_scos_reduction_dataE, i64 %44 + %46 = load i32, ptr addrspace(1) %45, align 4, !tbaa !717 + %47 = lshr i32 %38, 16 + %48 = and i32 %38, 65535 + %49 = lshr i32 %42, 16 + %50 = and i32 %42, 65535 + %51 = lshr i32 %46, 16 + %52 = and i32 %46, 65535 + %53 = lshr i32 %29, 16 + %54 = and i32 %53, 127 + %55 = or i32 %54, 128 + %56 = and i32 %29, 65535 + %57 = mul i32 %55, %38 + %58 = mul nuw nsw i32 %55, %49 + %59 = mul nuw nsw i32 %55, %50 + %60 = mul nuw nsw i32 %55, %51 + %61 = mul nuw nsw i32 %55, %52 + %62 = mul i32 %47, %29 + %63 = mul nuw i32 %56, %48 + %64 = mul nuw i32 %56, %49 + %65 = mul nuw i32 %56, %50 + %66 = mul nuw i32 %56, %51 + %67 = lshr i32 %66, 16 + %68 = lshr i32 %65, 16 + %69 = lshr i32 %64, 16 + %70 = lshr i32 %63, 16 + %71 = add nuw nsw i32 %60, %67 + %72 = add nuw nsw i32 %59, %68 + %73 = add nuw nsw i32 %58, %69 + %74 = add i32 %57, %70 + %75 = and i32 %65, 65535 + %76 = and i32 %64, 65535 + %77 = and i32 %63, 65535 + %78 = add nuw nsw i32 %75, %71 + %79 = add nuw nsw i32 %76, %72 + %80 = add nuw nsw i32 %77, %73 + %81 = add i32 %62, %74 + %82 = lshr i32 %61, 16 + %83 = add nuw nsw i32 %82, %78 + %84 = lshr i32 %83, 16 + %85 = add nuw nsw i32 %84, %79 + %86 = lshr i32 %85, 16 + %87 = add nuw nsw i32 %86, %80 + %88 = and i32 %83, 65535 + %89 = shl i32 %81, 16 + %90 = add i32 %87, %89 + %91 = shl i32 %85, 16 + %92 = or i32 %91, %88 + %93 = and i32 %29, -2147483648 + %94 = or i32 %93, 1065353216 + %95 = lshr i32 %90, 9 + %96 = or i32 %95, %94 + %97 = bitcast i32 %96 to float + %98 = fadd float %97, 4.915200e+04 + %99 = fadd float %98, -4.915200e+04 + %100 = fsub float %97, %99 + %101 = bitcast float %98 to i32 + %102 = or i32 %93, 679477248 + %103 = shl i32 %92, 5 + %104 = and i32 %103, 8388576 + %105 = or i32 %104, %102 + %106 = bitcast i32 %105 to float + %107 = bitcast i32 %102 to float + %108 = fsub float %106, %107 + %109 = or i32 %93, 872415232 + %110 = shl i32 %87, 14 + %111 = and i32 %110, 8372224 + %112 = lshr i32 %91, 18 + %113 = or i32 %111, %112 + %114 = or i32 %113, %109 + %115 = bitcast i32 %114 to float + %116 = bitcast i32 %109 to float + %117 = fsub float %115, %116 + %118 = fadd float %100, %117 + %119 = fsub float %100, %118 + %120 = fadd float %117, %119 + %121 = fadd float %120, %108 + %122 = fmul float %118, 0x401921FB60000000 + %123 = fneg float %122 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %118, float noundef 0x401921FB60000000, float noundef %123) #56 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %118, float noundef 0xBE8777A5C0000000, float noundef %124) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef 0x401921FB60000000, float noundef %125) #56 + %127 = fcmp ogt float %2, 0x3EB0000000000000 + %128 = sext i1 %127 to i32 + %129 = fcmp ole float %2, 0x3EB0000000000000 + %130 = select i1 %129, i32 %29, i32 0 + %131 = bitcast float %122 to i32 + %132 = and i32 %128, %131 + %133 = or i32 %130, %132 + %134 = bitcast i32 %133 to float + %135 = bitcast float %126 to i32 + %136 = and i32 %128, %135 + %137 = bitcast i32 %136 to float + %138 = fmul float %134, %134 + %139 = shl i32 %101, 2 + %140 = and i32 %139, 1020 + %141 = zext nneg i32 %140 to i64 + %142 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_134__devicelib_imf_internal_scos_dataE, i64 %141 + %143 = load float, ptr addrspace(1) %142, align 4, !tbaa !717 + %144 = or i32 %140, 1 + %145 = zext nneg i32 %144 to i64 + %146 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_134__devicelib_imf_internal_scos_dataE, i64 %145 + %147 = load float, ptr addrspace(1) %146, align 4, !tbaa !717 + %148 = or i32 %140, 2 + %149 = zext nneg i32 %148 to i64 + %150 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_134__devicelib_imf_internal_scos_dataE, i64 %149 + %151 = load float, ptr addrspace(1) %150, align 4, !tbaa !717 + %152 = or i32 %140, 3 + %153 = zext nneg i32 %152 to i64 + %154 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_cos_s_la12_GLOBAL__N_134__devicelib_imf_internal_scos_dataE, i64 %153 + %155 = load float, ptr addrspace(1) %154, align 4, !tbaa !717 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %134, float noundef %155, float noundef %147) #56 + %157 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %134, float noundef %156) #56 + %158 = fsub float %147, %156 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %134, float noundef %155, float noundef %158) #56 + %160 = fsub float %156, %157 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %134, float noundef %160) #56 + %162 = fadd float %161, %159 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F81110B80000000, float noundef %138, float noundef 0xBFC5555560000000) #56 + %164 = fmul float %163, %138 + %165 = fmul float %164, %134 + %166 = fadd float %143, %155 + %167 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA5554F80000000, float noundef %138, float noundef -5.000000e-01) #56 + %168 = fmul float %167, %138 + %169 = fneg float %134 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %169, float noundef %147, float noundef %166) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef %170, float noundef %151) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %168, float noundef %147, float noundef %171) #56 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %165, float noundef %170, float noundef %162) #56 + %174 = fadd float %172, %173 + %175 = fadd float %157, %174 + %176 = and i32 %29, 2139095040 + %177 = icmp eq i32 %176, 2139095040 + %178 = and i1 %32, %177 + %179 = icmp eq i32 %28, 2139095040 + %180 = select i1 %179, float 0.000000e+00, float %0 + %181 = fmul float %180, %0 + %182 = select i1 %178, float %181, float %175, !prof !1177 + br label %183 + +183: ; preds = %27, %1 + %184 = phi float [ %182, %27 ], [ %26, %1 ] + ret float %184 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare float @llvm.fabs.f32(float) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_cospif(float noundef %0) local_unnamed_addr #31 !srcloc !1178 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %2) #56 + %4 = fneg float %3 + %5 = fptosi float %4 to i32 + %6 = shl i32 %5, 31 + %7 = fsub float %0, %2 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %7) #56 + %9 = fsub float 5.000000e-01, %8 + %10 = fmul float %9, %9 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef 0x3FB3E17CA0000000, float noundef 0xBFE32535A0000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %10, float noundef 0x4004668F20000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %10, float noundef 0xC014ABBC40000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %10, float noundef 0x3FF243F6A0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef 1.000000e+00, float noundef %9) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %14, float noundef %15) #56 + %17 = bitcast float %16 to i32 + %18 = xor i32 %6, %17 + %19 = bitcast i32 %18 to float + ret float %19 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_sinf(float noundef %0) local_unnamed_addr #31 !srcloc !1179 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FD45F3060000000, float noundef 0x4168000000000000) #56 + %5 = bitcast float %4 to i32 + %6 = shl i32 %5, 31 + %7 = fadd float %4, 0xC168000000000000 + %8 = fneg float %7 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0x400921FB60000000, float noundef %3) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0xBE7777A5C0000000, float noundef %9) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0xBCEEE59DA0000000, float noundef %10) #56 + %12 = fmul float %11, %11 + %13 = and i32 %2, -2147483648 + %14 = bitcast float %11 to i32 + %15 = xor i32 %6, %14 + %16 = bitcast i32 %15 to float + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DE52ACEA0000000, float noundef %12, float noundef 0xBE5AE00FE0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %12, float noundef 0x3EC71DCE60000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %12, float noundef 0xBF2A019FC0000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %12, float noundef 0x3F81111120000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %12, float noundef 0xBFC5555560000000) #56 + %22 = fmul float %21, %12 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %16, float noundef %16) #56 + %24 = bitcast float %23 to i32 + %25 = xor i32 %13, %24 + %26 = bitcast i32 %25 to float + %27 = fcmp ugt float %3, 1.000000e+04 + br i1 %27, label %28, label %182, !prof !1176 + +28: ; preds = %1 + %29 = bitcast float %3 to i32 + %30 = and i32 %29, 2139095040 + %31 = bitcast i32 %30 to float + %32 = fcmp oeq float %31, 0x7FF0000000000000 + %33 = lshr i32 %2, 23 + %34 = and i32 %33, 255 + %35 = mul nuw nsw i32 %34, 3 + %36 = zext nneg i32 %35 to i64 + %37 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_144__devicelib_imf_internal_ssin_reduction_dataE, i64 %36 + %38 = load i32, ptr addrspace(1) %37, align 4, !tbaa !717 + %39 = add nuw nsw i32 %35, 1 + %40 = zext nneg i32 %39 to i64 + %41 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_144__devicelib_imf_internal_ssin_reduction_dataE, i64 %40 + %42 = load i32, ptr addrspace(1) %41, align 4, !tbaa !717 + %43 = add nuw nsw i32 %35, 2 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_144__devicelib_imf_internal_ssin_reduction_dataE, i64 %44 + %46 = load i32, ptr addrspace(1) %45, align 4, !tbaa !717 + %47 = lshr i32 %38, 16 + %48 = and i32 %38, 65535 + %49 = lshr i32 %42, 16 + %50 = and i32 %42, 65535 + %51 = lshr i32 %46, 16 + %52 = and i32 %46, 65535 + %53 = lshr i32 %2, 16 + %54 = and i32 %53, 127 + %55 = or i32 %54, 128 + %56 = and i32 %2, 65535 + %57 = mul i32 %55, %38 + %58 = mul nuw nsw i32 %55, %49 + %59 = mul nuw nsw i32 %55, %50 + %60 = mul nuw nsw i32 %55, %51 + %61 = mul nuw nsw i32 %55, %52 + %62 = mul i32 %47, %2 + %63 = mul nuw i32 %56, %48 + %64 = mul nuw i32 %56, %49 + %65 = mul nuw i32 %56, %50 + %66 = mul nuw i32 %56, %51 + %67 = lshr i32 %66, 16 + %68 = lshr i32 %65, 16 + %69 = lshr i32 %64, 16 + %70 = lshr i32 %63, 16 + %71 = add nuw nsw i32 %60, %67 + %72 = add nuw nsw i32 %59, %68 + %73 = add nuw nsw i32 %58, %69 + %74 = add i32 %57, %70 + %75 = and i32 %65, 65535 + %76 = and i32 %64, 65535 + %77 = and i32 %63, 65535 + %78 = add nuw nsw i32 %75, %71 + %79 = add nuw nsw i32 %76, %72 + %80 = add nuw nsw i32 %77, %73 + %81 = add i32 %62, %74 + %82 = lshr i32 %61, 16 + %83 = add nuw nsw i32 %82, %78 + %84 = lshr i32 %83, 16 + %85 = add nuw nsw i32 %84, %79 + %86 = lshr i32 %85, 16 + %87 = add nuw nsw i32 %86, %80 + %88 = and i32 %83, 65535 + %89 = shl i32 %81, 16 + %90 = add i32 %87, %89 + %91 = shl i32 %85, 16 + %92 = or i32 %91, %88 + %93 = or i32 %13, 1065353216 + %94 = lshr i32 %90, 9 + %95 = or i32 %94, %93 + %96 = bitcast i32 %95 to float + %97 = fadd float %96, 4.915200e+04 + %98 = fadd float %97, -4.915200e+04 + %99 = fsub float %96, %98 + %100 = bitcast float %97 to i32 + %101 = or i32 %13, 679477248 + %102 = shl i32 %92, 5 + %103 = and i32 %102, 8388576 + %104 = or i32 %103, %101 + %105 = bitcast i32 %104 to float + %106 = bitcast i32 %101 to float + %107 = fsub float %105, %106 + %108 = or i32 %13, 872415232 + %109 = shl i32 %87, 14 + %110 = and i32 %109, 8372224 + %111 = lshr i32 %91, 18 + %112 = or i32 %110, %111 + %113 = or i32 %112, %108 + %114 = bitcast i32 %113 to float + %115 = bitcast i32 %108 to float + %116 = fsub float %114, %115 + %117 = fadd float %99, %116 + %118 = fsub float %99, %117 + %119 = fadd float %116, %118 + %120 = fadd float %119, %107 + %121 = fmul float %117, 0x401921FB60000000 + %122 = fneg float %121 + %123 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %117, float noundef 0x401921FB60000000, float noundef %122) #56 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %117, float noundef 0xBE8777A5C0000000, float noundef %123) #56 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %120, float noundef 0x401921FB60000000, float noundef %124) #56 + %126 = fcmp ogt float %3, 0x3EB0000000000000 + %127 = sext i1 %126 to i32 + %128 = fcmp ole float %3, 0x3EB0000000000000 + %129 = select i1 %128, i32 %2, i32 0 + %130 = bitcast float %121 to i32 + %131 = and i32 %127, %130 + %132 = or i32 %129, %131 + %133 = bitcast i32 %132 to float + %134 = bitcast float %125 to i32 + %135 = and i32 %127, %134 + %136 = bitcast i32 %135 to float + %137 = fmul float %133, %133 + %138 = shl i32 %100, 2 + %139 = and i32 %138, 1020 + %140 = zext nneg i32 %139 to i64 + %141 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_134__devicelib_imf_internal_ssin_dataE, i64 %140 + %142 = load float, ptr addrspace(1) %141, align 4, !tbaa !717 + %143 = or i32 %139, 1 + %144 = zext nneg i32 %143 to i64 + %145 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_134__devicelib_imf_internal_ssin_dataE, i64 %144 + %146 = load float, ptr addrspace(1) %145, align 4, !tbaa !717 + %147 = or i32 %139, 3 + %148 = zext nneg i32 %147 to i64 + %149 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_134__devicelib_imf_internal_ssin_dataE, i64 %148 + %150 = load float, ptr addrspace(1) %149, align 4, !tbaa !717 + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %150, float noundef %146) #56 + %152 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %142, float noundef %133, float noundef %151) #56 + %153 = fsub float %146, %151 + %154 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %150, float noundef %153) #56 + %155 = fsub float %151, %152 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %142, float noundef %133, float noundef %155) #56 + %157 = fadd float %156, %154 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F81110B80000000, float noundef %137, float noundef 0xBFC5555560000000) #56 + %159 = fmul float %158, %137 + %160 = fmul float %159, %133 + %161 = fadd float %142, %150 + %162 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA5554F80000000, float noundef %137, float noundef -5.000000e-01) #56 + %163 = fmul float %162, %137 + %164 = or i32 %139, 2 + %165 = zext nneg i32 %164 to i64 + %166 = getelementptr inbounds float, ptr addrspace(1) @_ZN19__imf_impl_sin_s_la12_GLOBAL__N_134__devicelib_imf_internal_ssin_dataE, i64 %165 + %167 = load float, ptr addrspace(1) %166, align 4, !tbaa !717 + %168 = fneg float %133 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %168, float noundef %146, float noundef %161) #56 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef %169, float noundef %167) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %163, float noundef %146, float noundef %170) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %169, float noundef %157) #56 + %173 = fadd float %171, %172 + %174 = fadd float %152, %173 + %175 = and i32 %2, 2139095040 + %176 = icmp eq i32 %175, 2139095040 + %177 = and i1 %32, %176 + %178 = icmp eq i32 %29, 2139095040 + %179 = select i1 %178, float 0.000000e+00, float %0 + %180 = fmul float %179, %0 + %181 = select i1 %177, float %180, float %174, !prof !1177 + br label %182 + +182: ; preds = %28, %1 + %183 = phi float [ %181, %28 ], [ %26, %1 ] + ret float %183 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_sinpif(float noundef %0) local_unnamed_addr #31 !srcloc !1180 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %2) #56 + %4 = fsub float %0, %2 + %5 = fmul float %4, %4 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3FB3E17CA0000000, float noundef 0xBFE32535A0000000) #56 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %6, float noundef %5, float noundef 0x4004668F20000000) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %5, float noundef 0xC014ABBC40000000) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef %5, float noundef 0x3FF243F6A0000000) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 1.000000e+00, float noundef %4) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef %9, float noundef %10) #56 + %12 = bitcast float %11 to i32 + %13 = icmp eq i32 %12, 0 + br i1 %13, label %14, label %17 + +14: ; preds = %1 + %15 = bitcast float %0 to i32 + %16 = and i32 %15, -2147483648 + br label %22 + +17: ; preds = %1 + %18 = fneg float %3 + %19 = fptosi float %18 to i32 + %20 = shl i32 %19, 31 + %21 = xor i32 %20, %12 + br label %22 + +22: ; preds = %17, %14 + %23 = phi i32 [ %16, %14 ], [ %21, %17 ] + %24 = bitcast i32 %23 to float + ret float %24 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_expf(float noundef %0) local_unnamed_addr #31 !srcloc !1181 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef 0x3FF7154760000000, float noundef 0x4158001FC0000000) #56 + %3 = bitcast float %2 to i32 + %4 = fadd float %2, 0xC158001FC0000000 + %5 = fneg float %4 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3FE62E4300000000, float noundef %0) #56 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0xBE205C6100000000, float noundef %6) #56 + %8 = and i32 %3, 1 + %9 = sub nsw i32 0, %8 + %10 = and i32 %9, 7668979 + %11 = and i32 %9, 848495278 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0x3F81175160000000, float noundef 0x3FA55D89C0000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %12, float noundef 0x3FC5555380000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %13, float noundef 0x3FDFFFFD00000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %14, float noundef 1.000000e+00) #56 + %16 = bitcast i32 %11 to float + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %15, float noundef %16) #56 + %18 = tail call float @llvm.fabs.f32(float %0) + %19 = bitcast float %18 to i32 + %20 = icmp ugt i32 %19, 1118743631 + br i1 %20, label %26, label %21 + +21: ; preds = %1 + %22 = shl i32 %3, 22 + %23 = xor i32 %22, %10 + %24 = bitcast i32 %23 to float + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %24, float noundef %24) #56 + br label %45 + +26: ; preds = %1 + %27 = icmp ugt i32 %19, 1127132239 + br i1 %27, label %28, label %34 + +28: ; preds = %26 + %29 = icmp ugt i32 %19, 2139095040 + %30 = fadd float %0, %0 + %31 = fcmp olt float %0, 0.000000e+00 + %32 = select i1 %31, float 0.000000e+00, float 0x7FF0000000000000 + %33 = select i1 %29, float %30, float %32 + br label %45 + +34: ; preds = %26 + %35 = add i32 %3, 254 + %36 = shl i32 %35, 21 + %37 = and i32 %36, 2139095040 + %38 = shl i32 %35, 22 + %39 = sub i32 %38, %37 + %40 = xor i32 %39, %10 + %41 = bitcast i32 %40 to float + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %41, float noundef %41) #56 + %43 = bitcast i32 %37 to float + %44 = fmul float %42, %43 + br label %45 + +45: ; preds = %34, %28, %21 + %46 = phi float [ %44, %34 ], [ %25, %21 ], [ %33, %28 ] + ret float %46 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_exp2f(float noundef %0) local_unnamed_addr #31 !srcloc !1182 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %3 = fsub float %0, %2 + %4 = fptosi float %2 to i32 + %5 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F24499000000000, float noundef %3, float noundef 0x3F55F48C60000000) #56 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 5.000000e-01, float noundef 1.000000e+00) #56 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef %3, float noundef 0x3F83B29960000000) #56 + %8 = fadd float %6, -1.000000e+00 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %3, float noundef 0x3FAC6AECC0000000) #56 + %10 = fneg float %8 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 5.000000e-01, float noundef %10) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %3, float noundef 0x3FCEBFBE20000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %3, float noundef 0x3FC8B90C40000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %3, float noundef %11) #56 + %15 = fadd float %6, %14 + %16 = add i32 %4, -127 + %17 = icmp ult i32 %16, -252 + br i1 %17, label %23, label %18 + +18: ; preds = %1 + %19 = bitcast float %15 to i32 + %20 = shl nsw i32 %4, 23 + %21 = add i32 %20, %19 + %22 = bitcast i32 %21 to float + br label %47 + +23: ; preds = %1 + %24 = tail call float @llvm.fabs.f32(float %0) + %25 = bitcast float %24 to i32 + %26 = icmp ugt i32 %25, 2139095039 + br i1 %26, label %27, label %32 + +27: ; preds = %23 + %28 = bitcast float %0 to i32 + %29 = icmp eq i32 %28, -8388608 + %30 = fadd float %0, %0 + %31 = select i1 %29, float 0.000000e+00, float %30 + br label %47 + +32: ; preds = %23 + %33 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %0, float noundef 1.920000e+02) #56 + %34 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %33, float noundef -1.920000e+02) #56 + %35 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %34) #56 + %36 = fptosi float %35 to i32 + %37 = ashr i32 %36, 1 + %38 = sub nsw i32 %36, %37 + %39 = shl i32 %38, 23 + %40 = add i32 %39, 1065353216 + %41 = shl i32 %37, 23 + %42 = add i32 %41, 1065353216 + %43 = bitcast i32 %40 to float + %44 = fmul float %15, %43 + %45 = bitcast i32 %42 to float + %46 = fmul float %44, %45 + br label %47 + +47: ; preds = %32, %27, %18 + %48 = phi float [ %46, %32 ], [ %22, %18 ], [ %31, %27 ] + ret float %48 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_exp10f(float noundef %0) local_unnamed_addr #31 !srcloc !1183 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef 0x400A934F00000000, float noundef 0x4158001FC0000000) #56 + %3 = bitcast float %2 to i32 + %4 = fadd float %2, 0xC158001FC0000000 + %5 = fneg float %4 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3FD3441360000000, float noundef %0) #56 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0xBE4EC10C00000000, float noundef %6) #56 + %8 = and i32 %3, 1 + %9 = sub nsw i32 0, %8 + %10 = and i32 %9, 7668979 + %11 = and i32 %9, 848495278 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0x3FE148F280000000, float noundef 0x3FF2C4AB20000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %12, float noundef 0x4000470440000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %13, float noundef 0x40053522E0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %14, float noundef 0x40026BB1C0000000) #56 + %16 = bitcast i32 %11 to float + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %15, float noundef %16) #56 + %18 = tail call float @llvm.fabs.f32(float %0) + %19 = bitcast float %18 to i32 + %20 = icmp ugt i32 %19, 1108850712 + br i1 %20, label %26, label %21 + +21: ; preds = %1 + %22 = shl i32 %3, 22 + %23 = xor i32 %22, %10 + %24 = bitcast i32 %23 to float + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %24, float noundef %24) #56 + br label %45 + +26: ; preds = %1 + %27 = icmp ugt i32 %19, 1110744629 + br i1 %27, label %28, label %34 + +28: ; preds = %26 + %29 = icmp ugt i32 %19, 2139095040 + %30 = fadd float %0, %0 + %31 = fcmp olt float %0, 0.000000e+00 + %32 = select i1 %31, float 0.000000e+00, float 0x7FF0000000000000 + %33 = select i1 %29, float %30, float %32 + br label %45 + +34: ; preds = %26 + %35 = add i32 %3, 254 + %36 = shl i32 %35, 21 + %37 = and i32 %36, 2139095040 + %38 = shl i32 %35, 22 + %39 = sub i32 %38, %37 + %40 = xor i32 %39, %10 + %41 = bitcast i32 %40 to float + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %41, float noundef %41) #56 + %43 = bitcast i32 %37 to float + %44 = fmul float %42, %43 + br label %45 + +45: ; preds = %34, %28, %21 + %46 = phi float [ %44, %34 ], [ %25, %21 ], [ %33, %28 ] + ret float %46 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_logf(float noundef %0) local_unnamed_addr #31 !srcloc !1184 { + %2 = alloca float, align 4 + %3 = alloca float, align 4 + %4 = bitcast float %0 to i32 + %5 = add i32 %4, 8388608 + %6 = icmp slt i32 %5, 16777216 + %7 = add i32 %4, -1059760811 + %8 = and i32 %7, 8388607 + %9 = ashr i32 %7, 23 + %10 = add nuw nsw i32 %8, 1059760811 + %11 = sitofp i32 %9 to float + %12 = bitcast i32 %10 to float + %13 = fadd float %12, -1.000000e+00 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFC0805900000000, float noundef %13, float noundef 0x3FC1E66BA0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %13, float noundef 0xBFBF3113C0000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %13, float noundef 0x3FC1ED7180000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %13, float noundef 0xBFC559DCC0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %13, float noundef 0x3FC99D0280000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %13, float noundef 0xBFCFFFEF00000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %13, float noundef 0x3FD5555060000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %13, float noundef -5.000000e-01) #56 + %22 = fmul float %21, %13 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %13, float noundef %13) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0x3EB7F7D1C0000000, float noundef %23) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0x3FE62E4000000000, float noundef %24) #56 + br i1 %6, label %26, label %30, !prof !1176 + +26: ; preds = %1 + %27 = addrspacecast ptr %3 to ptr addrspace(4) + %28 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store float %0, ptr %2, align 4, !tbaa !731 + store float %25, ptr %3, align 4, !tbaa !731 + call spir_func void @_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_128__devicelib_imf_internal_slnEPKfPf(ptr addrspace(4) noundef %28, ptr addrspace(4) noundef %27) #55 + %29 = load float, ptr %3, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %30 + +30: ; preds = %26, %1 + %31 = phi float [ %29, %26 ], [ %25, %1 ] + ret float %31 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_128__devicelib_imf_internal_slnEPKfPf(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1185 !sycl_kernel_omit_args !1186 { + %3 = load i32, ptr addrspace(4) %0, align 4 + %4 = and i32 %3, 2139095040 + %5 = icmp eq i32 %4, 2139095040 + %6 = bitcast i32 %3 to float + br i1 %5, label %78, label %7 + +7: ; preds = %2 + %8 = icmp eq i32 %4, 0 + %9 = fmul float %6, 0x41A0000000000000 + %10 = select i1 %8, i32 -27, i32 0 + %11 = select i1 %8, float %9, float %6 + %12 = fcmp ogt float %11, 0.000000e+00 + br i1 %12, label %13, label %74 + +13: ; preds = %7 + %14 = fadd float %11, -1.000000e+00 + %15 = tail call float @llvm.fabs.f32(float %14) + %16 = fcmp ogt float %15, 0x3F84000000000000 + br i1 %16, label %17, label %64 + +17: ; preds = %13 + %18 = bitcast float %11 to i32 + %19 = lshr i32 %18, 23 + %20 = and i32 %19, 255 + %21 = add nsw i32 %20, -127 + %22 = add nsw i32 %10, %21 + %23 = sitofp i32 %22 to float + %24 = fmul float %23, 0x3EB7F7D1C0000000 + %25 = fmul float %23, 0x3FE62E4000000000 + %26 = and i32 %18, -2139095041 + %27 = or i32 %26, 1065353216 + %28 = bitcast i32 %27 to float + %29 = fadd float %28, 1.310730e+05 + %30 = bitcast float %29 to i32 + %31 = and i32 %30, 127 + %32 = mul nuw nsw i32 %31, 3 + %33 = zext nneg i32 %32 to i64 + %34 = getelementptr inbounds float, ptr addrspace(1) @_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_116__sln_ha_CoutTabE, i64 %33 + %35 = load float, ptr addrspace(1) %34, align 4, !tbaa !731 + %36 = add nuw nsw i32 %32, 1 + %37 = zext nneg i32 %36 to i64 + %38 = getelementptr inbounds float, ptr addrspace(1) @_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_116__sln_ha_CoutTabE, i64 %37 + %39 = load float, ptr addrspace(1) %38, align 4, !tbaa !731 + %40 = add nuw nsw i32 %32, 2 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds float, ptr addrspace(1) @_ZN18__imf_impl_ln_s_ha12_GLOBAL__N_116__sln_ha_CoutTabE, i64 %41 + %43 = load float, ptr addrspace(1) %42, align 4, !tbaa !731 + %44 = fadd float %25, %39 + %45 = fadd float %24, %43 + %46 = fadd float %28, 8.192000e+03 + %47 = fadd float %46, -8.192000e+03 + %48 = fsub float %28, %47 + %49 = tail call float @llvm.fmuladd.f32(float %35, float %47, float -1.000000e+00) + %50 = fmul float %35, %48 + %51 = fadd float %49, %50 + %52 = tail call float @llvm.fmuladd.f32(float %51, float 0xBFC000B400000000, float 0x3FC249C020000000) + %53 = tail call float @llvm.fmuladd.f32(float %52, float %51, float 0xBFC5555560000000) + %54 = tail call float @llvm.fmuladd.f32(float %53, float %51, float 0x3FC99999A0000000) + %55 = tail call float @llvm.fmuladd.f32(float %54, float %51, float -2.500000e-01) + %56 = tail call float @llvm.fmuladd.f32(float %55, float %51, float 0x3FD5555560000000) + %57 = tail call float @llvm.fmuladd.f32(float %56, float %51, float -5.000000e-01) + %58 = fmul float %57, %51 + %59 = fmul float %58, %51 + %60 = fadd float %44, %49 + %61 = fadd float %45, %50 + %62 = fadd float %61, %59 + %63 = fadd float %60, %62 + store float %63, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +64: ; preds = %13 + %65 = tail call float @llvm.fmuladd.f32(float %14, float 0xBFC000B400000000, float 0x3FC249C020000000) + %66 = tail call float @llvm.fmuladd.f32(float %65, float %14, float 0xBFC5555560000000) + %67 = tail call float @llvm.fmuladd.f32(float %66, float %14, float 0x3FC99999A0000000) + %68 = tail call float @llvm.fmuladd.f32(float %67, float %14, float -2.500000e-01) + %69 = tail call float @llvm.fmuladd.f32(float %68, float %14, float 0x3FD5555560000000) + %70 = tail call float @llvm.fmuladd.f32(float %69, float %14, float -5.000000e-01) + %71 = fmul float %70, %14 + %72 = fmul float %71, %14 + %73 = fadd float %72, %14 + store float %73, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +74: ; preds = %7 + %75 = fcmp oeq float %11, 0.000000e+00 + br i1 %75, label %76, label %77 + +76: ; preds = %74 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +77: ; preds = %74 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +78: ; preds = %2 + %79 = and i32 %3, -2139095041 + %80 = icmp eq i32 %79, -2147483648 + br i1 %80, label %81, label %82 + +81: ; preds = %78 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +82: ; preds = %78 + %83 = fmul float %6, %6 + store float %83, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %84 + +84: ; preds = %82, %81, %77, %76, %64, %17 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_logbf(float noundef %0) local_unnamed_addr #30 !srcloc !1187 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2139095040 + %4 = lshr exact i32 %3, 23 + %5 = add nsw i32 %4, -127 + %6 = sitofp i32 %5 to float + switch i32 %3, label %27 [ + i32 2139095040, label %7 + i32 0, label %7 + ] + +7: ; preds = %1, %1 + %8 = tail call float @llvm.fabs.f32(float %0) + %9 = bitcast float %8 to i32 + %10 = icmp eq i32 %9, 0 + br i1 %10, label %27, label %11 + +11: ; preds = %7 + %12 = lshr i32 %2, 23 + %13 = and i32 %12, 255 + %14 = icmp eq i32 %13, 255 + br i1 %14, label %27, label %15 + +15: ; preds = %11 + %16 = and i32 %2, 8388607 + %17 = icmp ne i32 %16, 0 + %18 = icmp eq i32 %13, 0 + %19 = and i1 %17, %18 + br i1 %19, label %20, label %27 + +20: ; preds = %15 + %21 = fmul float %0, 0x4180000000000000 + %22 = bitcast float %21 to i32 + %23 = lshr i32 %22, 23 + %24 = and i32 %23, 255 + %25 = add nsw i32 %24, -152 + %26 = sitofp i32 %25 to float + br label %27 + +27: ; preds = %20, %15, %11, %7, %1 + %28 = phi float [ %6, %1 ], [ %26, %20 ], [ %6, %15 ], [ 0xFFF0000000000000, %7 ], [ %8, %11 ] + ret float %28 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_log1pf(float noundef %0) local_unnamed_addr #31 !srcloc !1188 { + %2 = alloca float, align 4 + %3 = bitcast float %0 to i32 + %4 = and i32 %3, -2147483648 + %5 = fcmp olt float %0, 1.000000e+00 + %6 = select i1 %5, float 1.000000e+00, float %0 + %7 = fcmp ogt float %0, 1.000000e+00 + %8 = select i1 %7, float 1.000000e+00, float %0 + %9 = fadd float %6, %8 + %10 = fsub float %6, %9 + %11 = fadd float %10, %8 + %12 = bitcast float %9 to i32 + %13 = and i32 %12, 8388607 + %14 = or i32 %13, 998244352 + %15 = bitcast i32 %14 to float + %16 = fdiv float 1.000000e+00, %15 + %17 = and i32 %12, 2139095040 + %18 = sub nsw i32 2063597568, %17 + %19 = lshr i32 %12, 23 + %20 = fcmp uge float %0, 0xBFEFFFFFE0000000 + %21 = fcmp ole float %0, 0x4750000000000000 + %22 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %16) #56 + %23 = bitcast i32 %18 to float + %24 = fmul float %22, %23 + %25 = sitofp i32 %19 to float + %26 = and i1 %20, %21 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %24, float noundef -1.000000e+00) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %24, float noundef %27) #56 + %29 = fsub float %28, %27 + %30 = fneg float %29 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %24, float noundef %30) #56 + %32 = bitcast float %22 to i32 + %33 = lshr i32 %32, 15 + %34 = zext nneg i32 %33 to i64 + %35 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_136__devicelib_imf_internal_slog1p_dataE, i64 -137216), i64 %34 + %36 = load float, ptr addrspace(1) %35, align 4, !tbaa !717 + %37 = add nuw nsw i32 %33, 1 + %38 = zext nneg i32 %37 to i64 + %39 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_136__devicelib_imf_internal_slog1p_dataE, i64 -137216), i64 %38 + %40 = load float, ptr addrspace(1) %39, align 4, !tbaa !717 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef 0x3FE62E4000000000, float noundef %36) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef 0x3EB7F7C000000000, float noundef %40) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FD5556720000000, float noundef %28, float noundef 0xBFE00006C0000000) #56 + %44 = fmul float %28, %28 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %44, float noundef %31) #56 + %46 = fadd float %41, %28 + %47 = fsub float %46, %41 + %48 = fsub float %28, %47 + %49 = fadd float %42, %48 + %50 = fadd float %49, %45 + %51 = fadd float %50, %46 + %52 = bitcast float %51 to i32 + %53 = or i32 %4, %52 + %54 = bitcast i32 %53 to float + br i1 %26, label %58, label %55, !prof !1189 + +55: ; preds = %1 + %56 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 %53, ptr %2, align 4, !tbaa !731 + call spir_func void @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_131__devicelib_imf_internal_slog1pEPKfPf(float %0, ptr addrspace(4) noundef %56) #55 + %57 = load float, ptr %2, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %58 + +58: ; preds = %55, %1 + %59 = phi float [ %57, %55 ], [ %54, %1 ] + ret float %59 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_131__devicelib_imf_internal_slog1pEPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1190 !sycl_kernel_omit_args !1186 { + %3 = fadd float %0, 1.000000e+00 + %4 = bitcast float %3 to i32 + %5 = lshr i32 %4, 23 + %6 = and i32 %5, 255 + %7 = icmp eq i32 %6, 255 + br i1 %7, label %90, label %8 + +8: ; preds = %2 + %9 = icmp eq i32 %6, 0 + %10 = fmul float %3, 0x4270000000000000 + %11 = select i1 %9, i32 -40, i32 0 + %12 = select i1 %9, float %10, float %3 + %13 = fcmp ogt float %12, 0.000000e+00 + br i1 %13, label %14, label %86 + +14: ; preds = %8 + %15 = fadd float %12, -1.000000e+00 + %16 = tail call float @llvm.fabs.f32(float %15) + %17 = fcmp ogt float %16, 0x3F84000000000000 + br i1 %17, label %18, label %76 + +18: ; preds = %14 + %19 = bitcast float %12 to i32 + %20 = lshr i32 %19, 23 + %21 = and i32 %20, 255 + %22 = add nsw i32 %21, -127 + %23 = add nsw i32 %11, %22 + %24 = sitofp i32 %23 to float + %25 = fmul float %24, 0x3EB7F7D1C0000000 + %26 = select i1 %9, float 0.000000e+00, float %25 + %27 = select i1 %9, float 0x3FE62E4300000000, float 0x3FE62E4000000000 + %28 = fmul float %27, %24 + %29 = and i32 %19, -2139095041 + %30 = or i32 %29, 1065353216 + %31 = bitcast i32 %30 to float + %32 = fadd float %31, 1.310730e+05 + %33 = bitcast float %32 to i32 + %34 = and i32 %33, 127 + %35 = mul nuw nsw i32 %34, 3 + %36 = zext nneg i32 %35 to i64 + %37 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_119__slog1p_ha_CoutTabE, i64 %36 + %38 = load float, ptr addrspace(1) %37, align 4, !tbaa !731 + %39 = add nuw nsw i32 %35, 1 + %40 = zext nneg i32 %39 to i64 + %41 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_119__slog1p_ha_CoutTabE, i64 %40 + %42 = load float, ptr addrspace(1) %41, align 4, !tbaa !731 + %43 = add nuw nsw i32 %35, 2 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log1p_s_ha12_GLOBAL__N_119__slog1p_ha_CoutTabE, i64 %44 + %46 = load float, ptr addrspace(1) %45, align 4, !tbaa !731 + %47 = fadd float %28, %42 + %48 = fsub float %47, %28 + %49 = fsub float %42, %48 + %50 = fadd float %26, %46 + %51 = fadd float %49, %50 + %52 = fadd float %31, 8.192000e+03 + %53 = fadd float %52, -8.192000e+03 + %54 = fsub float %31, %53 + %55 = tail call float @llvm.fmuladd.f32(float %38, float %53, float -1.000000e+00) + %56 = fmul float %38, %54 + %57 = fadd float %55, %56 + %58 = tail call float @llvm.fmuladd.f32(float %57, float 0xBFC000B400000000, float 0x3FC249C020000000) + %59 = tail call float @llvm.fmuladd.f32(float %58, float %57, float 0xBFC5555560000000) + %60 = tail call float @llvm.fmuladd.f32(float %59, float %57, float 0x3FC99999A0000000) + %61 = tail call float @llvm.fmuladd.f32(float %60, float %57, float -2.500000e-01) + %62 = tail call float @llvm.fmuladd.f32(float %61, float %57, float 0x3FD5555560000000) + %63 = tail call float @llvm.fmuladd.f32(float %62, float %57, float -5.000000e-01) + %64 = fmul float %63, %57 + %65 = fmul float %64, %57 + %66 = fadd float %47, %55 + %67 = fadd float %51, %56 + %68 = fsub float %67, %51 + %69 = fsub float %56, %68 + %70 = fadd float %69, %65 + %71 = fadd float %66, %67 + %72 = fsub float %71, %66 + %73 = fsub float %67, %72 + %74 = fadd float %73, %70 + %75 = fadd float %71, %74 + store float %75, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +76: ; preds = %14 + %77 = tail call float @llvm.fmuladd.f32(float %15, float 0xBFC000B400000000, float 0x3FC249C020000000) + %78 = tail call float @llvm.fmuladd.f32(float %77, float %15, float 0xBFC5555560000000) + %79 = tail call float @llvm.fmuladd.f32(float %78, float %15, float 0x3FC99999A0000000) + %80 = tail call float @llvm.fmuladd.f32(float %79, float %15, float -2.500000e-01) + %81 = tail call float @llvm.fmuladd.f32(float %80, float %15, float 0x3FD5555560000000) + %82 = tail call float @llvm.fmuladd.f32(float %81, float %15, float -5.000000e-01) + %83 = fmul float %82, %15 + %84 = fmul float %83, %15 + %85 = fadd float %84, %15 + store float %85, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +86: ; preds = %8 + %87 = fcmp oeq float %12, 0.000000e+00 + br i1 %87, label %88, label %89 + +88: ; preds = %86 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +89: ; preds = %86 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +90: ; preds = %2 + %91 = and i32 %4, -2139095041 + %92 = icmp eq i32 %91, -2147483648 + br i1 %92, label %93, label %94 + +93: ; preds = %90 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +94: ; preds = %90 + %95 = fmul float %3, %3 + store float %95, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %96 + +96: ; preds = %94, %93, %89, %88, %76, %18 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_log10f(float noundef %0) local_unnamed_addr #31 !srcloc !1191 { + %2 = alloca float, align 4 + %3 = alloca float, align 4 + %4 = bitcast float %0 to i32 + %5 = add i32 %4, -1059760811 + %6 = and i32 %5, 8388607 + %7 = ashr i32 %5, 23 + %8 = add nuw nsw i32 %6, 1059760811 + %9 = sitofp i32 %7 to float + %10 = bitcast i32 %8 to float + %11 = fcmp uge float %0, 0x3810000000000000 + %12 = fcmp ole float %0, 0x47EFFFFFE0000000 + %13 = and i1 %11, %12 + %14 = fadd float %10, -1.000000e+00 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FB00C7680000000, float noundef %14, float noundef 0xBFB1200E60000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FAEEA62E0000000, float noundef %14, float noundef 0xBFB23F64E0000000) #56 + %17 = fmul float %14, %14 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FB64172C0000000, float noundef %14, float noundef 0xBFBBCDC400000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %17, float noundef %16) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC2879CA0000000, float noundef %14, float noundef 0xBFCBCB78A0000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %17, float noundef %18) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %17, float noundef %20) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %14, float noundef 0x3FDBCB7B20000000) #56 + %24 = fmul float %9, 0xBEC95EC000000000 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef %14, float noundef %24) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef 0x3FD3442000000000, float noundef %25) #56 + br i1 %13, label %31, label %27, !prof !1189 + +27: ; preds = %1 + %28 = addrspacecast ptr %3 to ptr addrspace(4) + %29 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store float %0, ptr %2, align 4, !tbaa !731 + store float %26, ptr %3, align 4, !tbaa !731 + call spir_func void @_ZN21__imf_impl_log10_s_la12_GLOBAL__N_131__devicelib_imf_internal_slog10EPKfPf(ptr addrspace(4) noundef %29, ptr addrspace(4) noundef %28) #55 + %30 = load float, ptr %3, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %31 + +31: ; preds = %27, %1 + %32 = phi float [ %30, %27 ], [ %26, %1 ] + ret float %32 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN21__imf_impl_log10_s_la12_GLOBAL__N_131__devicelib_imf_internal_slog10EPKfPf(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1192 !sycl_kernel_omit_args !1186 { + %3 = load i32, ptr addrspace(4) %0, align 4 + %4 = and i32 %3, 2139095040 + %5 = icmp eq i32 %4, 2139095040 + %6 = bitcast i32 %3 to float + br i1 %5, label %79, label %7 + +7: ; preds = %2 + %8 = icmp eq i32 %4, 0 + %9 = fmul float %6, 0x4270000000000000 + %10 = select i1 %8, i32 -40, i32 0 + %11 = select i1 %8, float %9, float %6 + %12 = fcmp ogt float %11, 0.000000e+00 + br i1 %12, label %13, label %75 + +13: ; preds = %7 + %14 = fadd float %11, -1.000000e+00 + %15 = tail call float @llvm.fabs.f32(float %14) + %16 = fcmp ogt float %15, 0x3F78000000000000 + br i1 %16, label %17, label %64 + +17: ; preds = %13 + %18 = bitcast float %11 to i32 + %19 = lshr i32 %18, 23 + %20 = and i32 %19, 255 + %21 = add nsw i32 %20, -127 + %22 = add nsw i32 %10, %21 + %23 = sitofp i32 %22 to float + %24 = fmul float %23, 0x3FD3400000000000 + %25 = fmul float %23, 0x3F304D4280000000 + %26 = and i32 %18, -2139095041 + %27 = or i32 %26, 1065353216 + %28 = bitcast i32 %27 to float + %29 = fadd float %28, 1.310730e+05 + %30 = bitcast float %29 to i32 + %31 = and i32 %30, 127 + %32 = mul nuw nsw i32 %31, 3 + %33 = zext nneg i32 %32 to i64 + %34 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log10_s_la12_GLOBAL__N_119__slog10_la_CoutTabE, i64 %33 + %35 = load float, ptr addrspace(1) %34, align 4, !tbaa !731 + %36 = add nuw nsw i32 %32, 1 + %37 = zext nneg i32 %36 to i64 + %38 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log10_s_la12_GLOBAL__N_119__slog10_la_CoutTabE, i64 %37 + %39 = load float, ptr addrspace(1) %38, align 4, !tbaa !731 + %40 = add nuw nsw i32 %32, 2 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_log10_s_la12_GLOBAL__N_119__slog10_la_CoutTabE, i64 %41 + %43 = load float, ptr addrspace(1) %42, align 4, !tbaa !731 + %44 = fadd float %24, %39 + %45 = fadd float %25, %43 + %46 = fadd float %28, 8.192000e+03 + %47 = fadd float %46, -8.192000e+03 + %48 = fsub float %28, %47 + %49 = tail call float @llvm.fmuladd.f32(float %35, float %47, float 0xC05BCB8000000000) + %50 = fmul float %35, %48 + %51 = fadd float %49, %50 + %52 = tail call float @llvm.fmuladd.f32(float %51, float 0xBC456BB5C0000000, float 0x3CB54B7FA0000000) + %53 = tail call float @llvm.fmuladd.f32(float %52, float %51, float 0xBD25933160000000) + %54 = tail call float @llvm.fmuladd.f32(float %53, float %51, float 0x3D967CE020000000) + %55 = tail call float @llvm.fmuladd.f32(float %54, float %51, float 0xBE086A7720000000) + %56 = tail call float @llvm.fmuladd.f32(float %55, float %51, float 0x3E7C46CCC0000000) + %57 = tail call float @llvm.fmuladd.f32(float %56, float %51, float 0xBEF26BAB40000000) + %58 = tail call float @llvm.fmuladd.f32(float %57, float %51, float 0xBFEFE00000000000) + %59 = fadd float %44, %49 + %60 = tail call float @llvm.fmuladd.f32(float %58, float %50, float %45) + %61 = fadd float %60, %50 + %62 = tail call float @llvm.fmuladd.f32(float %58, float %49, float %61) + %63 = fadd float %59, %62 + store float %63, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +64: ; preds = %13 + %65 = fmul float %14, 0x405BCB8000000000 + %66 = tail call float @llvm.fmuladd.f32(float %65, float 0xBC456BB5C0000000, float 0x3CB54B7FA0000000) + %67 = tail call float @llvm.fmuladd.f32(float %66, float %65, float 0xBD25933160000000) + %68 = tail call float @llvm.fmuladd.f32(float %67, float %65, float 0x3D967CE020000000) + %69 = tail call float @llvm.fmuladd.f32(float %68, float %65, float 0xBE086A7720000000) + %70 = tail call float @llvm.fmuladd.f32(float %69, float %65, float 0x3E7C46CCC0000000) + %71 = tail call float @llvm.fmuladd.f32(float %70, float %65, float 0xBEF26BAB40000000) + %72 = tail call float @llvm.fmuladd.f32(float %71, float %65, float 0xBFEFE00000000000) + %73 = fmul float %72, %65 + %74 = fadd float %73, %65 + store float %74, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +75: ; preds = %7 + %76 = fcmp oeq float %11, 0.000000e+00 + br i1 %76, label %77, label %78 + +77: ; preds = %75 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +78: ; preds = %75 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +79: ; preds = %2 + %80 = and i32 %3, -2139095041 + %81 = icmp eq i32 %80, -2147483648 + br i1 %81, label %82, label %83 + +82: ; preds = %79 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +83: ; preds = %79 + %84 = fmul float %6, %6 + store float %84, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %85 + +85: ; preds = %83, %82, %78, %77, %64, %17 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_log2f(float noundef %0) local_unnamed_addr #31 !srcloc !1193 { + %2 = bitcast float %0 to i32 + %3 = add i32 %2, -1061158912 + %4 = and i32 %3, -8388608 + %5 = sub i32 %2, %4 + %6 = ashr i32 %3, 23 + %7 = add i32 %2, -2139095040 + %8 = icmp ult i32 %7, -2130706432 + br i1 %8, label %43, label %9 + +9: ; preds = %57, %54, %1 + %10 = phi i32 [ %6, %54 ], [ %64, %57 ], [ %6, %1 ] + %11 = phi i32 [ %5, %54 ], [ %62, %57 ], [ %5, %1 ] + %12 = bitcast i32 %11 to float + %13 = fadd float %12, -1.000000e+00 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFB0EE1B80000000, float noundef %13, float noundef 0x3FC38B04E0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %13, float noundef 0xBFC8697BC0000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %13, float noundef 0x3FCABD3600000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %13, float noundef 0xBFCEBAD940000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %13, float noundef 0x3FD274F960000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %13, float noundef 0xBFD7155780000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %13, float noundef 0x3FDEC713E0000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %13, float noundef 0xBFE7154760000000) #56 + %22 = sitofp i32 %10 to float + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %13, float noundef 0.000000e+00) #56 + %24 = fneg float %23 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %13, float noundef %24) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef 1.000000e+00, float noundef 0x3FF7154760000000) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef 1.000000e+00, float noundef 0xBFF7154760000000) #56 + %28 = fneg float %27 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef 1.000000e+00, float noundef %28) #56 + %30 = fadd float %25, 0x3E54AE0C00000000 + %31 = fadd float %30, %29 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %13, float noundef 0.000000e+00) #56 + %33 = fneg float %32 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %13, float noundef %33) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %13, float noundef %34) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef 1.000000e+00, float noundef %22) #56 + %37 = fneg float %22 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef 1.000000e+00, float noundef %37) #56 + %39 = fneg float %38 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef 1.000000e+00, float noundef %39) #56 + %41 = fadd float %35, %40 + %42 = fadd float %36, %41 + br label %65 + +43: ; preds = %1 + %44 = tail call float @llvm.fabs.f32(float %0) + %45 = bitcast float %44 to i32 + %46 = icmp eq i32 %45, 0 + br i1 %46, label %65, label %47 + +47: ; preds = %43 + %48 = icmp ugt i32 %2, 2139095039 + br i1 %48, label %49, label %54 + +49: ; preds = %47 + %50 = icmp eq i32 %2, 2139095040 + %51 = or i32 %2, 2143289344 + %52 = bitcast i32 %51 to float + %53 = select i1 %50, float %0, float %52 + br label %65 + +54: ; preds = %47 + %55 = and i32 %45, 2139095040 + %56 = icmp eq i32 %55, 0 + br i1 %56, label %57, label %9 + +57: ; preds = %54 + %58 = fmul float %0, 0x41F0000000000000 + %59 = bitcast float %58 to i32 + %60 = add i32 %59, -1061158912 + %61 = and i32 %60, -8388608 + %62 = sub i32 %59, %61 + %63 = ashr i32 %60, 23 + %64 = add nsw i32 %63, -32 + br label %9 + +65: ; preds = %49, %43, %9 + %66 = phi float [ %42, %9 ], [ 0xFFF0000000000000, %43 ], [ %53, %49 ] + ret float %66 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_powf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1194 { + %3 = bitcast float %0 to i32 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = bitcast float %4 to i32 + %6 = add nsw i32 %5, -8388608 + %7 = icmp ult i32 %6, 2130706432 + br i1 %7, label %8, label %11 + +8: ; preds = %2 + %9 = lshr i32 %6, 23 + %10 = add nsw i32 %9, -125 + br label %22 + +11: ; preds = %2 + %12 = or i32 %3, 1056964608 + %13 = bitcast i32 %12 to float + %14 = and i32 %3, -2147483648 + %15 = or i32 %14, 1056964608 + %16 = bitcast i32 %15 to float + %17 = fsub float %13, %16 + %18 = bitcast float %17 to i32 + %19 = lshr i32 %18, 23 + %20 = and i32 %19, 255 + %21 = add nsw i32 %20, -251 + br label %22 + +22: ; preds = %11, %8 + %23 = phi i32 [ %21, %11 ], [ %10, %8 ] + %24 = phi i32 [ %18, %11 ], [ %3, %8 ] + %25 = and i32 %24, -2139095041 + %26 = or i32 %25, 1056964608 + %27 = bitcast i32 %26 to float + %28 = fcmp olt float %27, 0x3FE6A00000000000 + %29 = fmul float %27, 2.000000e+00 + %30 = select i1 %28, float %29, float %27 + %31 = sext i1 %28 to i32 + %32 = add nsw i32 %23, %31 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %35 = fdiv float 1.000000e+00, %33 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %35, float noundef 0.000000e+00) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef -2.000000e+00, float noundef %34) #56 + %38 = fneg float %34 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %38, float noundef %37) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %39, float noundef 0.000000e+00) #56 + %41 = fmul float %36, %36 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC08C0000000000, float noundef %41, float noundef 0x3FC22CDE00000000) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %41, float noundef 0x3FC99A1600000000) #56 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %41, float noundef 0x3FD5555500000000) #56 + %45 = fadd float %40, %40 + %46 = fneg float %41 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %36, float noundef %46) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %45, float noundef %47) #56 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %36, float noundef 0.000000e+00) #56 + %50 = fneg float %49 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %36, float noundef %50) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %36, float noundef %51) #56 + %53 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %40, float noundef %52) #56 + %54 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %53, float noundef %40) #56 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %49, float noundef %54) #56 + %56 = sitofp i32 %32 to float + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 5.000000e-01, float noundef 0x3FE62E4300000000, float noundef 0.000000e+00) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef %56, float noundef %36) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 5.000000e-01, float noundef 0xBFE62E4300000000, float noundef 0.000000e+00) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %56, float noundef %58) #56 + %61 = fneg float %60 + %62 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef 1.000000e+00, float noundef %61) #56 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %62, float noundef 1.000000e+00, float noundef %55) #56 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBE105C6100000000, float noundef %56, float noundef %63) #56 + %65 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef 1.000000e+00, float noundef %58) #56 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 2.000000e+00, float noundef %64, float noundef %65) #56 + %67 = fneg float %66 + %68 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef 1.000000e+00, float noundef %67) #56 + %69 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 2.000000e+00, float noundef %64, float noundef %68) #56 + %70 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %66, float noundef %1, float noundef 0.000000e+00) #56 + %71 = lshr i32 %3, 23 + %72 = tail call float @llvm.fabs.f32(float %70) + %73 = bitcast float %72 to i32 + %74 = add nsw i32 %71, -255 + %75 = icmp ult i32 %74, -254 + %76 = icmp ugt i32 %73, 1118811871 + %77 = or i1 %75, %76 + br i1 %77, label %118, label %78 + +78: ; preds = %22 + %79 = fneg float %70 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %66, float noundef %1, float noundef %79) #56 + %81 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %69, float noundef %1, float noundef %80) #56 + %82 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %70, float noundef 1.000000e+00, float noundef %81) #56 + %83 = fneg float %82 + %84 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %70, float noundef 1.000000e+00, float noundef %83) #56 + %85 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %84, float noundef 1.000000e+00, float noundef %81) #56 + %86 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef 0x3FF7154760000000, float noundef 0x4158001FC0000000) #56 + %87 = bitcast float %86 to i32 + %88 = fadd float %86, 0xC158001FC0000000 + %89 = fneg float %88 + %90 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef 0x3FE62E4300000000, float noundef %82) #56 + %91 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef 0xBE205C6100000000, float noundef %90) #56 + %92 = fadd float %91, %85 + %93 = and i32 %87, 1 + %94 = icmp eq i32 %93, 0 + %95 = select i1 %94, i32 0, i32 7668979 + %96 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef 0x3F81175160000000, float noundef 0x3FA55D89C0000000) #56 + %97 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef %96, float noundef 0x3FC5555380000000) #56 + %98 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef %97, float noundef 0x3FDFFFFD00000000) #56 + %99 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef %98, float noundef 1.000000e+00) #56 + %100 = fmul float %92, %99 + %101 = icmp ugt i32 %73, 1118743631 + br i1 %101, label %102, label %113 + +102: ; preds = %78 + %103 = add i32 %87, 254 + %104 = shl i32 %103, 21 + %105 = and i32 %104, 2139095040 + %106 = shl i32 %103, 22 + %107 = sub i32 %106, %105 + %108 = xor i32 %107, %95 + %109 = bitcast i32 %108 to float + %110 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef %109, float noundef %109) #56 + %111 = bitcast i32 %105 to float + %112 = fmul float %110, %111 + br label %379 + +113: ; preds = %78 + %114 = shl i32 %87, 22 + %115 = xor i32 %114, %95 + %116 = bitcast i32 %115 to float + %117 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef %116, float noundef %116) #56 + br label %379 + +118: ; preds = %22 + %119 = bitcast float %1 to i32 + %120 = and i32 %3, 8388607 + %121 = tail call float @llvm.fabs.f32(float %1) + %122 = bitcast float %121 to i32 + %123 = ashr i32 %119, 31 + %124 = add nsw i32 %122, -2139095040 + %125 = icmp ult i32 %124, -2139095039 + br i1 %125, label %301, label %126 + +126: ; preds = %118 + %127 = add nsw i32 %71, -127 + %128 = add i32 %3, -2139095040 + %129 = icmp ult i32 %128, -2130706432 + br i1 %129, label %318, label %130 + +130: ; preds = %373, %330, %126 + %131 = phi i32 [ %374, %373 ], [ %127, %126 ], [ %331, %330 ] + %132 = phi i32 [ %353, %373 ], [ 0, %126 ], [ %329, %330 ] + %133 = phi i32 [ %120, %373 ], [ %120, %126 ], [ %332, %330 ] + %134 = or i32 %133, 8388608 + %135 = add nuw nsw i32 %134, 262144 + %136 = lshr i32 %135, 19 + %137 = add nsw i32 %136, -16 + %138 = zext nneg i32 %137 to i64 + %139 = getelementptr inbounds [17 x i8], ptr addrspace(1) @_ZN19__imf_impl_pow_s_la12_GLOBAL__N_119__spow_la___rcp_tblE, i64 0, i64 %138 + %140 = load i8, ptr addrspace(1) %139, align 1, !tbaa !718 + %141 = zext i8 %140 to i32 + %142 = add nuw nsw i32 %141, 1 + %143 = mul nuw i32 %134, %142 + %144 = shl nsw i32 %143, 1 + %145 = sext i32 %144 to i64 + %146 = mul nsw i64 %145, -514316786 + %147 = lshr i64 %146, 32 + %148 = add nuw nsw i64 %147, 620231990 + %149 = and i64 %148, 4294967295 + %150 = mul nsw i64 %149, %145 + %151 = lshr i64 %150, 32 + %152 = trunc i64 %151 to i32 + %153 = add nsw i32 %152, -774543120 + %154 = sext i32 %153 to i64 + %155 = mul nsw i64 %154, %145 + %156 = lshr i64 %155, 32 + %157 = add nuw nsw i64 %156, 1032721133 + %158 = and i64 %157, 4294967295 + %159 = mul nsw i64 %158, %145 + %160 = lshr i64 %159, 32 + %161 = trunc i64 %160 to i32 + %162 = add nsw i32 %161, -1549082004 + %163 = ashr i32 %162, 8 + %164 = sext i32 %163 to i64 + %165 = mul nsw i64 %164, %145 + %166 = add nsw i64 %165, 51978566788627200 + %167 = shl i32 %162, 23 + %168 = and i32 %167, 2139095040 + %169 = zext nneg i32 %168 to i64 + %170 = mul nsw i64 %169, %145 + %171 = lshr i64 %170, 31 + %172 = trunc i64 %171 to i32 + %173 = and i32 %172, -2 + %174 = sext i32 %173 to i64 + %175 = add nsw i64 %166, %174 + %176 = shl i32 %131, 4 + %177 = sub nsw i32 16, %136 + %178 = icmp eq i32 %176, %177 + %179 = shl nuw nsw i64 %175, 7 + %180 = select i1 %178, i32 155, i32 148 + %181 = select i1 %178, i64 %179, i64 %175 + %182 = lshr i64 %181, 32 + %183 = mul nsw i64 %182, %145 + %184 = getelementptr inbounds [17 x i64], ptr addrspace(1) @_ZN19__imf_impl_pow_s_la12_GLOBAL__N_120__spow_la___log2_tblE, i64 0, i64 %138 + %185 = load i64, ptr addrspace(1) %184, align 8, !tbaa !719 + %186 = add i64 %183, %185 + %187 = lshr exact i64 %181, 1 + %188 = and i64 %187, 2147483647 + %189 = mul nsw i64 %188, %145 + %190 = lshr i64 %189, 31 + %191 = trunc i64 %190 to i32 + %192 = and i32 %191, -2 + %193 = sext i32 %192 to i64 + %194 = add i64 %186, %193 + %195 = shl i32 %131, 23 + %196 = sext i32 %195 to i64 + %197 = shl nsw i64 %196, 32 + %198 = add i64 %194, %197 + br label %199 + +199: ; preds = %207, %130 + %200 = phi i32 [ %180, %130 ], [ %208, %207 ] + %201 = phi i64 [ %198, %130 ], [ %202, %207 ] + %202 = shl i64 %201, 1 + %203 = icmp ne i64 %202, 0 + %204 = xor i64 %202, %201 + %205 = icmp sgt i64 %204, -1 + %206 = and i1 %203, %205 + br i1 %206, label %207, label %209 + +207: ; preds = %199 + %208 = add i32 %200, 1 + br label %199, !llvm.loop !1195 + +209: ; preds = %199 + %210 = and i32 %119, 8388607 + %211 = icmp ult i32 %122, 8388608 + %212 = lshr i32 %122, 23 + %213 = or i32 %210, 8388608 + %214 = sub nsw i32 0, %212 + %215 = select i1 %211, i32 -1, i32 %214 + %216 = add i32 %200, %215 + %217 = select i1 %211, i32 %210, i32 %213 + %218 = xor i32 %217, %123 + %219 = sub nsw i32 %218, %123 + %220 = shl i32 %219, 7 + %221 = ashr i64 %201, 32 + %222 = sext i32 %220 to i64 + %223 = mul nsw i64 %221, %222 + %224 = lshr i64 %201, 1 + %225 = and i64 %224, 2147483647 + %226 = mul nsw i64 %225, %222 + %227 = lshr i64 %226, 31 + %228 = trunc i64 %227 to i32 + %229 = and i32 %228, -2 + %230 = sext i32 %229 to i64 + %231 = add nsw i64 %223, %230 + %232 = icmp slt i32 %216, 0 + br i1 %232, label %233, label %235 + +233: ; preds = %209 + %234 = icmp slt i64 %231, 0 + br i1 %234, label %376, label %284 + +235: ; preds = %209 + %236 = icmp ugt i32 %216, 31 + br i1 %236, label %237, label %243 + +237: ; preds = %235 + %238 = add nsw i32 %216, -32 + %239 = ashr i64 %231, 32 + %240 = icmp ugt i32 %216, 63 + br i1 %240, label %241, label %243 + +241: ; preds = %237 + %242 = or i32 %132, 1065353216 + br label %376 + +243: ; preds = %237, %235 + %244 = phi i32 [ %238, %237 ], [ %216, %235 ] + %245 = phi i64 [ %239, %237 ], [ %231, %235 ] + %246 = zext i32 %244 to i64 + %247 = ashr i64 %245, %246 + %248 = lshr i64 %247, 32 + %249 = trunc i64 %248 to i32 + %250 = and i64 %247, 4294967295 + %251 = mul nuw nsw i64 %250, 93032 + %252 = lshr i64 %251, 32 + %253 = add nuw nsw i64 %252, 614019 + %254 = mul nuw nsw i64 %253, %250 + %255 = lshr i64 %254, 32 + %256 = add nuw nsw i64 %255, 5768246 + %257 = mul nuw nsw i64 %256, %250 + %258 = lshr i64 %257, 32 + %259 = add nuw nsw i64 %258, 41289694 + %260 = mul nuw nsw i64 %259, %250 + %261 = lshr i64 %260, 32 + %262 = add nuw nsw i64 %261, 238393458 + %263 = mul nuw nsw i64 %262, %250 + %264 = lshr i64 %263, 32 + %265 = add nuw nsw i64 %264, 1031764343 + %266 = mul nuw nsw i64 %265, %250 + %267 = lshr i64 %266, 32 + %268 = add nuw nsw i64 %267, 2977044503 + %269 = mul nuw i64 %268, %250 + %270 = lshr i64 %269, 33 + %271 = trunc i64 %270 to i32 + %272 = add nuw i32 %271, 128 + %273 = add nsw i32 %249, 127 + %274 = lshr i32 %272, 31 + %275 = add i32 %273, %274 + %276 = icmp sgt i32 %275, 254 + br i1 %276, label %284, label %277 + +277: ; preds = %243 + %278 = icmp slt i32 %275, 1 + br i1 %278, label %286, label %279 + +279: ; preds = %277 + %280 = shl i32 %273, 23 + %281 = lshr i32 %272, 8 + %282 = add i32 %280, %281 + %283 = or i32 %132, %282 + br label %376 + +284: ; preds = %243, %233 + %285 = or i32 %132, 2139095040 + br label %376 + +286: ; preds = %277 + %287 = icmp slt i32 %275, -24 + br i1 %287, label %376, label %288 + +288: ; preds = %286 + %289 = or i32 %271, -2147483648 + br label %290 + +290: ; preds = %294, %288 + %291 = phi i32 [ %273, %288 ], [ %296, %294 ] + %292 = phi i32 [ %289, %288 ], [ %295, %294 ] + %293 = icmp slt i32 %291, 1 + br i1 %293, label %294, label %297 + +294: ; preds = %290 + %295 = lshr i32 %292, 1 + %296 = add nsw i32 %291, 1 + br label %290, !llvm.loop !1196 + +297: ; preds = %290 + %298 = add nsw i32 %292, 128 + %299 = lshr i32 %298, 8 + %300 = or i32 %132, %299 + br label %376 + +301: ; preds = %118 + %302 = icmp eq i32 %122, 0 + br i1 %302, label %376, label %303 + +303: ; preds = %301 + %304 = icmp ugt i32 %122, 2139095040 + br i1 %304, label %305, label %308 + +305: ; preds = %303 + %306 = icmp eq i32 %3, 1065353216 + %307 = select i1 %306, i32 1065353216, i32 -4194304 + br label %376 + +308: ; preds = %303 + %309 = shl i32 %3, 1 + %310 = icmp ugt i32 %309, -16777216 + br i1 %310, label %376, label %311 + +311: ; preds = %308 + %312 = add nsw i32 %5, -1065353216 + %313 = icmp eq i32 %312, 0 + %314 = xor i32 %312, %123 + %315 = icmp slt i32 %314, 0 + %316 = select i1 %315, i32 0, i32 2139095040 + %317 = select i1 %313, i32 1065353216, i32 %316 + br label %376 + +318: ; preds = %126 + %319 = icmp eq i32 %3, 2139095040 + br i1 %319, label %320, label %323 + +320: ; preds = %318 + %321 = icmp slt i32 %119, 0 + %322 = select i1 %321, i32 0, i32 2139095040 + br label %376 + +323: ; preds = %318 + %324 = shl i32 %3, 1 + %325 = icmp ugt i32 %324, -16777216 + br i1 %325, label %376, label %326 + +326: ; preds = %323 + %327 = icmp sgt i32 %3, 0 + br i1 %327, label %328, label %337 + +328: ; preds = %373, %326 + %329 = phi i32 [ 0, %326 ], [ %353, %373 ] + br label %330 + +330: ; preds = %334, %328 + %331 = phi i32 [ -126, %328 ], [ %335, %334 ] + %332 = phi i32 [ %120, %328 ], [ %336, %334 ] + %333 = icmp ult i32 %332, 8388608 + br i1 %333, label %334, label %130 + +334: ; preds = %330 + %335 = add nsw i32 %331, -1 + %336 = shl nuw nsw i32 %332, 1 + br label %330, !llvm.loop !1197 + +337: ; preds = %326 + %338 = icmp ugt i32 %122, 1065353215 + br i1 %338, label %339, label %351 + +339: ; preds = %337 + %340 = icmp ugt i32 %122, 1266679807 + br i1 %340, label %351, label %341 + +341: ; preds = %339 + %342 = lshr i32 %122, 23 + %343 = sub nuw nsw i32 150, %342 + %344 = and i32 %119, 8388607 + %345 = or i32 %344, 8388608 + %346 = lshr i32 %345, %343 + %347 = shl i32 %346, %343 + %348 = icmp ne i32 %345, %347 + %349 = shl i32 %346, 31 + %350 = select i1 %348, i32 0, i32 %349 + br label %351 + +351: ; preds = %341, %339, %337 + %352 = phi i1 [ true, %337 ], [ false, %339 ], [ %348, %341 ] + %353 = phi i32 [ 0, %337 ], [ 0, %339 ], [ %350, %341 ] + %354 = icmp eq i32 %324, 0 + br i1 %354, label %355, label %360 + +355: ; preds = %351 + %356 = icmp slt i32 %119, 0 + %357 = and i32 %353, %3 + %358 = or i32 %357, 2139095040 + %359 = select i1 %356, i32 %358, i32 0 + br label %376 + +360: ; preds = %351 + %361 = icmp slt i32 %3, 0 + br i1 %361, label %362, label %376 + +362: ; preds = %360 + %363 = icmp eq i32 %3, -8388608 + br i1 %363, label %364, label %368 + +364: ; preds = %362 + %365 = or i32 %353, 2139095040 + %366 = icmp slt i32 %119, 0 + %367 = select i1 %366, i32 %353, i32 %365 + br label %376 + +368: ; preds = %362 + br i1 %352, label %376, label %369 + +369: ; preds = %368 + %370 = icmp eq i32 %3, -1082130432 + br i1 %370, label %371, label %373 + +371: ; preds = %369 + %372 = or i32 %353, 1065353216 + br label %376 + +373: ; preds = %369 + %374 = add nsw i32 %71, -383 + %375 = icmp ugt i32 %3, -2139095041 + br i1 %375, label %130, label %328 + +376: ; preds = %371, %368, %364, %360, %355, %323, %320, %311, %308, %305, %301, %297, %286, %284, %279, %241, %233 + %377 = phi i32 [ 1065353216, %301 ], [ %307, %305 ], [ -4194304, %308 ], [ %317, %311 ], [ %322, %320 ], [ -4194304, %323 ], [ %285, %284 ], [ %242, %241 ], [ %283, %279 ], [ %359, %355 ], [ %367, %364 ], [ %372, %371 ], [ 0, %360 ], [ %300, %297 ], [ %132, %286 ], [ %132, %233 ], [ -4194304, %368 ] + %378 = bitcast i32 %377 to float + br label %379 + +379: ; preds = %376, %113, %102 + %380 = phi float [ %378, %376 ], [ %112, %102 ], [ %117, %113 ] + ret float %380 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_cosf16(half noundef %0) local_unnamed_addr #31 !srcloc !1198 { + %2 = tail call half @llvm.fabs.f16(half %0) + %3 = bitcast half %2 to i16 + %4 = icmp ugt i16 %3, 19417 + %5 = fadd half %2, 0xH3E48 + %6 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH2118, half noundef 0xH5200) #56 + %7 = bitcast half %6 to i16 + %8 = fadd half %6, 0xHD200 + %9 = fadd half %8, 0xHA400 + %10 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %9, half noundef 0xHD648, half noundef %2) #56 + %11 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %9, half noundef 0xHA7ED, half noundef %10) #56 + %12 = bitcast half %11 to i16 + %13 = shl i16 %7, 15 + %14 = fmul half %11, %11 + %15 = xor i16 %13, %12 + %16 = bitcast i16 %15 to half + %17 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %14, half noundef 0xH8A2D, half noundef 0xH2042) #56 + %18 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %17, half noundef %14, half noundef 0xHB155) #56 + %19 = fmul half %14, %16 + %20 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %19, half noundef %18, half noundef %16) #56 + br i1 %4, label %21, label %40, !prof !1176 + +21: ; preds = %1 + %22 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %2) #56 + %23 = fadd float %22, 0x3FF921FB60000000 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef 0x3FD45F3060000000, float noundef 0x4160000000000000) #56 + %25 = fadd float %24, 0xC160000000000000 + %26 = fadd float %25, -5.000000e-01 + %27 = fneg float %26 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef 0x400921FB60000000, float noundef %22) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef 0xBE7777A5C0000000, float noundef %28) #56 + %30 = bitcast float %24 to i32 + %31 = shl i32 %30, 31 + %32 = fmul float %29, %29 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef 0x3F7F3F36C0000000, float noundef 0xBFC5404DC0000000) #56 + %34 = fmul float %32, %29 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %33, float noundef %29) #56 + %36 = bitcast float %35 to i32 + %37 = xor i32 %31, %36 + %38 = bitcast i32 %37 to float + %39 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %38) #56 + br label %40 + +40: ; preds = %21, %1 + %41 = phi half [ %39, %21 ], [ %20, %1 ] + ret half %41 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare half @llvm.fabs.f16(half) #17 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef, half noundef, half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_exp10f16(half noundef %0) local_unnamed_addr #31 !srcloc !1199 { + %2 = fcmp olt half %0, 0xH4600 + %3 = select i1 %2, half %0, half 0xH4600 + %4 = fcmp ogt half %3, 0xHC800 + %5 = select i1 %4, half %3, half 0xHC800 + %6 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH42A5, half noundef 0xH6A0F) #56 + %7 = bitcast half %6 to i16 + %8 = fadd half %6, 0xHEA0F + %9 = shl i16 %7, 10 + %10 = bitcast i16 %9 to half + %11 = fneg half %8 + %12 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH42A5, half noundef %11) #56 + %13 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH8D88, half noundef %12) #56 + %14 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef 0xH2110, half noundef %13, half noundef 0xH2B52) #56 + %15 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %14, half noundef %13, half noundef 0xH33AF) #56 + %16 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %15, half noundef %13, half noundef 0xH398B) #56 + %17 = fmul half %13, %16 + %18 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %17, half noundef %10, half noundef %10) #56 + %19 = fcmp ole half %0, 0xH7C00 + %20 = select i1 %19, half %10, half %0 + %21 = fmul half %18, %20 + ret half %21 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_exp2f16(half noundef %0) local_unnamed_addr #31 !srcloc !1200 { + %2 = fcmp olt half %0, 0xH4C00 + %3 = select i1 %2, half %0, half 0xH4C00 + %4 = fcmp ogt half %3, 0xHCE80 + %5 = select i1 %4, half %3, half 0xHCE80 + %6 = fadd half %5, 0xH6A0F + %7 = bitcast half %6 to i16 + %8 = fadd half %6, 0xHEA0F + %9 = fsub half %5, %8 + %10 = shl i16 %7, 10 + %11 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef 0xH2110, half noundef %9, half noundef 0xH2B52) #56 + %12 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %11, half noundef %9, half noundef 0xH33AF) #56 + %13 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %12, half noundef %9, half noundef 0xH398B) #56 + %14 = fmul half %9, %13 + %15 = fcmp ole half %0, 0xH7C00 + %16 = bitcast i16 %10 to half + %17 = select i1 %15, half %16, half %0 + %18 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %14, half noundef %17, half noundef %17) #56 + %19 = fmul half %18, %17 + ret half %19 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_expf16(half noundef %0) local_unnamed_addr #31 !srcloc !1201 { + %2 = fcmp olt half %0, 0xH4A00 + %3 = select i1 %2, half %0, half 0xH4A00 + %4 = fcmp ogt half %3, 0xHCC80 + %5 = select i1 %4, half %3, half 0xHCC80 + %6 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH3DC5, half noundef 0xH6A0F) #56 + %7 = bitcast half %6 to i16 + %8 = fadd half %6, 0xHEA0F + %9 = shl i16 %7, 10 + %10 = bitcast i16 %9 to half + %11 = fneg half %8 + %12 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH3DC5, half noundef %11) #56 + %13 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %5, half noundef 0xH0D1E, half noundef %12) #56 + %14 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef 0xH2110, half noundef %13, half noundef 0xH2B52) #56 + %15 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %14, half noundef %13, half noundef 0xH33AF) #56 + %16 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %15, half noundef %13, half noundef 0xH398B) #56 + %17 = fmul half %13, %16 + %18 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %17, half noundef %10, half noundef %10) #56 + %19 = fcmp ole half %0, 0xH7C00 + %20 = select i1 %19, half %10, half %0 + %21 = fmul half %18, %20 + ret half %21 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_logf16(half noundef %0) local_unnamed_addr #31 !srcloc !1202 { + %2 = bitcast half %0 to i16 + %3 = icmp ult i16 %2, 31744 + %4 = fcmp oeq half %0, 0xH0000 + %5 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %0) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 22 + %8 = add nuw nsw i32 %7, 1 + %9 = lshr i32 %8, 1 + %10 = add nsw i32 %9, -127 + %11 = sitofp i32 %10 to float + %12 = shl i32 %10, 23 + %13 = sub i32 %6, %12 + %14 = bitcast i32 %13 to float + %15 = fadd float %14, -1.000000e+00 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCA26CF60000000, float noundef %15, float noundef 0xBFD7FA6AC0000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %15, float noundef 0x3FDF3D2A60000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %15, float noundef 0xBFE713E900000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %15, float noundef 0x3FF714FC80000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef %11) #56 + %21 = fmul float %20, 0x3FE62E4300000000 + %22 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %21) #56 + %23 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %0, half noundef 0xH7C00, half noundef 0xH7C00) #56 + %24 = select i1 %3, half %22, half %23 + %25 = select i1 %4, half 0xHFC00, half %24 + ret half %25 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_log10f16(half noundef %0) local_unnamed_addr #31 !srcloc !1203 { + %2 = bitcast half %0 to i16 + %3 = icmp ult i16 %2, 31744 + %4 = fcmp oeq half %0, 0xH0000 + %5 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %0) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 22 + %8 = add nuw nsw i32 %7, 1 + %9 = lshr i32 %8, 1 + %10 = add nsw i32 %9, -127 + %11 = sitofp i32 %10 to float + %12 = shl i32 %10, 23 + %13 = sub i32 %6, %12 + %14 = bitcast i32 %13 to float + %15 = fadd float %14, -1.000000e+00 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCA26CF60000000, float noundef %15, float noundef 0xBFD7FA6AC0000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %15, float noundef 0x3FDF3D2A60000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %15, float noundef 0xBFE713E900000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %15, float noundef 0x3FF714FC80000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef %11) #56 + %21 = fmul float %20, 0x3FD3441360000000 + %22 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %21) #56 + %23 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %0, half noundef 0xH7C00, half noundef 0xH7C00) #56 + %24 = select i1 %3, half %22, half %23 + %25 = select i1 %4, half 0xHFC00, half %24 + ret half %25 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_log2f16(half noundef %0) local_unnamed_addr #31 !srcloc !1204 { + %2 = bitcast half %0 to i16 + %3 = icmp ult i16 %2, 31744 + %4 = fcmp oeq half %0, 0xH0000 + %5 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %0) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 22 + %8 = add nuw nsw i32 %7, 1 + %9 = lshr i32 %8, 1 + %10 = add nsw i32 %9, -127 + %11 = sitofp i32 %10 to float + %12 = shl i32 %10, 23 + %13 = sub i32 %6, %12 + %14 = bitcast i32 %13 to float + %15 = fadd float %14, -1.000000e+00 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCA26CF60000000, float noundef %15, float noundef 0xBFD7FA6AC0000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %15, float noundef 0x3FDF3D2A60000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %15, float noundef 0xBFE713E900000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %15, float noundef 0x3FF714FC80000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef %11) #56 + %21 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %20) #56 + %22 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %0, half noundef 0xH7C00, half noundef 0xH7C00) #56 + %23 = select i1 %3, half %21, half %22 + %24 = select i1 %4, half 0xHFC00, half %23 + ret half %24 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_sinf16(half noundef %0) local_unnamed_addr #31 !srcloc !1205 { + %2 = bitcast half %0 to i16 + %3 = tail call half @llvm.fabs.f16(half %0) + %4 = bitcast half %3 to i16 + %5 = and i16 %2, -32768 + %6 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %3, half noundef 0xH2118, half noundef 0xH5200) #56 + %7 = bitcast half %6 to i16 + %8 = icmp ugt i16 %4, 21164 + %9 = fadd half %6, 0xHD200 + %10 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %9, half noundef 0xHD648, half noundef %3) #56 + %11 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %9, half noundef 0xHA7ED, half noundef %10) #56 + %12 = shl i16 %7, 15 + %13 = fmul half %11, %11 + %14 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %13, half noundef 0xH2007, half noundef 0xHB155) #56 + %15 = fmul half %11, %13 + %16 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %15, half noundef %14, half noundef %11) #56 + %17 = bitcast half %16 to i16 + %18 = xor i16 %12, %17 + %19 = xor i16 %18, %5 + br i1 %8, label %20, label %38, !prof !1176 + +20: ; preds = %1 + %21 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rteDF16_(half noundef %3) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef 0x3FD45F3060000000, float noundef 0x4168000000000000) #56 + %23 = fadd float %22, 0xC168000000000000 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef 0xC00921FB60000000, float noundef %21) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef 0x3E7777A5C0000000, float noundef %24) #56 + %26 = bitcast float %22 to i32 + %27 = shl i32 %26, 31 + %28 = fmul float %25, %25 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3F7F3F36C0000000, float noundef 0xBFC5404DC0000000) #56 + %30 = fmul float %28, %25 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %29, float noundef %25) #56 + %32 = bitcast float %31 to i32 + %33 = xor i32 %27, %32 + %34 = bitcast i32 %33 to float + %35 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef %34) #56 + %36 = bitcast half %35 to i16 + %37 = xor i16 %5, %36 + br label %38 + +38: ; preds = %20, %1 + %39 = phi i16 [ %37, %20 ], [ %19, %1 ] + %40 = bitcast i16 %39 to half + ret half %40 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_erfinvf(float noundef %0) local_unnamed_addr #31 !srcloc !1206 { + %2 = alloca float, align 4 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = add nsw i32 %4, -864026625 + %6 = icmp ult i32 %5, 201326591 + %7 = fsub float 1.000000e+00, %3 + %8 = fsub float 1.000000e+00, %7 + %9 = fsub float %8, %3 + %10 = bitcast float %7 to i32 + %11 = and i32 %10, 1065353216 + %12 = sub nuw nsw i32 2130706432, %11 + %13 = bitcast i32 %12 to float + %14 = lshr i32 %10, 15 + %15 = and i32 %14, 131040 + %16 = sub nsw i32 32480, %15 + %17 = and i32 %10, 1048575 + %18 = or i32 %17, 1065353216 + %19 = bitcast i32 %18 to float + %20 = fadd float %19, -1.062500e+00 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %9, float noundef %20) #56 + %22 = lshr exact i32 %16, 2 + %23 = select i1 %6, i32 %22, i32 0 + %24 = zext nneg i32 %23 to i64 + %25 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %24 + %26 = load float, ptr addrspace(1) %25, align 4, !tbaa !717 + %27 = or i32 %23, 1 + %28 = zext nneg i32 %27 to i64 + %29 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %28 + %30 = load float, ptr addrspace(1) %29, align 4, !tbaa !717 + %31 = or i32 %23, 2 + %32 = zext nneg i32 %31 to i64 + %33 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %32 + %34 = load float, ptr addrspace(1) %33, align 4, !tbaa !717 + %35 = or i32 %23, 3 + %36 = zext nneg i32 %35 to i64 + %37 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %36 + %38 = load float, ptr addrspace(1) %37, align 4, !tbaa !717 + %39 = or i32 %23, 4 + %40 = zext nneg i32 %39 to i64 + %41 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %40 + %42 = load float, ptr addrspace(1) %41, align 4, !tbaa !717 + %43 = or i32 %23, 5 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %44 + %46 = load float, ptr addrspace(1) %45, align 4, !tbaa !717 + %47 = or i32 %23, 6 + %48 = zext nneg i32 %47 to i64 + %49 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %48 + %50 = load float, ptr addrspace(1) %49, align 4, !tbaa !717 + %51 = or i32 %23, 7 + %52 = zext nneg i32 %51 to i64 + %53 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 %52 + %54 = load float, ptr addrspace(1) %53, align 4, !tbaa !717 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %46, float noundef %21, float noundef %42) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef %21, float noundef %38) #56 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %56, float noundef %21, float noundef %34) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef %21, float noundef %30) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef %21, float noundef %26) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %21, float noundef %50) #56 + %61 = fsub float %50, %60 + %62 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %21, float noundef %61) #56 + %63 = fadd float %62, %59 + %64 = fmul float %63, %0 + %65 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %0, float noundef %64) #56 + br i1 %6, label %69, label %66, !prof !1189 + +66: ; preds = %1 + %67 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store float %65, ptr %2, align 4, !tbaa !731 + call spir_func void @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_132__devicelib_imf_internal_serfinvEPKfPf(float %0, ptr addrspace(4) noundef %67) #55 + %68 = load float, ptr %2, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %69 + +69: ; preds = %66, %1 + %70 = phi float [ %68, %66 ], [ %65, %1 ] + ret float %70 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_132__devicelib_imf_internal_serfinvEPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1207 !sycl_kernel_omit_args !1186 { + %3 = bitcast float %0 to i32 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = bitcast float %4 to i32 + %6 = icmp ugt i32 %5, 1065353215 + br i1 %6, label %7, label %20, !prof !1176 + +7: ; preds = %2 + %8 = icmp eq i32 %5, 1065353216 + br i1 %8, label %9, label %15, !prof !1176 + +9: ; preds = %7 + %10 = lshr i32 %3, 31 + %11 = zext nneg i32 %10 to i64 + %12 = getelementptr inbounds [2 x i32], ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN22__imf_impl_erfinv_s_ha12_GLOBAL__N_137__devicelib_imf_internal_serfinv_dataE, i64 6196), i64 0, i64 %11 + %13 = load float, ptr addrspace(1) %12, align 4, !tbaa !731 + %14 = fdiv float %13, 0.000000e+00 + store float %14, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %27 + +15: ; preds = %7 + %16 = icmp ult i32 %5, 2139095041 + br i1 %16, label %17, label %18, !prof !1176 + +17: ; preds = %15 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %27 + +18: ; preds = %15 + %19 = fadd float %0, %0 + store float %19, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %27 + +20: ; preds = %2 + %21 = icmp ult i32 %5, 864026624 + br i1 %21, label %22, label %27, !prof !1176 + +22: ; preds = %20 + %23 = icmp eq i32 %5, 0 + br i1 %23, label %24, label %25, !prof !1176 + +24: ; preds = %22 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %27 + +25: ; preds = %22 + %26 = fmul float %0, 0x3FEC5BF8A0000000 + store float %26, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %27 + +27: ; preds = %25, %24, %20, %18, %17, %9 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_cbrtf(float noundef %0) local_unnamed_addr #31 !srcloc !1208 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, -2147483648 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = bitcast float %4 to i32 + %6 = icmp ult i32 %5, 8388608 + %7 = select i1 %6, i32 1644167168, i32 1065353216 + %8 = select i1 %6, i32 62, i32 85 + %9 = bitcast i32 %7 to float + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef %9, float noundef 0.000000e+00) #56 + %11 = bitcast float %10 to i32 + %12 = add i32 %11, -4194304 + %13 = lshr i32 %12, 23 + %14 = mul nuw nsw i32 %13, 21846 + %15 = lshr i32 %14, 16 + %16 = mul nsw i32 %15, -3 + %17 = add nsw i32 %16, %13 + %18 = add nuw nsw i32 %15, %8 + %19 = shl nuw nsw i32 %18, 23 + %20 = icmp eq i32 %11, 0 + %21 = select i1 %20, i32 0, i32 %19 + %22 = and i32 %12, -8388608 + %23 = sub i32 %11, %22 + %24 = add i32 %23, 1056964608 + %25 = bitcast i32 %24 to float + %26 = fadd float %25, -1.000000e+00 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F79F5E0E0000000, float noundef %26, float noundef 0xBF8EE24620000000) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %26, float noundef 0x3F946A4820000000) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %26, float noundef 0xBF984CDF20000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %26, float noundef 0x3F9EDE7020000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %26, float noundef 0xBFA5101D20000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %26, float noundef 0x3FAF9AE800000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %26, float noundef 0xBFBC71CAC0000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %26, float noundef 0x3FD5555560000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %26, float noundef 0x3E0289D360000000) #56 + %36 = icmp eq i32 %17, 0 + %37 = select i1 %36, i32 1065353216, i32 1067533592 + %38 = icmp ult i32 %17, 2 + %39 = select i1 %38, i32 %37, i32 1070280693 + %40 = select i1 %36, i32 0, i32 -1306279572 + %41 = select i1 %38, i32 %40, i32 835928856 + %42 = bitcast i32 %39 to float + %43 = bitcast i32 %21 to float + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %43, float noundef 0.000000e+00) #56 + %45 = bitcast i32 %41 to float + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %45, float noundef %35, float noundef %45) #56 + %47 = fadd float %35, %46 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %47, float noundef %44) #56 + %49 = fcmp ole float %10, 0x47EFFFFFE0000000 + %50 = fadd float %10, %10 + %51 = select i1 %49, float %48, float %50 + %52 = bitcast float %51 to i32 + %53 = xor i32 %3, %52 + %54 = bitcast i32 %53 to float + ret float %54 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_atanf(float noundef %0) local_unnamed_addr #31 !srcloc !1209 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = fdiv float 1.000000e+00, %3 + %6 = bitcast float %5 to i32 + %7 = sub i32 %6, %4 + %8 = ashr i32 %7, 31 + %9 = and i32 %8, -1077342245 + %10 = and i32 %8, 859553070 + %11 = xor i32 %8, %2 + %12 = and i32 %11, -2147483648 + %13 = fneg float %3 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %5, float noundef 1.000000e+00) #56 + %15 = bitcast float %14 to i32 + %16 = and i32 %15, -1073741825 + %17 = and i32 %7, %8 + %18 = add i32 %17, %4 + %19 = bitcast i32 %16 to float + %20 = fmul float %5, %19 + %21 = bitcast float %20 to i32 + %22 = and i32 %8, -1073741825 + %23 = and i32 %22, %21 + %24 = bitcast i32 %18 to float + %25 = fadd float %24, -5.000000e-01 + %26 = bitcast i32 %23 to float + %27 = fadd float %25, %26 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9122F7E0000000, float noundef %27, float noundef 0x3F815F5B00000000) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %27, float noundef 0x3F9ED5FAE0000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %27, float noundef 0xBFA3D20120000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %27, float noundef 0xBF81C59C00000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %27, float noundef 0x3FB1DD11E0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %27, float noundef 0xBFB09A7B00000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %27, float noundef 0xBFA74159C0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %27, float noundef 0x3FC6913180000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %27, float noundef 0xBFC0BEACA0000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %27, float noundef 0xBFD04B35C0000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %27, float noundef 0xBFB29CC7E0000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %26, float noundef %26) #56 + %40 = bitcast i32 %10 to float + %41 = fadd float %39, %40 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %38, float noundef %41) #56 + %43 = fadd float %42, %24 + %44 = bitcast i32 %9 to float + %45 = fadd float %43, %44 + %46 = bitcast float %45 to i32 + %47 = xor i32 %12, %46 + %48 = bitcast i32 %47 to float + ret float %48 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_atanhf(float noundef %0) local_unnamed_addr #31 !srcloc !1210 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = fcmp olt float %3, 1.000000e+00 + %5 = fcmp olt float %3, 0x3980000000000000 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef %0) #56 + %7 = and i32 %2, -2147483648 + %8 = bitcast float %6 to i32 + %9 = or i32 %7, %8 + %10 = fadd float %3, %3 + %11 = fsub float 1.000000e+00, %3 + %12 = fsub float 1.000000e+00, %11 + %13 = fsub float %12, %3 + %14 = fdiv float 1.000000e+00, %11 + %15 = bitcast float %14 to i32 + %16 = and i32 %15, -4096 + %17 = bitcast i32 %16 to float + %18 = fneg float %17 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %11, float noundef 1.000000e+00) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %13, float noundef %19) #56 + %21 = bitcast float %10 to i32 + %22 = and i32 %21, -4096 + %23 = bitcast i32 %22 to float + %24 = fsub float %10, %23 + %25 = fmul float %17, %23 + %26 = fmul float %24, %17 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %20, float noundef %20) #56 + %28 = fmul float %27, %25 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %26, float noundef %26) #56 + %30 = fadd float %28, %29 + %31 = fadd float %25, %30 + %32 = fsub float %25, %31 + %33 = fadd float %32, %30 + %34 = fcmp olt float %31, 1.000000e+00 + %35 = select i1 %34, float 1.000000e+00, float %31 + %36 = fcmp ogt float %31, 1.000000e+00 + %37 = select i1 %36, float 1.000000e+00, float %31 + %38 = fadd float %35, %37 + %39 = fsub float %35, %38 + %40 = fadd float %39, %37 + %41 = fadd float %40, %33 + %42 = bitcast float %38 to i32 + %43 = add i32 %42, -1059760811 + %44 = and i32 %43, 8388607 + %45 = ashr i32 %43, 23 + %46 = add nuw nsw i32 %44, 1059760811 + %47 = sitofp i32 %45 to float + %48 = bitcast i32 %46 to float + %49 = and i32 %43, -8388608 + %50 = sub i32 1065353216, %49 + %51 = bitcast i32 %50 to float + %52 = fmul float %41, %51 + %53 = fadd float %48, -1.000000e+00 + %54 = fadd float %53, %52 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC1B09DA0000000, float noundef %54, float noundef 0xBFC35B3C60000000) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef %54, float noundef 0x3FC1F96240000000) #56 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %56, float noundef %54, float noundef 0xBFC515A6E0000000) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef %54, float noundef 0x3FC99C3200000000) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef %54, float noundef 0xBFD000B1C0000000) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %54, float noundef 0x3FD5555280000000) #56 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %54, float noundef -5.000000e-01) #56 + %62 = fmul float %61, %54 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %62, float noundef %54, float noundef %54) #56 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef 0x3FE62E4300000000, float noundef %63) #56 + %65 = or i32 %7, 1056964608 + %66 = bitcast i32 %65 to float + %67 = fmul float %64, %66 + %68 = bitcast i32 %9 to float + %69 = select i1 %5, float %68, float %67 + br i1 %4, label %82, label %70, !prof !1189 + +70: ; preds = %1 + %71 = bitcast float %3 to i32 + %72 = and i32 %2, 2139095040 + %73 = icmp eq i32 %72, 2139095040 + br i1 %73, label %78, label %74 + +74: ; preds = %70 + %75 = icmp eq i32 %71, 1065353216 + %76 = fdiv float %0, 0.000000e+00 + %77 = select i1 %75, float %76, float 0x7FF8000000000000 + br label %82 + +78: ; preds = %70 + %79 = icmp eq i32 %71, 2139095040 + %80 = select i1 %79, float 0.000000e+00, float %0 + %81 = fmul float %80, %0 + br label %82 + +82: ; preds = %78, %74, %1 + %83 = phi float [ %69, %1 ], [ %77, %74 ], [ %81, %78 ] + ret float %83 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_atan2f(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1211 { + %3 = bitcast float %0 to i32 + %4 = bitcast float %1 to i32 + %5 = tail call float @llvm.fabs.f32(float %1) + %6 = bitcast float %5 to i32 + %7 = tail call float @llvm.fabs.f32(float %0) + %8 = bitcast float %7 to i32 + %9 = and i32 %3, -2147483648 + %10 = icmp slt i32 %4, 0 + %11 = select i1 %10, i32 1078530011, i32 0 + %12 = tail call i32 @llvm.umin.i32(i32 %6, i32 %8) + %13 = tail call i32 @llvm.umax.i32(i32 %6, i32 %8) + %14 = icmp ult i32 %6, %8 + %15 = select i1 %14, i32 1070141403, i32 0 + %16 = bitcast i32 %15 to float + %17 = bitcast i32 %11 to float + %18 = fsub float %16, %17 + %19 = bitcast float %18 to i32 + %20 = select i1 %14, i32 -2147483648, i32 0 + %21 = xor i32 %20, %19 + %22 = xor i32 %4, %3 + %23 = and i32 %22, -2147483648 + %24 = add nsw i32 %13, -2122317825 + %25 = icmp ult i32 %24, -2113929217 + %26 = bitcast i32 %12 to float + %27 = fcmp oeq float %26, 0.000000e+00 + %28 = or i1 %25, %27 + br i1 %28, label %52, label %29 + +29: ; preds = %86, %84, %78, %2 + %30 = phi i32 [ %83, %78 ], [ %91, %86 ], [ %12, %84 ], [ %12, %2 ] + %31 = phi i32 [ %81, %78 ], [ %89, %86 ], [ %13, %84 ], [ %13, %2 ] + %32 = bitcast i32 %31 to float + %33 = fdiv float 1.000000e+00, %32 + %34 = bitcast i32 %30 to float + %35 = fmul float %33, %34 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %33, float noundef -5.000000e-01) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F92134F60000000, float noundef %36, float noundef 0xBFA126AF20000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %36, float noundef 0xBF75957A40000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %36, float noundef 0x3FB193EF60000000) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %36, float noundef 0xBFB0B589C0000000) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef %36, float noundef 0xBFA734AA20000000) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %36, float noundef 0x3FC691DF60000000) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %36, float noundef 0xBFC0BEC500000000) #56 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %36, float noundef 0xBFD04B3700000000) #56 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %36, float noundef 0xBFB29CC7A0000000) #56 + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %45, float noundef %35, float noundef %35) #56 + %47 = bitcast i32 %21 to float + %48 = fadd float %46, %47 + %49 = bitcast float %48 to i32 + %50 = xor i32 %23, %49 + %51 = xor i32 %50, %20 + br label %92 + +52: ; preds = %2 + %53 = icmp ugt i32 %13, 2139095040 + br i1 %53, label %54, label %58 + +54: ; preds = %52 + %55 = icmp ugt i32 %6, 2139095040 + %56 = select i1 %55, i32 %4, i32 %3 + %57 = or i32 %56, 4194304 + br label %92 + +58: ; preds = %52 + br i1 %27, label %59, label %63 + +59: ; preds = %58 + %60 = tail call float @llvm.fabs.f32(float %18) + %61 = bitcast float %60 to i32 + %62 = xor i32 %9, %61 + br label %92 + +63: ; preds = %58 + %64 = icmp eq i32 %13, 2139095040 + br i1 %64, label %65, label %76 + +65: ; preds = %63 + %66 = icmp ult i32 %12, 2139095040 + br i1 %66, label %67, label %72 + +67: ; preds = %65 + %68 = icmp eq i32 %8, 2139095040 + %69 = or i32 %9, 1070141403 + %70 = xor i32 %23, %21 + %71 = select i1 %68, i32 %69, i32 %70 + br label %92 + +72: ; preds = %65 + %73 = icmp eq i32 %4, -8388608 + %74 = select i1 %73, i32 1075235812, i32 1061752795 + %75 = or i32 %74, %9 + br label %92 + +76: ; preds = %63 + %77 = icmp ult i32 %13, 8388608 + br i1 %77, label %78, label %84 + +78: ; preds = %76 + %79 = bitcast i32 %13 to float + %80 = fmul float %79, 0x41F0000000000000 + %81 = bitcast float %80 to i32 + %82 = fmul float %26, 0x41F0000000000000 + %83 = bitcast float %82 to i32 + br label %29 + +84: ; preds = %76 + %85 = icmp ugt i32 %13, 2122317824 + br i1 %85, label %86, label %29 + +86: ; preds = %84 + %87 = bitcast i32 %13 to float + %88 = fmul float %87, 2.500000e-01 + %89 = bitcast float %88 to i32 + %90 = fmul float %26, 2.500000e-01 + %91 = bitcast float %90 to i32 + br label %29 + +92: ; preds = %72, %67, %59, %54, %29 + %93 = phi i32 [ %57, %54 ], [ %62, %59 ], [ %71, %67 ], [ %75, %72 ], [ %51, %29 ] + %94 = bitcast i32 %93 to float + ret float %94 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.umax.i32(i32, i32) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_asinf(float noundef %0) local_unnamed_addr #31 !srcloc !1212 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = xor i32 %2, %4 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef -5.000000e-01, float noundef %3, float noundef 5.000000e-01) #56 + %7 = fmul float %0, %0 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %7, float noundef %6) #56 + %9 = fadd float %6, 0x3830000000000000 + %10 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %9) #56 + %11 = fdiv float 1.000000e+00, %10 + %12 = fmul float %6, %11 + %13 = fmul float %12, -2.000000e+00 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA5DB80E0000000, float noundef %8, float noundef 0x3F98654D60000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %8, float noundef 0x3FA7535680000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %8, float noundef 0x3FB32F8240000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %8, float noundef 0x3FC5555FE0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %8, float noundef 1.000000e+00) #56 + %19 = fcmp ole float %3, 5.000000e-01 + %20 = select i1 %19, float %3, float %13 + %21 = select i1 %19, float 0.000000e+00, float 0x3FF921FB60000000 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %20, float noundef %21) #56 + %23 = bitcast float %22 to i32 + %24 = or i32 %5, %23 + %25 = bitcast i32 %24 to float + ret float %25 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_asinhf(float noundef %0) local_unnamed_addr #31 !srcloc !1213 { + %2 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef 0.000000e+00) #56 + %3 = fadd float %2, 1.000000e+00 + %4 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %2, float noundef 1.000000e+00) #56 + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %2, float noundef 1.000000e+00) #56 + %6 = fneg float %2 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef %6) #56 + %8 = fsub float %3, %4 + %9 = fsub float %5, %8 + %10 = fadd float %7, %9 + %11 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %3) #56 + %12 = fdiv float 1.000000e+00, %11 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef %12, float noundef 0.000000e+00) #56 + %14 = fmul float %12, 5.000000e-01 + %15 = fneg float %13 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %13, float noundef %3) #56 + %17 = fadd float %16, %10 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %14, float noundef 0.000000e+00) #56 + %19 = fadd float %13, %18 + %20 = fsub float %19, %13 + %21 = fsub float %18, %20 + %22 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %23 = bitcast float %22 to i32 + %24 = fadd float %22, %19 + %25 = fsub float %24, %19 + %26 = fsub float %22, %25 + %27 = fadd float %26, %21 + %28 = fcmp olt float %22, 0x4130000000000000 + %29 = fmul float %22, 5.000000e-01 + %30 = select i1 %28, float %24, float %29 + %31 = bitcast float %30 to i32 + %32 = select i1 %28, float %27, float 0.000000e+00 + %33 = select i1 %28, i32 0, i32 2 + %34 = add i32 %31, 4194304 + %35 = lshr i32 %34, 23 + %36 = add nsw i32 %35, -127 + %37 = shl i32 %36, 23 + %38 = sub nsw i32 1065353216, %37 + %39 = bitcast i32 %38 to float + %40 = fmul float %32, %39 + %41 = sub i32 %31, %37 + %42 = bitcast i32 %41 to float + %43 = fadd float %42, -1.000000e+00 + %44 = fadd float %40, %43 + %45 = add nsw i32 %36, %33 + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FAC77BC60000000, float noundef %44, float noundef 0xBFBF4C3E40000000) #56 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %46, float noundef %44, float noundef 0x3FC3390A60000000) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef %44, float noundef 0xBFC5840940000000) #56 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %44, float noundef 0x3FC9908760000000) #56 + %50 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %49, float noundef %44, float noundef 0xBFCFFDED80000000) #56 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %50, float noundef %44, float noundef 0x3FD5556480000000) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %51, float noundef %44, float noundef 0xBFE0000140000000) #56 + %53 = bitcast float %0 to i32 + %54 = xor i32 %53, %23 + %55 = fmul float %52, %44 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef %44, float noundef %44) #56 + %57 = sitofp i32 %45 to float + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef 0x3FE62E4300000000, float noundef %56) #56 + %59 = bitcast float %58 to i32 + %60 = xor i32 %54, %59 + %61 = fcmp olt float %22, 0x3F30000000000000 + %62 = icmp ugt i32 %23, 2139095039 + %63 = or i1 %61, %62 + %64 = bitcast i32 %54 to float + %65 = fadd float %64, %0 + %66 = bitcast i32 %60 to float + %67 = select i1 %63, float %65, float %66 + ret float %67 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_acosf(float noundef %0) local_unnamed_addr #31 !srcloc !1214 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = xor i32 %2, %4 + %6 = fneg float %3 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %6, float noundef 5.000000e-01, float noundef 5.000000e-01) #56 + %8 = fmul float %0, %0 + %9 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %8, float noundef %7) #56 + %10 = icmp eq i32 %5, 0 + %11 = select i1 %10, float 0.000000e+00, float 0x400921FB60000000 + %12 = select i1 %10, float 0.000000e+00, float 0xBE7777A5C0000000 + %13 = fcmp ole float %3, 5.000000e-01 + %14 = select i1 %13, float 0x3FF921FB60000000, float %11 + %15 = select i1 %13, float 0xBE6777A5C0000000, float %12 + %16 = select i1 %13, float 0x7FF0000000000000, float 0.000000e+00 + %17 = fadd float %7, %16 + %18 = fadd float %17, 0x3830000000000000 + %19 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %18) #56 + %20 = fdiv float 1.000000e+00, %19 + %21 = bitcast float %20 to i32 + %22 = or i32 %5, %21 + %23 = bitcast i32 %22 to float + %24 = fmul float %7, %23 + %25 = fmul float %24, -2.000000e+00 + %26 = fneg float %24 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %24, float noundef %7) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %23, float noundef %15) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA5DB80E0000000, float noundef %9, float noundef 0x3F98654D60000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %9, float noundef 0x3FA7535680000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %9, float noundef 0x3FB32F8240000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %9, float noundef 0x3FC5555FE0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %9, float noundef 0xBE336BE2A0000000) #56 + %34 = select i1 %13, float %0, float %25 + %35 = fneg float %33 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %34, float noundef %28) #56 + %37 = fsub float %36, %34 + %38 = fadd float %14, %37 + ret float %38 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_acoshf(float noundef %0) local_unnamed_addr #31 !srcloc !1215 { + %2 = fcmp ole float %0, 0x47EFFFFFE0000000 + %3 = fcmp ogt float %0, 1.000000e+00 + %4 = and i1 %2, %3 + %5 = fcmp olt float %0, 0x41D0000000000000 + %6 = sext i1 %5 to i32 + %7 = fadd float %0, -1.000000e+00 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef -1.000000e+00) #56 + %9 = bitcast float %8 to i32 + %10 = and i32 %9, -65536 + %11 = bitcast i32 %10 to float + %12 = fsub float %8, %11 + %13 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %11) #56 + %14 = fdiv float 1.000000e+00, %13 + %15 = bitcast float %14 to i32 + %16 = and i32 %15, -65536 + %17 = bitcast i32 %16 to float + %18 = fmul float %11, %17 + %19 = fmul float %12, %17 + %20 = fneg float %18 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %17, float noundef 1.000000e+00) #56 + %22 = fneg float %19 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %17, float noundef %21) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 3.125000e-01, float noundef %23, float noundef 3.750000e-01) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %23, float noundef 5.000000e-01) #56 + %26 = fmul float %25, %23 + %27 = fadd float %18, %19 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %26, float noundef %27) #56 + %29 = fadd float %7, %28 + %30 = fcmp olt float %29, 1.000000e+00 + %31 = select i1 %30, float 1.000000e+00, float %29 + %32 = fcmp ogt float %29, 1.000000e+00 + %33 = select i1 %32, float 1.000000e+00, float %29 + %34 = fadd float %31, %33 + %35 = fsub float %31, %34 + %36 = fadd float %35, %33 + %37 = fmul float %0, 0x3E10000000000000 + %38 = bitcast float %37 to i32 + %39 = select i1 %5, i32 0, i32 %38 + %40 = bitcast float %34 to i32 + %41 = and i32 %6, %40 + %42 = or i32 %39, %41 + %43 = bitcast float %36 to i32 + %44 = and i32 %43, %6 + %45 = bitcast i32 %44 to float + %46 = add i32 %42, -1059760811 + %47 = and i32 %46, 8388607 + %48 = ashr i32 %46, 23 + %49 = add nuw nsw i32 %47, 1059760811 + %50 = sitofp i32 %48 to float + %51 = bitcast i32 %49 to float + %52 = and i32 %46, -8388608 + %53 = sub i32 1065353216, %52 + %54 = bitcast i32 %53 to float + %55 = fmul float %45, %54 + %56 = fadd float %51, -1.000000e+00 + %57 = fadd float %56, %55 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC1B09DA0000000, float noundef %57, float noundef 0xBFC35B3C60000000) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef %57, float noundef 0x3FC1F96240000000) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %57, float noundef 0xBFC515A6E0000000) #56 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %57, float noundef 0x3FC99C3200000000) #56 + %62 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %61, float noundef %57, float noundef 0xBFD000B1C0000000) #56 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %62, float noundef %57, float noundef 0x3FD5555280000000) #56 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %63, float noundef %57, float noundef -5.000000e-01) #56 + %65 = fmul float %64, %57 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef %57, float noundef %57) #56 + %67 = fadd float %50, 3.100000e+01 + %68 = bitcast float %67 to i32 + %69 = select i1 %5, i32 0, i32 %68 + %70 = bitcast float %50 to i32 + %71 = and i32 %6, %70 + %72 = or i32 %69, %71 + %73 = bitcast i32 %72 to float + %74 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %73, float noundef 0x3FE62E4300000000, float noundef %66) #56 + br i1 %4, label %89, label %75, !prof !1189 + +75: ; preds = %1 + %76 = bitcast float %0 to i32 + %77 = and i32 %76, 2139095040 + %78 = icmp ne i32 %77, 2139095040 + %79 = and i32 %76, 8388607 + %80 = icmp eq i32 %79, 0 + %81 = or i1 %78, %80 + br i1 %81, label %84, label %82 + +82: ; preds = %75 + %83 = fmul float %0, %0 + br label %89 + +84: ; preds = %75 + %85 = icmp eq i32 %76, 2139095040 + %86 = select i1 %85, float 0x7FF0000000000000, float 0x7FF8000000000000 + %87 = icmp eq i32 %76, 1065353216 + %88 = select i1 %87, float 0.000000e+00, float %86 + br label %89 + +89: ; preds = %84, %82, %1 + %90 = phi float [ %74, %1 ], [ %83, %82 ], [ %88, %84 ] + ret float %90 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_erff(float noundef %0) local_unnamed_addr #31 !srcloc !1216 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = fcmp olt float %2, 1.500000e+00 + br i1 %3, label %4, label %25 + +4: ; preds = %1 + %5 = fcmp olt float %2, 8.750000e-01 + br i1 %5, label %6, label %15 + +6: ; preds = %4 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %2, float noundef %2, float noundef 0.000000e+00) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F16BDF500000000, float noundef %7, float noundef 0xBF4AE7F920000000) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef %7, float noundef 0x3F7553ABA0000000) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %7, float noundef 0xBF9B819A60000000) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef %7, float noundef 0x3FBCE2E840000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %7, float noundef 0xBFD8127440000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %7, float noundef 0x3FC06EBA80000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %2, float noundef %2) #56 + br label %46 + +15: ; preds = %4 + %16 = fadd float %2, -1.187500e+00 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F7B32B900000000, float noundef %16, float noundef 0x3F925AA5C0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %16, float noundef 0xBFAC0E6960000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %16, float noundef 0x3F84344D60000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %16, float noundef 0x3FC5648CC0000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %16, float noundef 0xBFD4EF0B60000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %16, float noundef 0x3FD1A0DC60000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %16, float noundef 0xBFB7D3FA60000000) #56 + %24 = fadd float %23, 1.000000e+00 + br label %46 + +25: ; preds = %1 + %26 = bitcast float %2 to i32 + %27 = fcmp ogt float %2, 4.000000e+00 + %28 = icmp ult i32 %26, 2139095041 + %29 = and i1 %28, %27 + %30 = fadd float %2, -2.750000e+00 + %31 = select i1 %29, float 1.250000e+00, float %30 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3EC1ECB4E0000000, float noundef %31, float noundef 0xBED1BA2EC0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %31, float noundef 0xBEED94DDA0000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %31, float noundef 0x3F0FB52340000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %31, float noundef 0xBF134C9C40000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %31, float noundef 0xBF18AE2EA0000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %31, float noundef 0x3F4539A340000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %31, float noundef 0xBF5B1C9140000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %31, float noundef 0x3F66921280000000) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %31, float noundef 0xBF6AB210C0000000) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef %31, float noundef 0x3F669D27C0000000) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %31, float noundef 0xBF5A6A1440000000) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %31, float noundef 0x3F43360380000000) #56 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %31, float noundef 0xBF1A60AE40000000) #56 + %45 = fadd float %44, 1.000000e+00 + br label %46 + +46: ; preds = %25, %15, %6 + %47 = phi float [ %14, %6 ], [ %24, %15 ], [ %45, %25 ] + %48 = bitcast float %0 to i32 + %49 = and i32 %48, -2147483648 + %50 = bitcast float %47 to i32 + %51 = xor i32 %49, %50 + %52 = bitcast i32 %51 to float + ret float %52 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_coshf(float noundef %0) local_unnamed_addr #31 !srcloc !1217 { + %2 = alloca float, align 4 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FF7154760000000, float noundef 0x4168000000000000) #56 + %6 = icmp ugt i32 %4, 1118743629 + %7 = fadd float %5, 0xC168000000000000 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE62E0000000000, float noundef %7, float noundef %3) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF00BFBE80000000, float noundef %7, float noundef %8) #56 + %10 = bitcast float %5 to i32 + %11 = shl i32 %10, 23 + %12 = fmul float %9, %9 + %13 = add i32 %11, 1056964608 + %14 = bitcast i32 %13 to float + %15 = sub i32 1056964608, %11 + %16 = bitcast i32 %15 to float + %17 = fsub float %14, %16 + %18 = fadd float %14, %16 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F81228C20000000, float noundef %12, float noundef 0x3FC5554AE0000000) #56 + %20 = fmul float %19, %12 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %9, float noundef %9) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F56D51460000000, float noundef %12, float noundef 0x3FA5554E40000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %12, float noundef 5.000000e-01) #56 + %24 = fmul float %23, %12 + %25 = fmul float %24, %18 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %21, float noundef %25) #56 + %27 = fadd float %26, %18 + br i1 %6, label %28, label %31, !prof !1176 + +28: ; preds = %1 + %29 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store float %27, ptr %2, align 4, !tbaa !731 + call spir_func void @_ZN20__imf_impl_cosh_s_la12_GLOBAL__N_130__devicelib_imf_internal_scoshEPKfPf(float %0, ptr addrspace(4) noundef %29) #54 + %30 = load float, ptr %2, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %31 + +31: ; preds = %28, %1 + %32 = phi float [ %30, %28 ], [ %27, %1 ] + ret float %32 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_cosh_s_la12_GLOBAL__N_130__devicelib_imf_internal_scoshEPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1218 !sycl_kernel_omit_args !1186 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %4 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FF7154760000000, float noundef 0x4158001FC0000000) #56 + %5 = bitcast float %4 to i32 + %6 = fadd float %4, 0xC158001FC0000000 + %7 = fneg float %6 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0x3FE62E4300000000, float noundef %3) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0xBE205C6100000000, float noundef %8) #56 + %10 = and i32 %5, 1 + %11 = sub nsw i32 0, %10 + %12 = and i32 %11, 7668979 + %13 = and i32 %11, 848495278 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef 0x3F81175160000000, float noundef 0x3FA55D89C0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %14, float noundef 0x3FC5555380000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %15, float noundef 0x3FDFFFFD00000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %16, float noundef 1.000000e+00) #56 + %18 = bitcast i32 %13 to float + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %17, float noundef %18) #56 + %20 = tail call float @llvm.fabs.f32(float %3) + %21 = bitcast float %20 to i32 + %22 = icmp ugt i32 %21, 1118743631 + br i1 %22, label %29, label %23 + +23: ; preds = %2 + %24 = shl i32 %5, 22 + %25 = xor i32 %24, %12 + %26 = bitcast i32 %25 to float + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %26, float noundef %26) #56 + %28 = fmul float %27, 5.000000e-01 + store float %28, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %48 + +29: ; preds = %2 + %30 = icmp ugt i32 %21, 1119016188 + br i1 %30, label %31, label %36 + +31: ; preds = %29 + %32 = icmp ugt i32 %21, 2139095040 + br i1 %32, label %33, label %35 + +33: ; preds = %31 + %34 = fadd float %3, %3 + store float %34, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %48 + +35: ; preds = %31 + store float 0x7FF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %48 + +36: ; preds = %29 + %37 = add i32 %5, 254 + %38 = shl i32 %37, 21 + %39 = and i32 %38, 2139095040 + %40 = shl i32 %37, 22 + %41 = sub i32 %40, %39 + %42 = xor i32 %41, %12 + %43 = bitcast i32 %42 to float + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %43, float noundef %43) #56 + %45 = fmul float %44, 5.000000e-01 + %46 = bitcast i32 %39 to float + %47 = fmul float %45, %46 + store float %47, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %48 + +48: ; preds = %36, %35, %33, %23 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_frexpf(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #30 !srcloc !1219 { + %3 = bitcast float %0 to i32 + %4 = and i32 %3, 2139095040 + %5 = add nsw i32 %4, -1056964608 + %6 = ashr exact i32 %5, 23 + %7 = and i32 %3, -2139095041 + %8 = or i32 %7, 1056964608 + %9 = bitcast i32 %8 to float + switch i32 %4, label %24 [ + i32 2139095040, label %23 + i32 0, label %10 + ] + +10: ; preds = %2 + %11 = tail call float @llvm.fabs.f32(float %0) + %12 = bitcast float %11 to i32 + %13 = icmp eq i32 %12, 0 + br i1 %13, label %24, label %14 + +14: ; preds = %10 + %15 = fmul float %0, 0x4180000000000000 + %16 = bitcast float %15 to i32 + %17 = lshr i32 %16, 23 + %18 = and i32 %17, 255 + %19 = add nsw i32 %18, -151 + %20 = and i32 %16, -2139095041 + %21 = or i32 %20, 1056964608 + %22 = bitcast i32 %21 to float + br label %24 + +23: ; preds = %2 + br label %24 + +24: ; preds = %23, %14, %10, %2 + %25 = phi i32 [ %6, %2 ], [ %19, %14 ], [ 0, %10 ], [ 0, %23 ] + %26 = phi float [ %9, %2 ], [ %22, %14 ], [ %0, %10 ], [ %0, %23 ] + store i32 %25, ptr addrspace(4) %1, align 4, !tbaa !717 + ret float %26 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmodf(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1220 { + %3 = bitcast float %0 to i32 + %4 = tail call float @llvm.fabs.f32(float %1) + %5 = bitcast float %4 to i32 + %6 = and i32 %3, -2147483648 + %7 = tail call float @llvm.fabs.f32(float %0) + %8 = bitcast float %7 to i32 + %9 = icmp eq i32 %5, 1065353216 + br i1 %9, label %10, label %34 + +10: ; preds = %2 + %11 = icmp ugt i32 %8, 1065353216 + br i1 %11, label %16, label %12 + +12: ; preds = %10 + %13 = icmp eq i32 %8, 1065353216 + %14 = fmul float %0, 0.000000e+00 + %15 = select i1 %13, float %14, float %0 + br label %138 + +16: ; preds = %10 + %17 = icmp ult i32 %8, 1258291200 + br i1 %17, label %18, label %30 + +18: ; preds = %16 + %19 = add nsw i32 %8, -1065353216 + %20 = lshr i32 %19, 23 + %21 = sub nuw nsw i32 23, %20 + %22 = shl nsw i32 -1, %21 + %23 = and i32 %22, %8 + %24 = or i32 %6, %23 + %25 = bitcast i32 %24 to float + %26 = fsub float %0, %25 + %27 = bitcast float %26 to i32 + %28 = or i32 %6, %27 + %29 = bitcast i32 %28 to float + br label %138 + +30: ; preds = %16 + %31 = icmp ult i32 %8, 2139095040 + br i1 %31, label %32, label %36 + +32: ; preds = %30 + %33 = fmul float %0, 0.000000e+00 + br label %138 + +34: ; preds = %2 + %35 = icmp ugt i32 %8, 2139095040 + br i1 %35, label %38, label %40 + +36: ; preds = %30 + %37 = icmp eq i32 %8, 2139095040 + br i1 %37, label %138, label %38 + +38: ; preds = %36, %34 + %39 = fmul float %0, %1 + br label %138 + +40: ; preds = %34 + %41 = icmp ugt i32 %5, 2139095040 + br i1 %41, label %42, label %44 + +42: ; preds = %40 + %43 = fmul float %1, %0 + br label %138 + +44: ; preds = %40 + %45 = icmp eq i32 %5, 0 + %46 = icmp eq i32 %8, 2139095040 + %47 = or i1 %45, %46 + br i1 %47, label %138, label %48 + +48: ; preds = %44 + %49 = icmp eq i32 %5, 2139095040 + %50 = icmp ult i32 %8, %5 + %51 = or i1 %49, %50 + br i1 %51, label %138, label %52 + +52: ; preds = %48 + %53 = icmp eq i32 %8, %5 + br i1 %53, label %54, label %56 + +54: ; preds = %52 + %55 = fmul float %0, 0.000000e+00 + br label %138 + +56: ; preds = %52 + %57 = lshr i32 %5, 23 + %58 = add nsw i32 %57, -127 + %59 = and i32 %8, 8388607 + %60 = and i32 %5, 8388607 + %61 = icmp ugt i32 %8, 8388607 + %62 = icmp eq i32 %59, 0 + %63 = or i1 %61, %62 + br i1 %63, label %71, label %64 + +64: ; preds = %68, %56 + %65 = phi i32 [ %69, %68 ], [ -126, %56 ] + %66 = phi i32 [ %70, %68 ], [ %59, %56 ] + %67 = icmp ult i32 %66, 8388608 + br i1 %67, label %68, label %75 + +68: ; preds = %64 + %69 = add nsw i32 %65, -1 + %70 = shl nuw nsw i32 %66, 1 + br label %64, !llvm.loop !1221 + +71: ; preds = %56 + %72 = lshr i32 %8, 23 + %73 = add nsw i32 %72, -127 + %74 = or i32 %59, 8388608 + br label %75 + +75: ; preds = %71, %64 + %76 = phi i32 [ %73, %71 ], [ %65, %64 ] + %77 = phi i32 [ %74, %71 ], [ %66, %64 ] + %78 = icmp ugt i32 %5, 8388607 + %79 = icmp eq i32 %60, 0 + %80 = or i1 %78, %79 + br i1 %80, label %88, label %81 + +81: ; preds = %85, %75 + %82 = phi i32 [ %86, %85 ], [ -126, %75 ] + %83 = phi i32 [ %87, %85 ], [ %60, %75 ] + %84 = icmp ult i32 %83, 8388608 + br i1 %84, label %85, label %90 + +85: ; preds = %81 + %86 = add nsw i32 %82, -1 + %87 = shl nuw nsw i32 %83, 1 + br label %81, !llvm.loop !1222 + +88: ; preds = %75 + %89 = or i32 %60, 8388608 + br label %90 + +90: ; preds = %88, %81 + %91 = phi i32 [ %58, %88 ], [ %82, %81 ] + %92 = phi i32 [ %89, %88 ], [ %83, %81 ] + %93 = sub nsw i32 %76, %91 + %94 = add nsw i32 %93, 1 + br label %95 + +95: ; preds = %99, %90 + %96 = phi i32 [ 0, %90 ], [ %104, %99 ] + %97 = phi i32 [ %77, %90 ], [ %103, %99 ] + %98 = icmp ult i32 %96, %94 + br i1 %98, label %99, label %105 + +99: ; preds = %95 + %100 = icmp ult i32 %97, %92 + %101 = select i1 %100, i32 0, i32 %92 + %102 = sub i32 %97, %101 + %103 = shl i32 %102, 1 + %104 = add nuw nsw i32 %96, 1 + br label %95, !llvm.loop !1223 + +105: ; preds = %95 + %106 = icmp eq i32 %97, 0 + br i1 %106, label %107, label %109 + +107: ; preds = %105 + %108 = fmul float %0, 0.000000e+00 + br label %138 + +109: ; preds = %105 + %110 = lshr i32 %97, 1 + br label %111 + +111: ; preds = %115, %109 + %112 = phi i32 [ %91, %109 ], [ %116, %115 ] + %113 = phi i32 [ %110, %109 ], [ %117, %115 ] + %114 = icmp ult i32 %113, 8388608 + br i1 %114, label %115, label %118 + +115: ; preds = %111 + %116 = add nsw i32 %112, -1 + %117 = shl nuw nsw i32 %113, 1 + br label %111, !llvm.loop !1224 + +118: ; preds = %111 + %119 = icmp sgt i32 %112, -127 + br i1 %119, label %120, label %124 + +120: ; preds = %118 + %121 = and i32 %113, 8388607 + %122 = shl i32 %112, 23 + %123 = add i32 %122, 1065353216 + br label %127 + +124: ; preds = %118 + %125 = sub nuw nsw i32 -126, %112 + %126 = lshr i32 %113, %125 + br label %127 + +127: ; preds = %124, %120 + %128 = phi i32 [ %123, %120 ], [ 0, %124 ] + %129 = phi i32 [ %121, %120 ], [ %126, %124 ] + %130 = or i32 %128, %129 + %131 = bitcast i32 %130 to float + %132 = icmp ult i32 %130, %5 + %133 = select i1 %132, float 0.000000e+00, float %1 + %134 = fsub float %131, %133 + %135 = icmp eq i32 %6, 0 + %136 = fneg float %134 + %137 = select i1 %135, float %134, float %136 + br label %138 + +138: ; preds = %127, %107, %54, %48, %44, %42, %38, %36, %32, %18, %12 + %139 = phi float [ %29, %18 ], [ %33, %32 ], [ %39, %38 ], [ %43, %42 ], [ %55, %54 ], [ %108, %107 ], [ %137, %127 ], [ 0x7FF8000000000000, %44 ], [ 0x7FF8000000000000, %36 ], [ %0, %48 ], [ %15, %12 ] + ret float %139 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fdimf(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1225 { + %3 = bitcast float %0 to i32 + %4 = bitcast float %1 to i32 + %5 = and i32 %3, 2139095040 + %6 = icmp eq i32 %5, 2139095040 + %7 = and i32 %4, 2139095040 + %8 = icmp eq i32 %7, 2139095040 + %9 = or i1 %6, %8 + %10 = fcmp ogt float %0, %1 + %11 = fsub float %0, %1 + %12 = select i1 %10, float %11, float 0.000000e+00 + br i1 %9, label %13, label %24, !prof !1176 + +13: ; preds = %2 + %14 = icmp ne i32 %5, 2139095040 + %15 = and i32 %3, 8388607 + %16 = icmp eq i32 %15, 0 + %17 = or i1 %14, %16 + %18 = select i1 %17, float %12, float %0 + %19 = icmp ne i32 %7, 2139095040 + %20 = and i32 %4, 8388607 + %21 = icmp eq i32 %20, 0 + %22 = or i1 %19, %21 + %23 = select i1 %22, float %18, float %1 + br label %24 + +24: ; preds = %13, %2 + %25 = phi float [ %12, %2 ], [ %23, %13 ] + ret float %25 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_expm1f(float noundef %0) local_unnamed_addr #31 !srcloc !1226 { + %2 = bitcast float %0 to i32 + %3 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef 0x3FF7154760000000, float noundef 0.000000e+00) #56 + %4 = tail call spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef %3) #56 + %5 = fadd float %4, 0x4168000FE0000000 + %6 = bitcast float %5 to i32 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 0xBFE62E4300000000, float noundef %0) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 0x3E205C6100000000, float noundef 0.000000e+00) #56 + %9 = fadd float %7, %8 + %10 = shl i32 %6, 23 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3EFA5B05A0000000, float noundef %9, float noundef 0x3F2A5B0620000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %9, float noundef 0x3F56C0D9C0000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %9, float noundef 0x3F8110A580000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %9, float noundef 0x3FA5555600000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %9, float noundef 0x3FC5555600000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %9, float noundef 0xBE0FD85000000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %9, float noundef 0xBE13E699E0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %9, float noundef %8) #56 + %19 = fcmp oge float %0, 0.000000e+00 + %20 = bitcast i32 %10 to float + %21 = select i1 %19, float %20, float -1.000000e+00 + %22 = select i1 %19, float -1.000000e+00, float %20 + %23 = fadd float %20, -1.000000e+00 + %24 = fsub float %23, %21 + %25 = fsub float %22, %24 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %7, float noundef 0.000000e+00) #56 + %27 = fneg float %26 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %7, float noundef %27) #56 + %29 = fadd float %26, %23 + %30 = fadd float %29, %29 + %31 = fsub float %29, %23 + %32 = fsub float %26, %31 + %33 = fadd float %25, %32 + %34 = fadd float %33, %28 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %7, float noundef %30) #56 + %36 = fsub float %35, %30 + %37 = fneg float %36 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %7, float noundef %37) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %8, float noundef %34) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef 5.000000e-01, float noundef %39) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %18, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef 5.000000e-01, float noundef %41) #56 + %43 = bitcast float %42 to i32 + %44 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %45 = bitcast float %44 to i32 + %46 = xor i32 %2, %45 + %47 = or i32 %46, %43 + %48 = fcmp ugt float %44, 8.700000e+01 + br i1 %48, label %51, label %49 + +49: ; preds = %1 + %50 = bitcast i32 %47 to float + br label %71 + +51: ; preds = %1 + %52 = fcmp olt float %0, 0.000000e+00 + br i1 %52, label %71, label %53 + +53: ; preds = %51 + %54 = fcmp olt float %0, 1.280000e+02 + br i1 %54, label %62, label %55 + +55: ; preds = %53 + %56 = tail call float @llvm.fabs.f32(float %0) + %57 = bitcast float %56 to i32 + %58 = icmp ugt i32 %57, 2139095040 + %59 = bitcast i32 %47 to float + %60 = fadd float %59, %0 + %61 = select i1 %58, float %60, float 0x7FF0000000000000 + br label %71 + +62: ; preds = %53 + %63 = add i32 %10, -536870912 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %9, float noundef 5.000000e-01) #56 + %65 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %64, float noundef %9, float noundef 0xBE0FD85000000000) #56 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef %9, float noundef %8) #56 + %67 = fadd float %66, %7 + %68 = bitcast i32 %63 to float + %69 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %68, float noundef %67, float noundef %68) #56 + %70 = fmul float %69, 0x43F0000000000000 + br label %71 + +71: ; preds = %62, %55, %51, %49 + %72 = phi float [ %70, %62 ], [ %50, %49 ], [ -1.000000e+00, %51 ], [ %61, %55 ] + ret float %72 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_erfcf(float noundef %0) local_unnamed_addr #31 !srcloc !1227 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = fcmp olt float %3, 1.006250e+01 + %5 = select i1 %4, float %3, float 1.006250e+01 + %6 = and i32 %2, -2147483648 + %7 = or i32 %6, 1065353216 + %8 = bitcast i32 %7 to float + %9 = fsub float 1.000000e+00, %8 + %10 = fadd float %5, 1.310720e+05 + %11 = fcmp ogt float %5, 0x3CF0000000000000 + %12 = select i1 %11, float %5, float 0x3CF0000000000000 + %13 = fadd float %10, -1.310720e+05 + %14 = fsub float %12, %13 + %15 = fmul float %13, %14 + %16 = bitcast float %10 to i32 + %17 = or i32 %6, 662700032 + %18 = bitcast i32 %17 to float + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC114F940000000, float noundef %15, float noundef 0xBFD559E440000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FE00B66C0000000, float noundef %15, float noundef 0xBFD569DB60000000) #56 + %21 = shl i32 %16, 1 + %22 = and i32 %21, 1073741822 + %23 = zext nneg i32 %22 to i64 + %24 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_erfc_s_la12_GLOBAL__N_135__devicelib_imf_internal_serfc_dataE, i64 -1073741824), i64 %23 + %25 = load float, ptr addrspace(1) %24, align 4, !tbaa !717 + %26 = or i32 %22, 1 + %27 = zext nneg i32 %26 to i64 + %28 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_erfc_s_la12_GLOBAL__N_135__devicelib_imf_internal_serfc_dataE, i64 -1073741824), i64 %27 + %29 = load float, ptr addrspace(1) %28, align 4, !tbaa !717 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef 0x3FE55554C0000000) #56 + %31 = fmul float %14, %14 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %15, float noundef 0xBFEFFFFF80000000) #56 + %33 = fmul float %20, %31 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %15, float noundef %33) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %29, float noundef %29) #56 + %36 = fneg float %14 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %35, float noundef %25) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %18, float noundef %9) #56 + %39 = fcmp ord float %0, 0.000000e+00 + %40 = select i1 %39, float 0.000000e+00, float %0 + %41 = fadd float %38, %40 + ret float %41 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_erfcinvf(float noundef %0) local_unnamed_addr #31 !srcloc !1228 { + %2 = fsub float 2.000000e+00, %0 + %3 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %2, float noundef 0.000000e+00) #56 + %4 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %0, float noundef %2) #56 + %5 = fcmp olt float %4, 0x3F60000000000000 + %6 = select i1 %5, float %4, float %3 + %7 = fmul float %6, 0x4190000000000000 + %8 = bitcast float %7 to i32 + %9 = add i32 %8, 5592405 + %10 = lshr i32 %9, 23 + %11 = and i32 %9, -8388608 + %12 = add i32 %11, -1065353216 + %13 = sub i32 %8, %12 + %14 = bitcast i32 %13 to float + %15 = fadd float %14, -1.000000e+00 + %16 = add nsw i32 %10, -153 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef 0x3FC9F4EBC0000000, float noundef 0xBFCC71BE60000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %15, float noundef 0x3FC9D48DE0000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %15, float noundef 0xBFCE4F0560000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %15, float noundef 0x3FD27A3F20000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %15, float noundef 0xBFD7172D20000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %15, float noundef 0x3FDEC6FFE0000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %15, float noundef 0xBFE7154560000000) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef %15, float noundef 0x3FF7154760000000) #56 + %25 = sitofp i32 %16 to float + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %15, float noundef %25) #56 + br i1 %5, label %27, label %50 + +27: ; preds = %1 + %28 = fneg float %26 + %29 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %28) #56 + %30 = fdiv float 1.000000e+00, %29 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x40456DD880000000, float noundef %30, float noundef 0xC056F78800000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %30, float noundef 0x40563C37A0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %30, float noundef 0xC049FA3E00000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %30, float noundef 0x4034E05EC0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %30, float noundef 0xC01A51EFA0000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %30, float noundef 0x4002D57880000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %30, float noundef 0x3FB0A188E0000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %30, float noundef 0x3FF33239C0000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %30, float noundef 0x3EF11FD740000000) #56 + %40 = fdiv float 1.000000e+00, %39 + %41 = bitcast float %40 to i32 + %42 = fcmp oeq float %4, 0.000000e+00 + %43 = select i1 %42, i32 2139095040, i32 %41 + %44 = fcmp oge float %4, 0.000000e+00 + %45 = select i1 %44, i32 %43, i32 -4194304 + %46 = fcmp olt float %0, 1.000000e+00 + %47 = or i32 %45, -2147483648 + %48 = select i1 %46, i32 %45, i32 %47 + %49 = bitcast i32 %48 to float + br label %63 + +50: ; preds = %1 + %51 = fsub float 1.000000e+00, %0 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DAF187000000000, float noundef %26, float noundef 0x3E0C5CE480000000) #56 + %53 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %52, float noundef %26, float noundef 0x3E54B95DA0000000) #56 + %54 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %53, float noundef %26, float noundef 0x3E8CC66FC0000000) #56 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %26, float noundef 0x3EA950F020000000) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef %26, float noundef 0xBED9D97E20000000) #56 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %56, float noundef %26, float noundef 0xBEFCF2A300000000) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef %26, float noundef 0x3F4989A0C0000000) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef %26, float noundef 0x3F76BB3FE0000000) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %26, float noundef 0xBFC495BBA0000000) #56 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %26, float noundef 0x3FEC5BF8A0000000) #56 + %62 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %61, float noundef %51, float noundef 0.000000e+00) #56 + br label %63 + +63: ; preds = %50, %27 + %64 = phi float [ %49, %27 ], [ %62, %50 ] + ret float %64 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_normf(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #31 !srcloc !1229 { + br label %3 + +3: ; preds = %14, %2 + %4 = phi float [ 0.000000e+00, %2 ], [ %15, %14 ] + %5 = phi i32 [ 0, %2 ], [ %16, %14 ] + %6 = icmp slt i32 %5, %0 + br i1 %6, label %7, label %17 + +7: ; preds = %3 + %8 = sext i32 %5 to i64 + %9 = getelementptr inbounds float, ptr addrspace(4) %1, i64 %8 + %10 = load float, ptr addrspace(4) %9, align 4, !tbaa !731 + %11 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %10) #56 + %12 = bitcast float %11 to i32 + %13 = icmp eq i32 %12, 2139095040 + br i1 %13, label %42, label %14 + +14: ; preds = %7 + %15 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %4, float noundef %11) #56 + %16 = add nuw nsw i32 %5, 1 + br label %3, !llvm.loop !1230 + +17: ; preds = %3 + %18 = bitcast float %4 to i32 + %19 = and i32 %18, 2139095040 + %20 = lshr i32 %18, 6 + %21 = and i32 %20, 16777216 + %22 = or i32 %21, 2122317824 + %23 = sub nsw i32 %22, %19 + %24 = bitcast i32 %23 to float + br label %25 + +25: ; preds = %29, %17 + %26 = phi float [ 0.000000e+00, %17 ], [ %35, %29 ] + %27 = phi i32 [ 0, %17 ], [ %36, %29 ] + %28 = icmp slt i32 %27, %0 + br i1 %28, label %29, label %37 + +29: ; preds = %25 + %30 = sext i32 %27 to i64 + %31 = getelementptr inbounds float, ptr addrspace(4) %1, i64 %30 + %32 = load float, ptr addrspace(4) %31, align 4, !tbaa !731 + %33 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %32) #56 + %34 = fmul float %33, %24 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %34, float noundef %26) #56 + %36 = add nuw nsw i32 %27, 1 + br label %25, !llvm.loop !1231 + +37: ; preds = %25 + %38 = sub i32 2130706432, %23 + %39 = bitcast i32 %38 to float + %40 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %26) #56 + %41 = fmul float %40, %39 + br label %42 + +42: ; preds = %37, %7 + %43 = phi float [ %41, %37 ], [ %11, %7 ] + ret float %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_norm3df(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #31 !srcloc !1232 { + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = tail call float @llvm.fabs.f32(float %1) + %6 = tail call float @llvm.fabs.f32(float %2) + %7 = fadd float %4, %5 + %8 = fadd float %7, %6 + %9 = fcmp ugt float %8, 0x47EFFFFFE0000000 + %10 = fcmp oeq float %8, 0.000000e+00 + %11 = or i1 %9, %10 + %12 = fcmp ogt float %4, %5 + %13 = select i1 %12, float %4, float %5 + %14 = fcmp olt float %4, %5 + %15 = select i1 %14, float %4, float %5 + %16 = fcmp ogt float %13, %6 + %17 = select i1 %16, float %13, float %6 + %18 = fcmp olt float %13, %6 + %19 = select i1 %18, float %13, float %6 + %20 = fcmp ogt float %19, %15 + %21 = select i1 %20, float %19, float %15 + %22 = fcmp olt float %19, %15 + %23 = select i1 %22, float %19, float %15 + %24 = bitcast float %17 to i32 + %25 = and i32 %24, 2139095040 + %26 = lshr i32 %24, 6 + %27 = and i32 %26, 16777216 + %28 = or i32 %27, 2122317824 + %29 = sub nsw i32 %28, %25 + %30 = bitcast i32 %29 to float + %31 = fmul float %17, %30 + %32 = fmul float %21, %30 + %33 = fmul float %23, %30 + %34 = fmul float %33, %33 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %32, float noundef %34) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %31, float noundef %35) #56 + %37 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %36) #56 + %38 = fdiv float 1.000000e+00, %37 + %39 = fmul float %36, %38 + %40 = fmul float %38, 5.000000e-01 + %41 = fneg float %39 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %39, float noundef %36) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef %42, float noundef %39) #56 + %44 = sub i32 2130706432, %29 + %45 = bitcast i32 %44 to float + %46 = fmul float %43, %45 + br i1 %11, label %47, label %57, !prof !1176 + +47: ; preds = %3 + %48 = fcmp uno float %8, 0.000000e+00 + %49 = select i1 %48, float %8, float %46 + %50 = fcmp ogt float %4, 0x47EFFFFFE0000000 + %51 = fcmp ogt float %5, 0x47EFFFFFE0000000 + %52 = fcmp ogt float %6, 0x47EFFFFFE0000000 + %53 = or i1 %50, %51 + %54 = or i1 %53, %52 + %55 = select i1 %54, float 0x7FF0000000000000, float %49 + %56 = select i1 %10, float 0.000000e+00, float %55 + br label %57 + +57: ; preds = %47, %3 + %58 = phi float [ %56, %47 ], [ %46, %3 ] + ret float %58 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_nextafterf(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1233 { + %3 = alloca float, align 4 + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = tail call float @llvm.fabs.f32(float %0) + %7 = bitcast float %6 to i32 + %8 = add nuw i32 %7, 2139095040 + %9 = icmp sgt i32 %8, -16777217 + %10 = tail call float @llvm.fabs.f32(float %1) + %11 = bitcast float %10 to i32 + %12 = add nuw i32 %11, 2139095040 + %13 = icmp sgt i32 %12, -16777217 + %14 = or i1 %9, %13 + %15 = icmp eq i32 %4, %5 + %16 = xor i32 %4, %5 + %17 = ashr i32 %16, 31 + %18 = icmp sgt i32 %4, %5 + %19 = or i32 %17, 1 + %20 = select i1 %18, i32 -1, i32 %19 + %21 = select i1 %15, i32 0, i32 %20 + %22 = add i32 %21, %4 + %23 = and i32 %22, 2147483647 + %24 = add nuw i32 %23, 2139095040 + %25 = icmp sgt i32 %24, -16777217 + %26 = or i1 %14, %25 + %27 = bitcast i32 %22 to float + br i1 %26, label %28, label %31, !prof !1176 + +28: ; preds = %2 + %29 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + store i32 %22, ptr %3, align 4, !tbaa !731 + call spir_func void @_ZN25__imf_impl_nextafter_s_xa12_GLOBAL__N_135__devicelib_imf_internal_snextafterEPKfS2_Pf(float %0, float %1, ptr addrspace(4) noundef %29) #55 + %30 = load float, ptr %3, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + br label %31 + +31: ; preds = %28, %2 + %32 = phi float [ %30, %28 ], [ %27, %2 ] + ret float %32 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN25__imf_impl_nextafter_s_xa12_GLOBAL__N_135__devicelib_imf_internal_snextafterEPKfS2_Pf(float %0, float %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #35 !srcloc !1234 !sycl_kernel_omit_args !1235 { + %4 = bitcast float %0 to i32 + %5 = lshr i32 %4, 23 + %6 = and i32 %5, 255 + %7 = icmp ne i32 %6, 255 + %8 = and i32 %4, 8388607 + %9 = icmp eq i32 %8, 0 + %10 = or i1 %7, %9 + br i1 %10, label %11, label %19 + +11: ; preds = %3 + %12 = bitcast float %1 to i32 + %13 = lshr i32 %12, 23 + %14 = and i32 %13, 255 + %15 = icmp ne i32 %14, 255 + %16 = and i32 %12, 8388607 + %17 = icmp eq i32 %16, 0 + %18 = or i1 %15, %17 + br i1 %18, label %21, label %19 + +19: ; preds = %11, %3 + %20 = fadd float %0, %1 + store float %20, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %48 + +21: ; preds = %11 + %22 = fcmp oeq float %0, %1 + br i1 %22, label %23, label %24 + +23: ; preds = %21 + store float %1, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %48 + +24: ; preds = %21 + %25 = tail call float @llvm.fabs.f32(float %0) + %26 = bitcast float %25 to i32 + %27 = icmp eq i32 %26, 0 + br i1 %27, label %28, label %33 + +28: ; preds = %24 + %29 = lshr i32 %12, 31 + %30 = zext nneg i32 %29 to i64 + %31 = getelementptr inbounds i32, ptr addrspace(1) @_ZN25__imf_impl_nextafter_s_xa12_GLOBAL__N_117_min_subnormal_32E, i64 %30 + %32 = load i32, ptr addrspace(1) %31, align 4, !tbaa !717 + store i32 %32, ptr addrspace(4) %2, align 4, !tbaa !717 + br label %48 + +33: ; preds = %24 + %34 = xor i32 %4, %12 + %35 = icmp slt i32 %34, 0 + %36 = icmp ugt i32 %6, %14 + %37 = or i1 %35, %36 + br i1 %37, label %42, label %38 + +38: ; preds = %33 + %39 = icmp eq i32 %6, %14 + %40 = icmp ugt i32 %8, %16 + %41 = and i1 %39, %40 + br i1 %41, label %42, label %44 + +42: ; preds = %38, %33 + %43 = add nsw i32 %4, -1 + br label %46 + +44: ; preds = %38 + %45 = add nsw i32 %4, 1 + br label %46 + +46: ; preds = %44, %42 + %47 = phi i32 [ %43, %42 ], [ %45, %44 ] + store i32 %47, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %48 + +48: ; preds = %46, %28, %23, %19 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_modff(float noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #31 !srcloc !1236 { + %3 = bitcast float %0 to i32 + %4 = and i32 %3, 2139095040 + %5 = icmp eq i32 %4, 2139095040 + %6 = tail call spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef %0) #56 + %7 = and i32 %3, -2147483648 + %8 = fsub float %0, %6 + %9 = bitcast float %8 to i32 + %10 = or i32 %7, %9 + %11 = bitcast i32 %10 to float + br i1 %5, label %12, label %23, !prof !1176 + +12: ; preds = %2 + %13 = tail call float @llvm.fabs.f32(float %0) + %14 = bitcast float %13 to i32 + %15 = icmp ugt i32 %14, 2139095040 + br i1 %15, label %16, label %18 + +16: ; preds = %12 + %17 = fadd float %0, %0 + br label %23 + +18: ; preds = %12 + %19 = lshr i32 %3, 31 + %20 = zext nneg i32 %19 to i64 + %21 = getelementptr inbounds float, ptr addrspace(1) @_ZN20__imf_impl_modf_s_xa12_GLOBAL__N_16_zerosE, i64 %20 + %22 = load float, ptr addrspace(1) %21, align 4, !tbaa !731 + br label %23 + +23: ; preds = %18, %16, %2 + %24 = phi float [ %6, %2 ], [ %0, %18 ], [ %17, %16 ] + %25 = phi float [ %11, %2 ], [ %22, %18 ], [ %17, %16 ] + store float %24, ptr addrspace(4) %1, align 4, !tbaa !731 + ret float %25 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_lgammaf(float noundef %0) local_unnamed_addr #31 !srcloc !1237 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = bitcast float %2 to i32 + %4 = icmp eq i32 %3, 2139095040 + br i1 %4, label %219, label %5 + +5: ; preds = %1 + %6 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %7 = fsub float %0, %6 + %8 = fcmp olt float %2, 0x402A0024C0000000 + %9 = fcmp olt float %0, 4.000000e+00 + %10 = and i1 %8, %9 + br i1 %10, label %11, label %152 + +11: ; preds = %5 + %12 = fcmp ole float %7, 0x3FDD8B4000000000 + %13 = fadd float %7, -1.000000e+00 + %14 = select i1 %12, float %7, float %13 + %15 = fcmp ugt float %0, 0x3FF762D000000000 + br i1 %15, label %42, label %16 + +16: ; preds = %11 + %17 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %18 = fcmp ole float %17, 0x3820000000000000 + %19 = fmul float %0, 0x43F0000000000000 + %20 = select i1 %18, float %19, float %0 + br label %21 + +21: ; preds = %26, %16 + %22 = phi float [ %0, %16 ], [ %27, %26 ] + %23 = phi float [ 0.000000e+00, %16 ], [ %31, %26 ] + %24 = phi float [ %20, %16 ], [ %28, %26 ] + %25 = fcmp ugt float %22, 0x3FDD8B4000000000 + br i1 %25, label %32, label %26 + +26: ; preds = %21 + %27 = fadd float %22, 1.000000e+00 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %27, float noundef 0.000000e+00) #56 + %29 = fneg float %28 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %27, float noundef %29) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef %27, float noundef %30) #56 + br label %21, !llvm.loop !1238 + +32: ; preds = %21 + %33 = fcmp oeq float %24, 0.000000e+00 + br i1 %33, label %219, label %34 + +34: ; preds = %32 + %35 = fdiv float 1.000000e+00, %24 + %36 = fneg float %24 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %36, float noundef 1.000000e+00) #56 + %38 = fneg float %23 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %38, float noundef %37) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %35, float noundef %35) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %40, float noundef 0.000000e+00) #56 + br label %53 + +42: ; preds = %47, %11 + %43 = phi float [ %52, %47 ], [ 0.000000e+00, %11 ] + %44 = phi float [ %49, %47 ], [ 1.000000e+00, %11 ] + %45 = phi float [ %48, %47 ], [ %0, %11 ] + %46 = fcmp ogt float %45, 0x4003B16800000000 + br i1 %46, label %47, label %53 + +47: ; preds = %42 + %48 = fadd float %45, -1.000000e+00 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %48, float noundef 0.000000e+00) #56 + %50 = fneg float %49 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %48, float noundef %50) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %48, float noundef %51) #56 + br label %42, !llvm.loop !1239 + +53: ; preds = %42, %34 + %54 = phi float [ %41, %34 ], [ %43, %42 ] + %55 = phi float [ %35, %34 ], [ %44, %42 ] + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3EED6EFBA0000000, float noundef %14, float noundef 0xBEF36E6600000000) #56 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %56, float noundef %14, float noundef 0x3EFB4AB260000000) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %57, float noundef %14, float noundef 0xBF0F529BC0000000) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef %14, float noundef 0x3F20207CC0000000) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %14, float noundef 0xBF2F9A4880000000) #56 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %14, float noundef 0x3F400FD0A0000000) #56 + %62 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %61, float noundef %14, float noundef 0xBF4E21D280000000) #56 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %62, float noundef %14, float noundef 0x3F613C4F20000000) #56 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %63, float noundef %14, float noundef 0xBF675E6EE0000000) #56 + %65 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %64, float noundef %14, float noundef 0x3F86D7EE80000000) #56 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef %14, float noundef 0xBF317F3720000000) #56 + %67 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %66, float noundef %14, float noundef 0.000000e+00) #56 + %68 = fneg float %67 + %69 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %66, float noundef %14, float noundef %68) #56 + %70 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0.000000e+00, float noundef %14, float noundef %69) #56 + %71 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %67, float noundef 1.000000e+00, float noundef 0x3FB301FBC0000000) #56 + %72 = fadd float %71, 0xBFB301FBC0000000 + %73 = fsub float %67, %72 + %74 = fadd float %70, 0xBE2DF2FD40000000 + %75 = fadd float %74, %73 + %76 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef %14, float noundef 0.000000e+00) #56 + %77 = fneg float %76 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef %14, float noundef %77) #56 + %79 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef %14, float noundef %78) #56 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef 1.000000e+00, float noundef 0x3FB4E239A0000000) #56 + %81 = fadd float %80, 0xBFB4E239A0000000 + %82 = fsub float %76, %81 + %83 = fadd float %79, 0xBE1EE76EA0000000 + %84 = fadd float %83, %82 + %85 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %80, float noundef %14, float noundef 0.000000e+00) #56 + %86 = fneg float %85 + %87 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %80, float noundef %14, float noundef %86) #56 + %88 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %84, float noundef %14, float noundef %87) #56 + %89 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %85, float noundef 1.000000e+00, float noundef 0x3FDA5B9780000000) #56 + %90 = fadd float %89, 0xBFDA5B9780000000 + %91 = fsub float %85, %90 + %92 = fadd float %88, 0x3E472D6E40000000 + %93 = fadd float %92, %91 + %94 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef %14, float noundef 0.000000e+00) #56 + %95 = fneg float %94 + %96 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef %14, float noundef %95) #56 + %97 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %14, float noundef %96) #56 + %98 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %94, float noundef 1.000000e+00, float noundef 0x3FDB0EE600000000) #56 + %99 = fadd float %98, 0xBFDB0EE600000000 + %100 = fsub float %94, %99 + %101 = fadd float %97, 0x3E3C824F40000000 + %102 = fadd float %101, %100 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %98, float noundef %14, float noundef 0.000000e+00) #56 + %104 = fneg float %103 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %98, float noundef %14, float noundef %104) #56 + %106 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %102, float noundef %14, float noundef %105) #56 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %108 = fadd float %107, -1.000000e+00 + %109 = fsub float %103, %108 + %110 = fadd float %106, 0.000000e+00 + %111 = fadd float %110, %109 + %112 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %55, float noundef 0.000000e+00) #56 + %113 = fneg float %112 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %55, float noundef %113) #56 + %115 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %55, float noundef %114) #56 + %116 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %54, float noundef %115) #56 + %117 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %112, float noundef 1.000000e+00, float noundef %116) #56 + %118 = fsub float %117, %112 + %119 = fsub float %116, %118 + %120 = bitcast float %117 to i32 + %121 = bitcast float %119 to i32 + %122 = and i32 %120, -2147483648 + %123 = tail call float @llvm.fabs.f32(float %117) + %124 = bitcast float %123 to i32 + %125 = xor i32 %122, %121 + %126 = add i32 %124, -1059760811 + %127 = ashr i32 %126, 23 + %128 = and i32 %126, -8388608 + %129 = sub i32 %124, %128 + %130 = sub i32 1065353216, %128 + %131 = bitcast i32 %129 to float + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %131, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %133 = bitcast i32 %125 to float + %134 = bitcast i32 %130 to float + %135 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %134, float noundef %132) #56 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFC11E70A0000000, float noundef %135, float noundef 0x3FC20827E0000000) #56 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef %135, float noundef 0xBFBEDF64A0000000) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef %135, float noundef 0x3FC1E531C0000000) #56 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %135, float noundef 0xBFC55D7260000000) #56 + %140 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %139, float noundef %135, float noundef 0x3FC99DAC20000000) #56 + %141 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %140, float noundef %135, float noundef 0xBFCFFFD000000000) #56 + %142 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %141, float noundef %135, float noundef 0x3FD5554E00000000) #56 + %143 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %142, float noundef %135, float noundef 0xBFE0000020000000) #56 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %135, float noundef 0x3E30EBA0C0000000) #56 + %145 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef %135, float noundef %135) #56 + %146 = sitofp i32 %127 to float + %147 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %148 = fcmp ole float %147, 0x3820000000000000 + %149 = fadd float %146, 6.400000e+01 + %150 = select i1 %148, float %149, float %146 + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FE62E4300000000, float noundef %150, float noundef %145) #56 + br label %219 + +152: ; preds = %5 + %153 = fcmp olt float %0, 0.000000e+00 + br i1 %153, label %154, label %184 + +154: ; preds = %152 + %155 = fcmp oeq float %7, 0.000000e+00 + br i1 %155, label %219, label %156 + +156: ; preds = %154 + %157 = tail call float @llvm.fabs.f32(float %7) + %158 = bitcast float %157 to i32 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %157, float noundef 0x3FF4FE62A0000000, float noundef 0xBFF2094D40000000) #56 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %159, float noundef %157, float noundef 0x3FE7B2B0E0000000) #56 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %157, float noundef 0x3FD61DD360000000) #56 + %162 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %157, float noundef 0x3F9BE8F5A0000000) #56 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %162, float noundef %157, float noundef 0x3FFA4A20A0000000) #56 + %164 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %163, float noundef %157, float noundef 0x3F08862E60000000) #56 + %165 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %164, float noundef %157, float noundef 0xBE8A2BAFA0000000) #56 + %166 = add nsw i32 %158, -1059760811 + %167 = ashr i32 %166, 23 + %168 = and i32 %166, -8388608 + %169 = sub i32 %158, %168 + %170 = bitcast i32 %169 to float + %171 = fadd float %170, -1.000000e+00 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef 0xBFC11E70A0000000, float noundef 0x3FC20827E0000000) #56 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %172, float noundef %171, float noundef 0xBFBEDF64A0000000) #56 + %174 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %171, float noundef 0x3FC1E531C0000000) #56 + %175 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %174, float noundef %171, float noundef 0xBFC55D7260000000) #56 + %176 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %175, float noundef %171, float noundef 0x3FC99DAC20000000) #56 + %177 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %176, float noundef %171, float noundef 0xBFCFFFD000000000) #56 + %178 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef %171, float noundef 0x3FD5554E00000000) #56 + %179 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %178, float noundef %171, float noundef 0xBFE0000020000000) #56 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %179, float noundef %171, float noundef 0x3E30EBA0C0000000) #56 + %181 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %180, float noundef %171, float noundef %171) #56 + %182 = sitofp i32 %167 to float + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef 0x3FE62E4300000000, float noundef %181) #56 + br label %184 + +184: ; preds = %156, %152 + %185 = phi float [ 5.000000e-01, %156 ], [ -5.000000e-01, %152 ] + %186 = phi float [ %165, %156 ], [ 0.000000e+00, %152 ] + %187 = phi float [ %183, %156 ], [ 0.000000e+00, %152 ] + %188 = add nsw i32 %3, -1059760811 + %189 = ashr i32 %188, 23 + %190 = and i32 %188, -8388608 + %191 = sub i32 %3, %190 + %192 = bitcast i32 %191 to float + %193 = fadd float %192, -1.000000e+00 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef 0xBFC11E70A0000000, float noundef 0x3FC20827E0000000) #56 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef %193, float noundef 0xBFBEDF64A0000000) #56 + %196 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %193, float noundef 0x3FC1E531C0000000) #56 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %196, float noundef %193, float noundef 0xBFC55D7260000000) #56 + %198 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %193, float noundef 0x3FC99DAC20000000) #56 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %198, float noundef %193, float noundef 0xBFCFFFD000000000) #56 + %200 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef %193, float noundef 0x3FD5554E00000000) #56 + %201 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %200, float noundef %193, float noundef 0xBFE0000020000000) #56 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %201, float noundef %193, float noundef 0x3E30EBA0C0000000) #56 + %203 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %202, float noundef %193, float noundef %193) #56 + %204 = sitofp i32 %189 to float + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef 0x3FE62E4300000000, float noundef %203) #56 + %206 = fmul float %2, 1.250000e-01 + %207 = fdiv float 1.000000e+00, %206 + %208 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBED534B280000000, float noundef %207, float noundef 0xBEACAEF0A0000000) #56 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %208, float noundef %207, float noundef 0x3F8555B220000000) #56 + %210 = fsub float 0x3FED67F160000000, %186 + %211 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %209, float noundef %207, float noundef %210) #56 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef %185, float noundef %211) #56 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef 1.000000e+00, float noundef %187) #56 + %214 = fneg float %2 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %213, float noundef 1.000000e+00, float noundef %214) #56 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %2, float noundef %205, float noundef %215) #56 + %217 = fneg float %216 + %218 = select i1 %153, float %217, float %216 + br label %219 + +219: ; preds = %184, %154, %53, %32, %1 + %220 = phi float [ 0x7FF0000000000000, %1 ], [ 0x7FF0000000000000, %32 ], [ 0x7FF0000000000000, %154 ], [ %218, %184 ], [ %151, %53 ] + ret float %220 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ldexpf(float noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1240 { + %3 = bitcast float %0 to i32 + %4 = lshr i32 %3, 23 + %5 = and i32 %4, 255 + %6 = tail call i32 @llvm.smin.i32(i32 %1, i32 65536) + %7 = tail call i32 @llvm.smax.i32(i32 %6, i32 -65536) + %8 = add nsw i32 %5, %7 + %9 = add nsw i32 %8, -255 + %10 = icmp ult i32 %9, -254 + br i1 %10, label %17, label %11 + +11: ; preds = %2 + %12 = and i32 %3, -2139095041 + %13 = shl nuw nsw i32 %8, 23 + %14 = or i32 %12, %13 + %15 = bitcast i32 %14 to float + %16 = trunc i32 %4 to i8 + switch i8 %16, label %79 [ + i8 -1, label %78 + i8 0, label %19 + ] + +17: ; preds = %2 + %18 = icmp eq i32 %5, 255 + br i1 %18, label %78, label %19 + +19: ; preds = %17, %11 + %20 = tail call float @llvm.fabs.f32(float %0) + %21 = bitcast float %20 to i32 + %22 = icmp eq i32 %21, 0 + br i1 %22, label %79, label %23 + +23: ; preds = %19 + %24 = icmp eq i32 %5, 0 + br i1 %24, label %25, label %32 + +25: ; preds = %23 + %26 = fmul float %0, 0x4180000000000000 + %27 = bitcast float %26 to i32 + %28 = lshr i32 %27, 23 + %29 = and i32 %28, 255 + %30 = add nsw i32 %29, -25 + %31 = add nsw i32 %30, %7 + br label %32 + +32: ; preds = %25, %23 + %33 = phi i32 [ %31, %25 ], [ %8, %23 ] + %34 = phi float [ %26, %25 ], [ %0, %23 ] + %35 = icmp sgt i32 %33, 0 + br i1 %35, label %36, label %51 + +36: ; preds = %32 + %37 = icmp ugt i32 %33, 254 + br i1 %37, label %38, label %45 + +38: ; preds = %36 + %39 = bitcast float %34 to i32 + %40 = lshr i32 %39, 31 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_ldexp_s_xa12_GLOBAL__N_115_large_value_32E, i64 %41 + %43 = load float, ptr addrspace(1) %42, align 4, !tbaa !731 + %44 = fmul float %43, 0x4630000000000000 + br label %79 + +45: ; preds = %36 + %46 = bitcast float %34 to i32 + %47 = shl nuw nsw i32 %33, 23 + %48 = and i32 %46, -2139095041 + %49 = or i32 %48, %47 + %50 = bitcast i32 %49 to float + br label %79 + +51: ; preds = %32 + %52 = icmp slt i32 %33, -23 + br i1 %52, label %53, label %60 + +53: ; preds = %51 + %54 = bitcast float %34 to i32 + %55 = lshr i32 %54, 31 + %56 = zext nneg i32 %55 to i64 + %57 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_ldexp_s_xa12_GLOBAL__N_115_small_value_32E, i64 %56 + %58 = load float, ptr addrspace(1) %57, align 4, !tbaa !731 + %59 = fmul float %58, 0x39B0000000000000 + br label %79 + +60: ; preds = %51 + %61 = bitcast float %34 to i32 + %62 = shl nsw i32 %33, 23 + %63 = add i32 %62, 209715200 + %64 = and i32 %63, 2139095040 + %65 = and i32 %61, -2139095041 + %66 = or i32 %65, %64 + %67 = bitcast i32 %66 to float + %68 = fmul float %67, 0x3E60000000000000 + %69 = tail call float @llvm.fabs.f32(float %68) + %70 = bitcast float %69 to i32 + %71 = icmp eq i32 %70, 0 + br i1 %71, label %72, label %79 + +72: ; preds = %60 + %73 = lshr i32 %61, 31 + %74 = zext nneg i32 %73 to i64 + %75 = getelementptr inbounds float, ptr addrspace(1) @_ZN21__imf_impl_ldexp_s_xa12_GLOBAL__N_115_small_value_32E, i64 %74 + %76 = load float, ptr addrspace(1) %75, align 4, !tbaa !731 + %77 = fmul float %76, 0x39B0000000000000 + br label %79 + +78: ; preds = %17, %11 + br label %79 + +79: ; preds = %78, %72, %60, %53, %45, %38, %19, %11 + %80 = phi float [ %15, %11 ], [ %59, %53 ], [ %77, %72 ], [ %68, %60 ], [ %0, %19 ], [ %0, %78 ], [ %50, %45 ], [ %44, %38 ] + ret float %80 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rcbrtf(float noundef %0) local_unnamed_addr #31 !srcloc !1241 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, -2147483648 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = fcmp olt float %4, 1.000000e+00 + %6 = select i1 %5, float 0x4190000000000000, float 1.000000e+00 + %7 = select i1 %5, i32 407, i32 381 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef %6, float noundef 0.000000e+00) #56 + %9 = bitcast float %8 to i32 + %10 = add i32 %9, 5592405 + %11 = lshr i32 %10, 23 + %12 = add nsw i32 %11, -127 + %13 = shl i32 %12, 23 + %14 = sub i32 %9, %13 + %15 = bitcast i32 %14 to float + %16 = fadd float %15, -1.000000e+00 + %17 = sub nsw i32 %7, %12 + %18 = mul nsw i32 %17, 10923 + %19 = lshr i32 %18, 15 + %20 = mul nsw i32 %19, -3 + %21 = add nsw i32 %20, %17 + %22 = shl i32 %19, 23 + %23 = or i32 %3, %22 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef 0xBFBD156A80000000, float noundef 0x3FBE47F920000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %16, float noundef 0xBFB8D049C0000000) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef %16, float noundef 0x3FBBB6EB20000000) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %16, float noundef 0xBFC0004C60000000) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %16, float noundef 0x3FC27347A0000000) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %16, float noundef 0xBFC61F7AA0000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %16, float noundef 0x3FCC71BA00000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %16, float noundef 0xBFD5555560000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %16, float noundef 0x3E2E113FE0000000) #56 + %33 = icmp eq i32 %21, 0 + %34 = select i1 %33, i32 1065353216, i32 1067533592 + %35 = select i1 %33, i32 0, i32 -1295101521 + %36 = icmp eq i32 %21, 2 + %37 = select i1 %36, i32 1070280693, i32 %34 + %38 = select i1 %36, i32 849849800, i32 %35 + %39 = bitcast i32 %37 to float + %40 = bitcast i32 %38 to float + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %39, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef 1.000000e+00, float noundef %39) #56 + %43 = add i32 %9, -2139095041 + %44 = icmp slt i32 %43, 0 + %45 = select i1 %44, i32 0, i32 %9 + %46 = bitcast i32 %23 to float + %47 = bitcast i32 %45 to float + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %46, float noundef %47) #56 + %49 = bitcast float %48 to i32 + %50 = fcmp oeq float %8, 0.000000e+00 + %51 = or i32 %3, 2139095040 + %52 = select i1 %50, i32 %51, i32 %49 + %53 = icmp eq i32 %9, 2139095040 + %54 = select i1 %53, i32 %3, i32 %52 + %55 = bitcast i32 %54 to float + ret float %55 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_ilogbf(float noundef %0) local_unnamed_addr #30 !srcloc !1242 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2139095040 + %4 = lshr exact i32 %3, 23 + %5 = add nsw i32 %4, -127 + switch i32 %3, label %29 [ + i32 2139095040, label %6 + i32 0, label %6 + ] + +6: ; preds = %1, %1 + %7 = lshr i32 %2, 23 + %8 = and i32 %7, 255 + %9 = icmp eq i32 %8, 255 + br i1 %9, label %10, label %14 + +10: ; preds = %6 + %11 = and i32 %2, 8388607 + %12 = icmp eq i32 %11, 0 + %13 = select i1 %12, i32 2147483647, i32 -2147483648 + br label %29 + +14: ; preds = %6 + %15 = tail call float @llvm.fabs.f32(float %0) + %16 = bitcast float %15 to i32 + %17 = icmp eq i32 %16, 0 + %18 = select i1 %17, i32 -2147483648, i32 %5 + %19 = and i32 %2, 8388607 + %20 = icmp ne i32 %19, 0 + %21 = icmp eq i32 %8, 0 + %22 = and i1 %20, %21 + br i1 %22, label %23, label %29 + +23: ; preds = %14 + %24 = fmul float %0, 0x4180000000000000 + %25 = bitcast float %24 to i32 + %26 = lshr i32 %25, 23 + %27 = and i32 %26, 255 + %28 = add nsw i32 %27, -152 + br label %29 + +29: ; preds = %23, %14, %10, %1 + %30 = phi i32 [ %5, %1 ], [ %28, %23 ], [ %18, %14 ], [ %13, %10 ] + ret i32 %30 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_tanf(float noundef %0) local_unnamed_addr #31 !srcloc !1243 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = and i32 %2, -2147483648 + %5 = fcmp ugt float %3, 8.256000e+03 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FE45F3060000000, float noundef 0x4168000000000000) #56 + %7 = fadd float %6, 0xC168000000000000 + %8 = fneg float %7 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0x3FF921FB60000000, float noundef %3) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0xBE6777A5C0000000, float noundef %9) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef 0xBCDEE59DA0000000, float noundef %10) #56 + %12 = fmul float %11, %11 + %13 = bitcast float %6 to i32 + %14 = shl i32 %13, 31 + %15 = shl i32 %13, 30 + %16 = bitcast i32 %15 to float + %17 = fcmp une float %16, 0.000000e+00 + %18 = sext i1 %17 to i32 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFB8867680000000, float noundef %12, float noundef 0x3FEFFFFF80000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F83E66D60000000, float noundef %12, float noundef 0xBFDB76F560000000) #56 + %21 = fmul float %19, %11 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %12, float noundef 0x3FEFFFFF80000000) #56 + %23 = bitcast float %21 to i32 + %24 = select i1 %17, i32 0, i32 %23 + %25 = bitcast float %22 to i32 + %26 = and i32 %18, %25 + %27 = or i32 %24, %26 + %28 = bitcast i32 %27 to float + %29 = and i32 %18, %23 + %30 = select i1 %17, i32 0, i32 %25 + %31 = or i32 %29, %30 + %32 = bitcast i32 %31 to float + %33 = fdiv float %28, %32 + %34 = bitcast float %33 to i32 + %35 = xor i32 %14, %34 + %36 = xor i32 %35, %4 + %37 = bitcast i32 %36 to float + br i1 %5, label %38, label %228, !prof !1176 + +38: ; preds = %1 + %39 = bitcast float %3 to i32 + %40 = and i32 %2, 2139095040 + %41 = lshr i32 %39, 23 + %42 = mul nuw nsw i32 %41, 3 + %43 = zext nneg i32 %42 to i64 + %44 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_144__devicelib_imf_internal_stan_reduction_dataE, i64 %43 + %45 = load i32, ptr addrspace(1) %44, align 4, !tbaa !717 + %46 = add nuw nsw i32 %42, 1 + %47 = zext nneg i32 %46 to i64 + %48 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_144__devicelib_imf_internal_stan_reduction_dataE, i64 %47 + %49 = load i32, ptr addrspace(1) %48, align 4, !tbaa !717 + %50 = add nuw nsw i32 %42, 2 + %51 = zext nneg i32 %50 to i64 + %52 = getelementptr inbounds i32, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_144__devicelib_imf_internal_stan_reduction_dataE, i64 %51 + %53 = load i32, ptr addrspace(1) %52, align 4, !tbaa !717 + %54 = lshr i32 %45, 16 + %55 = and i32 %45, 65535 + %56 = lshr i32 %49, 16 + %57 = and i32 %49, 65535 + %58 = lshr i32 %53, 16 + %59 = and i32 %53, 65535 + %60 = lshr i32 %39, 16 + %61 = and i32 %60, 127 + %62 = or i32 %61, 128 + %63 = and i32 %39, 65535 + %64 = mul i32 %62, %45 + %65 = mul nuw nsw i32 %62, %56 + %66 = mul nuw nsw i32 %62, %57 + %67 = mul nuw nsw i32 %62, %58 + %68 = mul nuw nsw i32 %62, %59 + %69 = mul i32 %54, %39 + %70 = mul nuw i32 %63, %55 + %71 = mul nuw i32 %63, %56 + %72 = mul nuw i32 %63, %57 + %73 = mul nuw i32 %63, %58 + %74 = lshr i32 %73, 16 + %75 = lshr i32 %72, 16 + %76 = lshr i32 %71, 16 + %77 = lshr i32 %70, 16 + %78 = add nuw nsw i32 %67, %74 + %79 = add nuw nsw i32 %66, %75 + %80 = add nuw nsw i32 %65, %76 + %81 = add i32 %64, %77 + %82 = and i32 %72, 65535 + %83 = and i32 %71, 65535 + %84 = and i32 %70, 65535 + %85 = add nuw nsw i32 %82, %78 + %86 = add nuw nsw i32 %83, %79 + %87 = add nuw nsw i32 %84, %80 + %88 = add i32 %69, %81 + %89 = lshr i32 %68, 16 + %90 = add nuw nsw i32 %89, %85 + %91 = lshr i32 %90, 16 + %92 = add nuw nsw i32 %91, %86 + %93 = lshr i32 %92, 16 + %94 = add nuw nsw i32 %93, %87 + %95 = and i32 %90, 65535 + %96 = shl i32 %88, 16 + %97 = add i32 %94, %96 + %98 = shl i32 %92, 16 + %99 = or i32 %98, %95 + %100 = lshr i32 %97, 9 + %101 = or i32 %100, 1065353216 + %102 = bitcast i32 %101 to float + %103 = fadd float %102, 4.915200e+04 + %104 = fadd float %103, -4.915200e+04 + %105 = fsub float %102, %104 + %106 = bitcast float %103 to i32 + %107 = shl i32 %99, 5 + %108 = and i32 %107, 8388576 + %109 = or i32 %108, 679477248 + %110 = bitcast i32 %109 to float + %111 = fadd float %110, 0xBD10000000000000 + %112 = shl i32 %94, 14 + %113 = and i32 %112, 8372224 + %114 = lshr i32 %98, 18 + %115 = or i32 %113, %114 + %116 = or i32 %115, 872415232 + %117 = bitcast i32 %116 to float + %118 = fadd float %117, 0xBE80000000000000 + %119 = fadd float %105, %118 + %120 = fsub float %105, %119 + %121 = fadd float %118, %120 + %122 = fadd float %121, %111 + %123 = fmul float %119, 0x401921FB60000000 + %124 = fneg float %123 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %119, float noundef 0x401921FB60000000, float noundef %124) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %119, float noundef 0xBE8777A5C0000000, float noundef %125) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef 0x401921FB60000000, float noundef %126) #56 + %128 = fcmp ogt float %3, 0x3EB0000000000000 + %129 = sext i1 %128 to i32 + %130 = fcmp ole float %3, 0x3EB0000000000000 + %131 = select i1 %130, i32 %39, i32 0 + %132 = bitcast float %123 to i32 + %133 = and i32 %129, %132 + %134 = or i32 %131, %133 + %135 = bitcast i32 %134 to float + %136 = bitcast float %127 to i32 + %137 = and i32 %129, %136 + %138 = bitcast i32 %137 to float + %139 = and i32 %106, 127 + %140 = fadd float %135, %138 + %141 = mul nuw nsw i32 %139, 10 + %142 = zext nneg i32 %141 to i64 + %143 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %142 + %144 = load float, ptr addrspace(1) %143, align 4, !tbaa !717 + %145 = or i32 %141, 1 + %146 = zext nneg i32 %145 to i64 + %147 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %146 + %148 = load float, ptr addrspace(1) %147, align 4, !tbaa !717 + %149 = add nuw nsw i32 %141, 2 + %150 = zext nneg i32 %149 to i64 + %151 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %150 + %152 = load float, ptr addrspace(1) %151, align 4, !tbaa !717 + %153 = add nuw nsw i32 %141, 3 + %154 = zext nneg i32 %153 to i64 + %155 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %154 + %156 = load float, ptr addrspace(1) %155, align 4, !tbaa !717 + %157 = add nuw nsw i32 %141, 4 + %158 = zext nneg i32 %157 to i64 + %159 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %158 + %160 = load float, ptr addrspace(1) %159, align 4, !tbaa !717 + %161 = add nuw nsw i32 %141, 5 + %162 = zext nneg i32 %161 to i64 + %163 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %162 + %164 = load float, ptr addrspace(1) %163, align 4, !tbaa !717 + %165 = add nuw nsw i32 %141, 6 + %166 = zext nneg i32 %165 to i64 + %167 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %166 + %168 = load float, ptr addrspace(1) %167, align 4, !tbaa !717 + %169 = add nuw nsw i32 %141, 7 + %170 = zext nneg i32 %169 to i64 + %171 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %170 + %172 = load float, ptr addrspace(1) %171, align 4, !tbaa !717 + %173 = add nuw nsw i32 %141, 8 + %174 = zext nneg i32 %173 to i64 + %175 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %174 + %176 = load float, ptr addrspace(1) %175, align 4, !tbaa !717 + %177 = add nuw nsw i32 %141, 9 + %178 = zext nneg i32 %177 to i64 + %179 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_s_la12_GLOBAL__N_134__devicelib_imf_internal_stan_dataE, i64 372), i64 %178 + %180 = load float, ptr addrspace(1) %179, align 4, !tbaa !717 + %181 = fsub float %144, %140 + %182 = bitcast float %181 to i32 + %183 = and i32 %182, -4096 + %184 = bitcast i32 %183 to float + %185 = fsub float %144, %181 + %186 = fsub float %185, %140 + %187 = fsub float %181, %184 + %188 = fadd float %187, %148 + %189 = fadd float %186, %188 + %190 = fdiv float 1.000000e+00, %184 + %191 = bitcast float %190 to i32 + %192 = and i32 %191, -4096 + %193 = bitcast i32 %192 to float + %194 = fneg float %184 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef %193, float noundef 1.000000e+00) #56 + %196 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %195, float noundef %193) #56 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %195, float noundef 1.000000e+00) #56 + %198 = fmul float %196, %197 + %199 = fmul float %189, %198 + %200 = fsub float %199, %195 + %201 = fneg float %200 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef %199, float noundef %201) #56 + %203 = fmul float %202, %198 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %164, float noundef %140, float noundef %156) #56 + %205 = fsub float %156, %204 + %206 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %152, float noundef %204) #56 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %164, float noundef %140, float noundef %205) #56 + %208 = fneg float %206 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %152, float noundef %208) #56 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %203, float noundef %152, float noundef %207) #56 + %211 = fadd float %209, %204 + %212 = fadd float %210, %211 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %172, float noundef %140, float noundef %168) #56 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %180, float noundef %140, float noundef %176) #56 + %215 = fmul float %140, %140 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %214, float noundef %213) #56 + %217 = fadd float %160, %212 + %218 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %216, float noundef %140, float noundef %217) #56 + %219 = fadd float %206, %218 + %220 = bitcast float %219 to i32 + %221 = xor i32 %4, %220 + %222 = bitcast i32 %221 to float + %223 = icmp eq i32 %40, 2139095040 + %224 = icmp eq i32 %39, 2139095040 + %225 = select i1 %224, float 0.000000e+00, float %0 + %226 = fmul float %225, %0 + %227 = select i1 %223, float %226, float %222, !prof !1177 + br label %228 + +228: ; preds = %38, %1 + %229 = phi float [ %227, %38 ], [ %37, %1 ] + ret float %229 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_sinhf(float noundef %0) local_unnamed_addr #31 !srcloc !1244 { + %2 = alloca float, align 4 + %3 = bitcast float %0 to i32 + %4 = and i32 %3, -2147483648 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = bitcast float %5 to i32 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3FF7154760000000, float noundef 0x4168000000000000) #56 + %8 = icmp sgt i32 %6, 1118743630 + %9 = fadd float %7, 0xC168000000000000 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE62E0000000000, float noundef %9, float noundef %5) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF00BFBE80000000, float noundef %9, float noundef %10) #56 + %12 = bitcast float %7 to i32 + %13 = shl i32 %12, 23 + %14 = fmul float %11, %11 + %15 = add i32 %13, 1056964608 + %16 = bitcast i32 %15 to float + %17 = sub i32 1056964608, %13 + %18 = bitcast i32 %17 to float + %19 = fadd float %16, %18 + %20 = fsub float %16, %18 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F81228C20000000, float noundef %14, float noundef 0x3FC5554AE0000000) #56 + %22 = fmul float %21, %14 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %11, float noundef %11) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F56D51460000000, float noundef %14, float noundef 0x3FA5554E40000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %14, float noundef 5.000000e-01) #56 + %26 = fmul float %25, %14 + %27 = fmul float %26, %20 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %23, float noundef %27) #56 + %29 = fadd float %28, %20 + %30 = bitcast float %29 to i32 + %31 = or i32 %4, %30 + %32 = bitcast i32 %31 to float + br i1 %8, label %33, label %36, !prof !1176 + +33: ; preds = %1 + %34 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store i32 %31, ptr %2, align 4, !tbaa !731 + call spir_func void @_ZN20__imf_impl_sinh_s_la12_GLOBAL__N_130__devicelib_imf_internal_ssinhEPKfPf(float %0, ptr addrspace(4) noundef %34) #54 + %35 = load float, ptr %2, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %36 + +36: ; preds = %33, %1 + %37 = phi float [ %35, %33 ], [ %32, %1 ] + ret float %37 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_sinh_s_la12_GLOBAL__N_130__devicelib_imf_internal_ssinhEPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1245 !sycl_kernel_omit_args !1186 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %4 = fcmp ogt float %0, 0.000000e+00 + %5 = select i1 %4, float 1.000000e+00, float -1.000000e+00 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3FF7154760000000, float noundef 0x4158001FC0000000) #56 + %7 = bitcast float %6 to i32 + %8 = fadd float %6, 0xC158001FC0000000 + %9 = fneg float %8 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef 0x3FE62E4300000000, float noundef %3) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef 0xBE205C6100000000, float noundef %10) #56 + %12 = and i32 %7, 1 + %13 = sub nsw i32 0, %12 + %14 = and i32 %13, 7668979 + %15 = and i32 %13, 848495278 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef 0x3F81175160000000, float noundef 0x3FA55D89C0000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %16, float noundef 0x3FC5555380000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %17, float noundef 0x3FDFFFFD00000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %18, float noundef 1.000000e+00) #56 + %20 = bitcast i32 %15 to float + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %19, float noundef %20) #56 + %22 = tail call float @llvm.fabs.f32(float %3) + %23 = bitcast float %22 to i32 + %24 = icmp ugt i32 %23, 1118743631 + br i1 %24, label %32, label %25 + +25: ; preds = %2 + %26 = shl i32 %7, 22 + %27 = xor i32 %26, %14 + %28 = bitcast i32 %27 to float + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %28, float noundef %28) #56 + %30 = fmul float %5, 5.000000e-01 + %31 = fmul float %30, %29 + store float %31, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %54 + +32: ; preds = %2 + %33 = icmp ugt i32 %23, 1119016188 + br i1 %33, label %34, label %41 + +34: ; preds = %32 + %35 = icmp ugt i32 %23, 2139095040 + br i1 %35, label %36, label %39 + +36: ; preds = %34 + %37 = fadd float %3, %3 + %38 = fmul float %5, %37 + store float %38, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %54 + +39: ; preds = %34 + %40 = fmul float %5, 0x7FF0000000000000 + store float %40, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %54 + +41: ; preds = %32 + %42 = add i32 %7, 254 + %43 = shl i32 %42, 21 + %44 = and i32 %43, 2139095040 + %45 = shl i32 %42, 22 + %46 = sub i32 %45, %44 + %47 = xor i32 %46, %14 + %48 = bitcast i32 %47 to float + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %48, float noundef %48) #56 + %50 = fmul float %49, 5.000000e-01 + %51 = bitcast i32 %44 to float + %52 = fmul float %50, %51 + %53 = fmul float %5, %52 + store float %53, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %54 + +54: ; preds = %41, %39, %36, %25 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_imf_sincosf(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #31 !srcloc !1246 { + %4 = bitcast float %0 to i32 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3FD45F3060000000, float noundef 0x4168000000000000) #56 + %7 = bitcast float %6 to i32 + %8 = shl i32 %7, 31 + %9 = fadd float %6, 0xC168000000000000 + %10 = fneg float %9 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef 0x400921FB60000000, float noundef %5) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef 0xBE7777A5C0000000, float noundef %11) #56 + %13 = bitcast float %12 to i32 + %14 = and i32 %13, -2147483648 + %15 = or i32 %14, 1056964608 + %16 = bitcast i32 %15 to float + %17 = fadd float %9, %16 + %18 = fneg float %17 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef 0x400921FB60000000, float noundef %5) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef 0xBE7777A5C0000000, float noundef %19) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef 0xBCEEE59DA0000000, float noundef %12) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef 0xBCEEE59DA0000000, float noundef %20) #56 + %23 = bitcast float %22 to i32 + %24 = xor i32 %8, %23 + %25 = xor i32 %24, %14 + %26 = xor i32 %25, -2147483648 + %27 = bitcast i32 %26 to float + %28 = bitcast float %21 to i32 + %29 = xor i32 %8, %28 + %30 = bitcast i32 %29 to float + %31 = fmul float %30, %30 + %32 = fmul float %27, %27 + %33 = and i32 %4, -2147483648 + %34 = bitcast i32 %33 to float + %35 = fcmp oeq float %34, %0 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DE52ACEA0000000, float noundef %31, float noundef 0xBE5AE00FE0000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DE52ACEA0000000, float noundef %32, float noundef 0xBE5AE00FE0000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %31, float noundef 0x3EC71DCE60000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %32, float noundef 0x3EC71DCE60000000) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %31, float noundef 0xBF2A019FC0000000) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %32, float noundef 0xBF2A019FC0000000) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef %31, float noundef 0x3F81111120000000) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef %32, float noundef 0x3F81111120000000) #56 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %31, float noundef 0xBFC5555560000000) #56 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %32, float noundef 0xBFC5555560000000) #56 + %46 = fmul float %44, %31 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %46, float noundef %30, float noundef %30) #56 + %48 = bitcast float %47 to i32 + %49 = xor i32 %33, %48 + %50 = bitcast i32 %49 to float + %51 = fmul float %45, %32 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %51, float noundef %27, float noundef %27) #56 + %53 = select i1 %35, float 1.000000e+00, float %52 + %54 = fcmp ugt float %5, 1.000000e+04 + br i1 %54, label %55, label %240, !prof !1176 + +55: ; preds = %3 + %56 = bitcast float %5 to i32 + %57 = and i32 %56, 2139095040 + %58 = bitcast i32 %57 to float + %59 = fcmp oeq float %58, 0x7FF0000000000000 + %60 = lshr i32 %56, 23 + %61 = mul nuw nsw i32 %60, 3 + %62 = zext nneg i32 %61 to i64 + %63 = getelementptr inbounds i32, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_147__devicelib_imf_internal_ssincos_reduction_dataE, i64 %62 + %64 = load i32, ptr addrspace(1) %63, align 4, !tbaa !717 + %65 = add nuw nsw i32 %61, 1 + %66 = zext nneg i32 %65 to i64 + %67 = getelementptr inbounds i32, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_147__devicelib_imf_internal_ssincos_reduction_dataE, i64 %66 + %68 = load i32, ptr addrspace(1) %67, align 4, !tbaa !717 + %69 = add nuw nsw i32 %61, 2 + %70 = zext nneg i32 %69 to i64 + %71 = getelementptr inbounds i32, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_147__devicelib_imf_internal_ssincos_reduction_dataE, i64 %70 + %72 = load i32, ptr addrspace(1) %71, align 4, !tbaa !717 + %73 = lshr i32 %64, 16 + %74 = and i32 %64, 65535 + %75 = lshr i32 %68, 16 + %76 = and i32 %68, 65535 + %77 = lshr i32 %72, 16 + %78 = and i32 %72, 65535 + %79 = lshr i32 %56, 16 + %80 = and i32 %79, 127 + %81 = or i32 %80, 128 + %82 = and i32 %56, 65535 + %83 = mul i32 %81, %64 + %84 = mul nuw nsw i32 %81, %75 + %85 = mul nuw nsw i32 %81, %76 + %86 = mul nuw nsw i32 %81, %77 + %87 = mul nuw nsw i32 %81, %78 + %88 = mul i32 %73, %56 + %89 = mul nuw i32 %82, %74 + %90 = mul nuw i32 %82, %75 + %91 = mul nuw i32 %82, %76 + %92 = mul nuw i32 %82, %77 + %93 = lshr i32 %92, 16 + %94 = lshr i32 %91, 16 + %95 = lshr i32 %90, 16 + %96 = lshr i32 %89, 16 + %97 = add nuw nsw i32 %86, %93 + %98 = add nuw nsw i32 %85, %94 + %99 = add nuw nsw i32 %84, %95 + %100 = add i32 %83, %96 + %101 = and i32 %91, 65535 + %102 = and i32 %90, 65535 + %103 = and i32 %89, 65535 + %104 = add nuw nsw i32 %101, %97 + %105 = add nuw nsw i32 %102, %98 + %106 = add nuw nsw i32 %103, %99 + %107 = add i32 %88, %100 + %108 = lshr i32 %87, 16 + %109 = add nuw nsw i32 %108, %104 + %110 = lshr i32 %109, 16 + %111 = add nuw nsw i32 %110, %105 + %112 = lshr i32 %111, 16 + %113 = add nuw nsw i32 %112, %106 + %114 = and i32 %109, 65535 + %115 = shl i32 %107, 16 + %116 = add i32 %113, %115 + %117 = shl i32 %111, 16 + %118 = or i32 %117, %114 + %119 = lshr i32 %116, 9 + %120 = or i32 %119, 1065353216 + %121 = bitcast i32 %120 to float + %122 = fadd float %121, 4.915200e+04 + %123 = fadd float %122, -4.915200e+04 + %124 = fsub float %121, %123 + %125 = bitcast float %122 to i32 + %126 = shl i32 %118, 5 + %127 = and i32 %126, 8388576 + %128 = or i32 %127, 679477248 + %129 = bitcast i32 %128 to float + %130 = fadd float %129, 0xBD10000000000000 + %131 = shl i32 %113, 14 + %132 = and i32 %131, 8372224 + %133 = lshr i32 %117, 18 + %134 = or i32 %132, %133 + %135 = or i32 %134, 872415232 + %136 = bitcast i32 %135 to float + %137 = fadd float %136, 0xBE80000000000000 + %138 = fadd float %124, %137 + %139 = fsub float %124, %138 + %140 = fadd float %137, %139 + %141 = fadd float %140, %130 + %142 = fmul float %138, 0x401921FB60000000 + %143 = fneg float %142 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 0x401921FB60000000, float noundef %143) #56 + %145 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 0xBE8777A5C0000000, float noundef %144) #56 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %141, float noundef 0x401921FB60000000, float noundef %145) #56 + %147 = fcmp ogt float %5, 0x3EB0000000000000 + %148 = sext i1 %147 to i32 + %149 = fcmp ole float %5, 0x3EB0000000000000 + %150 = select i1 %149, i32 %56, i32 0 + %151 = bitcast float %142 to i32 + %152 = and i32 %148, %151 + %153 = or i32 %150, %152 + %154 = bitcast i32 %153 to float + %155 = bitcast float %146 to i32 + %156 = and i32 %148, %155 + %157 = bitcast i32 %156 to float + %158 = fmul float %154, %154 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F81110B80000000, float noundef %158, float noundef 0xBFC5555560000000) #56 + %160 = fmul float %159, %158 + %161 = fmul float %160, %154 + %162 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA5554F80000000, float noundef %158, float noundef -5.000000e-01) #56 + %163 = fmul float %162, %158 + %164 = shl i32 %125, 2 + %165 = and i32 %164, 1020 + %166 = zext nneg i32 %165 to i64 + %167 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %166 + %168 = load float, ptr addrspace(1) %167, align 4, !tbaa !717 + %169 = or i32 %165, 1 + %170 = zext nneg i32 %169 to i64 + %171 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %170 + %172 = load float, ptr addrspace(1) %171, align 4, !tbaa !717 + %173 = or i32 %165, 2 + %174 = zext nneg i32 %173 to i64 + %175 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %174 + %176 = load float, ptr addrspace(1) %175, align 4, !tbaa !717 + %177 = or i32 %165, 3 + %178 = zext nneg i32 %177 to i64 + %179 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %178 + %180 = load float, ptr addrspace(1) %179, align 4, !tbaa !717 + %181 = fadd float %168, %180 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %180, float noundef %172) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %168, float noundef %154, float noundef %182) #56 + %184 = fsub float %172, %182 + %185 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %180, float noundef %184) #56 + %186 = fsub float %182, %183 + %187 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %168, float noundef %154, float noundef %186) #56 + %188 = fadd float %187, %185 + %189 = fneg float %154 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %189, float noundef %172, float noundef %181) #56 + %191 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %157, float noundef %190, float noundef %176) #56 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %163, float noundef %172, float noundef %191) #56 + %193 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %190, float noundef %192) #56 + %194 = fadd float %193, %188 + %195 = fadd float %183, %194 + %196 = bitcast float %195 to i32 + %197 = xor i32 %33, %196 + %198 = shl i32 %125, 4 + %199 = add i32 %198, 1024 + %200 = lshr exact i32 %199, 2 + %201 = and i32 %200, 1020 + %202 = zext nneg i32 %201 to i64 + %203 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %202 + %204 = load float, ptr addrspace(1) %203, align 4, !tbaa !717 + %205 = or i32 %201, 1 + %206 = zext nneg i32 %205 to i64 + %207 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %206 + %208 = load float, ptr addrspace(1) %207, align 4, !tbaa !717 + %209 = or i32 %201, 2 + %210 = zext nneg i32 %209 to i64 + %211 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %210 + %212 = load float, ptr addrspace(1) %211, align 4, !tbaa !717 + %213 = or i32 %201, 3 + %214 = zext nneg i32 %213 to i64 + %215 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_sincos_s_la12_GLOBAL__N_137__devicelib_imf_internal_ssincos_dataE, i64 %214 + %216 = load float, ptr addrspace(1) %215, align 4, !tbaa !717 + %217 = fadd float %204, %216 + %218 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %216, float noundef %208) #56 + %219 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %154, float noundef %218) #56 + %220 = fsub float %208, %218 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %216, float noundef %220) #56 + %222 = fsub float %218, %219 + %223 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %154, float noundef %222) #56 + %224 = fadd float %223, %221 + %225 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %189, float noundef %208, float noundef %217) #56 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %157, float noundef %225, float noundef %212) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %163, float noundef %208, float noundef %226) #56 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %225, float noundef %227) #56 + %229 = fadd float %228, %224 + %230 = fadd float %219, %229 + %231 = bitcast i32 %197 to float + %232 = and i32 %4, 2139095040 + %233 = icmp eq i32 %232, 2139095040 + %234 = and i1 %59, %233 + %235 = icmp eq i32 %56, 2139095040 + %236 = select i1 %235, float 0.000000e+00, float %0 + %237 = fmul float %236, %0 + %238 = select i1 %234, float %237, float %230, !prof !1177 + %239 = select i1 %234, float %237, float %231, !prof !1177 + br label %240 + +240: ; preds = %55, %3 + %241 = phi float [ %238, %55 ], [ %53, %3 ] + %242 = phi float [ %239, %55 ], [ %50, %3 ] + store float %242, ptr addrspace(4) %1, align 4, !tbaa !731 + store float %241, ptr addrspace(4) %2, align 4, !tbaa !731 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_imf_sincospif(float noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #31 !srcloc !1247 { + %4 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %5 = fsub float %0, %4 + %6 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %7 = fneg float %6 + %8 = fptosi float %7 to i32 + %9 = tail call float @llvm.fabs.f32(float %5) + %10 = fsub float 5.000000e-01, %9 + %11 = fmul float %5, %5 + %12 = fmul float %10, %10 + %13 = shl i32 %8, 31 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA3E00000000000, float noundef %11, float noundef 0xBFD32535A0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FA3E00000000000, float noundef %12, float noundef 0xBFD32535A0000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %11, float noundef 0x3FF4668F20000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %12, float noundef 0x3FF4668F20000000) #56 + %18 = fcmp une float %5, 0.000000e+00 + %19 = bitcast float %0 to i32 + %20 = and i32 %19, -2147483648 + %21 = fcmp une float %10, 0.000000e+00 + %22 = select i1 %18, i32 %13, i32 %20 + %23 = select i1 %21, i32 %13, i32 0 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %11, float noundef 0xBFF9577860000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %12, float noundef 0xBFF9577860000000) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %11, float noundef 0x3FE243F6A0000000) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef %12, float noundef 0x3FE243F6A0000000) #56 + %28 = fneg float %5 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %5, float noundef %26) #56 + %30 = fneg float %10 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %10, float noundef %27) #56 + %32 = fadd float %5, %5 + %33 = fadd float %10, %10 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %32, float noundef %32) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %33, float noundef %33) #56 + %36 = bitcast float %34 to i32 + %37 = xor i32 %22, %36 + %38 = bitcast float %35 to i32 + %39 = xor i32 %23, %38 + store i32 %37, ptr addrspace(4) %1, align 4, !tbaa !731 + store i32 %39, ptr addrspace(4) %2, align 4, !tbaa !731 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_roundf(float noundef %0) local_unnamed_addr #31 !srcloc !1248 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, -2147483648 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %4) #56 + %6 = fsub float %4, %5 + %7 = fcmp oeq float %6, 5.000000e-01 + %8 = select i1 %7, float 1.000000e+00, float 0.000000e+00 + %9 = fadd float %5, %8 + %10 = bitcast float %9 to i32 + %11 = or i32 %3, %10 + %12 = bitcast i32 %11 to float + ret float %12 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rnormf(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #31 !srcloc !1249 { + br label %3 + +3: ; preds = %14, %2 + %4 = phi float [ 0.000000e+00, %2 ], [ %15, %14 ] + %5 = phi i32 [ 0, %2 ], [ %16, %14 ] + %6 = icmp slt i32 %5, %0 + br i1 %6, label %7, label %17 + +7: ; preds = %3 + %8 = sext i32 %5 to i64 + %9 = getelementptr inbounds float, ptr addrspace(4) %1, i64 %8 + %10 = load float, ptr addrspace(4) %9, align 4, !tbaa !731 + %11 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %10) #56 + %12 = bitcast float %11 to i32 + %13 = icmp eq i32 %12, 2139095040 + br i1 %13, label %41, label %14 + +14: ; preds = %7 + %15 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %4, float noundef %11) #56 + %16 = add nuw nsw i32 %5, 1 + br label %3, !llvm.loop !1250 + +17: ; preds = %3 + %18 = bitcast float %4 to i32 + %19 = and i32 %18, 2139095040 + %20 = lshr i32 %18, 7 + %21 = and i32 %20, 8388608 + %22 = or i32 %21, 2130706432 + %23 = sub nsw i32 %22, %19 + %24 = bitcast i32 %23 to float + br label %25 + +25: ; preds = %29, %17 + %26 = phi float [ 0.000000e+00, %17 ], [ %35, %29 ] + %27 = phi i32 [ 0, %17 ], [ %36, %29 ] + %28 = icmp slt i32 %27, %0 + br i1 %28, label %29, label %37 + +29: ; preds = %25 + %30 = sext i32 %27 to i64 + %31 = getelementptr inbounds float, ptr addrspace(4) %1, i64 %30 + %32 = load float, ptr addrspace(4) %31, align 4, !tbaa !731 + %33 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %32) #56 + %34 = fmul float %33, %24 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %34, float noundef %26) #56 + %36 = add nuw nsw i32 %27, 1 + br label %25, !llvm.loop !1251 + +37: ; preds = %25 + %38 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %26) #56 + %39 = fdiv float 1.000000e+00, %38 + %40 = fmul float %39, %24 + br label %41 + +41: ; preds = %37, %7 + %42 = phi float [ %40, %37 ], [ 0.000000e+00, %7 ] + ret float %42 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rnorm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) local_unnamed_addr #31 !srcloc !1252 { + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = tail call float @llvm.fabs.f32(float %1) + %7 = tail call float @llvm.fabs.f32(float %2) + %8 = tail call float @llvm.fabs.f32(float %3) + %9 = fadd float %5, %6 + %10 = fadd float %9, %7 + %11 = fadd float %10, %8 + %12 = fcmp ugt float %11, 0x47EFFFFFE0000000 + %13 = fcmp oeq float %11, 0.000000e+00 + %14 = or i1 %12, %13 + %15 = fcmp ogt float %5, %6 + %16 = select i1 %15, float %5, float %6 + %17 = fcmp olt float %5, %6 + %18 = select i1 %17, float %5, float %6 + %19 = fcmp ogt float %7, %8 + %20 = select i1 %19, float %7, float %8 + %21 = fcmp olt float %7, %8 + %22 = select i1 %21, float %7, float %8 + %23 = fcmp ogt float %16, %20 + %24 = select i1 %23, float %16, float %20 + %25 = fcmp olt float %16, %20 + %26 = select i1 %25, float %16, float %20 + %27 = fcmp olt float %18, %22 + %28 = select i1 %27, float %18, float %22 + %29 = fcmp ogt float %18, %22 + %30 = select i1 %29, float %18, float %22 + %31 = fcmp ogt float %26, %30 + %32 = select i1 %31, float %26, float %30 + %33 = fcmp olt float %26, %30 + %34 = select i1 %33, float %26, float %30 + %35 = bitcast float %24 to i32 + %36 = and i32 %35, 2139095040 + %37 = lshr i32 %35, 7 + %38 = and i32 %37, 8388608 + %39 = or i32 %38, 2130706432 + %40 = sub nsw i32 %39, %36 + %41 = bitcast i32 %40 to float + %42 = fmul float %24, %41 + %43 = fmul float %32, %41 + %44 = fmul float %34, %41 + %45 = fmul float %28, %41 + %46 = fmul float %45, %45 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %44, float noundef %46) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %43, float noundef %47) #56 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %42, float noundef %48) #56 + %50 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %49) #56 + %51 = fdiv float 1.000000e+00, %50 + %52 = fmul float %51, %51 + %53 = fneg float %52 + %54 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %51, float noundef %51, float noundef %53) #56 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %49, float noundef %52, float noundef -1.000000e+00) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %49, float noundef %54, float noundef %55) #56 + %57 = fmul float %56, -5.000000e-01 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %51, float noundef %57, float noundef %51) #56 + %59 = fmul float %58, %41 + br i1 %14, label %60, label %76, !prof !1176 + +60: ; preds = %4 + %61 = select i1 %13, i32 2139095040, i32 0 + %62 = fcmp uno float %11, 0.000000e+00 + %63 = select i1 %62, float %11, float %59 + %64 = bitcast float %63 to i32 + %65 = fcmp ogt float %5, 0x47EFFFFFE0000000 + %66 = fcmp ogt float %6, 0x47EFFFFFE0000000 + %67 = fcmp ogt float %7, 0x47EFFFFFE0000000 + %68 = fcmp ogt float %8, 0x47EFFFFFE0000000 + %69 = or i1 %65, %66 + %70 = or i1 %67, %68 + %71 = or i1 %69, %70 + %72 = or i1 %13, %71 + %73 = select i1 %72, i32 0, i32 %64 + %74 = or i32 %73, %61 + %75 = bitcast i32 %74 to float + br label %76 + +76: ; preds = %60, %4 + %77 = phi float [ %75, %60 ], [ %59, %4 ] + ret float %77 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rnorm3df(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #31 !srcloc !1253 { + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = tail call float @llvm.fabs.f32(float %1) + %6 = tail call float @llvm.fabs.f32(float %2) + %7 = fadd float %4, %5 + %8 = fadd float %7, %6 + %9 = fcmp ugt float %8, 0x47EFFFFFE0000000 + %10 = fcmp oeq float %8, 0.000000e+00 + %11 = or i1 %9, %10 + %12 = fcmp ogt float %4, %5 + %13 = select i1 %12, float %4, float %5 + %14 = fcmp olt float %4, %5 + %15 = select i1 %14, float %4, float %5 + %16 = fcmp ogt float %13, %6 + %17 = select i1 %16, float %13, float %6 + %18 = fcmp olt float %13, %6 + %19 = select i1 %18, float %13, float %6 + %20 = fcmp ogt float %19, %15 + %21 = select i1 %20, float %19, float %15 + %22 = fcmp olt float %19, %15 + %23 = select i1 %22, float %19, float %15 + %24 = bitcast float %17 to i32 + %25 = and i32 %24, 2139095040 + %26 = lshr i32 %24, 7 + %27 = and i32 %26, 8388608 + %28 = or i32 %27, 2130706432 + %29 = sub nsw i32 %28, %25 + %30 = bitcast i32 %29 to float + %31 = fmul float %17, %30 + %32 = fmul float %21, %30 + %33 = fmul float %23, %30 + %34 = fmul float %33, %33 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %32, float noundef %34) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %31, float noundef %35) #56 + %37 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %36) #56 + %38 = fdiv float 1.000000e+00, %37 + %39 = fmul float %38, %38 + %40 = fneg float %39 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %38, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %39, float noundef -1.000000e+00) #56 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %41, float noundef %42) #56 + %44 = fmul float %43, -5.000000e-01 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %44, float noundef %38) #56 + %46 = fmul float %45, %30 + br i1 %11, label %47, label %61, !prof !1176 + +47: ; preds = %3 + %48 = select i1 %10, i32 2139095040, i32 0 + %49 = fcmp uno float %8, 0.000000e+00 + %50 = select i1 %49, float %8, float %46 + %51 = bitcast float %50 to i32 + %52 = fcmp ogt float %4, 0x47EFFFFFE0000000 + %53 = fcmp ogt float %5, 0x47EFFFFFE0000000 + %54 = fcmp ogt float %6, 0x47EFFFFFE0000000 + %55 = or i1 %52, %53 + %56 = or i1 %55, %54 + %57 = or i1 %10, %56 + %58 = select i1 %57, i32 0, i32 %51 + %59 = or i32 %58, %48 + %60 = bitcast i32 %59 to float + br label %61 + +61: ; preds = %47, %3 + %62 = phi float [ %60, %47 ], [ %46, %3 ] + ret float %62 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rhypotf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1254 { + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = tail call float @llvm.fabs.f32(float %1) + %5 = fadd float %3, %4 + %6 = fcmp ugt float %5, 0x47EFFFFFE0000000 + %7 = fcmp oeq float %5, 0.000000e+00 + %8 = or i1 %6, %7 + %9 = fcmp ogt float %3, %4 + %10 = select i1 %9, float %3, float %4 + %11 = fcmp olt float %3, %4 + %12 = select i1 %11, float %3, float %4 + %13 = bitcast float %10 to i32 + %14 = and i32 %13, 2139095040 + %15 = lshr i32 %13, 7 + %16 = and i32 %15, 8388608 + %17 = or i32 %16, 2130706432 + %18 = sub nsw i32 %17, %14 + %19 = bitcast i32 %18 to float + %20 = fmul float %10, %19 + %21 = fmul float %12, %19 + %22 = fmul float %21, %21 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %20, float noundef %22) #56 + %24 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %23) #56 + %25 = fdiv float 1.000000e+00, %24 + %26 = fmul float %25, %19 + br i1 %8, label %27, label %35, !prof !1176 + +27: ; preds = %2 + %28 = fcmp uno float %5, 0.000000e+00 + %29 = select i1 %28, float %5, float %26 + %30 = fcmp ule float %3, 0x47EFFFFFE0000000 + %31 = fcmp ule float %4, 0x47EFFFFFE0000000 + %32 = and i1 %30, %31 + %33 = select i1 %32, float %29, float 0.000000e+00 + %34 = select i1 %7, float 0x7FF0000000000000, float %33 + br label %35 + +35: ; preds = %27, %2 + %36 = phi float [ %34, %27 ], [ %26, %2 ] + ret float %36 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_remquof(float noundef %0, float noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #31 !srcloc !1255 { + %4 = alloca float, align 4 + %5 = alloca i32, align 4 + %6 = bitcast float %0 to i32 + %7 = tail call float @llvm.fabs.f32(float %0) + %8 = bitcast float %7 to i32 + %9 = bitcast float %1 to i32 + %10 = tail call float @llvm.fabs.f32(float %1) + %11 = bitcast float %10 to i32 + %12 = add nuw i32 %11, 1946157056 + %13 = icmp sgt i32 %12, -310378497 + %14 = lshr i32 %8, 23 + %15 = lshr i32 %11, 23 + %16 = sub nsw i32 %14, %15 + %17 = icmp sgt i32 %16, 11 + %18 = or i1 %17, %13 + %19 = and i32 %9, -4096 + %20 = bitcast i32 %19 to float + %21 = fsub float %1, %20 + %22 = fdiv float %0, %1 + %23 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %22) #56 + %24 = fptosi float %23 to i32 + %25 = fmul float %23, %20 + %26 = fmul float %23, %21 + %27 = fsub float %0, %25 + %28 = fsub float %27, %26 + %29 = bitcast float %28 to i32 + %30 = and i32 %29, -2147483648 + %31 = tail call float @llvm.fabs.f32(float %28) + %32 = xor i32 %29, %9 + %33 = and i32 %6, -2147483648 + %34 = ashr i32 %32, 31 + %35 = or i32 %34, 1 + %36 = fmul float %10, 5.000000e-01 + %37 = fcmp ogt float %31, %36 + %38 = sext i1 %37 to i32 + %39 = and i32 %35, %38 + %40 = and i32 %38, %11 + %41 = or i32 %40, %30 + %42 = bitcast i32 %41 to float + %43 = fsub float %28, %42 + %44 = add i32 %39, %24 + %45 = fcmp oeq float %43, 0.000000e+00 + %46 = select i1 %45, i32 %33, i32 0 + %47 = bitcast float %43 to i32 + %48 = or i32 %46, %47 + %49 = bitcast i32 %48 to float + br i1 %18, label %50, label %55, !prof !1176 + +50: ; preds = %3 + %51 = addrspacecast ptr %5 to ptr addrspace(4) + %52 = addrspacecast ptr %4 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + store i32 %48, ptr %4, align 4, !tbaa !731 + store i32 %44, ptr %5, align 4, !tbaa !717 + call spir_func void @_ZN22__imf_impl_remquo_s_xa12_GLOBAL__N_132__devicelib_imf_internal_sremquoEPKfS2_PfPi(float %0, float %1, ptr addrspace(4) noundef %52, ptr addrspace(4) noundef %51) #55 + %53 = load float, ptr %4, align 4, !tbaa !731 + %54 = load i32, ptr %5, align 4, !tbaa !717 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + br label %55 + +55: ; preds = %50, %3 + %56 = phi i32 [ %54, %50 ], [ %44, %3 ] + %57 = phi float [ %53, %50 ], [ %49, %3 ] + store i32 %56, ptr addrspace(4) %2, align 4, !tbaa !717 + ret float %57 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN22__imf_impl_remquo_s_xa12_GLOBAL__N_132__devicelib_imf_internal_sremquoEPKfS2_PfPi(float %0, float %1, ptr addrspace(4) nocapture noundef writeonly %2, ptr addrspace(4) nocapture noundef writeonly %3) unnamed_addr #37 !srcloc !1256 !sycl_kernel_omit_args !1257 { + %5 = bitcast float %0 to i32 + %6 = tail call float @llvm.fabs.f32(float %0) + %7 = bitcast float %6 to i32 + %8 = bitcast float %1 to i32 + %9 = tail call float @llvm.fabs.f32(float %1) + %10 = bitcast float %9 to i32 + %11 = xor i32 %5, %8 + %12 = icmp sgt i32 %11, -1 + %13 = select i1 %12, i32 1, i32 -1 + %14 = lshr i32 %7, 23 + %15 = and i32 %14, 255 + %16 = add nsw i32 %15, -127 + %17 = lshr i32 %10, 23 + %18 = and i32 %17, 255 + %19 = add nsw i32 %18, -127 + %20 = icmp eq i32 %16, 128 + %21 = icmp eq i32 %19, 128 + %22 = select i1 %20, i1 true, i1 %21 + %23 = icmp eq i32 %7, 0 + %24 = or i1 %22, %23 + %25 = icmp eq i32 %10, 0 + %26 = select i1 %24, i1 true, i1 %25 + %27 = and i32 %7, 8388607 + %28 = and i32 %10, 8388607 + br i1 %26, label %29, label %49 + +29: ; preds = %4 + store i32 0, ptr addrspace(4) %3, align 4, !tbaa !717 + %30 = icmp ne i32 %27, 0 + %31 = xor i1 %20, true + %32 = and i1 %30, %20 + br i1 %32, label %33, label %35 + +33: ; preds = %29 + %34 = fmul float %0, 0x3FFB333340000000 + br label %47 + +35: ; preds = %29 + %36 = icmp ne i32 %28, 0 + %37 = select i1 %36, i1 %21, i1 false + br i1 %37, label %38, label %40 + +38: ; preds = %35 + %39 = fmul float %1, 0x3FFB333340000000 + br label %47 + +40: ; preds = %35 + %41 = fcmp oeq float %1, 0.000000e+00 + %42 = fcmp oeq float %0, 0.000000e+00 + %43 = or i1 %42, %31 + %44 = or i1 %43, %30 + %45 = select i1 %44, float %0, float 0x7FF8000000000000 + %46 = select i1 %41, float 0x7FF8000000000000, float %45 + br label %47 + +47: ; preds = %40, %38, %33 + %48 = phi float [ %34, %33 ], [ %39, %38 ], [ %46, %40 ] + store float %48, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +49: ; preds = %4 + %50 = fcmp ugt float %6, %9 + br i1 %50, label %66, label %51 + +51: ; preds = %49 + store i32 %13, ptr addrspace(4) %3, align 4, !tbaa !717 + %52 = fcmp oeq float %6, %9 + br i1 %52, label %53, label %55 + +53: ; preds = %51 + %54 = fmul float %0, 0.000000e+00 + store float %54, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +55: ; preds = %51 + %56 = icmp eq i32 %16, 127 + %57 = fmul float %6, 2.000000e+00 + %58 = fcmp ugt float %57, %9 + %59 = select i1 %56, i1 true, i1 %58 + br i1 %59, label %61, label %60 + +60: ; preds = %55 + store i32 0, ptr addrspace(4) %3, align 4, !tbaa !717 + store float %0, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +61: ; preds = %55 + %62 = fsub float %6, %9 + %63 = fneg float %62 + %64 = icmp slt i32 %5, 0 + %65 = select i1 %64, float %63, float %62 + store float %65, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +66: ; preds = %49 + %67 = icmp ne i32 %15, 0 + %68 = icmp eq i32 %27, 0 + %69 = or i1 %67, %68 + br i1 %69, label %77, label %70 + +70: ; preds = %74, %66 + %71 = phi i32 [ %75, %74 ], [ -126, %66 ] + %72 = phi i32 [ %76, %74 ], [ %27, %66 ] + %73 = icmp ult i32 %72, 8388608 + br i1 %73, label %74, label %79 + +74: ; preds = %70 + %75 = add nsw i32 %71, -1 + %76 = shl nuw nsw i32 %72, 1 + br label %70, !llvm.loop !1258 + +77: ; preds = %66 + %78 = or i32 %27, 8388608 + br label %79 + +79: ; preds = %77, %70 + %80 = phi i32 [ %16, %77 ], [ %71, %70 ] + %81 = phi i32 [ %78, %77 ], [ %72, %70 ] + %82 = icmp ne i32 %18, 0 + %83 = icmp eq i32 %28, 0 + %84 = select i1 %82, i1 true, i1 %83 + br i1 %84, label %92, label %85 + +85: ; preds = %89, %79 + %86 = phi i32 [ %90, %89 ], [ -126, %79 ] + %87 = phi i32 [ %91, %89 ], [ %28, %79 ] + %88 = icmp ult i32 %87, 8388608 + br i1 %88, label %89, label %94 + +89: ; preds = %85 + %90 = add nsw i32 %86, -1 + %91 = shl nuw nsw i32 %87, 1 + br label %85, !llvm.loop !1259 + +92: ; preds = %79 + %93 = or i32 %28, 8388608 + br label %94 + +94: ; preds = %92, %85 + %95 = phi i32 [ %19, %92 ], [ %86, %85 ] + %96 = phi i32 [ %93, %92 ], [ %87, %85 ] + %97 = sub nsw i32 %80, %95 + %98 = add nsw i32 %97, 1 + br label %99 + +99: ; preds = %104, %94 + %100 = phi i32 [ 0, %94 ], [ %112, %104 ] + %101 = phi i32 [ 0, %94 ], [ %108, %104 ] + %102 = phi i32 [ %81, %94 ], [ %111, %104 ] + %103 = icmp ult i32 %100, %98 + br i1 %103, label %104, label %113 + +104: ; preds = %99 + %105 = shl i32 %101, 1 + %106 = icmp uge i32 %102, %96 + %107 = zext i1 %106 to i32 + %108 = or i32 %105, %107 + %109 = select i1 %106, i32 %96, i32 0 + %110 = sub i32 %102, %109 + %111 = shl i32 %110, 1 + %112 = add nuw nsw i32 %100, 1 + br label %99, !llvm.loop !1260 + +113: ; preds = %99 + %114 = icmp eq i32 %102, 0 + br i1 %114, label %115, label %119 + +115: ; preds = %113 + %116 = and i32 %101, 2147483647 + %117 = mul nsw i32 %116, %13 + store i32 %117, ptr addrspace(4) %3, align 4, !tbaa !717 + %118 = fmul float %0, 0.000000e+00 + store float %118, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +119: ; preds = %113 + %120 = lshr i32 %102, 1 + br label %121 + +121: ; preds = %125, %119 + %122 = phi i32 [ %95, %119 ], [ %126, %125 ] + %123 = phi i32 [ %120, %119 ], [ %127, %125 ] + %124 = icmp ult i32 %123, 8388608 + br i1 %124, label %125, label %128 + +125: ; preds = %121 + %126 = add nsw i32 %122, -1 + %127 = shl nuw nsw i32 %123, 1 + br label %121, !llvm.loop !1261 + +128: ; preds = %121 + %129 = icmp sgt i32 %122, -127 + br i1 %129, label %130, label %134 + +130: ; preds = %128 + %131 = and i32 %123, 8388607 + %132 = shl i32 %122, 23 + %133 = add i32 %132, 1065353216 + br label %137 + +134: ; preds = %128 + %135 = sub nuw nsw i32 -126, %122 + %136 = lshr i32 %123, %135 + br label %137 + +137: ; preds = %134, %130 + %138 = phi i32 [ %133, %130 ], [ 0, %134 ] + %139 = phi i32 [ %131, %130 ], [ %136, %134 ] + %140 = or i32 %138, %139 + %141 = bitcast i32 %140 to float + %142 = fmul float %141, 2.000000e+00 + %143 = fcmp ult float %142, %9 + br i1 %143, label %155, label %144 + +144: ; preds = %137 + %145 = fcmp oeq float %142, %9 + br i1 %145, label %146, label %152 + +146: ; preds = %144 + %147 = and i32 %101, 1 + %148 = icmp eq i32 %147, 0 + %149 = fneg float %141 + %150 = add i32 %101, %147 + %151 = select i1 %148, float %141, float %149 + br label %155 + +152: ; preds = %144 + %153 = fsub float %141, %9 + %154 = add i32 %101, 1 + br label %155 + +155: ; preds = %152, %146, %137 + %156 = phi i32 [ %150, %146 ], [ %154, %152 ], [ %101, %137 ] + %157 = phi float [ %151, %146 ], [ %153, %152 ], [ %141, %137 ] + %158 = and i32 %156, 2147483647 + %159 = mul nsw i32 %158, %13 + store i32 %159, ptr addrspace(4) %3, align 4, !tbaa !717 + %160 = fneg float %157 + %161 = icmp slt i32 %5, 0 + %162 = select i1 %161, float %160, float %157 + store float %162, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %163 + +163: ; preds = %155, %115, %61, %60, %53, %47 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_remainderf(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1262 { + %3 = bitcast float %0 to i32 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = bitcast float %4 to i32 + %6 = tail call float @llvm.fabs.f32(float %1) + %7 = bitcast float %6 to i32 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = add nsw i32 %9, -127 + %11 = lshr i32 %7, 23 + %12 = and i32 %11, 255 + %13 = add nsw i32 %12, -127 + %14 = icmp eq i32 %10, 128 + %15 = icmp eq i32 %13, 128 + %16 = select i1 %14, i1 true, i1 %15 + %17 = icmp eq i32 %5, 0 + %18 = or i1 %16, %17 + %19 = icmp eq i32 %7, 0 + %20 = or i1 %18, %19 + %21 = and i32 %5, 8388607 + %22 = and i32 %7, 8388607 + br i1 %20, label %23, label %41 + +23: ; preds = %2 + %24 = icmp ne i32 %21, 0 + %25 = xor i1 %14, true + %26 = and i1 %24, %14 + br i1 %26, label %27, label %29 + +27: ; preds = %23 + %28 = fmul float %0, 0x3FFB333340000000 + br label %141 + +29: ; preds = %23 + %30 = icmp ne i32 %22, 0 + %31 = select i1 %30, i1 %15, i1 false + br i1 %31, label %32, label %34 + +32: ; preds = %29 + %33 = fmul float %1, 0x3FFB333340000000 + br label %141 + +34: ; preds = %29 + %35 = fcmp oeq float %1, 0.000000e+00 + %36 = fcmp oeq float %0, 0.000000e+00 + %37 = or i1 %36, %25 + %38 = or i1 %37, %24 + %39 = select i1 %38, float %0, float 0x7FF8000000000000 + %40 = select i1 %35, float 0x7FF8000000000000, float %39 + br label %141 + +41: ; preds = %2 + %42 = fcmp ugt float %4, %6 + br i1 %42, label %57, label %43 + +43: ; preds = %41 + %44 = fcmp oeq float %4, %6 + br i1 %44, label %45, label %47 + +45: ; preds = %43 + %46 = fmul float %0, 0.000000e+00 + br label %141 + +47: ; preds = %43 + %48 = icmp eq i32 %10, 127 + %49 = fmul float %4, 2.000000e+00 + %50 = fcmp ugt float %49, %6 + %51 = or i1 %48, %50 + %52 = fsub float %4, %6 + %53 = fneg float %52 + %54 = icmp slt i32 %3, 0 + %55 = select i1 %54, float %53, float %52 + %56 = select i1 %51, float %55, float %0 + br label %141 + +57: ; preds = %41 + %58 = icmp ne i32 %9, 0 + %59 = icmp eq i32 %21, 0 + %60 = or i1 %58, %59 + br i1 %60, label %68, label %61 + +61: ; preds = %65, %57 + %62 = phi i32 [ %66, %65 ], [ -126, %57 ] + %63 = phi i32 [ %67, %65 ], [ %21, %57 ] + %64 = icmp ult i32 %63, 8388608 + br i1 %64, label %65, label %70 + +65: ; preds = %61 + %66 = add nsw i32 %62, -1 + %67 = shl nuw nsw i32 %63, 1 + br label %61, !llvm.loop !1263 + +68: ; preds = %57 + %69 = or i32 %21, 8388608 + br label %70 + +70: ; preds = %68, %61 + %71 = phi i32 [ %10, %68 ], [ %62, %61 ] + %72 = phi i32 [ %69, %68 ], [ %63, %61 ] + %73 = icmp ne i32 %12, 0 + %74 = icmp eq i32 %22, 0 + %75 = or i1 %73, %74 + br i1 %75, label %83, label %76 + +76: ; preds = %80, %70 + %77 = phi i32 [ %81, %80 ], [ -126, %70 ] + %78 = phi i32 [ %82, %80 ], [ %22, %70 ] + %79 = icmp ult i32 %78, 8388608 + br i1 %79, label %80, label %85 + +80: ; preds = %76 + %81 = add nsw i32 %77, -1 + %82 = shl nuw nsw i32 %78, 1 + br label %76, !llvm.loop !1264 + +83: ; preds = %70 + %84 = or i32 %22, 8388608 + br label %85 + +85: ; preds = %83, %76 + %86 = phi i32 [ %13, %83 ], [ %77, %76 ] + %87 = phi i32 [ %84, %83 ], [ %78, %76 ] + %88 = sub nsw i32 %71, %86 + %89 = add nsw i32 %88, 1 + br label %90 + +90: ; preds = %95, %85 + %91 = phi i32 [ 0, %85 ], [ %100, %95 ] + %92 = phi i1 [ true, %85 ], [ %96, %95 ] + %93 = phi i32 [ %72, %85 ], [ %99, %95 ] + %94 = icmp ult i32 %91, %89 + br i1 %94, label %95, label %101 + +95: ; preds = %90 + %96 = icmp ult i32 %93, %87 + %97 = select i1 %96, i32 0, i32 %87 + %98 = sub i32 %93, %97 + %99 = shl i32 %98, 1 + %100 = add nuw nsw i32 %91, 1 + br label %90, !llvm.loop !1265 + +101: ; preds = %90 + %102 = icmp eq i32 %93, 0 + br i1 %102, label %103, label %105 + +103: ; preds = %101 + %104 = fmul float %0, 0.000000e+00 + br label %141 + +105: ; preds = %101 + %106 = lshr i32 %93, 1 + br label %107 + +107: ; preds = %111, %105 + %108 = phi i32 [ %86, %105 ], [ %112, %111 ] + %109 = phi i32 [ %106, %105 ], [ %113, %111 ] + %110 = icmp ult i32 %109, 8388608 + br i1 %110, label %111, label %114 + +111: ; preds = %107 + %112 = add nsw i32 %108, -1 + %113 = shl nuw nsw i32 %109, 1 + br label %107, !llvm.loop !1266 + +114: ; preds = %107 + %115 = icmp sgt i32 %108, -127 + br i1 %115, label %116, label %120 + +116: ; preds = %114 + %117 = and i32 %109, 8388607 + %118 = shl i32 %108, 23 + %119 = add i32 %118, 1065353216 + br label %123 + +120: ; preds = %114 + %121 = sub nuw nsw i32 -126, %108 + %122 = lshr i32 %109, %121 + br label %123 + +123: ; preds = %120, %116 + %124 = phi i32 [ %119, %116 ], [ 0, %120 ] + %125 = phi i32 [ %117, %116 ], [ %122, %120 ] + %126 = or i32 %124, %125 + %127 = bitcast i32 %126 to float + %128 = fmul float %127, 2.000000e+00 + %129 = fcmp ult float %128, %6 + br i1 %129, label %136, label %130 + +130: ; preds = %123 + %131 = fcmp oeq float %128, %6 + %132 = fneg float %127 + %133 = select i1 %92, float %127, float %132 + %134 = fsub float %127, %6 + %135 = select i1 %131, float %133, float %134 + br label %136 + +136: ; preds = %130, %123 + %137 = phi float [ %127, %123 ], [ %135, %130 ] + %138 = fneg float %137 + %139 = icmp slt i32 %3, 0 + %140 = select i1 %139, float %138, float %137 + br label %141 + +141: ; preds = %136, %103, %47, %45, %34, %32, %27 + %142 = phi float [ %104, %103 ], [ %140, %136 ], [ %46, %45 ], [ %28, %27 ], [ %33, %32 ], [ %40, %34 ], [ %56, %47 ] + ret float %142 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_norm4df(float noundef %0, float noundef %1, float noundef %2, float noundef %3) local_unnamed_addr #31 !srcloc !1267 { + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = tail call float @llvm.fabs.f32(float %1) + %7 = tail call float @llvm.fabs.f32(float %2) + %8 = tail call float @llvm.fabs.f32(float %3) + %9 = fadd float %5, %6 + %10 = fadd float %9, %7 + %11 = fadd float %10, %8 + %12 = fcmp ugt float %11, 0x47EFFFFFE0000000 + %13 = fcmp oeq float %11, 0.000000e+00 + %14 = or i1 %12, %13 + %15 = fcmp ogt float %5, %6 + %16 = select i1 %15, float %5, float %6 + %17 = fcmp olt float %5, %6 + %18 = select i1 %17, float %5, float %6 + %19 = fcmp ogt float %7, %8 + %20 = select i1 %19, float %7, float %8 + %21 = fcmp olt float %7, %8 + %22 = select i1 %21, float %7, float %8 + %23 = fcmp ogt float %16, %20 + %24 = select i1 %23, float %16, float %20 + %25 = fcmp olt float %16, %20 + %26 = select i1 %25, float %16, float %20 + %27 = fcmp olt float %18, %22 + %28 = select i1 %27, float %18, float %22 + %29 = fcmp ogt float %18, %22 + %30 = select i1 %29, float %18, float %22 + %31 = fcmp ogt float %26, %30 + %32 = select i1 %31, float %26, float %30 + %33 = fcmp olt float %26, %30 + %34 = select i1 %33, float %26, float %30 + %35 = bitcast float %24 to i32 + %36 = and i32 %35, 2139095040 + %37 = lshr i32 %35, 6 + %38 = and i32 %37, 16777216 + %39 = or i32 %38, 2122317824 + %40 = sub nsw i32 %39, %36 + %41 = bitcast i32 %40 to float + %42 = fmul float %24, %41 + %43 = fmul float %32, %41 + %44 = fmul float %34, %41 + %45 = fmul float %28, %41 + %46 = fmul float %45, %45 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %44, float noundef %46) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %43, float noundef %47) #56 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %42, float noundef %48) #56 + %50 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %49) #56 + %51 = fdiv float 1.000000e+00, %50 + %52 = fmul float %49, %51 + %53 = fmul float %51, 5.000000e-01 + %54 = fneg float %52 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %52, float noundef %49) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %53, float noundef %55, float noundef %52) #56 + %57 = sub i32 2130706432, %40 + %58 = bitcast i32 %57 to float + %59 = fmul float %56, %58 + br i1 %14, label %60, label %72, !prof !1176 + +60: ; preds = %4 + %61 = fcmp uno float %11, 0.000000e+00 + %62 = select i1 %61, float %11, float %59 + %63 = fcmp ogt float %5, 0x47EFFFFFE0000000 + %64 = fcmp ogt float %6, 0x47EFFFFFE0000000 + %65 = fcmp ogt float %7, 0x47EFFFFFE0000000 + %66 = fcmp ogt float %8, 0x47EFFFFFE0000000 + %67 = or i1 %63, %64 + %68 = or i1 %65, %66 + %69 = or i1 %67, %68 + %70 = select i1 %69, float 0x7FF0000000000000, float %62 + %71 = select i1 %13, float 0.000000e+00, float %70 + br label %72 + +72: ; preds = %60, %4 + %73 = phi float [ %71, %60 ], [ %59, %4 ] + ret float %73 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_tgammaf(float noundef %0) local_unnamed_addr #31 !srcloc !1268 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = bitcast float %2 to i32 + %4 = icmp ugt i32 %3, 2139095039 + br i1 %4, label %5, label %7 + +5: ; preds = %1 + %6 = fadd float %0, 0x7FF0000000000000 + br label %229 + +7: ; preds = %1 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %9 = fsub float %0, %8 + %10 = fcmp olt float %2, 0x4003B16800000000 + br i1 %10, label %11, label %64 + +11: ; preds = %7 + %12 = fcmp ole float %9, 0x3FDD8B4000000000 + %13 = fadd float %9, -1.000000e+00 + %14 = select i1 %12, float %9, float %13 + %15 = fcmp ugt float %0, 0x3FF762D000000000 + br i1 %15, label %46, label %16 + +16: ; preds = %11 + %17 = fcmp oeq float %9, 0.000000e+00 + br i1 %17, label %18, label %22 + +18: ; preds = %16 + %19 = fcmp olt float %0, 0.000000e+00 + %20 = fdiv float 1.000000e+00, %0 + %21 = select i1 %19, float 0xFFF8000000000000, float %20 + br label %229 + +22: ; preds = %16 + %23 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %24 = fcmp ole float %23, 0x3820000000000000 + %25 = fmul float %0, 0x43F0000000000000 + %26 = select i1 %24, float %25, float %0 + br label %27 + +27: ; preds = %32, %22 + %28 = phi float [ %0, %22 ], [ %33, %32 ] + %29 = phi float [ 0.000000e+00, %22 ], [ %37, %32 ] + %30 = phi float [ %26, %22 ], [ %34, %32 ] + %31 = fcmp ugt float %28, 0x3FDD8B4000000000 + br i1 %31, label %38, label %32 + +32: ; preds = %27 + %33 = fadd float %28, 1.000000e+00 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %33, float noundef 0.000000e+00) #56 + %35 = fneg float %34 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %33, float noundef %35) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %33, float noundef %36) #56 + br label %27, !llvm.loop !1269 + +38: ; preds = %27 + %39 = fdiv float 1.000000e+00, %30 + %40 = fneg float %30 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %40, float noundef 1.000000e+00) #56 + %42 = fneg float %29 + %43 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %42, float noundef %41) #56 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %39, float noundef %39) #56 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %44, float noundef 0.000000e+00) #56 + br label %46 + +46: ; preds = %38, %11 + %47 = phi float [ %45, %38 ], [ 0.000000e+00, %11 ] + %48 = phi float [ %39, %38 ], [ 1.000000e+00, %11 ] + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF56C2EDA0000000, float noundef %14, float noundef 0x3F63A716E0000000) #56 + %50 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %49, float noundef %14, float noundef 0xBF65D65EC0000000) #56 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %50, float noundef %14, float noundef 0x3F86B89DE0000000) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %51, float noundef %14, float noundef 0xBF3352DB40000000) #56 + %53 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %52, float noundef %14, float noundef 0x3FB3024FA0000000) #56 + %54 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %53, float noundef %14, float noundef 0x3FB4E25420000000) #56 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %14, float noundef 0x3FDA5B96E0000000) #56 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef %14, float noundef 0x3FDB0EE5E0000000) #56 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %56, float noundef %14, float noundef 1.000000e+00) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef %57, float noundef 0.000000e+00) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %57, float noundef %58) #56 + %60 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %61 = fcmp ole float %60, 0x3820000000000000 + %62 = fmul float %59, 0x43F0000000000000 + %63 = select i1 %61, float %62, float %59 + br label %229 + +64: ; preds = %7 + %65 = add nsw i32 %3, -1059760811 + %66 = ashr i32 %65, 23 + %67 = and i32 %65, -8388608 + %68 = sub i32 %3, %67 + %69 = bitcast i32 %68 to float + %70 = fadd float %69, -1.000000e+00 + %71 = sitofp i32 %66 to float + %72 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC67EE440000000, float noundef %70, float noundef 0xBFC81784A0000000) #56 + %73 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %72, float noundef %70, float noundef 0x3FC3C3FCC0000000) #56 + %74 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %73, float noundef %70, float noundef 0xBFC66BD800000000) #56 + %75 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %74, float noundef %70, float noundef 0x3FCA6CCC40000000) #56 + %76 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef %70, float noundef 0xBFCECF83C0000000) #56 + %77 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %70, float noundef 0x3FD2774660000000) #56 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef %70, float noundef 0xBFD7153180000000) #56 + %79 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %78, float noundef %70, float noundef 0x3FDEC70A40000000) #56 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %79, float noundef %70, float noundef 0.000000e+00) #56 + %81 = fneg float %80 + %82 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %79, float noundef %70, float noundef %81) #56 + %83 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %80, float noundef 1.000000e+00, float noundef 0xBFE7154780000000) #56 + %84 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %83, float noundef 1.000000e+00, float noundef 0x3FE7154780000000) #56 + %85 = fneg float %84 + %86 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %80, float noundef 1.000000e+00, float noundef %85) #56 + %87 = fadd float %82, 0x3E562425E0000000 + %88 = fadd float %87, %86 + %89 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %83, float noundef %70, float noundef 0.000000e+00) #56 + %90 = fneg float %89 + %91 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %83, float noundef %70, float noundef %90) #56 + %92 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %88, float noundef %70, float noundef %91) #56 + %93 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef 1.000000e+00, float noundef 0x3FF7154760000000) #56 + %94 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef 1.000000e+00, float noundef 0xBFF7154760000000) #56 + %95 = fneg float %94 + %96 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef 1.000000e+00, float noundef %95) #56 + %97 = fadd float %92, 0x3E548A35C0000000 + %98 = fadd float %97, %96 + %99 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %70, float noundef 0.000000e+00) #56 + %100 = fneg float %99 + %101 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %70, float noundef %100) #56 + %102 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %98, float noundef %70, float noundef %101) #56 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %99, float noundef 1.000000e+00, float noundef %71) #56 + %104 = fneg float %71 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef 1.000000e+00, float noundef %104) #56 + %106 = fneg float %105 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %99, float noundef 1.000000e+00, float noundef %106) #56 + %108 = fadd float %102, %107 + %109 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %2, float noundef 5.120000e+02) #56 + %110 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef %109, float noundef 0.000000e+00) #56 + %111 = fneg float %110 + %112 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef %109, float noundef %111) #56 + %113 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %108, float noundef %109, float noundef %112) #56 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef -5.000000e-01, float noundef 0.000000e+00) #56 + %115 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %108, float noundef -5.000000e-01, float noundef 0.000000e+00) #56 + %116 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef 0xBFF7154760000000, float noundef 0.000000e+00) #56 + %117 = fneg float %116 + %118 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef 0xBFF7154760000000, float noundef %117) #56 + %119 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef 0xBE54AE0C00000000, float noundef %118) #56 + %120 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %114, float noundef 1.000000e+00, float noundef %116) #56 + %121 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %120, float noundef 1.000000e+00, float noundef %117) #56 + %122 = fneg float %121 + %123 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %114, float noundef 1.000000e+00, float noundef %122) #56 + %124 = fadd float %115, %119 + %125 = fadd float %124, %123 + %126 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %120) #56 + %127 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %110) #56 + %128 = fcmp ole float %126, %127 + %129 = select i1 %128, float %110, float %120 + %130 = select i1 %128, float %120, float %110 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %130, float noundef 1.000000e+00, float noundef %129) #56 + %132 = fneg float %129 + %133 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %131, float noundef 1.000000e+00, float noundef %132) #56 + %134 = fneg float %133 + %135 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %130, float noundef 1.000000e+00, float noundef %134) #56 + %136 = fadd float %125, %113 + %137 = fadd float %136, %135 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %131, float noundef 1.000000e+00, float noundef %137) #56 + %139 = fneg float %131 + %140 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef %139) #56 + %141 = fneg float %140 + %142 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef 1.000000e+00, float noundef %141) #56 + %143 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 5.000000e-01, float noundef 0x4168000FE0000000) #56 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef 1.000000e+00, float noundef 0xC168000FE0000000) #56 + %145 = fneg float %144 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 5.000000e-01, float noundef %145) #56 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %142, float noundef 5.000000e-01, float noundef %146) #56 + %148 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %143, float noundef 0x4168001E00000000) #56 + %149 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %148, float noundef 0x4168000000000000) #56 + %150 = bitcast float %149 to i32 + %151 = shl i32 %150, 23 + %152 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F367FE1E0000000, float noundef %147, float noundef 0x3F603C4260000000) #56 + %153 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %152, float noundef %147, float noundef 0x3F842FECE0000000) #56 + %154 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %153, float noundef %147, float noundef 0x3FA5D7C5E0000000) #56 + %155 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %147, float noundef 0x3FC3B2AC80000000) #56 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef %147, float noundef 0x3FDC6B0A80000000) #56 + %157 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef %147, float noundef 0x3FEEBFBE00000000) #56 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %157, float noundef %147, float noundef 0x3FF62E4300000000) #56 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %158, float noundef %147, float noundef 0.000000e+00) #56 + %160 = fneg float %159 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %158, float noundef %147, float noundef %160) #56 + %162 = fdiv float 1.000000e+00, %109 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F534A9260000000, float noundef %162, float noundef 0xBF1B869040000000) #56 + %164 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %163, float noundef %162, float noundef 0xBF7BF88900000000) #56 + %165 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %164, float noundef %162, float noundef 0x3F81D8C200000000) #56 + %166 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %165, float noundef %162, float noundef 0x3FCABCC100000000) #56 + %167 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef %162, float noundef 0x3FE0364C80000000) #56 + %168 = fadd float %161, %161 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %159, float noundef %167, float noundef %168) #56 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %169, float noundef 1.000000e+00, float noundef %167) #56 + %171 = fadd float %159, %159 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %170, float noundef 1.000000e+00, float noundef %171) #56 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %172, float noundef 1.000000e+00, float noundef 2.000000e+00) #56 + %174 = fcmp olt float %0, 0.000000e+00 + br i1 %174, label %175, label %223 + +175: ; preds = %64 + %176 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %9, float noundef 0.000000e+00) #56 + %177 = fneg float %176 + %178 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %9, float noundef %177) #56 + %179 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF624F9AC0000000, float noundef %176, float noundef 0x3F9ABE34E0000000) #56 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %179, float noundef %176, float noundef 0xBFC86A6B00000000) #56 + %181 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %180, float noundef %176, float noundef 0x3FE9F9CAC0000000) #56 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %181, float noundef %176, float noundef 0.000000e+00) #56 + %183 = fneg float %182 + %184 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %181, float noundef %176, float noundef %183) #56 + %185 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %181, float noundef %178, float noundef %184) #56 + %186 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef 1.000000e+00, float noundef 0xBFFA51A660000000) #56 + %187 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %186, float noundef 1.000000e+00, float noundef 0x3FFA51A660000000) #56 + %188 = fneg float %187 + %189 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef 1.000000e+00, float noundef %188) #56 + %190 = fadd float %185, 0xBE29578CE0000000 + %191 = fadd float %190, %189 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %186, float noundef %176, float noundef 0.000000e+00) #56 + %193 = fneg float %192 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %186, float noundef %176, float noundef %193) #56 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %191, float noundef %176, float noundef %194) #56 + %196 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %186, float noundef %178, float noundef %195) #56 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %192, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %198 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %199 = fneg float %198 + %200 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %192, float noundef 1.000000e+00, float noundef %199) #56 + %201 = fadd float %196, 0xBDB7417800000000 + %202 = fadd float %201, %200 + %203 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef %9, float noundef 0.000000e+00) #56 + %204 = fneg float %203 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef %9, float noundef %204) #56 + %206 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %203, float noundef 0.000000e+00) #56 + %207 = fneg float %206 + %208 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %203, float noundef %207) #56 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %202, float noundef %203, float noundef %208) #56 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %205, float noundef %209) #56 + %211 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef %173, float noundef 0.000000e+00) #56 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef %173, float noundef %211) #56 + %213 = bitcast float %212 to i32 + %214 = fptosi float %8 to i32 + %215 = shl i32 %214, 31 + %216 = xor i32 %215, %213 + %217 = bitcast i32 %216 to float + %218 = fdiv float 1.000000e+00, %217 + %219 = fneg float %218 + %220 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %219, float noundef %217, float noundef 1.000000e+00) #56 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %218, float noundef %220, float noundef %218) #56 + %222 = sub i32 2130706432, %151 + br label %223 + +223: ; preds = %175, %64 + %224 = phi i32 [ %222, %175 ], [ %151, %64 ] + %225 = phi float [ %221, %175 ], [ %173, %64 ] + %226 = bitcast i32 %224 to float + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %225, float noundef %226, float noundef 0.000000e+00) #56 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %227, float noundef %226, float noundef 0.000000e+00) #56 + br label %229 + +229: ; preds = %223, %46, %18, %5 + %230 = phi float [ %6, %5 ], [ %63, %46 ], [ %21, %18 ], [ %228, %223 ] + ret float %230 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_tanhf(float noundef %0) local_unnamed_addr #31 !srcloc !1270 { + %2 = bitcast float %0 to i32 + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = and i32 %2, -2147483648 + %5 = and i32 %2, 2145386496 + %6 = icmp ugt i32 %5, 2130706432 + %7 = tail call i32 @llvm.smax.i32(i32 %5, i32 1027604480) + %8 = tail call i32 @llvm.smin.i32(i32 %7, i32 1092616192) + %9 = add nsw i32 %8, -1027604480 + %10 = lshr exact i32 %9, 21 + %11 = zext nneg i32 %10 to i64 + %12 = getelementptr inbounds float, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 %11 + %13 = load float, ptr addrspace(1) %12, align 4, !tbaa !717 + %14 = fsub float %3, %13 + %15 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 128), i64 %11 + %16 = load float, ptr addrspace(1) %15, align 4, !tbaa !717 + %17 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 384), i64 %11 + %18 = load float, ptr addrspace(1) %17, align 4, !tbaa !717 + %19 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 512), i64 %11 + %20 = load float, ptr addrspace(1) %19, align 4, !tbaa !717 + %21 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 640), i64 %11 + %22 = load float, ptr addrspace(1) %21, align 4, !tbaa !717 + %23 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 768), i64 %11 + %24 = load float, ptr addrspace(1) %23, align 4, !tbaa !717 + %25 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 896), i64 %11 + %26 = load float, ptr addrspace(1) %25, align 4, !tbaa !717 + %27 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 1024), i64 %11 + %28 = load float, ptr addrspace(1) %27, align 4, !tbaa !717 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %14, float noundef %26) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %14, float noundef %24) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %14, float noundef %22) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %14, float noundef %20) #56 + %33 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_135__devicelib_imf_internal_stanh_dataE, i64 256), i64 %11 + %34 = load float, ptr addrspace(1) %33, align 4, !tbaa !717 + %35 = fmul float %32, %14 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %14, float noundef %34) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %18, float noundef %36) #56 + %38 = fadd float %37, %16 + %39 = bitcast float %38 to i32 + %40 = or i32 %4, %39 + %41 = bitcast i32 %40 to float + br i1 %6, label %42, label %54, !prof !1176 + +42: ; preds = %1 + %43 = lshr i32 %2, 31 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr inbounds float, ptr addrspace(1) @_ZN20__imf_impl_tanh_s_ha12_GLOBAL__N_123__stanh_ha__imlsTanhTabE, i64 %44 + %46 = load float, ptr addrspace(1) %45, align 4, !tbaa !731 + %47 = and i32 %2, 2139095040 + %48 = icmp ne i32 %47, 2139095040 + %49 = and i32 %2, 8388607 + %50 = icmp eq i32 %49, 0 + %51 = or i1 %48, %50 + %52 = fadd float %0, %0 + %53 = select i1 %51, float %46, float %52 + br label %54 + +54: ; preds = %42, %1 + %55 = phi float [ %53, %42 ], [ %41, %1 ] + ret float %55 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_cdfnormf(float noundef %0) local_unnamed_addr #31 !srcloc !1271 { + %2 = fneg float %0 + %3 = bitcast float %2 to i32 + %4 = tail call float @llvm.fabs.f32(float %2) + %5 = fcmp olt float %4, 0x402C580000000000 + %6 = select i1 %5, float %4, float 0x402C580000000000 + %7 = and i32 %3, -2147483648 + %8 = or i32 %7, 1056964608 + %9 = bitcast i32 %8 to float + %10 = fsub float 5.000000e-01, %9 + %11 = fadd float %6, 1.310720e+05 + %12 = fcmp ogt float %6, 0x3CF0000000000000 + %13 = select i1 %12, float %6, float 0x3CF0000000000000 + %14 = fadd float %11, -1.310720e+05 + %15 = fsub float %13, %14 + %16 = fmul float %14, %15 + %17 = bitcast float %11 to i32 + %18 = or i32 %7, 662700032 + %19 = bitcast i32 %18 to float + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F8114F940000000, float noundef %16, float noundef 0xBFA559E440000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC00B66C0000000, float noundef %16, float noundef 0xBFC569DB60000000) #56 + %22 = shl i32 %17, 1 + %23 = and i32 %22, 1073741822 + %24 = zext nneg i32 %23 to i64 + %25 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_s_la12_GLOBAL__N_138__devicelib_imf_internal_scdfnorm_dataE, i64 -1073741824), i64 %24 + %26 = load float, ptr addrspace(1) %25, align 4, !tbaa !717 + %27 = or i32 %23, 1 + %28 = zext nneg i32 %27 to i64 + %29 = getelementptr inbounds float, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_s_la12_GLOBAL__N_138__devicelib_imf_internal_scdfnorm_dataE, i64 -1073741824), i64 %28 + %30 = load float, ptr addrspace(1) %29, align 4, !tbaa !717 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %16, float noundef 0x3FC55554C0000000) #56 + %32 = fmul float %15, %15 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %16, float noundef 0xBFDFFFFF80000000) #56 + %34 = fmul float %21, %32 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %16, float noundef %34) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %30, float noundef %30) #56 + %37 = fneg float %15 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %36, float noundef %26) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %19, float noundef %10) #56 + %40 = fcmp uno float %0, 0.000000e+00 + %41 = select i1 %40, float %0, float %39 + ret float %41 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_cdfnorminvf(float noundef %0) local_unnamed_addr #31 !srcloc !1272 { + %2 = alloca float, align 4 + %3 = bitcast float %0 to i32 + %4 = add i32 %3, -864026625 + %5 = icmp ult i32 %4, 201326591 + %6 = icmp slt i32 %3, 1056964608 + %7 = fadd float %0, %0 + %8 = fadd float %7, -1.000000e+00 + %9 = fsub float 2.000000e+00, %7 + %10 = select i1 %6, float %7, float %9 + %11 = bitcast float %10 to i32 + %12 = lshr i32 %11, 16 + %13 = and i32 %12, 65520 + %14 = sub nsw i32 16240, %13 + %15 = icmp eq i32 %11, 1065353216 + %16 = lshr exact i32 %14, 2 + %17 = and i32 %11, 1048575 + %18 = or i32 %17, 1065353216 + %19 = bitcast i32 %18 to float + %20 = fadd float %19, -1.062500e+00 + %21 = select i1 %5, i32 %16, i32 0 + %22 = select i1 %15, i32 0, i32 %21 + %23 = zext nneg i32 %22 to i64 + %24 = getelementptr inbounds float, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_141__devicelib_imf_internal_scdfnorminv_dataE, i64 %23 + %25 = load float, ptr addrspace(1) %24, align 4, !tbaa !717 + %26 = or i32 %22, 1 + %27 = zext nneg i32 %26 to i64 + %28 = getelementptr inbounds float, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_141__devicelib_imf_internal_scdfnorminv_dataE, i64 %27 + %29 = load float, ptr addrspace(1) %28, align 4, !tbaa !717 + %30 = or i32 %22, 2 + %31 = zext nneg i32 %30 to i64 + %32 = getelementptr inbounds float, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_141__devicelib_imf_internal_scdfnorminv_dataE, i64 %31 + %33 = load float, ptr addrspace(1) %32, align 4, !tbaa !717 + %34 = or i32 %22, 3 + %35 = zext nneg i32 %34 to i64 + %36 = getelementptr inbounds float, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_141__devicelib_imf_internal_scdfnorminv_dataE, i64 %35 + %37 = load float, ptr addrspace(1) %36, align 4, !tbaa !717 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %20, float noundef %33) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %20, float noundef %29) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %20, float noundef %25) #56 + %41 = fmul float %40, %8 + br i1 %5, label %45, label %42, !prof !1189 + +42: ; preds = %1 + %43 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + store float %41, ptr %2, align 4, !tbaa !731 + call spir_func void @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_136__devicelib_imf_internal_scdfnorminvEPKfPf(float %0, ptr addrspace(4) noundef %43) #54 + %44 = load float, ptr %2, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %45 + +45: ; preds = %42, %1 + %46 = phi float [ %44, %42 ], [ %41, %1 ] + ret float %46 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN26__imf_impl_cdfnorminv_s_la12_GLOBAL__N_136__devicelib_imf_internal_scdfnorminvEPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1273 !sycl_kernel_omit_args !1186 { + %3 = fsub float 1.000000e+00, %0 + %4 = fmul float %3, 2.000000e+00 + %5 = fmul float %0, 2.000000e+00 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef %5, float noundef 0.000000e+00) #56 + %7 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %4, float noundef %5) #56 + %8 = fcmp olt float %7, 0x3F60000000000000 + %9 = select i1 %8, float %7, float %6 + %10 = fmul float %9, 0x4190000000000000 + %11 = bitcast float %10 to i32 + %12 = add i32 %11, 5592405 + %13 = lshr i32 %12, 23 + %14 = and i32 %12, -8388608 + %15 = add i32 %14, -1065353216 + %16 = sub i32 %11, %15 + %17 = bitcast i32 %16 to float + %18 = fadd float %17, -1.000000e+00 + %19 = add nsw i32 %13, -153 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef 0x3FC9F4EBC0000000, float noundef 0xBFCC71BE60000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %18, float noundef 0x3FC9D48DE0000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %18, float noundef 0xBFCE4F0560000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %18, float noundef 0x3FD27A3F20000000) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %23, float noundef %18, float noundef 0xBFD7172D20000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %18, float noundef 0x3FDEC6FFE0000000) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef %18, float noundef 0xBFE7154560000000) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %18, float noundef 0x3FF7154760000000) #56 + %28 = sitofp i32 %19 to float + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %18, float noundef %28) #56 + %30 = fneg float %29 + %31 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %30) #56 + %32 = fdiv float 1.000000e+00, %31 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x40456DD880000000, float noundef %32, float noundef 0xC056F78800000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %32, float noundef 0x40563C37A0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %32, float noundef 0xC049FA3E00000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %32, float noundef 0x4034E05EC0000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %32, float noundef 0xC01A51EFA0000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %32, float noundef 0x4002D57880000000) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %38, float noundef %32, float noundef 0x3FB0A188E0000000) #56 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %32, float noundef 0x3FF33239C0000000) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef %32, float noundef 0x3EF11FD740000000) #56 + %42 = fdiv float 1.000000e+00, %41 + %43 = fmul float %42, 0x3FF6A09E60000000 + %44 = bitcast float %43 to i32 + %45 = fcmp oeq float %7, 0.000000e+00 + %46 = select i1 %45, i32 2139095040, i32 %44 + %47 = fcmp oge float %7, 0.000000e+00 + %48 = select i1 %47, i32 %46, i32 -4194304 + %49 = fcmp olt float %4, 1.000000e+00 + %50 = or i32 %48, -2147483648 + %51 = select i1 %49, i32 %48, i32 %50 + store i32 %51, ptr addrspace(4) %1, align 4, !tbaa !731 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_erfcxf(float noundef %0) local_unnamed_addr #31 !srcloc !1274 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = fadd float %2, -1.000000e+00 + %4 = fdiv float 1.000000e+00, %2 + %5 = fcmp olt float %2, 2.000000e+00 + %6 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %3, float noundef 0x3EF420D6A0000000, float noundef 0xBF1095AF40000000) #56 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 0x3FF00DE100000000, float noundef 0xC0082EBD20000000) #56 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %6, float noundef %3, float noundef 0x3F21000C60000000) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef %4, float noundef 0x400DC97C20000000) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef %3, float noundef 0xBF377BEFA0000000) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %4, float noundef 0xC0010AFC60000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef %3, float noundef 0x3F51384E80000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %4, float noundef 0x3FC7CE1CA0000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %3, float noundef 0xBF66CD1440000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %4, float noundef 0x3FD9D30AA0000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %3, float noundef 0x3F7C8D5580000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %4, float noundef 0x3F53A42AE0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %3, float noundef 0xBF910EBAA0000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %4, float noundef 0xBFD20E7440000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %3, float noundef 0x3FA33CA400000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %4, float noundef 0x3E9E872F00000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %3, float noundef 0xBFB4484060000000) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %4, float noundef 0x3E5F89FCA0000000) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %3, float noundef 0x3FC3C272C0000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %3, float noundef 0xBFD17C4E20000000) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef %3, float noundef 0x3FDB5D8780000000) #56 + %27 = fmul float %23, %4 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 0x3FE20DD740000000, float noundef %27) #56 + %29 = select i1 %5, float %26, float %28 + %30 = fcmp olt float %0, 0.000000e+00 + br i1 %30, label %31, label %55, !prof !1176 + +31: ; preds = %1 + %32 = fmul float %0, %0 + %33 = fneg float %32 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %2, float noundef %2, float noundef %33) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef 0x3FF7154760000000, float noundef 0x4168000FE0000000) #56 + %36 = fadd float %35, 0xC168000FE0000000 + %37 = fneg float %36 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef 0x3FE62E4000000000, float noundef %32) #56 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef 0x3EB7F7D1C0000000, float noundef %34) #56 + %40 = fadd float %38, %39 + %41 = bitcast float %35 to i32 + %42 = shl i32 %41, 23 + %43 = bitcast i32 %42 to float + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef 0x3F56DD9820000000, float noundef 0x3F8126FAC0000000) #56 + %45 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %44, float noundef %40, float noundef 0x3FA55541C0000000) #56 + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %45, float noundef %40, float noundef 0x3FC5554040000000) #56 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %46, float noundef %40, float noundef 5.000000e-01) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef %40, float noundef 1.000000e+00) #56 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %40, float noundef 0xBDD63F26C0000000) #56 + %50 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %49, float noundef %43, float noundef %43) #56 + %51 = fneg float %29 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %50, float noundef 2.000000e+00, float noundef %51) #56 + %53 = fcmp ugt float %2, 0x4022C3CBE0000000 + %54 = select i1 %53, float 0x7FF0000000000000, float %52 + br label %55 + +55: ; preds = %31, %1 + %56 = phi float [ %54, %31 ], [ %29, %1 ] + ret float %56 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_hypotf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1275 { + %3 = tail call float @llvm.fabs.f32(float %0) + %4 = bitcast float %3 to i32 + %5 = tail call float @llvm.fabs.f32(float %1) + %6 = bitcast float %5 to i32 + %7 = icmp ugt i32 %4, 2139095039 + %8 = icmp ugt i32 %6, 2139095039 + %9 = or i1 %7, %8 + br i1 %9, label %10, label %16 + +10: ; preds = %2 + %11 = icmp eq i32 %4, 2139095040 + %12 = icmp eq i32 %6, 2139095040 + %13 = or i1 %11, %12 + %14 = fadd float %0, %1 + %15 = select i1 %13, float 0x7FF0000000000000, float %14 + br label %42 + +16: ; preds = %2 + %17 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %3, float noundef %5) #56 + %18 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %3, float noundef %5) #56 + %19 = bitcast float %17 to i32 + %20 = and i32 %19, 2139095040 + %21 = lshr i32 %19, 6 + %22 = and i32 %21, 16777216 + %23 = or i32 %22, 2122317824 + %24 = sub nsw i32 %23, %20 + %25 = bitcast i32 %24 to float + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %25, float noundef 0.000000e+00) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %25, float noundef 0.000000e+00) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %27, float noundef 0.000000e+00) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %26, float noundef %28) #56 + %30 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %29) #56 + %31 = fdiv float 1.000000e+00, %30 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %31, float noundef 0.000000e+00) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef 5.000000e-01, float noundef 0.000000e+00) #56 + %34 = fneg float %32 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %34, float noundef %29) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %35, float noundef %32) #56 + %37 = sub i32 2130706432, %24 + %38 = bitcast i32 %37 to float + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %38, float noundef 0.000000e+00) #56 + %40 = fcmp une float %29, 0.000000e+00 + %41 = select i1 %40, float %39, float 0.000000e+00 + br label %42 + +42: ; preds = %16, %10 + %43 = phi float [ %41, %16 ], [ %15, %10 ] + ret float %43 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isfinitef(float noundef %0) local_unnamed_addr #30 !srcloc !1276 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2139095040 + %4 = icmp ne i32 %3, 2139095040 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isinff(float noundef %0) local_unnamed_addr #30 !srcloc !1277 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = bitcast float %2 to i32 + %4 = icmp eq i32 %3, 2139095040 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isnanf(float noundef %0) local_unnamed_addr #30 !srcloc !1278 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = bitcast float %2 to i32 + %4 = icmp ugt i32 %3, 2139095040 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llrintf(float noundef %0) local_unnamed_addr #31 !srcloc !1279 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2130706432 + %4 = icmp ugt i32 %3, 1593835519 + %5 = select i1 %4, i64 4294967295, i64 0 + %6 = shl nuw i64 %5, 32 + %7 = or i64 %6, %5 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %9 = fptosi float %8 to i64 + %10 = xor i64 %7, -1 + %11 = and i64 %10, %9 + %12 = and i64 %6, -9223372036854775808 + %13 = or i64 %11, %12 + ret i64 %13 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llroundf(float noundef %0) local_unnamed_addr #31 !srcloc !1280 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2130706432 + %4 = icmp ugt i32 %3, 1593835519 + %5 = select i1 %4, i64 4294967295, i64 0 + %6 = shl nuw i64 %5, 32 + %7 = or i64 %6, %5 + %8 = and i32 %2, -2147483648 + %9 = tail call float @llvm.fabs.f32(float %0) + %10 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %9) #56 + %11 = fsub float %9, %10 + %12 = fcmp oeq float %11, 5.000000e-01 + %13 = select i1 %12, float 1.000000e+00, float 0.000000e+00 + %14 = fadd float %10, %13 + %15 = bitcast float %14 to i32 + %16 = or i32 %8, %15 + %17 = bitcast i32 %16 to float + %18 = fptosi float %17 to i64 + %19 = xor i64 %7, -1 + %20 = and i64 %19, %18 + %21 = and i64 %6, -9223372036854775808 + %22 = or i64 %20, %21 + ret i64 %22 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_lrintf(float noundef %0) local_unnamed_addr #31 !srcloc !1281 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2130706432 + %4 = icmp ugt i32 %3, 1593835519 + %5 = select i1 %4, i64 4294967295, i64 0 + %6 = shl nuw i64 %5, 32 + %7 = or i64 %6, %5 + %8 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + %9 = fptosi float %8 to i64 + %10 = xor i64 %7, -1 + %11 = and i64 %10, %9 + %12 = and i64 %6, -9223372036854775808 + %13 = or i64 %11, %12 + ret i64 %13 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_lroundf(float noundef %0) local_unnamed_addr #31 !srcloc !1282 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, 2130706432 + %4 = icmp ugt i32 %3, 1593835519 + %5 = select i1 %4, i64 4294967295, i64 0 + %6 = shl nuw i64 %5, 32 + %7 = or i64 %6, %5 + %8 = and i32 %2, -2147483648 + %9 = tail call float @llvm.fabs.f32(float %0) + %10 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %9) #56 + %11 = fsub float %9, %10 + %12 = fcmp oeq float %11, 5.000000e-01 + %13 = select i1 %12, float 1.000000e+00, float 0.000000e+00 + %14 = fadd float %10, %13 + %15 = bitcast float %14 to i32 + %16 = or i32 %8, %15 + %17 = bitcast i32 %16 to float + %18 = fptosi float %17 to i64 + %19 = xor i64 %7, -1 + %20 = and i64 %19, %18 + %21 = and i64 %6, -9223372036854775808 + %22 = or i64 %20, %21 + ret i64 %22 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_nanf(ptr addrspace(4) noundef %0) local_unnamed_addr #30 !srcloc !1283 { + %2 = load i32, ptr addrspace(4) %0, align 4, !tbaa !717 + %3 = or i32 %2, 2143289344 + %4 = bitcast i32 %3 to float + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_scalbnf(float noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1284 { + %3 = bitcast float %0 to i32 + %4 = lshr i32 %3, 23 + %5 = and i32 %4, 255 + %6 = tail call i32 @llvm.smin.i32(i32 %1, i32 65536) + %7 = tail call i32 @llvm.smax.i32(i32 %6, i32 -65536) + %8 = add nsw i32 %5, %7 + %9 = add nsw i32 %8, -255 + %10 = icmp ult i32 %9, -254 + br i1 %10, label %17, label %11 + +11: ; preds = %2 + %12 = and i32 %3, -2139095041 + %13 = shl nuw nsw i32 %8, 23 + %14 = or i32 %12, %13 + %15 = bitcast i32 %14 to float + %16 = trunc i32 %4 to i8 + switch i8 %16, label %79 [ + i8 -1, label %78 + i8 0, label %19 + ] + +17: ; preds = %2 + %18 = icmp eq i32 %5, 255 + br i1 %18, label %78, label %19 + +19: ; preds = %17, %11 + %20 = tail call float @llvm.fabs.f32(float %0) + %21 = bitcast float %20 to i32 + %22 = icmp eq i32 %21, 0 + br i1 %22, label %79, label %23 + +23: ; preds = %19 + %24 = icmp eq i32 %5, 0 + br i1 %24, label %25, label %32 + +25: ; preds = %23 + %26 = fmul float %0, 0x4180000000000000 + %27 = bitcast float %26 to i32 + %28 = lshr i32 %27, 23 + %29 = and i32 %28, 255 + %30 = add nsw i32 %29, -25 + %31 = add nsw i32 %30, %7 + br label %32 + +32: ; preds = %25, %23 + %33 = phi i32 [ %31, %25 ], [ %8, %23 ] + %34 = phi float [ %26, %25 ], [ %0, %23 ] + %35 = icmp sgt i32 %33, 0 + br i1 %35, label %36, label %51 + +36: ; preds = %32 + %37 = icmp ugt i32 %33, 254 + br i1 %37, label %38, label %45 + +38: ; preds = %36 + %39 = bitcast float %34 to i32 + %40 = lshr i32 %39, 31 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_scalbn_s_xa12_GLOBAL__N_115_large_value_32E, i64 %41 + %43 = load float, ptr addrspace(1) %42, align 4, !tbaa !731 + %44 = fmul float %43, 0x4630000000000000 + br label %79 + +45: ; preds = %36 + %46 = bitcast float %34 to i32 + %47 = shl nuw nsw i32 %33, 23 + %48 = and i32 %46, -2139095041 + %49 = or i32 %48, %47 + %50 = bitcast i32 %49 to float + br label %79 + +51: ; preds = %32 + %52 = icmp slt i32 %33, -23 + br i1 %52, label %53, label %60 + +53: ; preds = %51 + %54 = bitcast float %34 to i32 + %55 = lshr i32 %54, 31 + %56 = zext nneg i32 %55 to i64 + %57 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_scalbn_s_xa12_GLOBAL__N_115_small_value_32E, i64 %56 + %58 = load float, ptr addrspace(1) %57, align 4, !tbaa !731 + %59 = fmul float %58, 0x39B0000000000000 + br label %79 + +60: ; preds = %51 + %61 = bitcast float %34 to i32 + %62 = shl nsw i32 %33, 23 + %63 = add i32 %62, 209715200 + %64 = and i32 %63, 2139095040 + %65 = and i32 %61, -2139095041 + %66 = or i32 %65, %64 + %67 = bitcast i32 %66 to float + %68 = fmul float %67, 0x3E60000000000000 + %69 = tail call float @llvm.fabs.f32(float %68) + %70 = bitcast float %69 to i32 + %71 = icmp eq i32 %70, 0 + br i1 %71, label %72, label %79 + +72: ; preds = %60 + %73 = lshr i32 %61, 31 + %74 = zext nneg i32 %73 to i64 + %75 = getelementptr inbounds float, ptr addrspace(1) @_ZN22__imf_impl_scalbn_s_xa12_GLOBAL__N_115_small_value_32E, i64 %74 + %76 = load float, ptr addrspace(1) %75, align 4, !tbaa !731 + %77 = fmul float %76, 0x39B0000000000000 + br label %79 + +78: ; preds = %17, %11 + br label %79 + +79: ; preds = %78, %72, %60, %53, %45, %38, %19, %11 + %80 = phi float [ %15, %11 ], [ %59, %53 ], [ %77, %72 ], [ %68, %60 ], [ %0, %19 ], [ %0, %78 ], [ %50, %45 ], [ %44, %38 ] + ret float %80 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_signbitf(float noundef %0) local_unnamed_addr #30 !srcloc !1285 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_i0f(float noundef %0) local_unnamed_addr #31 !srcloc !1286 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = fcmp ugt float %2, 1.400000e+01 + br i1 %3, label %112, label %4 + +4: ; preds = %1 + %5 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef 0.000000e+00) #56 + %6 = fcmp ugt float %2, 1.000000e+01 + br i1 %6, label %21, label %7 + +7: ; preds = %4 + %8 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3A5ED0AD60000000, float noundef 0xBAE0C9B2E0000000) #56 + %9 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %8, float noundef %5, float noundef 0x3B7B6866C0000000) #56 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %9, float noundef %5, float noundef 0x3BE31D6BE0000000) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef %5, float noundef 0x3C83872920000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %5, float noundef 0x3D043AF980000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %5, float noundef 0x3D85544480000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %5, float noundef 0x3E002784E0000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %5, float noundef 0x3E723598A0000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %5, float noundef 0x3EDC718180000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %5, float noundef 0x3F3C71CF60000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %5, float noundef 0x3F8FFFFF20000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %5, float noundef 2.500000e-01) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %5, float noundef 1.000000e+00) #56 + br label %254 + +21: ; preds = %4 + %22 = fneg float %5 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef %22) #56 + %24 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %5, float noundef 0x3A5ED0AD60000000, float noundef 0xBAE0C9B2E0000000) #56 + %25 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %24, float noundef %5, float noundef 0x3B7B6866C0000000) #56 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %25, float noundef %5, float noundef 0x3BE31D6BE0000000) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %26, float noundef %5, float noundef 0x3C83872920000000) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %5, float noundef 0x3D043AF980000000) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %5, float noundef 0x3D85544480000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %5, float noundef 0x3E002784E0000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %5, float noundef 0x3E723598A0000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %5, float noundef 0.000000e+00) #56 + %33 = fneg float %32 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %5, float noundef %33) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0.000000e+00, float noundef %5, float noundef %34) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %23, float noundef %35) #56 + %37 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %32) #56 + %38 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3EDC718180000000) #56 + %39 = fcmp ole float %37, %38 + %40 = select i1 %39, float 0x3EDC718180000000, float %32 + %41 = select i1 %39, float %32, float 0x3EDC718180000000 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef 1.000000e+00, float noundef %40) #56 + %43 = fneg float %40 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef 1.000000e+00, float noundef %43) #56 + %45 = fneg float %44 + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %41, float noundef 1.000000e+00, float noundef %45) #56 + %47 = fadd float %36, 0xBD2A38EF80000000 + %48 = fadd float %47, %46 + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %5, float noundef 0.000000e+00) #56 + %50 = fneg float %49 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %5, float noundef %50) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %5, float noundef %51) #56 + %53 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %42, float noundef %23, float noundef %52) #56 + %54 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %49) #56 + %55 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3F3C71CF60000000) #56 + %56 = fcmp ole float %54, %55 + %57 = select i1 %56, float 0x3F3C71CF60000000, float %49 + %58 = select i1 %56, float %49, float 0x3F3C71CF60000000 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef 1.000000e+00, float noundef %57) #56 + %60 = fneg float %57 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef 1.000000e+00, float noundef %60) #56 + %62 = fneg float %61 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef 1.000000e+00, float noundef %62) #56 + %64 = fadd float %53, 0xBD85D2B680000000 + %65 = fadd float %64, %63 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %5, float noundef 0.000000e+00) #56 + %67 = fneg float %66 + %68 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %5, float noundef %67) #56 + %69 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef %5, float noundef %68) #56 + %70 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %23, float noundef %69) #56 + %71 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %66) #56 + %72 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3F8FFFFF20000000) #56 + %73 = fcmp ole float %71, %72 + %74 = select i1 %73, float 0x3F8FFFFF20000000, float %66 + %75 = select i1 %73, float %66, float 0x3F8FFFFF20000000 + %76 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef 1.000000e+00, float noundef %74) #56 + %77 = fneg float %74 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef 1.000000e+00, float noundef %77) #56 + %79 = fneg float %78 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef 1.000000e+00, float noundef %79) #56 + %81 = fadd float %70, 0xBDF6872DE0000000 + %82 = fadd float %81, %80 + %83 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %5, float noundef 0.000000e+00) #56 + %84 = fneg float %83 + %85 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %5, float noundef %84) #56 + %86 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef %5, float noundef %85) #56 + %87 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %23, float noundef %86) #56 + %88 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %83) #56 + %89 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 2.500000e-01) #56 + %90 = fcmp ole float %88, %89 + %91 = select i1 %90, float 2.500000e-01, float %83 + %92 = select i1 %90, float %83, float 2.500000e-01 + %93 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef 1.000000e+00, float noundef %91) #56 + %94 = fneg float %91 + %95 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef 1.000000e+00, float noundef %94) #56 + %96 = fneg float %95 + %97 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef 1.000000e+00, float noundef %96) #56 + %98 = fadd float %87, 0x3E422B2840000000 + %99 = fadd float %98, %97 + %100 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %5, float noundef 0.000000e+00) #56 + %101 = fneg float %100 + %102 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %5, float noundef %101) #56 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %99, float noundef %5, float noundef %102) #56 + %104 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %23, float noundef %103) #56 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %106 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %107 = fneg float %106 + %108 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef 1.000000e+00, float noundef %107) #56 + %109 = fadd float %104, 0xBE197C5800000000 + %110 = fadd float %109, %108 + %111 = fadd float %105, %110 + br label %254 + +112: ; preds = %1 + %113 = fcmp ugt float %2, 9.200000e+01 + br i1 %113, label %252, label %114 + +114: ; preds = %112 + %115 = fcmp ole float %2, 3.600000e+01 + %116 = select i1 %115, float 0xC100A38D80000000, float 0xC0308DAB80000000 + %117 = select i1 %115, float 3.405040e+07, float 0x40C4B295E0000000 + %118 = select i1 %115, float 0xC1EC3DBE20000000, float 0xC14712A220000000 + %119 = select i1 %115, float 0x424CD4CD20000000, float 0x41BE34CEC0000000 + %120 = select i1 %115, float 0xC2A3249DE0000000, float 0xC229BC2280000000 + %121 = select i1 %115, float 0x42F14CEE40000000, float 0x428DDE6720000000 + %122 = select i1 %115, float 0xC335A08140000000, float 0xC2E801BAE0000000 + %123 = select i1 %115, float 0x4372A1EBE0000000, float 0x433AA7C5E0000000 + %124 = select i1 %115, float 0xC3A5DE0D80000000, float 0xC3844022E0000000 + %125 = select i1 %115, float 0x43D3DF0200000000, float 0x43C8223D00000000 + %126 = select i1 %115, float 0x3F628BC900000000, float 0xBE8A0956C0000000 + %127 = select i1 %115, float 0x3FF8CA8FA0000000, float 0x3F2ADED3C0000000 + %128 = select i1 %115, float 0xC0199DB300000000, float 0xBFA88A0300000000 + %129 = select i1 %115, float 0x40BA370A80000000, float 0xC01BA5E1C0000000 + %130 = select i1 %115, float 0x40F7D96180000000, float 0x408421C980000000 + %131 = select i1 %115, float 0x4167021640000000, float 0xC0F4E93D40000000 + %132 = select i1 %115, float 0x41AFEC09C0000000, float 0xC15850CB40000000 + %133 = select i1 %115, float 0x41DFB77800000000, float 0x41AE899920000000 + %134 = select i1 %115, float 0xC21CAA2940000000, float 0x41F3C7B9A0000000 + %135 = select i1 %115, float 0xC2486C5680000000, float 0x42218E61A0000000 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %2, float noundef 0.000000e+00) #56 + %137 = fneg float %136 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %2, float noundef %137) #56 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %126, float noundef %2, float noundef %138) #56 + %140 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef 1.000000e+00, float noundef %117) #56 + %141 = fneg float %117 + %142 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %140, float noundef 1.000000e+00, float noundef %141) #56 + %143 = fneg float %142 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef 1.000000e+00, float noundef %143) #56 + %145 = fadd float %139, %127 + %146 = fadd float %145, %144 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %140, float noundef %2, float noundef 0.000000e+00) #56 + %148 = fneg float %147 + %149 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %140, float noundef %2, float noundef %148) #56 + %150 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %146, float noundef %2, float noundef %149) #56 + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %147, float noundef 1.000000e+00, float noundef %118) #56 + %152 = fneg float %118 + %153 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %151, float noundef 1.000000e+00, float noundef %152) #56 + %154 = fneg float %153 + %155 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %147, float noundef 1.000000e+00, float noundef %154) #56 + %156 = fadd float %150, %128 + %157 = fadd float %156, %155 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %151, float noundef %2, float noundef 0.000000e+00) #56 + %159 = fneg float %158 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %151, float noundef %2, float noundef %159) #56 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %157, float noundef %2, float noundef %160) #56 + %162 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %158, float noundef 1.000000e+00, float noundef %119) #56 + %163 = fneg float %119 + %164 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %162, float noundef 1.000000e+00, float noundef %163) #56 + %165 = fneg float %164 + %166 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %158, float noundef 1.000000e+00, float noundef %165) #56 + %167 = fadd float %161, %129 + %168 = fadd float %167, %166 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %162, float noundef %2, float noundef 0.000000e+00) #56 + %170 = fneg float %169 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %162, float noundef %2, float noundef %170) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %168, float noundef %2, float noundef %171) #56 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %169, float noundef 1.000000e+00, float noundef %120) #56 + %174 = fneg float %120 + %175 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef 1.000000e+00, float noundef %174) #56 + %176 = fneg float %175 + %177 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %169, float noundef 1.000000e+00, float noundef %176) #56 + %178 = fadd float %172, %130 + %179 = fadd float %178, %177 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %2, float noundef 0.000000e+00) #56 + %181 = fneg float %180 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %2, float noundef %181) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %179, float noundef %2, float noundef %182) #56 + %184 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %180, float noundef 1.000000e+00, float noundef %121) #56 + %185 = fneg float %121 + %186 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %184, float noundef 1.000000e+00, float noundef %185) #56 + %187 = fneg float %186 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %180, float noundef 1.000000e+00, float noundef %187) #56 + %189 = fadd float %183, %131 + %190 = fadd float %189, %188 + %191 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %184, float noundef %2, float noundef 0.000000e+00) #56 + %192 = fneg float %191 + %193 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %184, float noundef %2, float noundef %192) #56 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef %2, float noundef %193) #56 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %191, float noundef 1.000000e+00, float noundef %122) #56 + %196 = fneg float %122 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef 1.000000e+00, float noundef %196) #56 + %198 = fneg float %197 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %191, float noundef 1.000000e+00, float noundef %198) #56 + %200 = fadd float %194, %132 + %201 = fadd float %200, %199 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %2, float noundef 0.000000e+00) #56 + %203 = fneg float %202 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %2, float noundef %203) #56 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %201, float noundef %2, float noundef %204) #56 + %206 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %202, float noundef 1.000000e+00, float noundef %123) #56 + %207 = fneg float %123 + %208 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef 1.000000e+00, float noundef %207) #56 + %209 = fneg float %208 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %202, float noundef 1.000000e+00, float noundef %209) #56 + %211 = fadd float %205, %133 + %212 = fadd float %211, %210 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef %2, float noundef 0.000000e+00) #56 + %214 = fneg float %213 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef %2, float noundef %214) #56 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef %2, float noundef %215) #56 + %217 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %213, float noundef 1.000000e+00, float noundef %124) #56 + %218 = fneg float %124 + %219 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %217, float noundef 1.000000e+00, float noundef %218) #56 + %220 = fneg float %219 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %213, float noundef 1.000000e+00, float noundef %220) #56 + %222 = fadd float %216, %134 + %223 = fadd float %222, %221 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %217, float noundef %2, float noundef 0.000000e+00) #56 + %225 = fneg float %224 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %217, float noundef %2, float noundef %225) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %223, float noundef %2, float noundef %226) #56 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef 1.000000e+00, float noundef %125) #56 + %229 = fneg float %125 + %230 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef 1.000000e+00, float noundef %229) #56 + %231 = fneg float %230 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef 1.000000e+00, float noundef %231) #56 + %233 = fadd float %227, %135 + %234 = fadd float %233, %232 + %235 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %2, float noundef 0x3FF7154760000000, float noundef 0x41680007E0000000) #56 + %236 = bitcast float %235 to i32 + %237 = fadd float %235, 0xC1680007E0000000 + %238 = fneg float %237 + %239 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef 0x3FE62E4300000000, float noundef %2) #56 + %240 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef 0xBE205C6100000000, float noundef %239) #56 + %241 = shl i32 %236, 23 + %242 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F56C16A60000000, float noundef %240, float noundef 0x3F8123CD60000000) #56 + %243 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %242, float noundef %240, float noundef 0x3FA5556520000000) #56 + %244 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %243, float noundef %240, float noundef 0x3FC55547E0000000) #56 + %245 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %244, float noundef %240, float noundef 0x3FDFFFFFE0000000) #56 + %246 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %245, float noundef %240, float noundef 1.000000e+00) #56 + %247 = bitcast i32 %241 to float + %248 = fmul float %240, %247 + %249 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %246, float noundef %248, float noundef %247) #56 + %250 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %249, float noundef %234, float noundef 0.000000e+00) #56 + %251 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %249, float noundef %228, float noundef %250) #56 + br label %254 + +252: ; preds = %112 + %253 = fadd float %2, 0x7FF0000000000000 + br label %254 + +254: ; preds = %252, %114, %21, %7 + %255 = phi float [ %253, %252 ], [ %251, %114 ], [ %111, %21 ], [ %20, %7 ] + ret float %255 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_i1f(float noundef %0) local_unnamed_addr #31 !srcloc !1287 { + %2 = bitcast float %0 to i32 + %3 = and i32 %2, -2147483648 + %4 = tail call float @llvm.fabs.f32(float %0) + %5 = fcmp ugt float %4, 1.600000e+01 + br i1 %5, label %68, label %6 + +6: ; preds = %1 + %7 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef 0.000000e+00) #56 + %8 = fcmp ugt float %4, 1.100000e+01 + br i1 %8, label %24, label %9 + +9: ; preds = %6 + %10 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0x3A17D75040000000, float noundef 0xBAA8471F00000000) #56 + %11 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %10, float noundef %7, float noundef 0x3B3FCA3C20000000) #56 + %12 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %11, float noundef %7, float noundef 0xBB9FBE55E0000000) #56 + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %12, float noundef %7, float noundef 0x3C44C22C80000000) #56 + %14 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %13, float noundef %7, float noundef 0x3CBF572E60000000) #56 + %15 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %14, float noundef %7, float noundef 0x3D46040A60000000) #56 + %16 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %15, float noundef %7, float noundef 0x3DC2543840000000) #56 + %17 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %16, float noundef %7, float noundef 0x3E384FD8C0000000) #56 + %18 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %17, float noundef %7, float noundef 0x3EA6BFF6C0000000) #56 + %19 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %18, float noundef %7, float noundef 0x3F0C720340000000) #56 + %20 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %19, float noundef %7, float noundef 0x3F655550C0000000) #56 + %21 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %20, float noundef %7, float noundef 0x3FB0000040000000) #56 + %22 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %21, float noundef %7, float noundef 5.000000e-01) #56 + %23 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %22, float noundef %0, float noundef 0.000000e+00) #56 + br label %213 + +24: ; preds = %6 + %25 = fneg float %7 + %26 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %0, float noundef %25) #56 + %27 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %7, float noundef 0x3A17D75040000000, float noundef 0xBAA8471F00000000) #56 + %28 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %27, float noundef %7, float noundef 0x3B3FCA3C20000000) #56 + %29 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef %7, float noundef 0xBB9FBE55E0000000) #56 + %30 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %29, float noundef %7, float noundef 0x3C44C22C80000000) #56 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %30, float noundef %7, float noundef 0x3CBF572E60000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %7, float noundef 0x3D46040A60000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %7, float noundef 0x3DC2543840000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %7, float noundef 0x3E384FD8C0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %7, float noundef 0x3EA6BFF6C0000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %7, float noundef 0x3F0C720340000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %7, float noundef 0x3F655550C0000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %7, float noundef 0.000000e+00) #56 + %39 = fneg float %38 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %7, float noundef %39) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0.000000e+00, float noundef %7, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %26, float noundef %41) #56 + %43 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %38) #56 + %44 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FB0000040000000) #56 + %45 = fcmp ole float %43, %44 + %46 = select i1 %45, float 0x3FB0000040000000, float %38 + %47 = select i1 %45, float %38, float 0x3FB0000040000000 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef 1.000000e+00, float noundef %46) #56 + %49 = fneg float %46 + %50 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef 1.000000e+00, float noundef %49) #56 + %51 = fneg float %50 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %47, float noundef 1.000000e+00, float noundef %51) #56 + %53 = fadd float %42, 0x3DEB31B340000000 + %54 = fadd float %53, %52 + %55 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %7, float noundef 0.000000e+00) #56 + %56 = fneg float %55 + %57 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %7, float noundef %56) #56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %7, float noundef %57) #56 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %26, float noundef %58) #56 + %60 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef 1.000000e+00, float noundef 5.000000e-01) #56 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef 1.000000e+00, float noundef -5.000000e-01) #56 + %62 = fneg float %61 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %55, float noundef 1.000000e+00, float noundef %62) #56 + %64 = fadd float %59, 0xBE30BF9960000000 + %65 = fadd float %64, %63 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %65, float noundef 0.000000e+00) #56 + %67 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %60, float noundef %66) #56 + br label %213 + +68: ; preds = %1 + %69 = fcmp ugt float %4, 9.200000e+01 + br i1 %69, label %208, label %70 + +70: ; preds = %68 + %71 = fcmp ole float %4, 3.900000e+01 + %72 = select i1 %71, float 0x412C17BF80000000, float 0x4085A57CC0000000 + %73 = select i1 %71, float 0xC1AB5FE560000000, float 0xC119078D00000000 + %74 = select i1 %71, float 0x421788DE60000000, float 0x419986E4C0000000 + %75 = select i1 %71, float 0xC27776BCC0000000, float 0xC20E2B9B20000000 + %76 = select i1 %71, float 0x42CDFB8B20000000, float 0x4276D1F200000000 + %77 = select i1 %71, float 0xC3199DEB80000000, float 0xC2D7055E80000000 + %78 = select i1 %71, float 0x435DB33AA0000000, float 0x432F594F00000000 + %79 = select i1 %71, float 0xC3979508C0000000, float 0xC37CE6A980000000 + %80 = select i1 %71, float 0x43CEAA97E0000000, float 0x43C525FEA0000000 + %81 = select i1 %71, float 0xBF9F52E2C0000000, float 0x3EF880D440000000 + %82 = select i1 %71, float 0xC0145BF060000000, float 0xBF8775B0E0000000 + %83 = select i1 %71, float 0xC06CAA6900000000, float 0xC003F3B340000000 + %84 = select i1 %71, float 0x40E12E1DE0000000, float 0x40753FD900000000 + %85 = select i1 %71, float 0x4133499300000000, float 0x40DF135A60000000 + %86 = select i1 %71, float 0x417F8DCB80000000, float 0xC130578B80000000 + %87 = select i1 %71, float 0xC1B1CC59C0000000, float 0xC198A12960000000 + %88 = select i1 %71, float 0xC1F5497DE0000000, float 0x41EFCF01A0000000 + %89 = select i1 %71, float 0xC23BF91AA0000000, float 0xC2153DD8C0000000 + %90 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %72, float noundef %4, float noundef 0.000000e+00) #56 + %91 = fneg float %90 + %92 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %72, float noundef %4, float noundef %91) #56 + %93 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %81, float noundef %4, float noundef %92) #56 + %94 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %90, float noundef 1.000000e+00, float noundef %73) #56 + %95 = fneg float %73 + %96 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %94, float noundef 1.000000e+00, float noundef %95) #56 + %97 = fneg float %96 + %98 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %90, float noundef 1.000000e+00, float noundef %97) #56 + %99 = fadd float %93, %82 + %100 = fadd float %99, %98 + %101 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %94, float noundef %4, float noundef 0.000000e+00) #56 + %102 = fneg float %101 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %94, float noundef %4, float noundef %102) #56 + %104 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef %4, float noundef %103) #56 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %101, float noundef 1.000000e+00, float noundef %74) #56 + %106 = fneg float %74 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef 1.000000e+00, float noundef %106) #56 + %108 = fneg float %107 + %109 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %101, float noundef 1.000000e+00, float noundef %108) #56 + %110 = fadd float %104, %83 + %111 = fadd float %110, %109 + %112 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %4, float noundef 0.000000e+00) #56 + %113 = fneg float %112 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %4, float noundef %113) #56 + %115 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %4, float noundef %114) #56 + %116 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %112, float noundef 1.000000e+00, float noundef %75) #56 + %117 = fneg float %75 + %118 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef 1.000000e+00, float noundef %117) #56 + %119 = fneg float %118 + %120 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %112, float noundef 1.000000e+00, float noundef %119) #56 + %121 = fadd float %115, %84 + %122 = fadd float %121, %120 + %123 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %4, float noundef 0.000000e+00) #56 + %124 = fneg float %123 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %4, float noundef %124) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef %4, float noundef %125) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %123, float noundef 1.000000e+00, float noundef %76) #56 + %128 = fneg float %76 + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef 1.000000e+00, float noundef %128) #56 + %130 = fneg float %129 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %123, float noundef 1.000000e+00, float noundef %130) #56 + %132 = fadd float %126, %85 + %133 = fadd float %132, %131 + %134 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %4, float noundef 0.000000e+00) #56 + %135 = fneg float %134 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %4, float noundef %135) #56 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %4, float noundef %136) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %134, float noundef 1.000000e+00, float noundef %77) #56 + %139 = fneg float %77 + %140 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef %139) #56 + %141 = fneg float %140 + %142 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %134, float noundef 1.000000e+00, float noundef %141) #56 + %143 = fadd float %137, %86 + %144 = fadd float %143, %142 + %145 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %4, float noundef 0.000000e+00) #56 + %146 = fneg float %145 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %4, float noundef %146) #56 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef %4, float noundef %147) #56 + %149 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %145, float noundef 1.000000e+00, float noundef %78) #56 + %150 = fneg float %78 + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef 1.000000e+00, float noundef %150) #56 + %152 = fneg float %151 + %153 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %145, float noundef 1.000000e+00, float noundef %152) #56 + %154 = fadd float %148, %87 + %155 = fadd float %154, %153 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %4, float noundef 0.000000e+00) #56 + %157 = fneg float %156 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %4, float noundef %157) #56 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef %4, float noundef %158) #56 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef 1.000000e+00, float noundef %79) #56 + %161 = fneg float %79 + %162 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef 1.000000e+00, float noundef %161) #56 + %163 = fneg float %162 + %164 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef 1.000000e+00, float noundef %163) #56 + %165 = fadd float %159, %88 + %166 = fadd float %165, %164 + %167 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %4, float noundef 0.000000e+00) #56 + %168 = fneg float %167 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %4, float noundef %168) #56 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef %4, float noundef %169) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %167, float noundef 1.000000e+00, float noundef %80) #56 + %172 = fneg float %80 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef 1.000000e+00, float noundef %172) #56 + %174 = fneg float %173 + %175 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %167, float noundef 1.000000e+00, float noundef %174) #56 + %176 = fadd float %170, %89 + %177 = fadd float %176, %175 + %178 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %4, float noundef 0x3FF7154760000000, float noundef 0x41680007E0000000) #56 + %179 = bitcast float %178 to i32 + %180 = fadd float %178, 0xC1680007E0000000 + %181 = fneg float %180 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %181, float noundef 0x3FE62E4300000000, float noundef %4) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %181, float noundef 0xBE205C6100000000, float noundef 0.000000e+00) #56 + %184 = fadd float %182, %183 + %185 = fsub float %184, %182 + %186 = fsub float %183, %185 + %187 = shl i32 %179, 23 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3F2A1D7140000000, float noundef %184, float noundef 0x3F56DA7560000000) #56 + %189 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef %184, float noundef 0x3F811105C0000000) #56 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %189, float noundef %184, float noundef 0x3FA5554640000000) #56 + %191 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef %184, float noundef 0x3FC5555560000000) #56 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %191, float noundef %184, float noundef 5.000000e-01) #56 + %193 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %192, float noundef %184, float noundef 1.000000e+00) #56 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %186, float noundef 0xBDC63CDC00000000) #56 + %195 = bitcast i32 %187 to float + %196 = fmul float %184, %195 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %196, float noundef %195) #56 + %198 = fsub float %197, %195 + %199 = fneg float %198 + %200 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %196, float noundef %199) #56 + %201 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef %195, float noundef %200) #56 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %177, float noundef 0.000000e+00) #56 + %203 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %201, float noundef %171, float noundef %202) #56 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %197, float noundef %171, float noundef %203) #56 + %205 = bitcast float %204 to i32 + %206 = xor i32 %3, %205 + %207 = bitcast i32 %206 to float + br label %213 + +208: ; preds = %68 + %209 = fadd float %4, 0x7FF0000000000000 + %210 = bitcast float %209 to i32 + %211 = xor i32 %3, %210 + %212 = bitcast i32 %211 to float + br label %213 + +213: ; preds = %208, %70, %24, %9 + %214 = phi float [ %212, %208 ], [ %207, %70 ], [ %67, %24 ], [ %23, %9 ] + ret float %214 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_j0f(float noundef %0) local_unnamed_addr #31 !srcloc !1288 { + %2 = tail call float @llvm.fabs.f32(float %0) + %3 = bitcast float %2 to i32 + %4 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %5 = icmp ult i32 %3, 2139095040 + br i1 %5, label %6, label %248 + +6: ; preds = %1 + %7 = icmp ult i32 %3, 1099154394 + br i1 %7, label %8, label %105 + +8: ; preds = %6 + %9 = icmp ult i32 %3, 1081424556 + br i1 %9, label %10, label %50 + +10: ; preds = %8 + %11 = icmp ult i32 %3, 1048576000 + br i1 %11, label %12, label %34 + +12: ; preds = %10 + %13 = icmp ult i32 %3, 998244352 + br i1 %13, label %14, label %26 + +14: ; preds = %12 + %15 = icmp ult i32 %3, 947912704 + br i1 %15, label %16, label %22 + +16: ; preds = %14 + %17 = icmp ult i32 %3, 838860800 + %18 = fsub float 1.000000e+00, %4 + %19 = fneg float %0 + %20 = tail call float @llvm.fmuladd.f32(float %19, float %0, float 1.000000e+00) + %21 = select i1 %17, float %18, float %20 + br label %251 + +22: ; preds = %14 + %23 = fmul float %0, %0 + %24 = tail call float @llvm.fmuladd.f32(float %23, float 0x3F8FFFFF20000000, float -2.500000e-01) + %25 = tail call float @llvm.fmuladd.f32(float %24, float %23, float 1.000000e+00) + br label %251 + +26: ; preds = %12 + %27 = fmul float %0, %0 + %28 = fmul float %27, %27 + %29 = tail call float @llvm.fmuladd.f32(float %28, float 0x3EDC68AE60000000, float 1.562500e-02) + %30 = tail call float @llvm.fmuladd.f32(float %28, float 0xBF3C71C5C0000000, float -2.500000e-01) + %31 = fmul float %30, %27 + %32 = tail call float @llvm.fmuladd.f32(float %29, float %28, float %31) + %33 = fadd float %32, 1.000000e+00 + br label %251 + +34: ; preds = %10 + %35 = fadd float %4, 0xC0033D1520000000 + %36 = fadd float %35, 0xBE7D2E3680000000 + %37 = tail call float @llvm.fmuladd.f32(float %36, float 0xBDC1327D20000000, float 0xBDF5C973C0000000) + %38 = tail call float @llvm.fmuladd.f32(float %36, float %37, float 0x3E32BCBA60000000) + %39 = tail call float @llvm.fmuladd.f32(float %36, float %38, float 0x3E68059880000000) + %40 = tail call float @llvm.fmuladd.f32(float %36, float %39, float 0xBEA1CD8600000000) + %41 = tail call float @llvm.fmuladd.f32(float %36, float %40, float 0xBED232EDC0000000) + %42 = tail call float @llvm.fmuladd.f32(float %36, float %41, float 0x3F06ED3DC0000000) + %43 = tail call float @llvm.fmuladd.f32(float %36, float %42, float 0x3F31538380000000) + %44 = tail call float @llvm.fmuladd.f32(float %36, float %43, float 0xBF61F99260000000) + %45 = tail call float @llvm.fmuladd.f32(float %36, float %44, float 0xBF81BB1CC0000000) + %46 = tail call float @llvm.fmuladd.f32(float %36, float %45, float 0x3FACFAE860000000) + %47 = tail call float @llvm.fmuladd.f32(float %36, float %46, float 0x3FBBA1DEE0000000) + %48 = tail call float @llvm.fmuladd.f32(float %36, float %47, float 0xBFE09CDB40000000) + %49 = tail call float @llvm.fmuladd.f32(float %36, float %48, float 0xBC919B7920000000) + br label %251 + +50: ; preds = %8 + %51 = icmp ult i32 %3, 1092798087 + br i1 %51, label %52, label %56 + +52: ; preds = %50 + %53 = icmp ult i32 %3, 1088454576 + %54 = select i1 %53, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ1E, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ2E + %55 = select i1 %53, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP1E, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP2E + br label %60 + +56: ; preds = %50 + %57 = icmp ult i32 %3, 1096101336 + %58 = select i1 %57, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ3E, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fZ4E + %59 = select i1 %57, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP3E, ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_116__sj0_j0f_ep_fP4E + br label %60 + +60: ; preds = %56, %52 + %61 = phi ptr addrspace(1) [ %54, %52 ], [ %58, %56 ] + %62 = phi ptr addrspace(1) [ %55, %52 ], [ %59, %56 ] + %63 = load float, ptr addrspace(1) %61, align 4, !tbaa !731 + %64 = fsub float %4, %63 + %65 = getelementptr inbounds float, ptr addrspace(1) %61, i64 1 + %66 = load float, ptr addrspace(1) %65, align 4, !tbaa !731 + %67 = fsub float %64, %66 + %68 = load float, ptr addrspace(1) %62, align 4, !tbaa !731 + %69 = getelementptr inbounds float, ptr addrspace(1) %62, i64 1 + %70 = load float, ptr addrspace(1) %69, align 4, !tbaa !731 + %71 = getelementptr inbounds float, ptr addrspace(1) %62, i64 2 + %72 = load float, ptr addrspace(1) %71, align 4, !tbaa !731 + %73 = getelementptr inbounds float, ptr addrspace(1) %62, i64 3 + %74 = load float, ptr addrspace(1) %73, align 4, !tbaa !731 + %75 = getelementptr inbounds float, ptr addrspace(1) %62, i64 4 + %76 = load float, ptr addrspace(1) %75, align 4, !tbaa !731 + %77 = getelementptr inbounds float, ptr addrspace(1) %62, i64 5 + %78 = load float, ptr addrspace(1) %77, align 4, !tbaa !731 + %79 = getelementptr inbounds float, ptr addrspace(1) %62, i64 6 + %80 = load float, ptr addrspace(1) %79, align 4, !tbaa !731 + %81 = getelementptr inbounds float, ptr addrspace(1) %62, i64 7 + %82 = load float, ptr addrspace(1) %81, align 4, !tbaa !731 + %83 = getelementptr inbounds float, ptr addrspace(1) %62, i64 8 + %84 = load float, ptr addrspace(1) %83, align 4, !tbaa !731 + %85 = getelementptr inbounds float, ptr addrspace(1) %62, i64 9 + %86 = load float, ptr addrspace(1) %85, align 4, !tbaa !731 + %87 = getelementptr inbounds float, ptr addrspace(1) %62, i64 10 + %88 = load float, ptr addrspace(1) %87, align 4, !tbaa !731 + %89 = getelementptr inbounds float, ptr addrspace(1) %62, i64 11 + %90 = load float, ptr addrspace(1) %89, align 4, !tbaa !731 + %91 = getelementptr inbounds float, ptr addrspace(1) %62, i64 12 + %92 = load float, ptr addrspace(1) %91, align 4, !tbaa !731 + %93 = tail call float @llvm.fmuladd.f32(float %67, float %92, float %90) + %94 = tail call float @llvm.fmuladd.f32(float %67, float %93, float %88) + %95 = tail call float @llvm.fmuladd.f32(float %67, float %94, float %86) + %96 = tail call float @llvm.fmuladd.f32(float %67, float %95, float %84) + %97 = tail call float @llvm.fmuladd.f32(float %67, float %96, float %82) + %98 = tail call float @llvm.fmuladd.f32(float %67, float %97, float %80) + %99 = tail call float @llvm.fmuladd.f32(float %67, float %98, float %78) + %100 = tail call float @llvm.fmuladd.f32(float %67, float %99, float %76) + %101 = tail call float @llvm.fmuladd.f32(float %67, float %100, float %74) + %102 = tail call float @llvm.fmuladd.f32(float %67, float %101, float %72) + %103 = tail call float @llvm.fmuladd.f32(float %67, float %102, float %70) + %104 = tail call float @llvm.fmuladd.f32(float %67, float %103, float %68) + br label %251 + +105: ; preds = %6 + %106 = fdiv float 1.000000e+00, %4 + %107 = fmul float %106, 1.600000e+01 + %108 = fmul float %107, %107 + %109 = fmul float %106, 0x3FE45F3060000000 + %110 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %109) #56 + %111 = bitcast float %4 to i32 + %112 = and i32 %111, 8388607 + %113 = or i32 %112, 8388608 + %114 = and i32 %111, -2147483648 + %115 = tail call float @llvm.fabs.f32(float %4) + %116 = bitcast float %115 to i32 + %117 = lshr i32 %116, 23 + %118 = add nsw i32 %117, -115 + %119 = icmp ugt i32 %118, 32 + br i1 %119, label %120, label %170, !prof !1176 + +120: ; preds = %105 + %121 = icmp ult i32 %116, 973078528 + br i1 %121, label %230, label %122, !prof !1189 + +122: ; preds = %120 + %123 = icmp eq i32 %117, 255 + br i1 %123, label %124, label %127 + +124: ; preds = %122 + %125 = or i32 %111, 4194304 + %126 = bitcast i32 %125 to float + br label %230 + +127: ; preds = %122 + %128 = add nsw i32 %117, -150 + %129 = ashr i32 %128, 5 + %130 = add nsw i32 %129, 1 + %131 = and i32 %128, 31 + %132 = sext i32 %130 to i64 + %133 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_126__sj0_sincosf_ep_invpi_tblE, i64 0, i64 %132 + %134 = load i32, ptr addrspace(1) %133, align 4, !tbaa !717 + %135 = mul i32 %134, %113 + %136 = add nsw i32 %129, 2 + %137 = sext i32 %136 to i64 + %138 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_126__sj0_sincosf_ep_invpi_tblE, i64 0, i64 %137 + %139 = load i32, ptr addrspace(1) %138, align 4, !tbaa !717 + %140 = zext i32 %139 to i64 + %141 = zext nneg i32 %113 to i64 + %142 = mul nuw nsw i64 %140, %141 + %143 = zext i32 %135 to i64 + %144 = shl nuw i64 %143, 32 + %145 = add i64 %142, %144 + %146 = add nsw i32 %129, 3 + %147 = sext i32 %146 to i64 + %148 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_126__sj0_sincosf_ep_invpi_tblE, i64 0, i64 %147 + %149 = load i32, ptr addrspace(1) %148, align 4, !tbaa !717 + %150 = zext i32 %149 to i64 + %151 = mul nuw nsw i64 %150, %141 + %152 = add nsw i32 %129, 4 + %153 = sext i32 %152 to i64 + %154 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j0_s_ep12_GLOBAL__N_126__sj0_sincosf_ep_invpi_tblE, i64 0, i64 %153 + %155 = load i32, ptr addrspace(1) %154, align 4, !tbaa !717 + %156 = zext i32 %155 to i64 + %157 = mul nuw nsw i64 %156, %141 + %158 = lshr i64 %157, 32 + %159 = add nuw nsw i64 %151, %158 + %160 = lshr i64 %159, 32 + %161 = add i64 %145, %160 + %162 = zext nneg i32 %131 to i64 + %163 = shl i64 %161, %162 + %164 = trunc i64 %159 to i32 + %165 = xor i32 %131, 31 + %166 = lshr i32 %164, %165 + %167 = lshr i32 %166, 1 + %168 = zext nneg i32 %167 to i64 + %169 = or i64 %163, %168 + br label %183 + +170: ; preds = %105 + %171 = zext nneg i32 %113 to i64 + %172 = mul nuw nsw i64 %171, 85445659 + %173 = mul nuw nsw i32 %113, 40 + %174 = mul nuw nsw i64 %171, 245770507392 + %175 = zext nneg i32 %173 to i64 + %176 = add nuw nsw i64 %174, %175 + %177 = zext i32 %118 to i64 + %178 = shl i64 %172, %177 + %179 = sub nuw nsw i32 154, %117 + %180 = zext i32 %179 to i64 + %181 = lshr i64 %176, %180 + %182 = add i64 %178, %181 + br label %183 + +183: ; preds = %170, %127 + %184 = phi i64 [ %169, %127 ], [ %182, %170 ] + %185 = add i64 %184, -2305843009213693952 + %186 = lshr i64 %185, 32 + %187 = trunc i64 %186 to i32 + %188 = add nsw i32 %187, 536870912 + %189 = shl i32 %187, 2 + %190 = sitofp i32 %189 to float + %191 = bitcast float %190 to i32 + %192 = lshr i32 %191, 23 + %193 = and i32 %192, 255 + %194 = sub nsw i32 159, %193 + %195 = icmp ult i32 %193, 158 + %196 = select i1 %195, i32 %194, i32 2 + %197 = zext i32 %196 to i64 + %198 = shl i64 %185, %197 + %199 = lshr i64 %198, 32 + %200 = trunc i64 %199 to i32 + %201 = sitofp i32 %200 to float + %202 = shl nsw i32 %196, 23 + %203 = sub i32 805306368, %202 + %204 = bitcast i32 %203 to float + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %201, float noundef %204, float noundef 0.000000e+00) #56 + %206 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef %205, float noundef 0.000000e+00) #56 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %206, float noundef 0xBFF55C57C0000000) #56 + %208 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %206, float noundef 0x400465E920000000) #56 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %207, float noundef %206, float noundef 0x40103C1DC0000000) #56 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %208, float noundef %206, float noundef 0xC014ABBBA0000000) #56 + %211 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %209, float noundef %206, float noundef 0xC013BD3CC0000000) #56 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef %206, float noundef 0x400921FB60000000) #56 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %211, float noundef %206, float noundef 1.000000e+00) #56 + %214 = bitcast float %213 to i32 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef %205, float noundef 0.000000e+00) #56 + %216 = bitcast float %215 to i32 + %217 = and i32 %188, -2147483648 + %218 = shl i32 %188, 1 + %219 = and i32 %218, -2147483648 + %220 = xor i32 %219, %216 + %221 = xor i32 %220, %217 + %222 = xor i32 %217, %214 + %223 = and i32 %188, 1073741824 + %224 = icmp eq i32 %223, 0 + %225 = select i1 %224, i32 %221, i32 %222 + %226 = xor i32 %225, %114 + %227 = select i1 %224, i32 %222, i32 %221 + %228 = bitcast i32 %227 to float + %229 = bitcast i32 %226 to float + br label %230 + +230: ; preds = %183, %124, %120 + %231 = phi float [ %126, %124 ], [ %229, %183 ], [ %4, %120 ] + %232 = phi float [ %126, %124 ], [ %228, %183 ], [ 1.000000e+00, %120 ] + %233 = tail call float @llvm.fmuladd.f32(float %108, float 0xBDD47A9100000000, float 0x3E17CA5EE0000000) + %234 = tail call float @llvm.fmuladd.f32(float %108, float %233, float 0xBE624F5780000000) + %235 = tail call float @llvm.fmuladd.f32(float %108, float %234, float 0x3EBCB5F860000000) + %236 = tail call float @llvm.fmuladd.f32(float %108, float %235, float 0xBF32000000000000) + %237 = tail call float @llvm.fmuladd.f32(float %108, float %236, float 1.000000e+00) + %238 = tail call float @llvm.fmuladd.f32(float %108, float 0x3DB845FEC0000000, float 0xBDF7A83620000000) + %239 = tail call float @llvm.fmuladd.f32(float %108, float %238, float 0x3E3B9D68E0000000) + %240 = tail call float @llvm.fmuladd.f32(float %108, float %239, float 0xBE8D11CA80000000) + %241 = tail call float @llvm.fmuladd.f32(float %108, float %240, float 0x3EF2C00000000000) + %242 = tail call float @llvm.fmuladd.f32(float %108, float %241, float -7.812500e-03) + %243 = fneg float %107 + %244 = fmul float %242, %243 + %245 = fmul float %244, %231 + %246 = tail call float @llvm.fmuladd.f32(float %237, float %232, float %245) + %247 = fmul float %110, %246 + br label %251 + +248: ; preds = %1 + %249 = icmp eq i32 %3, 2139095040 + %250 = select i1 %249, float 0.000000e+00, float %0 + br label %251 + +251: ; preds = %248, %230, %60, %34, %26, %22, %16 + %252 = phi float [ %25, %22 ], [ %33, %26 ], [ %49, %34 ], [ %104, %60 ], [ %247, %230 ], [ %250, %248 ], [ %21, %16 ] + ret float %252 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_j1f(float noundef %0) local_unnamed_addr #31 !srcloc !1289 { + %2 = alloca [2 x float], align 4 + %3 = alloca [2 x float], align 4 + %4 = bitcast float %0 to i32 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = bitcast float %5 to i32 + %7 = lshr i32 %4, 31 + %8 = icmp ult i32 %6, 2139095040 + br i1 %8, label %9, label %267 + +9: ; preds = %1 + %10 = icmp ult i32 %6, 1099993482 + br i1 %10, label %11, label %120 + +11: ; preds = %9 + %12 = icmp ult i32 %6, 1075439785 + br i1 %12, label %13, label %59 + +13: ; preds = %11 + %14 = icmp ult i32 %6, 1048576000 + br i1 %14, label %15, label %42 + +15: ; preds = %13 + %16 = icmp ult i32 %6, 998244352 + br i1 %16, label %17, label %33 + +17: ; preds = %15 + %18 = icmp ult i32 %6, 838860800 + br i1 %18, label %19, label %27 + +19: ; preds = %17 + %20 = icmp eq i32 %6, 0 + br i1 %20, label %273, label %21 + +21: ; preds = %19 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store i64 -8250594517116256256, ptr %2, align 4 + %22 = zext nneg i32 %7 to i64 + %23 = getelementptr inbounds [2 x float], ptr %2, i64 0, i64 %22 + %24 = load float, ptr %23, align 4, !tbaa !731 + %25 = fmul float %24, 0xB9B0000000000000 + %26 = tail call float @llvm.fmuladd.f32(float %0, float 5.000000e-01, float %25) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %273 + +27: ; preds = %17 + %28 = fmul float %0, 5.000000e-01 + %29 = fmul float %28, %28 + %30 = tail call float @llvm.fmuladd.f32(float %29, float 0x3FB5555560000000, float -5.000000e-01) + %31 = fmul float %30, %29 + %32 = tail call float @llvm.fmuladd.f32(float %31, float %28, float %28) + br label %273 + +33: ; preds = %15 + %34 = fmul float %0, 5.000000e-01 + %35 = fmul float %34, %34 + %36 = fmul float %35, %35 + %37 = tail call float @llvm.fmuladd.f32(float %36, float 0x3F36A933A0000000, float 0x3FB5555560000000) + %38 = tail call float @llvm.fmuladd.f32(float %36, float 0xBF7C71B800000000, float -5.000000e-01) + %39 = fmul float %38, %35 + %40 = tail call float @llvm.fmuladd.f32(float %37, float %36, float %39) + %41 = tail call float @llvm.fmuladd.f32(float %40, float %34, float %34) + br label %273 + +42: ; preds = %13 + %43 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %44 = tail call float @llvm.fmuladd.f32(float %43, float 0x3DFBBA2260000000, float 0xBE413D1960000000) + %45 = tail call float @llvm.fmuladd.f32(float %43, float %44, float 0x3E426B3960000000) + %46 = tail call float @llvm.fmuladd.f32(float %43, float %45, float 0x3EA610CCE0000000) + %47 = tail call float @llvm.fmuladd.f32(float %43, float %46, float 0x3E622FFB20000000) + %48 = tail call float @llvm.fmuladd.f32(float %43, float %47, float 0xBF0C76FB00000000) + %49 = tail call float @llvm.fmuladd.f32(float %43, float %48, float 0x3E606D8800000000) + %50 = tail call float @llvm.fmuladd.f32(float %43, float %49, float 0x3F65554CA0000000) + %51 = tail call float @llvm.fmuladd.f32(float %43, float %50, float 0x3E37F25D80000000) + %52 = tail call float @llvm.fmuladd.f32(float %43, float %51, float -6.250000e-02) + %53 = tail call float @llvm.fmuladd.f32(float %43, float %52, float 0x3DE0AAE700000000) + %54 = tail call float @llvm.fmuladd.f32(float %43, float %53, float 5.000000e-01) + %55 = fmul float %43, %54 + %56 = fneg float %55 + %57 = icmp slt i32 %4, 0 + %58 = select i1 %57, float %56, float %55 + br label %273 + +59: ; preds = %11 + %60 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %61 = icmp ult i32 %6, 1097786634 + br i1 %61, label %62, label %72 + +62: ; preds = %59 + %63 = icmp ult i32 %6, 1091204523 + br i1 %63, label %64, label %68 + +64: ; preds = %62 + %65 = icmp ult i32 %6, 1085318267 + %66 = select i1 %65, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ1E, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ2E + %67 = select i1 %65, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP1E, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP2E + br label %72 + +68: ; preds = %62 + %69 = icmp ult i32 %6, 1094494752 + %70 = select i1 %69, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ3E, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ4E + %71 = select i1 %69, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP3E, ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP4E + br label %72 + +72: ; preds = %68, %64, %59 + %73 = phi ptr addrspace(1) [ %66, %64 ], [ %70, %68 ], [ @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fZ5E, %59 ] + %74 = phi ptr addrspace(1) [ %67, %64 ], [ %71, %68 ], [ @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_112__sj1_ep_fP5E, %59 ] + %75 = load float, ptr addrspace(1) %73, align 4, !tbaa !731 + %76 = fsub float %60, %75 + %77 = getelementptr inbounds float, ptr addrspace(1) %73, i64 1 + %78 = load float, ptr addrspace(1) %77, align 4, !tbaa !731 + %79 = fsub float %76, %78 + %80 = load float, ptr addrspace(1) %74, align 4, !tbaa !731 + %81 = getelementptr inbounds float, ptr addrspace(1) %74, i64 1 + %82 = load float, ptr addrspace(1) %81, align 4, !tbaa !731 + %83 = getelementptr inbounds float, ptr addrspace(1) %74, i64 2 + %84 = load float, ptr addrspace(1) %83, align 4, !tbaa !731 + %85 = getelementptr inbounds float, ptr addrspace(1) %74, i64 3 + %86 = load float, ptr addrspace(1) %85, align 4, !tbaa !731 + %87 = getelementptr inbounds float, ptr addrspace(1) %74, i64 4 + %88 = load float, ptr addrspace(1) %87, align 4, !tbaa !731 + %89 = getelementptr inbounds float, ptr addrspace(1) %74, i64 5 + %90 = load float, ptr addrspace(1) %89, align 4, !tbaa !731 + %91 = getelementptr inbounds float, ptr addrspace(1) %74, i64 6 + %92 = load float, ptr addrspace(1) %91, align 4, !tbaa !731 + %93 = getelementptr inbounds float, ptr addrspace(1) %74, i64 7 + %94 = load float, ptr addrspace(1) %93, align 4, !tbaa !731 + %95 = getelementptr inbounds float, ptr addrspace(1) %74, i64 8 + %96 = load float, ptr addrspace(1) %95, align 4, !tbaa !731 + %97 = getelementptr inbounds float, ptr addrspace(1) %74, i64 9 + %98 = load float, ptr addrspace(1) %97, align 4, !tbaa !731 + %99 = getelementptr inbounds float, ptr addrspace(1) %74, i64 10 + %100 = load float, ptr addrspace(1) %99, align 4, !tbaa !731 + %101 = getelementptr inbounds float, ptr addrspace(1) %74, i64 11 + %102 = load float, ptr addrspace(1) %101, align 4, !tbaa !731 + %103 = getelementptr inbounds float, ptr addrspace(1) %74, i64 12 + %104 = load float, ptr addrspace(1) %103, align 4, !tbaa !731 + %105 = tail call float @llvm.fmuladd.f32(float %79, float %104, float %102) + %106 = tail call float @llvm.fmuladd.f32(float %79, float %105, float %100) + %107 = tail call float @llvm.fmuladd.f32(float %79, float %106, float %98) + %108 = tail call float @llvm.fmuladd.f32(float %79, float %107, float %96) + %109 = tail call float @llvm.fmuladd.f32(float %79, float %108, float %94) + %110 = tail call float @llvm.fmuladd.f32(float %79, float %109, float %92) + %111 = tail call float @llvm.fmuladd.f32(float %79, float %110, float %90) + %112 = tail call float @llvm.fmuladd.f32(float %79, float %111, float %88) + %113 = tail call float @llvm.fmuladd.f32(float %79, float %112, float %86) + %114 = tail call float @llvm.fmuladd.f32(float %79, float %113, float %84) + %115 = tail call float @llvm.fmuladd.f32(float %79, float %114, float %82) + %116 = tail call float @llvm.fmuladd.f32(float %79, float %115, float %80) + %117 = fneg float %116 + %118 = icmp slt i32 %4, 0 + %119 = select i1 %118, float %117, float %116 + br label %273 + +120: ; preds = %9 + %121 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %122 = fdiv float 1.000000e+00, %121 + %123 = fmul float %122, 1.600000e+01 + %124 = fmul float %123, %123 + %125 = fmul float %122, 0x3FE45F3060000000 + %126 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %125) #56 + %127 = bitcast float %121 to i32 + %128 = and i32 %127, 8388607 + %129 = or i32 %128, 8388608 + %130 = and i32 %127, -2147483648 + %131 = tail call float @llvm.fabs.f32(float %121) + %132 = bitcast float %131 to i32 + %133 = lshr i32 %132, 23 + %134 = add nsw i32 %133, -115 + %135 = icmp ugt i32 %134, 32 + br i1 %135, label %136, label %186, !prof !1176 + +136: ; preds = %120 + %137 = icmp ult i32 %132, 973078528 + br i1 %137, label %246, label %138, !prof !1189 + +138: ; preds = %136 + %139 = icmp eq i32 %133, 255 + br i1 %139, label %140, label %143 + +140: ; preds = %138 + %141 = or i32 %127, 4194304 + %142 = bitcast i32 %141 to float + br label %246 + +143: ; preds = %138 + %144 = add nsw i32 %133, -150 + %145 = ashr i32 %144, 5 + %146 = add nsw i32 %145, 1 + %147 = and i32 %144, 31 + %148 = sext i32 %146 to i64 + %149 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_118__sj1_ep_invpi_tblE, i64 0, i64 %148 + %150 = load i32, ptr addrspace(1) %149, align 4, !tbaa !717 + %151 = mul i32 %150, %129 + %152 = add nsw i32 %145, 2 + %153 = sext i32 %152 to i64 + %154 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_118__sj1_ep_invpi_tblE, i64 0, i64 %153 + %155 = load i32, ptr addrspace(1) %154, align 4, !tbaa !717 + %156 = zext i32 %155 to i64 + %157 = zext nneg i32 %129 to i64 + %158 = mul nuw nsw i64 %156, %157 + %159 = zext i32 %151 to i64 + %160 = shl nuw i64 %159, 32 + %161 = add i64 %158, %160 + %162 = add nsw i32 %145, 3 + %163 = sext i32 %162 to i64 + %164 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_118__sj1_ep_invpi_tblE, i64 0, i64 %163 + %165 = load i32, ptr addrspace(1) %164, align 4, !tbaa !717 + %166 = zext i32 %165 to i64 + %167 = mul nuw nsw i64 %166, %157 + %168 = add nsw i32 %145, 4 + %169 = sext i32 %168 to i64 + %170 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_j1_s_ep12_GLOBAL__N_118__sj1_ep_invpi_tblE, i64 0, i64 %169 + %171 = load i32, ptr addrspace(1) %170, align 4, !tbaa !717 + %172 = zext i32 %171 to i64 + %173 = mul nuw nsw i64 %172, %157 + %174 = lshr i64 %173, 32 + %175 = add nuw nsw i64 %167, %174 + %176 = lshr i64 %175, 32 + %177 = add i64 %161, %176 + %178 = zext nneg i32 %147 to i64 + %179 = shl i64 %177, %178 + %180 = trunc i64 %175 to i32 + %181 = xor i32 %147, 31 + %182 = lshr i32 %180, %181 + %183 = lshr i32 %182, 1 + %184 = zext nneg i32 %183 to i64 + %185 = or i64 %179, %184 + br label %199 + +186: ; preds = %120 + %187 = zext nneg i32 %129 to i64 + %188 = mul nuw nsw i64 %187, 85445659 + %189 = mul nuw nsw i32 %129, 40 + %190 = mul nuw nsw i64 %187, 245770507392 + %191 = zext nneg i32 %189 to i64 + %192 = add nuw nsw i64 %190, %191 + %193 = zext i32 %134 to i64 + %194 = shl i64 %188, %193 + %195 = sub nuw nsw i32 154, %133 + %196 = zext i32 %195 to i64 + %197 = lshr i64 %192, %196 + %198 = add i64 %194, %197 + br label %199 + +199: ; preds = %186, %143 + %200 = phi i64 [ %185, %143 ], [ %198, %186 ] + %201 = add i64 %200, -6917529027641081856 + %202 = lshr i64 %201, 32 + %203 = trunc i64 %202 to i32 + %204 = add nsw i32 %203, 536870912 + %205 = shl i32 %203, 2 + %206 = sitofp i32 %205 to float + %207 = bitcast float %206 to i32 + %208 = lshr i32 %207, 23 + %209 = and i32 %208, 255 + %210 = sub nsw i32 159, %209 + %211 = icmp ult i32 %209, 158 + %212 = select i1 %211, i32 %210, i32 2 + %213 = zext i32 %212 to i64 + %214 = shl i64 %201, %213 + %215 = lshr i64 %214, 32 + %216 = trunc i64 %215 to i32 + %217 = sitofp i32 %216 to float + %218 = shl nsw i32 %212, 23 + %219 = sub i32 805306368, %218 + %220 = bitcast i32 %219 to float + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %217, float noundef %220, float noundef 0.000000e+00) #56 + %222 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef %221, float noundef 0.000000e+00) #56 + %223 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %222, float noundef 0xBFF55C57C0000000) #56 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %222, float noundef 0x400465E920000000) #56 + %225 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %223, float noundef %222, float noundef 0x40103C1DC0000000) #56 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef %222, float noundef 0xC014ABBBA0000000) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %225, float noundef %222, float noundef 0xC013BD3CC0000000) #56 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %222, float noundef 0x400921FB60000000) #56 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %227, float noundef %222, float noundef 1.000000e+00) #56 + %230 = bitcast float %229 to i32 + %231 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef %221, float noundef 0.000000e+00) #56 + %232 = bitcast float %231 to i32 + %233 = and i32 %204, -2147483648 + %234 = shl i32 %204, 1 + %235 = and i32 %234, -2147483648 + %236 = xor i32 %235, %232 + %237 = xor i32 %236, %233 + %238 = xor i32 %233, %230 + %239 = and i32 %204, 1073741824 + %240 = icmp eq i32 %239, 0 + %241 = select i1 %240, i32 %237, i32 %238 + %242 = xor i32 %241, %130 + %243 = select i1 %240, i32 %238, i32 %237 + %244 = bitcast i32 %243 to float + %245 = bitcast i32 %242 to float + br label %246 + +246: ; preds = %199, %140, %136 + %247 = phi float [ %142, %140 ], [ %245, %199 ], [ %121, %136 ] + %248 = phi float [ %142, %140 ], [ %244, %199 ], [ 1.000000e+00, %136 ] + %249 = tail call float @llvm.fmuladd.f32(float %124, float 0x3DD6BE2B60000000, float 0xBE1AFBE9C0000000) + %250 = tail call float @llvm.fmuladd.f32(float %124, float %249, float 0x3E65A3D1E0000000) + %251 = tail call float @llvm.fmuladd.f32(float %124, float %250, float 0xBEC274FBE0000000) + %252 = tail call float @llvm.fmuladd.f32(float %124, float %251, float 0x3F3E000000000000) + %253 = tail call float @llvm.fmuladd.f32(float %124, float %252, float 1.000000e+00) + %254 = tail call float @llvm.fmuladd.f32(float %124, float 0xBDBAB63660000000, float 0x3DFA76F660000000) + %255 = tail call float @llvm.fmuladd.f32(float %124, float %254, float 0xBE3FDD85C0000000) + %256 = tail call float @llvm.fmuladd.f32(float %124, float %255, float 0x3E91C3C460000000) + %257 = tail call float @llvm.fmuladd.f32(float %124, float %256, float 0xBEFA400000000000) + %258 = tail call float @llvm.fmuladd.f32(float %124, float %257, float 2.343750e-02) + %259 = fneg float %123 + %260 = fmul float %258, %259 + %261 = fmul float %260, %247 + %262 = tail call float @llvm.fmuladd.f32(float %253, float %248, float %261) + %263 = fmul float %126, %262 + %264 = fneg float %263 + %265 = icmp slt i32 %4, 0 + %266 = select i1 %265, float %264, float %263 + br label %273 + +267: ; preds = %1 + %268 = icmp eq i32 %6, 2139095040 + br i1 %268, label %269, label %273 + +269: ; preds = %267 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -9223372036854775808, ptr %3, align 4 + %270 = zext nneg i32 %7 to i64 + %271 = getelementptr inbounds [2 x float], ptr %3, i64 0, i64 %270 + %272 = load float, ptr %271, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %273 + +273: ; preds = %269, %267, %246, %72, %42, %33, %27, %21, %19 + %274 = phi float [ %32, %27 ], [ %41, %33 ], [ %58, %42 ], [ %119, %72 ], [ %266, %246 ], [ %272, %269 ], [ %26, %21 ], [ %0, %19 ], [ %0, %267 ] + ret float %274 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_jnf(i32 noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1290 { + %3 = alloca [2 x float], align 4 + %4 = alloca float, align 4 + %5 = alloca float, align 4 + %6 = alloca float, align 4 + %7 = alloca [2 x float], align 4 + %8 = alloca [2 x float], align 4 + %9 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %10 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %11 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %12 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %13 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %14 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %15 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %16 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %17 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %18 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %19 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %20 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %21 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %22 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %23 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %24 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %25 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %26 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %27 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %28 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %29 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %30 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %31 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %32 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %33 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %34 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %35 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %36 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %37 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %38 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %39 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %40 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %41 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %42 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %43 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %44 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %45 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %46 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %47 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %48 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %49 = alloca %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int", align 8 + %50 = alloca float, align 4 + %51 = addrspacecast ptr %50 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) + %52 = addrspacecast ptr %4 to ptr addrspace(4) + %53 = addrspacecast ptr %5 to ptr addrspace(4) + %54 = addrspacecast ptr %6 to ptr addrspace(4) + %55 = addrspacecast ptr %9 to ptr addrspace(4) + %56 = addrspacecast ptr %10 to ptr addrspace(4) + %57 = addrspacecast ptr %13 to ptr addrspace(4) + %58 = addrspacecast ptr %16 to ptr addrspace(4) + %59 = addrspacecast ptr %17 to ptr addrspace(4) + %60 = addrspacecast ptr %18 to ptr addrspace(4) + %61 = addrspacecast ptr %19 to ptr addrspace(4) + %62 = addrspacecast ptr %22 to ptr addrspace(4) + %63 = addrspacecast ptr %25 to ptr addrspace(4) + %64 = addrspacecast ptr %26 to ptr addrspace(4) + %65 = addrspacecast ptr %29 to ptr addrspace(4) + %66 = addrspacecast ptr %32 to ptr addrspace(4) + %67 = addrspacecast ptr %35 to ptr addrspace(4) + %68 = addrspacecast ptr %38 to ptr addrspace(4) + %69 = addrspacecast ptr %41 to ptr addrspace(4) + %70 = addrspacecast ptr %42 to ptr addrspace(4) + %71 = addrspacecast ptr %46 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -9223372036854775808, ptr %3, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #55 + %72 = bitcast float %1 to i32 + %73 = tail call float @llvm.fabs.f32(float %1) + %74 = bitcast float %73 to i32 + %75 = xor i32 %72, %0 + %76 = lshr i32 %75, 31 + %77 = and i32 %76, %0 + switch i32 %0, label %80 [ + i32 0, label %78 + i32 1, label %79 + ] + +78: ; preds = %2 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j0_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %51) #54 + br label %463 + +79: ; preds = %2 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j1_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %51) #54 + br label %463 + +80: ; preds = %2 + %81 = icmp eq i32 %74, 0 + br i1 %81, label %82, label %86 + +82: ; preds = %80 + %83 = zext nneg i32 %77 to i64 + %84 = getelementptr inbounds [2 x float], ptr %3, i64 0, i64 %83 + %85 = load float, ptr %84, align 4, !tbaa !731 + store float %85, ptr %50, align 4, !tbaa !731 + br label %463 + +86: ; preds = %80 + %87 = icmp ult i32 %74, 2139095040 + br i1 %87, label %88, label %459 + +88: ; preds = %86 + %89 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + %90 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %1) #56 + %91 = lshr i32 %89, 3 + %92 = icmp ult i32 %89, 2568 + br i1 %92, label %93, label %97 + +93: ; preds = %88 + %94 = zext nneg i32 %91 to i64 + %95 = getelementptr inbounds [321 x float], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_114function_zerosE, i64 0, i64 %94 + %96 = load float, ptr addrspace(1) %95, align 4, !tbaa !731 + br label %102 + +97: ; preds = %88 + %98 = mul nuw nsw i32 %91, 7 + %99 = add nsw i32 %98, -2240 + %100 = sitofp i32 %99 to float + %101 = fadd float %100, 2.282000e+03 + br label %102 + +102: ; preds = %97, %93 + %103 = phi float [ %96, %93 ], [ %101, %97 ] + %104 = fcmp olt float %90, %103 + br i1 %104, label %454, label %105 + +105: ; preds = %102 + %106 = icmp ult i32 %89, 33 + br i1 %106, label %109, label %107 + +107: ; preds = %105 + %108 = uitofp i32 %89 to float + br label %155 + +109: ; preds = %105 + %110 = uitofp i32 %89 to float + %111 = fmul float %110, 0x3FE3333340000000 + %112 = fcmp ugt float %90, %111 + br i1 %112, label %155, label %113 + +113: ; preds = %109 + %114 = fmul float %90, 5.000000e-01 + br label %115 + +115: ; preds = %121, %113 + %116 = phi float [ 1.000000e+00, %113 ], [ %123, %121 ] + %117 = phi float [ 1.000000e+00, %113 ], [ %122, %121 ] + %118 = phi float [ 1.000000e+00, %113 ], [ %125, %121 ] + %119 = phi i32 [ 1, %113 ], [ %124, %121 ] + %120 = icmp ugt i32 %119, %89 + br i1 %120, label %126, label %121 + +121: ; preds = %115 + %122 = fmul float %117, %114 + %123 = fmul float %116, %118 + %124 = add nuw nsw i32 %119, 1 + %125 = fadd float %118, 1.000000e+00 + br label %115, !llvm.loop !1291 + +126: ; preds = %115 + %127 = fneg float %114 + %128 = fmul float %114, %127 + br label %129 + +129: ; preds = %129, %126 + %130 = phi float [ 1.000000e+00, %126 ], [ %145, %129 ] + %131 = phi float [ 1.000000e+00, %126 ], [ %144, %129 ] + %132 = phi i32 [ undef, %126 ], [ %147, %129 ] + %133 = phi i32 [ 24, %126 ], [ %149, %129 ] + %134 = phi i32 [ 0, %126 ], [ %135, %129 ] + %135 = add nuw nsw i32 %134, 1 + %136 = fmul float %131, %128 + %137 = add nuw i32 %89, %135 + %138 = mul i32 %135, %137 + %139 = uitofp i32 %138 to float + %140 = fdiv float 1.000000e+00, %139 + %141 = fneg float %139 + %142 = tail call float @llvm.fmuladd.f32(float %141, float %140, float 2.000000e+00) + %143 = fmul float %140, %142 + %144 = fmul float %136, %143 + %145 = fadd float %130, %144 + %146 = bitcast float %145 to i32 + %147 = and i32 %146, -64 + %148 = icmp eq i32 %132, %147 + %149 = add nsw i32 %133, -1 + %150 = icmp eq i32 %133, 0 + %151 = select i1 %148, i1 true, i1 %150 + br i1 %151, label %152, label %129, !llvm.loop !1292 + +152: ; preds = %129 + %153 = fmul float %145, %117 + %154 = fdiv float %153, %116 + br label %454 + +155: ; preds = %109, %107 + %156 = phi float [ %108, %107 ], [ %110, %109 ] + %157 = fcmp olt float %90, %156 + br i1 %157, label %158, label %354 + +158: ; preds = %155 + %159 = shl nuw i32 %89, 1 + %160 = zext i32 %159 to i64 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #55 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_18sp_to_dpEf(ptr addrspace(4) noalias align 8 %55, float noundef %90) #55 + %161 = load i64, ptr %9, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #55 + store i64 %161, ptr %11, align 8, !tbaa.struct !1293 + store i64 %161, ptr %12, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %56, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %11, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %12) #55 + %162 = load i64, ptr %10, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #55 + store i64 4607182418800017408, ptr %14, align 8, !tbaa.struct !1293 + store i64 %161, ptr %15, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_divENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %57, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %14, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %15) #55 + %163 = load i64, ptr %13, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #55 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_112uint64_to_dpEm(ptr addrspace(4) noalias align 8 %58, i64 noundef %160) #55 + %164 = load i64, ptr %16, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #55 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j0_ep_kernel_fp32EPKfPf(float %90, ptr addrspace(4) noundef %52) #54 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #55 + %165 = load float, ptr %4, align 4, !tbaa !731 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_18sp_to_dpEf(ptr addrspace(4) noalias align 8 %59, float noundef %165) #55 + %166 = load i64, ptr %17, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #55 + %167 = fcmp ugt float %165, 0x3FEFC6A7E0000000 + br i1 %167, label %454, label %168 + +168: ; preds = %259, %158 + %169 = phi i64 [ %257, %259 ], [ 4607182418800017408, %158 ] + %170 = phi i64 [ %179, %259 ], [ %160, %158 ] + %171 = phi i64 [ %256, %259 ], [ undef, %158 ] + %172 = phi i64 [ %254, %259 ], [ %161, %158 ] + %173 = phi i64 [ %172, %259 ], [ 0, %158 ] + %174 = phi i64 [ %255, %259 ], [ %164, %158 ] + %175 = phi i64 [ %174, %259 ], [ 4607182418800017408, %158 ] + %176 = phi i32 [ %260, %259 ], [ 0, %158 ] + %177 = icmp ult i32 %176, 24 + br i1 %177, label %178, label %261 + +178: ; preds = %168 + %179 = add i64 %170, 2 + %180 = trunc i64 %179 to i32 + %181 = lshr i64 %179, 32 + %182 = trunc i64 %181 to i32 + %183 = or i32 %182, %180 + %184 = icmp eq i32 %183, 0 + br i1 %184, label %247, label %185 + +185: ; preds = %178 + %186 = icmp eq i32 %182, 0 + %187 = select i1 %186, i32 %180, i32 %182 + %188 = select i1 %186, i32 0, i32 32 + %189 = icmp ugt i32 %187, 65535 + %190 = or i32 %188, 16 + %191 = lshr i32 %187, 16 + %192 = select i1 %189, i32 %191, i32 %187 + %193 = select i1 %189, i32 %190, i32 %188 + %194 = icmp ugt i32 %192, 255 + %195 = or i32 %193, 8 + %196 = lshr i32 %192, 8 + %197 = select i1 %194, i32 %196, i32 %192 + %198 = select i1 %194, i32 %195, i32 %193 + br label %199 + +199: ; preds = %203, %185 + %200 = phi i32 [ %197, %185 ], [ %205, %203 ] + %201 = phi i32 [ %198, %185 ], [ %204, %203 ] + %202 = icmp ugt i32 %200, 1 + br i1 %202, label %203, label %206 + +203: ; preds = %199 + %204 = add i32 %201, 1 + %205 = lshr i32 %200, 1 + br label %199, !llvm.loop !1294 + +206: ; preds = %199 + %207 = sub i32 52, %201 + %208 = icmp slt i32 %207, 0 + br i1 %208, label %209, label %228 + +209: ; preds = %206 + %210 = add i32 %201, -52 + %211 = sub i32 84, %201 + %212 = shl i32 %180, %211 + %213 = shl i32 %182, %211 + %214 = lshr i32 %182, %210 + %215 = lshr i32 %180, %210 + %216 = or i32 %215, %213 + %217 = lshr i32 %212, 31 + %218 = and i32 %212, 2147483647 + %219 = add nuw i32 %218, 2147483647 + %220 = lshr i32 %219, 31 + %221 = add i32 %216, %217 + %222 = icmp ugt i32 %216, %221 + %223 = zext i1 %222 to i32 + %224 = add i32 %214, %223 + %225 = xor i32 %217, -1 + %226 = or i32 %220, %225 + %227 = and i32 %221, %226 + br label %241 + +228: ; preds = %206 + %229 = icmp ugt i32 %207, 31 + %230 = sub i32 20, %201 + %231 = select i1 %229, i32 0, i32 %180 + %232 = select i1 %229, i32 %180, i32 %182 + %233 = select i1 %229, i32 %230, i32 %207 + %234 = icmp eq i32 %233, 0 + br i1 %234, label %241, label %235 + +235: ; preds = %228 + %236 = sub nsw i32 32, %233 + %237 = lshr i32 %231, %236 + %238 = shl i32 %231, %233 + %239 = shl i32 %232, %233 + %240 = or i32 %239, %237 + br label %241 + +241: ; preds = %235, %228, %209 + %242 = phi i32 [ %227, %209 ], [ %231, %228 ], [ %238, %235 ] + %243 = phi i32 [ %224, %209 ], [ %232, %228 ], [ %240, %235 ] + %244 = shl i32 %201, 20 + %245 = add i32 %244, 1071644672 + %246 = add i32 %245, %243 + br label %247 + +247: ; preds = %241, %178 + %248 = phi i32 [ %246, %241 ], [ 0, %178 ] + %249 = phi i32 [ %242, %241 ], [ 0, %178 ] + %250 = zext i32 %248 to i64 + %251 = shl nuw i64 %250, 32 + %252 = zext i32 %249 to i64 + %253 = or i64 %251, %252 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #55 + store i64 %172, ptr %20, align 8, !tbaa.struct !1293 + store i64 %253, ptr %21, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %61, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %20, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %21) #55 + store i64 %173, ptr %23, align 8, !tbaa.struct !1293 + store i64 %162, ptr %24, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %62, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %23, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %24) #55 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_subENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %60, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %19, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %22) #55 + %254 = load i64, ptr %18, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #55 + store i64 %174, ptr %27, align 8, !tbaa.struct !1293 + store i64 %253, ptr %28, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %64, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %27, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %28) #55 + store i64 %175, ptr %30, align 8, !tbaa.struct !1293 + store i64 %162, ptr %31, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %65, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %30, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %31) #55 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_subENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %63, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %26, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %29) #55 + %255 = load i64, ptr %25, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #55 + store i64 %254, ptr %33, align 8, !tbaa.struct !1293 + store i64 %255, ptr %34, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_divENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %66, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %33, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %34) #55 + %256 = load i64, ptr %32, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #55 + %257 = and i64 %256, -131072 + %258 = icmp eq i64 %169, %257 + br i1 %258, label %261, label %259 + +259: ; preds = %247 + %260 = add nuw nsw i32 %176, 1 + br label %168, !llvm.loop !1295 + +261: ; preds = %247, %168 + %262 = phi i64 [ %256, %247 ], [ %171, %168 ] + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #55 + store i64 4607182418800017408, ptr %36, align 8, !tbaa.struct !1293 + store i64 %262, ptr %37, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_divENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %67, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %36, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %37) #55 + %263 = load i64, ptr %35, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #55 + %264 = add nsw i32 %89, -1 + %265 = shl nuw nsw i32 %264, 1 + %266 = sext i32 %265 to i64 + br label %267 + +267: ; preds = %339, %261 + %268 = phi i64 [ %266, %261 ], [ %348, %339 ] + %269 = phi i64 [ 4607182418800017408, %261 ], [ %270, %339 ] + %270 = phi i64 [ %263, %261 ], [ %347, %339 ] + %271 = phi i32 [ %264, %261 ], [ %349, %339 ] + %272 = trunc i64 %268 to i32 + %273 = lshr i64 %268, 32 + %274 = trunc i64 %273 to i32 + %275 = or i32 %274, %272 + %276 = icmp eq i32 %275, 0 + br i1 %276, label %339, label %277 + +277: ; preds = %267 + %278 = icmp eq i32 %274, 0 + %279 = select i1 %278, i32 %272, i32 %274 + %280 = select i1 %278, i32 0, i32 32 + %281 = icmp ugt i32 %279, 65535 + %282 = or i32 %280, 16 + %283 = lshr i32 %279, 16 + %284 = select i1 %281, i32 %283, i32 %279 + %285 = select i1 %281, i32 %282, i32 %280 + %286 = icmp ugt i32 %284, 255 + %287 = or i32 %285, 8 + %288 = lshr i32 %284, 8 + %289 = select i1 %286, i32 %288, i32 %284 + %290 = select i1 %286, i32 %287, i32 %285 + br label %291 + +291: ; preds = %295, %277 + %292 = phi i32 [ %289, %277 ], [ %297, %295 ] + %293 = phi i32 [ %290, %277 ], [ %296, %295 ] + %294 = icmp ugt i32 %292, 1 + br i1 %294, label %295, label %298 + +295: ; preds = %291 + %296 = add i32 %293, 1 + %297 = lshr i32 %292, 1 + br label %291, !llvm.loop !1294 + +298: ; preds = %291 + %299 = sub i32 52, %293 + %300 = icmp slt i32 %299, 0 + br i1 %300, label %301, label %320 + +301: ; preds = %298 + %302 = add i32 %293, -52 + %303 = sub i32 84, %293 + %304 = shl i32 %272, %303 + %305 = shl i32 %274, %303 + %306 = lshr i32 %274, %302 + %307 = lshr i32 %272, %302 + %308 = or i32 %307, %305 + %309 = lshr i32 %304, 31 + %310 = and i32 %304, 2147483646 + %311 = add nuw i32 %310, 2147483647 + %312 = lshr i32 %311, 31 + %313 = add i32 %308, %309 + %314 = icmp ugt i32 %308, %313 + %315 = zext i1 %314 to i32 + %316 = add i32 %306, %315 + %317 = xor i32 %309, -1 + %318 = or i32 %312, %317 + %319 = and i32 %313, %318 + br label %333 + +320: ; preds = %298 + %321 = icmp ugt i32 %299, 31 + %322 = sub i32 20, %293 + %323 = select i1 %321, i32 0, i32 %272 + %324 = select i1 %321, i32 %272, i32 %274 + %325 = select i1 %321, i32 %322, i32 %299 + %326 = icmp eq i32 %325, 0 + br i1 %326, label %333, label %327 + +327: ; preds = %320 + %328 = sub nsw i32 32, %325 + %329 = lshr i32 %323, %328 + %330 = shl i32 %323, %325 + %331 = shl i32 %324, %325 + %332 = or i32 %331, %329 + br label %333 + +333: ; preds = %327, %320, %301 + %334 = phi i32 [ %319, %301 ], [ %323, %320 ], [ %330, %327 ] + %335 = phi i32 [ %316, %301 ], [ %324, %320 ], [ %332, %327 ] + %336 = shl i32 %293, 20 + %337 = add i32 %336, 1071644672 + %338 = add i32 %337, %335 + br label %339 + +339: ; preds = %333, %267 + %340 = phi i32 [ %338, %333 ], [ 0, %267 ] + %341 = phi i32 [ %334, %333 ], [ 0, %267 ] + %342 = zext i32 %340 to i64 + %343 = shl nuw i64 %342, 32 + %344 = zext i32 %341 to i64 + %345 = or i64 %343, %344 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #55 + store i64 %270, ptr %39, align 8, !tbaa.struct !1293 + store i64 %163, ptr %40, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %68, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %39, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %40) #55 + %346 = load i64, ptr %38, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #55 + store i64 %346, ptr %43, align 8, !tbaa.struct !1293 + store i64 %345, ptr %44, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %70, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %43, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %44) #55 + store i64 %269, ptr %45, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_subENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %69, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %42, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %45) #55 + %347 = load i64, ptr %41, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #55 + %348 = add i64 %268, -2 + %349 = add nsw i32 %271, -1 + %350 = icmp sgt i32 %271, 1 + br i1 %350, label %267, label %351, !llvm.loop !1296 + +351: ; preds = %339 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #55 + store i64 %166, ptr %47, align 8, !tbaa.struct !1293 + store i64 %347, ptr %48, align 8, !tbaa.struct !1293 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_divENS0_6dp_intES1_(ptr addrspace(4) noalias align 8 %71, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %47, ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %48) #55 + %352 = load i64, ptr %46, align 8, !tbaa.struct !1293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #55 + store i64 %352, ptr %49, align 8, !tbaa.struct !1293 + %353 = tail call spir_func noundef float @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_18dp_to_spENS0_6dp_intE(ptr noundef nonnull byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %49) #55 + br label %454 + +354: ; preds = %155 + %355 = mul i32 %89, 20 + %356 = add i32 %355, 1000 + %357 = uitofp i32 %356 to float + %358 = fcmp olt float %90, %357 + br i1 %358, label %359, label %374 + +359: ; preds = %354 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j0_ep_kernel_fp32EPKfPf(float %90, ptr addrspace(4) noundef %53) #54 + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j1_ep_kernel_fp32EPKfPf(float %90, ptr addrspace(4) noundef %54) #54 + %360 = load float, ptr %5, align 4, !tbaa !731 + %361 = load float, ptr %6, align 4, !tbaa !731 + %362 = fdiv float 2.000000e+00, %90 + br label %363 + +363: ; preds = %368, %359 + %364 = phi float [ %360, %359 ], [ %365, %368 ] + %365 = phi float [ %361, %359 ], [ %372, %368 ] + %366 = phi i32 [ 1, %359 ], [ %373, %368 ] + %367 = icmp ult i32 %366, %89 + br i1 %367, label %368, label %454 + +368: ; preds = %363 + %369 = sitofp i32 %366 to float + %370 = fmul float %362, %369 + %371 = fneg float %364 + %372 = tail call float @llvm.fmuladd.f32(float %370, float %365, float %371) + %373 = add nuw nsw i32 %366, 1 + br label %363, !llvm.loop !1297 + +374: ; preds = %354 + %375 = fmul float %156, 4.000000e+00 + %376 = fmul float %375, %156 + %377 = fmul float %90, 8.000000e+00 + %378 = fadd float %376, -1.000000e+00 + %379 = fdiv float %378, %377 + br label %380 + +380: ; preds = %427, %374 + %381 = phi float [ %379, %374 ], [ %406, %427 ] + %382 = phi float [ 2.000000e+00, %374 ], [ %410, %427 ] + %383 = phi float [ 3.000000e+00, %374 ], [ %412, %427 ] + %384 = phi float [ 3.000000e+00, %374 ], [ %411, %427 ] + %385 = phi float [ 5.000000e+00, %374 ], [ %413, %427 ] + %386 = phi float [ 1.000000e+00, %374 ], [ %409, %427 ] + %387 = phi float [ %379, %374 ], [ %402, %427 ] + %388 = phi float [ 1.000000e+00, %374 ], [ %422, %427 ] + %389 = phi i32 [ 1065353216, %374 ], [ %425, %427 ] + %390 = phi i32 [ 24, %374 ], [ %429, %427 ] + %391 = phi i32 [ -1, %374 ], [ %428, %427 ] + %392 = phi i32 [ 0, %374 ], [ %423, %427 ] + %393 = fneg float %383 + %394 = tail call float @llvm.fmuladd.f32(float %393, float %383, float %376) + %395 = fmul float %382, %377 + %396 = fdiv float %394, %395 + %397 = fmul float %387, %396 + %398 = fneg float %385 + %399 = tail call float @llvm.fmuladd.f32(float %398, float %385, float %376) + %400 = fmul float %384, %377 + %401 = fdiv float %399, %400 + %402 = fmul float %401, %397 + %403 = icmp sgt i32 %391, 0 + %404 = fneg float %402 + %405 = select i1 %403, float %402, float %404 + %406 = fadd float %381, %405 + %407 = fneg float %397 + %408 = select i1 %403, float %397, float %407 + %409 = fadd float %386, %408 + %410 = fadd float %382, 2.000000e+00 + %411 = fadd float %384, 2.000000e+00 + %412 = fadd float %383, 4.000000e+00 + %413 = fadd float %385, 4.000000e+00 + %414 = fdiv float %402, %409 + %415 = fcmp oge float %414, 0.000000e+00 + %416 = fneg float %414 + %417 = select i1 %415, float %414, float %416 + %418 = fcmp olt float %417, %388 + br i1 %418, label %421, label %419 + +419: ; preds = %380 + %420 = icmp eq i32 %392, 0 + br i1 %420, label %421, label %431 + +421: ; preds = %419, %380 + %422 = phi float [ %388, %419 ], [ %417, %380 ] + %423 = phi i32 [ 0, %419 ], [ 1, %380 ] + %424 = bitcast float %409 to i32 + %425 = and i32 %424, -8 + %426 = icmp eq i32 %389, %425 + br i1 %426, label %431, label %427 + +427: ; preds = %421 + %428 = sub nsw i32 0, %391 + %429 = add nsw i32 %390, -1 + %430 = icmp eq i32 %390, 0 + br i1 %430, label %431, label %380, !llvm.loop !1298 + +431: ; preds = %427, %421, %419 + %432 = shl nuw i32 %89, 1 + %433 = xor i32 %432, -1 + %434 = getelementptr inbounds [2 x float], ptr %7, i64 0, i64 0 + %435 = addrspacecast ptr %434 to ptr addrspace(4) + %436 = getelementptr inbounds [2 x float], ptr %8, i64 0, i64 0 + %437 = addrspacecast ptr %436 to ptr addrspace(4) + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_130__sjn_sincos_hl_ep_kernel_fp32EfiPfS1_(float noundef %90, i32 noundef %433, ptr addrspace(4) noundef %435, ptr addrspace(4) noundef %437) #54 + %438 = load float, ptr %436, align 4, !tbaa !731 + %439 = fmul float %409, %438 + %440 = getelementptr inbounds [2 x float], ptr %8, i64 0, i64 1 + %441 = load float, ptr %440, align 4, !tbaa !731 + %442 = fmul float %409, %441 + %443 = load float, ptr %434, align 4, !tbaa !731 + %444 = fmul float %406, %443 + %445 = getelementptr inbounds [2 x float], ptr %7, i64 0, i64 1 + %446 = load float, ptr %445, align 4, !tbaa !731 + %447 = fmul float %406, %446 + %448 = fsub float %439, %444 + %449 = fadd float %448, %442 + %450 = fsub float %449, %447 + %451 = fdiv float 0x3FE45F3060000000, %90 + %452 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %451) #56 + %453 = fmul float %452, %450 + br label %454 + +454: ; preds = %431, %363, %351, %158, %152, %102 + %455 = phi float [ %154, %152 ], [ %353, %351 ], [ %453, %431 ], [ 0.000000e+00, %102 ], [ 0.000000e+00, %158 ], [ %365, %363 ] + %456 = icmp eq i32 %77, 0 + %457 = fneg float %455 + %458 = select i1 %456, float %455, float %457 + store float %458, ptr %50, align 4, !tbaa !731 + br label %463 + +459: ; preds = %86 + %460 = icmp eq i32 %74, 2139095040 + br i1 %460, label %461, label %462 + +461: ; preds = %459 + store float 0.000000e+00, ptr %50, align 4, !tbaa !731 + br label %463 + +462: ; preds = %459 + store float %1, ptr %50, align 4, !tbaa !731 + br label %463 + +463: ; preds = %462, %461, %454, %82, %79, %78 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) + %464 = load float, ptr %50, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #55 + ret float %464 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j0_ep_kernel_fp32EPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1299 !sycl_kernel_omit_args !1186 { + %3 = alloca [2 x float], align 4 + %4 = alloca [2 x float], align 4 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = bitcast float %5 to i32 + %7 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %8 = icmp ult i32 %6, 2139095040 + br i1 %8, label %9, label %335 + +9: ; preds = %2 + %10 = icmp ult i32 %6, 1099154394 + br i1 %10, label %11, label %109 + +11: ; preds = %9 + %12 = icmp ult i32 %6, 1081424556 + br i1 %12, label %13, label %54 + +13: ; preds = %11 + %14 = icmp ult i32 %6, 1048576000 + br i1 %14, label %15, label %38 + +15: ; preds = %13 + %16 = icmp ult i32 %6, 998244352 + br i1 %16, label %17, label %30 + +17: ; preds = %15 + %18 = icmp ult i32 %6, 947912704 + br i1 %18, label %19, label %26 + +19: ; preds = %17 + %20 = icmp ult i32 %6, 838860800 + br i1 %20, label %21, label %23 + +21: ; preds = %19 + %22 = fsub float 1.000000e+00, %7 + store float %22, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +23: ; preds = %19 + %24 = fneg float %0 + %25 = tail call float @llvm.fmuladd.f32(float %24, float %0, float 1.000000e+00) + store float %25, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +26: ; preds = %17 + %27 = fmul float %0, %0 + %28 = tail call float @llvm.fmuladd.f32(float %27, float 0x3F8FFFFF20000000, float -2.500000e-01) + %29 = tail call float @llvm.fmuladd.f32(float %28, float %27, float 1.000000e+00) + store float %29, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +30: ; preds = %15 + %31 = fmul float %0, %0 + %32 = fmul float %31, %31 + %33 = tail call float @llvm.fmuladd.f32(float %32, float 0x3EDC68AE60000000, float 1.562500e-02) + %34 = tail call float @llvm.fmuladd.f32(float %32, float 0xBF3C71C5C0000000, float -2.500000e-01) + %35 = fmul float %34, %31 + %36 = tail call float @llvm.fmuladd.f32(float %33, float %32, float %35) + %37 = fadd float %36, 1.000000e+00 + store float %37, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +38: ; preds = %13 + %39 = fadd float %7, 0xC0033D1520000000 + %40 = fadd float %39, 0xBE7D2E3680000000 + %41 = tail call float @llvm.fmuladd.f32(float %40, float 0xBDC1327D20000000, float 0xBDF5C973C0000000) + %42 = tail call float @llvm.fmuladd.f32(float %40, float %41, float 0x3E32BCBA60000000) + %43 = tail call float @llvm.fmuladd.f32(float %40, float %42, float 0x3E68059880000000) + %44 = tail call float @llvm.fmuladd.f32(float %40, float %43, float 0xBEA1CD8600000000) + %45 = tail call float @llvm.fmuladd.f32(float %40, float %44, float 0xBED232EDC0000000) + %46 = tail call float @llvm.fmuladd.f32(float %40, float %45, float 0x3F06ED3DC0000000) + %47 = tail call float @llvm.fmuladd.f32(float %40, float %46, float 0x3F31538380000000) + %48 = tail call float @llvm.fmuladd.f32(float %40, float %47, float 0xBF61F99260000000) + %49 = tail call float @llvm.fmuladd.f32(float %40, float %48, float 0xBF81BB1CC0000000) + %50 = tail call float @llvm.fmuladd.f32(float %40, float %49, float 0x3FACFAE860000000) + %51 = tail call float @llvm.fmuladd.f32(float %40, float %50, float 0x3FBBA1DEE0000000) + %52 = tail call float @llvm.fmuladd.f32(float %40, float %51, float 0xBFE09CDB40000000) + %53 = tail call float @llvm.fmuladd.f32(float %40, float %52, float 0xBC919B7920000000) + store float %53, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +54: ; preds = %11 + %55 = icmp ult i32 %6, 1092798087 + br i1 %55, label %56, label %60 + +56: ; preds = %54 + %57 = icmp ult i32 %6, 1088454576 + %58 = select i1 %57, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ1E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ2E + %59 = select i1 %57, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP1E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP2E + br label %64 + +60: ; preds = %54 + %61 = icmp ult i32 %6, 1096101336 + %62 = select i1 %61, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ3E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fZ4E + %63 = select i1 %61, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP3E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j0f_ep_fP4E + br label %64 + +64: ; preds = %60, %56 + %65 = phi ptr addrspace(1) [ %58, %56 ], [ %62, %60 ] + %66 = phi ptr addrspace(1) [ %59, %56 ], [ %63, %60 ] + %67 = load float, ptr addrspace(1) %65, align 4, !tbaa !731 + %68 = fsub float %7, %67 + %69 = getelementptr inbounds float, ptr addrspace(1) %65, i64 1 + %70 = load float, ptr addrspace(1) %69, align 4, !tbaa !731 + %71 = fsub float %68, %70 + %72 = load float, ptr addrspace(1) %66, align 4, !tbaa !731 + %73 = getelementptr inbounds float, ptr addrspace(1) %66, i64 1 + %74 = load float, ptr addrspace(1) %73, align 4, !tbaa !731 + %75 = getelementptr inbounds float, ptr addrspace(1) %66, i64 2 + %76 = load float, ptr addrspace(1) %75, align 4, !tbaa !731 + %77 = getelementptr inbounds float, ptr addrspace(1) %66, i64 3 + %78 = load float, ptr addrspace(1) %77, align 4, !tbaa !731 + %79 = getelementptr inbounds float, ptr addrspace(1) %66, i64 4 + %80 = load float, ptr addrspace(1) %79, align 4, !tbaa !731 + %81 = getelementptr inbounds float, ptr addrspace(1) %66, i64 5 + %82 = load float, ptr addrspace(1) %81, align 4, !tbaa !731 + %83 = getelementptr inbounds float, ptr addrspace(1) %66, i64 6 + %84 = load float, ptr addrspace(1) %83, align 4, !tbaa !731 + %85 = getelementptr inbounds float, ptr addrspace(1) %66, i64 7 + %86 = load float, ptr addrspace(1) %85, align 4, !tbaa !731 + %87 = getelementptr inbounds float, ptr addrspace(1) %66, i64 8 + %88 = load float, ptr addrspace(1) %87, align 4, !tbaa !731 + %89 = getelementptr inbounds float, ptr addrspace(1) %66, i64 9 + %90 = load float, ptr addrspace(1) %89, align 4, !tbaa !731 + %91 = getelementptr inbounds float, ptr addrspace(1) %66, i64 10 + %92 = load float, ptr addrspace(1) %91, align 4, !tbaa !731 + %93 = getelementptr inbounds float, ptr addrspace(1) %66, i64 11 + %94 = load float, ptr addrspace(1) %93, align 4, !tbaa !731 + %95 = getelementptr inbounds float, ptr addrspace(1) %66, i64 12 + %96 = load float, ptr addrspace(1) %95, align 4, !tbaa !731 + %97 = tail call float @llvm.fmuladd.f32(float %71, float %96, float %94) + %98 = tail call float @llvm.fmuladd.f32(float %71, float %97, float %92) + %99 = tail call float @llvm.fmuladd.f32(float %71, float %98, float %90) + %100 = tail call float @llvm.fmuladd.f32(float %71, float %99, float %88) + %101 = tail call float @llvm.fmuladd.f32(float %71, float %100, float %86) + %102 = tail call float @llvm.fmuladd.f32(float %71, float %101, float %84) + %103 = tail call float @llvm.fmuladd.f32(float %71, float %102, float %82) + %104 = tail call float @llvm.fmuladd.f32(float %71, float %103, float %80) + %105 = tail call float @llvm.fmuladd.f32(float %71, float %104, float %78) + %106 = tail call float @llvm.fmuladd.f32(float %71, float %105, float %76) + %107 = tail call float @llvm.fmuladd.f32(float %71, float %106, float %74) + %108 = tail call float @llvm.fmuladd.f32(float %71, float %107, float %72) + store float %108, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +109: ; preds = %9 + %110 = fdiv float 1.000000e+00, %7 + %111 = fmul float %110, 1.600000e+01 + %112 = fmul float %110, 0x3FE45F3060000000 + %113 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %112) #56 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + %114 = getelementptr inbounds [2 x float], ptr %3, i64 0, i64 0 + %115 = addrspacecast ptr %114 to ptr addrspace(4) + %116 = getelementptr inbounds [2 x float], ptr %4, i64 0, i64 0 + %117 = addrspacecast ptr %116 to ptr addrspace(4) + call spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_130__sjn_sincos_hl_ep_kernel_fp32EfiPfS1_(float noundef %7, i32 noundef -1, ptr addrspace(4) noundef %115, ptr addrspace(4) noundef %117) #54 + %118 = fneg float %110 + %119 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %118, float noundef %7, float noundef 1.000000e+00) #56 + %120 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef %119, float noundef 0.000000e+00) #56 + %121 = fmul float %120, 1.600000e+01 + %122 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %111, float noundef 0.000000e+00) #56 + %123 = fneg float %122 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %111, float noundef %123) #56 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef %111, float noundef %124) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %121, float noundef %125) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBDD47A9100000000, float noundef %122, float noundef 0.000000e+00) #56 + %128 = fneg float %127 + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBDD47A9100000000, float noundef %122, float noundef %128) #56 + %130 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBC41E82140000000, float noundef %122, float noundef %129) #56 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBDD47A9100000000, float noundef %126, float noundef %130) #56 + %132 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %127) #56 + %133 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3E17CA5EE0000000) #56 + %134 = fcmp ole float %132, %133 + %135 = select i1 %134, float 0x3E17CA5EE0000000, float %127 + %136 = select i1 %134, float %127, float 0x3E17CA5EE0000000 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef 1.000000e+00, float noundef %135) #56 + %138 = fneg float %135 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef 1.000000e+00, float noundef %138) #56 + %140 = fneg float %139 + %141 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %136, float noundef 1.000000e+00, float noundef %140) #56 + %142 = fadd float %131, 0x3C80136F80000000 + %143 = fadd float %142, %141 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef %122, float noundef 0.000000e+00) #56 + %145 = fneg float %144 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef %122, float noundef %145) #56 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %122, float noundef %146) #56 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %137, float noundef %126, float noundef %147) #56 + %149 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %144) #56 + %150 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBE624F5780000000) #56 + %151 = fcmp ole float %149, %150 + %152 = select i1 %151, float 0xBE624F5780000000, float %144 + %153 = select i1 %151, float %144, float 0xBE624F5780000000 + %154 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %153, float noundef 1.000000e+00, float noundef %152) #56 + %155 = fneg float %152 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef 1.000000e+00, float noundef %155) #56 + %157 = fneg float %156 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %153, float noundef 1.000000e+00, float noundef %157) #56 + %159 = fadd float %148, 0xBCD0812760000000 + %160 = fadd float %159, %158 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %122, float noundef 0.000000e+00) #56 + %162 = fneg float %161 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %122, float noundef %162) #56 + %164 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %122, float noundef %163) #56 + %165 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %126, float noundef %164) #56 + %166 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %161) #56 + %167 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3EBCB5F860000000) #56 + %168 = fcmp ole float %166, %167 + %169 = select i1 %168, float 0x3EBCB5F860000000, float %161 + %170 = select i1 %168, float %161, float 0x3EBCB5F860000000 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %170, float noundef 1.000000e+00, float noundef %169) #56 + %172 = fneg float %169 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef 1.000000e+00, float noundef %172) #56 + %174 = fneg float %173 + %175 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %170, float noundef 1.000000e+00, float noundef %174) #56 + %176 = fadd float %165, 0x3D2449B0E0000000 + %177 = fadd float %176, %175 + %178 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %122, float noundef 0.000000e+00) #56 + %179 = fneg float %178 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %122, float noundef %179) #56 + %181 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef %122, float noundef %180) #56 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %126, float noundef %181) #56 + %183 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %178) #56 + %184 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBF31FFFFE0000000) #56 + %185 = fcmp ole float %183, %184 + %186 = select i1 %185, float 0xBF31FFFFE0000000, float %178 + %187 = select i1 %185, float %178, float 0xBF31FFFFE0000000 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %187, float noundef 1.000000e+00, float noundef %186) #56 + %189 = fneg float %186 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef 1.000000e+00, float noundef %189) #56 + %191 = fneg float %190 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %187, float noundef 1.000000e+00, float noundef %191) #56 + %193 = fadd float %182, 0xBDBE81B160000000 + %194 = fadd float %193, %192 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef %122, float noundef 0.000000e+00) #56 + %196 = fneg float %195 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef %122, float noundef %196) #56 + %198 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef %122, float noundef %197) #56 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef %126, float noundef %198) #56 + %200 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %195) #56 + %201 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FEFFFFFE0000000) #56 + %202 = fcmp ole float %200, %201 + %203 = select i1 %202, float 0x3FEFFFFFE0000000, float %195 + %204 = select i1 %202, float %195, float 0x3FEFFFFFE0000000 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef 1.000000e+00, float noundef %203) #56 + %206 = fneg float %203 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef 1.000000e+00, float noundef %206) #56 + %208 = fneg float %207 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef 1.000000e+00, float noundef %208) #56 + %210 = fadd float %199, 0x3E6FFFFC00000000 + %211 = fadd float %210, %209 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DB845FEC0000000, float noundef %122, float noundef 0.000000e+00) #56 + %213 = fneg float %212 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DB845FEC0000000, float noundef %122, float noundef %213) #56 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3C1B972DA0000000, float noundef %122, float noundef %214) #56 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DB845FEC0000000, float noundef %126, float noundef %215) #56 + %217 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %212) #56 + %218 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBDF7A83620000000) #56 + %219 = fcmp ole float %217, %218 + %220 = select i1 %219, float 0xBDF7A83620000000, float %212 + %221 = select i1 %219, float %212, float 0xBDF7A83620000000 + %222 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef %220) #56 + %223 = fneg float %220 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %222, float noundef 1.000000e+00, float noundef %223) #56 + %225 = fneg float %224 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef %225) #56 + %227 = fadd float %216, 0xBC5E14EEC0000000 + %228 = fadd float %227, %226 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %222, float noundef %122, float noundef 0.000000e+00) #56 + %230 = fneg float %229 + %231 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %222, float noundef %122, float noundef %230) #56 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef %122, float noundef %231) #56 + %233 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %222, float noundef %126, float noundef %232) #56 + %234 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %229) #56 + %235 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3E3B9D68E0000000) #56 + %236 = fcmp ole float %234, %235 + %237 = select i1 %236, float 0x3E3B9D68E0000000, float %229 + %238 = select i1 %236, float %229, float 0x3E3B9D68E0000000 + %239 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef 1.000000e+00, float noundef %237) #56 + %240 = fneg float %237 + %241 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %239, float noundef 1.000000e+00, float noundef %240) #56 + %242 = fneg float %241 + %243 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef 1.000000e+00, float noundef %242) #56 + %244 = fadd float %233, 0x3C95D6BDC0000000 + %245 = fadd float %244, %243 + %246 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %239, float noundef %122, float noundef 0.000000e+00) #56 + %247 = fneg float %246 + %248 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %239, float noundef %122, float noundef %247) #56 + %249 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %245, float noundef %122, float noundef %248) #56 + %250 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %239, float noundef %126, float noundef %249) #56 + %251 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %246) #56 + %252 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBE8D11CA80000000) #56 + %253 = fcmp ole float %251, %252 + %254 = select i1 %253, float 0xBE8D11CA80000000, float %246 + %255 = select i1 %253, float %246, float 0xBE8D11CA80000000 + %256 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %255, float noundef 1.000000e+00, float noundef %254) #56 + %257 = fneg float %254 + %258 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %256, float noundef 1.000000e+00, float noundef %257) #56 + %259 = fneg float %258 + %260 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %255, float noundef 1.000000e+00, float noundef %259) #56 + %261 = fadd float %250, 0xBCE2CE5940000000 + %262 = fadd float %261, %260 + %263 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %256, float noundef %122, float noundef 0.000000e+00) #56 + %264 = fneg float %263 + %265 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %256, float noundef %122, float noundef %264) #56 + %266 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %262, float noundef %122, float noundef %265) #56 + %267 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %256, float noundef %126, float noundef %266) #56 + %268 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %263) #56 + %269 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3EF2BFFFE0000000) #56 + %270 = fcmp ole float %268, %269 + %271 = select i1 %270, float 0x3EF2BFFFE0000000, float %263 + %272 = select i1 %270, float %263, float 0x3EF2BFFFE0000000 + %273 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %272, float noundef 1.000000e+00, float noundef %271) #56 + %274 = fneg float %271 + %275 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %273, float noundef 1.000000e+00, float noundef %274) #56 + %276 = fneg float %275 + %277 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %272, float noundef 1.000000e+00, float noundef %276) #56 + %278 = fadd float %267, 0x3D77900140000000 + %279 = fadd float %278, %277 + %280 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %273, float noundef %122, float noundef 0.000000e+00) #56 + %281 = fneg float %280 + %282 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %273, float noundef %122, float noundef %281) #56 + %283 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %279, float noundef %122, float noundef %282) #56 + %284 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %273, float noundef %126, float noundef %283) #56 + %285 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %280) #56 + %286 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBF7FFFFFE0000000) #56 + %287 = fcmp ole float %285, %286 + %288 = select i1 %287, float 0xBF7FFFFFE0000000, float %280 + %289 = select i1 %287, float %280, float 0xBF7FFFFFE0000000 + %290 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %289, float noundef 1.000000e+00, float noundef %288) #56 + %291 = fneg float %288 + %292 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %290, float noundef 1.000000e+00, float noundef %291) #56 + %293 = fneg float %292 + %294 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %289, float noundef 1.000000e+00, float noundef %293) #56 + %295 = fadd float %284, 0xBDFFFF4E40000000 + %296 = fadd float %295, %294 + %297 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %290, float noundef %111, float noundef 0.000000e+00) #56 + %298 = fneg float %297 + %299 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %290, float noundef %111, float noundef %298) #56 + %300 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %296, float noundef %111, float noundef %299) #56 + %301 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %290, float noundef %121, float noundef %300) #56 + %302 = load float, ptr %116, align 4, !tbaa !731 + %303 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef %302, float noundef 0.000000e+00) #56 + %304 = fneg float %303 + %305 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef %302, float noundef %304) #56 + %306 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %211, float noundef %302, float noundef %305) #56 + %307 = getelementptr inbounds [2 x float], ptr %4, i64 0, i64 1 + %308 = load float, ptr %307, align 4, !tbaa !731 + %309 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %205, float noundef %308, float noundef %306) #56 + %310 = load float, ptr %114, align 4, !tbaa !731 + %311 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %310, float noundef 0.000000e+00) #56 + %312 = fneg float %311 + %313 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %310, float noundef %312) #56 + %314 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %301, float noundef %310, float noundef %313) #56 + %315 = getelementptr inbounds [2 x float], ptr %3, i64 0, i64 1 + %316 = load float, ptr %315, align 4, !tbaa !731 + %317 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %316, float noundef %314) #56 + %318 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %303) #56 + %319 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %312) #56 + %320 = fcmp ole float %318, %319 + %321 = select i1 %320, float %312, float %303 + %322 = select i1 %320, float %303, float %312 + %323 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %322, float noundef 1.000000e+00, float noundef %321) #56 + %324 = fneg float %321 + %325 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %323, float noundef 1.000000e+00, float noundef %324) #56 + %326 = fneg float %325 + %327 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %322, float noundef 1.000000e+00, float noundef %326) #56 + %328 = fsub float %309, %317 + %329 = fadd float %328, %327 + %330 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %323, float noundef %113, float noundef 0.000000e+00) #56 + %331 = fneg float %330 + %332 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %323, float noundef %113, float noundef %331) #56 + %333 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %329, float noundef %113, float noundef %332) #56 + %334 = fadd float %330, %333 + store float %334, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %339 + +335: ; preds = %2 + %336 = icmp eq i32 %6, 2139095040 + br i1 %336, label %337, label %338 + +337: ; preds = %335 + store float 0.000000e+00, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +338: ; preds = %335 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %339 + +339: ; preds = %338, %337, %109, %64, %38, %30, %26, %23, %21 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_123__sjn_j1_ep_kernel_fp32EPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1300 !sycl_kernel_omit_args !1186 { + %3 = alloca [2 x float], align 4 + %4 = alloca [2 x float], align 4 + %5 = bitcast float %0 to i32 + %6 = tail call float @llvm.fabs.f32(float %0) + %7 = bitcast float %6 to i32 + %8 = lshr i32 %5, 31 + %9 = icmp ult i32 %7, 2139095040 + br i1 %9, label %10, label %270 + +10: ; preds = %2 + %11 = icmp ult i32 %7, 1099993482 + br i1 %11, label %12, label %123 + +12: ; preds = %10 + %13 = icmp ult i32 %7, 1075439785 + br i1 %13, label %14, label %62 + +14: ; preds = %12 + %15 = icmp ult i32 %7, 1048576000 + br i1 %15, label %16, label %45 + +16: ; preds = %14 + %17 = icmp ult i32 %7, 998244352 + br i1 %17, label %18, label %36 + +18: ; preds = %16 + %19 = icmp ult i32 %7, 838860800 + br i1 %19, label %20, label %30 + +20: ; preds = %18 + %21 = icmp eq i32 %7, 0 + br i1 %21, label %28, label %22 + +22: ; preds = %20 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -8250594517116256256, ptr %3, align 4 + %23 = zext nneg i32 %8 to i64 + %24 = getelementptr inbounds [2 x float], ptr %3, i64 0, i64 %23 + %25 = load float, ptr %24, align 4, !tbaa !731 + %26 = fmul float %25, 0xB9B0000000000000 + %27 = tail call float @llvm.fmuladd.f32(float %0, float 5.000000e-01, float %26) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %28 + +28: ; preds = %22, %20 + %29 = phi float [ %27, %22 ], [ %0, %20 ] + store float %29, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +30: ; preds = %18 + %31 = fmul float %0, 5.000000e-01 + %32 = fmul float %31, %31 + %33 = tail call float @llvm.fmuladd.f32(float %32, float 0x3FB5555560000000, float -5.000000e-01) + %34 = fmul float %33, %32 + %35 = tail call float @llvm.fmuladd.f32(float %34, float %31, float %31) + store float %35, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +36: ; preds = %16 + %37 = fmul float %0, 5.000000e-01 + %38 = fmul float %37, %37 + %39 = fmul float %38, %38 + %40 = tail call float @llvm.fmuladd.f32(float %39, float 0x3F36A933A0000000, float 0x3FB5555560000000) + %41 = tail call float @llvm.fmuladd.f32(float %39, float 0xBF7C71B800000000, float -5.000000e-01) + %42 = fmul float %41, %38 + %43 = tail call float @llvm.fmuladd.f32(float %40, float %39, float %42) + %44 = tail call float @llvm.fmuladd.f32(float %43, float %37, float %37) + store float %44, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +45: ; preds = %14 + %46 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %47 = tail call float @llvm.fmuladd.f32(float %46, float 0x3DFBBA2260000000, float 0xBE413D1960000000) + %48 = tail call float @llvm.fmuladd.f32(float %46, float %47, float 0x3E426B3960000000) + %49 = tail call float @llvm.fmuladd.f32(float %46, float %48, float 0x3EA610CCE0000000) + %50 = tail call float @llvm.fmuladd.f32(float %46, float %49, float 0x3E622FFB20000000) + %51 = tail call float @llvm.fmuladd.f32(float %46, float %50, float 0xBF0C76FB00000000) + %52 = tail call float @llvm.fmuladd.f32(float %46, float %51, float 0x3E606D8800000000) + %53 = tail call float @llvm.fmuladd.f32(float %46, float %52, float 0x3F65554CA0000000) + %54 = tail call float @llvm.fmuladd.f32(float %46, float %53, float 0x3E37F25D80000000) + %55 = tail call float @llvm.fmuladd.f32(float %46, float %54, float -6.250000e-02) + %56 = tail call float @llvm.fmuladd.f32(float %46, float %55, float 0x3DE0AAE700000000) + %57 = tail call float @llvm.fmuladd.f32(float %46, float %56, float 5.000000e-01) + %58 = fmul float %46, %57 + %59 = fneg float %58 + %60 = icmp slt i32 %5, 0 + %61 = select i1 %60, float %59, float %58 + store float %61, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +62: ; preds = %12 + %63 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %64 = icmp ult i32 %7, 1097786634 + br i1 %64, label %65, label %75 + +65: ; preds = %62 + %66 = icmp ult i32 %7, 1091204523 + br i1 %66, label %67, label %71 + +67: ; preds = %65 + %68 = icmp ult i32 %7, 1085318267 + %69 = select i1 %68, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ1E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ2E + %70 = select i1 %68, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP1E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP2E + br label %75 + +71: ; preds = %65 + %72 = icmp ult i32 %7, 1094494752 + %73 = select i1 %72, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ3E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ4E + %74 = select i1 %72, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP3E, ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP4E + br label %75 + +75: ; preds = %71, %67, %62 + %76 = phi ptr addrspace(1) [ %69, %67 ], [ %73, %71 ], [ @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fZ5E, %62 ] + %77 = phi ptr addrspace(1) [ %70, %67 ], [ %74, %71 ], [ @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_116__sjn_j1f_ep_fP5E, %62 ] + %78 = load float, ptr addrspace(1) %76, align 4, !tbaa !731 + %79 = fsub float %63, %78 + %80 = getelementptr inbounds float, ptr addrspace(1) %76, i64 1 + %81 = load float, ptr addrspace(1) %80, align 4, !tbaa !731 + %82 = fsub float %79, %81 + %83 = load float, ptr addrspace(1) %77, align 4, !tbaa !731 + %84 = getelementptr inbounds float, ptr addrspace(1) %77, i64 1 + %85 = load float, ptr addrspace(1) %84, align 4, !tbaa !731 + %86 = getelementptr inbounds float, ptr addrspace(1) %77, i64 2 + %87 = load float, ptr addrspace(1) %86, align 4, !tbaa !731 + %88 = getelementptr inbounds float, ptr addrspace(1) %77, i64 3 + %89 = load float, ptr addrspace(1) %88, align 4, !tbaa !731 + %90 = getelementptr inbounds float, ptr addrspace(1) %77, i64 4 + %91 = load float, ptr addrspace(1) %90, align 4, !tbaa !731 + %92 = getelementptr inbounds float, ptr addrspace(1) %77, i64 5 + %93 = load float, ptr addrspace(1) %92, align 4, !tbaa !731 + %94 = getelementptr inbounds float, ptr addrspace(1) %77, i64 6 + %95 = load float, ptr addrspace(1) %94, align 4, !tbaa !731 + %96 = getelementptr inbounds float, ptr addrspace(1) %77, i64 7 + %97 = load float, ptr addrspace(1) %96, align 4, !tbaa !731 + %98 = getelementptr inbounds float, ptr addrspace(1) %77, i64 8 + %99 = load float, ptr addrspace(1) %98, align 4, !tbaa !731 + %100 = getelementptr inbounds float, ptr addrspace(1) %77, i64 9 + %101 = load float, ptr addrspace(1) %100, align 4, !tbaa !731 + %102 = getelementptr inbounds float, ptr addrspace(1) %77, i64 10 + %103 = load float, ptr addrspace(1) %102, align 4, !tbaa !731 + %104 = getelementptr inbounds float, ptr addrspace(1) %77, i64 11 + %105 = load float, ptr addrspace(1) %104, align 4, !tbaa !731 + %106 = getelementptr inbounds float, ptr addrspace(1) %77, i64 12 + %107 = load float, ptr addrspace(1) %106, align 4, !tbaa !731 + %108 = tail call float @llvm.fmuladd.f32(float %82, float %107, float %105) + %109 = tail call float @llvm.fmuladd.f32(float %82, float %108, float %103) + %110 = tail call float @llvm.fmuladd.f32(float %82, float %109, float %101) + %111 = tail call float @llvm.fmuladd.f32(float %82, float %110, float %99) + %112 = tail call float @llvm.fmuladd.f32(float %82, float %111, float %97) + %113 = tail call float @llvm.fmuladd.f32(float %82, float %112, float %95) + %114 = tail call float @llvm.fmuladd.f32(float %82, float %113, float %93) + %115 = tail call float @llvm.fmuladd.f32(float %82, float %114, float %91) + %116 = tail call float @llvm.fmuladd.f32(float %82, float %115, float %89) + %117 = tail call float @llvm.fmuladd.f32(float %82, float %116, float %87) + %118 = tail call float @llvm.fmuladd.f32(float %82, float %117, float %85) + %119 = tail call float @llvm.fmuladd.f32(float %82, float %118, float %83) + %120 = fneg float %119 + %121 = icmp slt i32 %5, 0 + %122 = select i1 %121, float %120, float %119 + store float %122, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +123: ; preds = %10 + %124 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %125 = fdiv float 1.000000e+00, %124 + %126 = fmul float %125, 1.600000e+01 + %127 = fmul float %126, %126 + %128 = fmul float %125, 0x3FE45F3060000000 + %129 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %128) #56 + %130 = bitcast float %124 to i32 + %131 = and i32 %130, 8388607 + %132 = or i32 %131, 8388608 + %133 = and i32 %130, -2147483648 + %134 = tail call float @llvm.fabs.f32(float %124) + %135 = bitcast float %134 to i32 + %136 = lshr i32 %135, 23 + %137 = add nsw i32 %136, -115 + %138 = icmp ugt i32 %137, 32 + br i1 %138, label %139, label %189, !prof !1176 + +139: ; preds = %123 + %140 = icmp ult i32 %135, 973078528 + br i1 %140, label %249, label %141, !prof !1189 + +141: ; preds = %139 + %142 = icmp eq i32 %136, 255 + br i1 %142, label %143, label %146 + +143: ; preds = %141 + %144 = or i32 %130, 4194304 + %145 = bitcast i32 %144 to float + br label %249 + +146: ; preds = %141 + %147 = add nsw i32 %136, -150 + %148 = ashr i32 %147, 5 + %149 = add nsw i32 %148, 1 + %150 = and i32 %147, 31 + %151 = sext i32 %149 to i64 + %152 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_126__sjn_sincosf_ep_invpi_tblE, i64 0, i64 %151 + %153 = load i32, ptr addrspace(1) %152, align 4, !tbaa !717 + %154 = mul i32 %153, %132 + %155 = add nsw i32 %148, 2 + %156 = sext i32 %155 to i64 + %157 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_126__sjn_sincosf_ep_invpi_tblE, i64 0, i64 %156 + %158 = load i32, ptr addrspace(1) %157, align 4, !tbaa !717 + %159 = zext i32 %158 to i64 + %160 = zext nneg i32 %132 to i64 + %161 = mul nuw nsw i64 %159, %160 + %162 = zext i32 %154 to i64 + %163 = shl nuw i64 %162, 32 + %164 = add i64 %161, %163 + %165 = add nsw i32 %148, 3 + %166 = sext i32 %165 to i64 + %167 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_126__sjn_sincosf_ep_invpi_tblE, i64 0, i64 %166 + %168 = load i32, ptr addrspace(1) %167, align 4, !tbaa !717 + %169 = zext i32 %168 to i64 + %170 = mul nuw nsw i64 %169, %160 + %171 = add nsw i32 %148, 4 + %172 = sext i32 %171 to i64 + %173 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_126__sjn_sincosf_ep_invpi_tblE, i64 0, i64 %172 + %174 = load i32, ptr addrspace(1) %173, align 4, !tbaa !717 + %175 = zext i32 %174 to i64 + %176 = mul nuw nsw i64 %175, %160 + %177 = lshr i64 %176, 32 + %178 = add nuw nsw i64 %170, %177 + %179 = lshr i64 %178, 32 + %180 = add i64 %164, %179 + %181 = zext nneg i32 %150 to i64 + %182 = shl i64 %180, %181 + %183 = trunc i64 %178 to i32 + %184 = xor i32 %150, 31 + %185 = lshr i32 %183, %184 + %186 = lshr i32 %185, 1 + %187 = zext nneg i32 %186 to i64 + %188 = or i64 %182, %187 + br label %202 + +189: ; preds = %123 + %190 = zext nneg i32 %132 to i64 + %191 = mul nuw nsw i64 %190, 85445659 + %192 = mul nuw nsw i32 %132, 40 + %193 = mul nuw nsw i64 %190, 245770507392 + %194 = zext nneg i32 %192 to i64 + %195 = add nuw nsw i64 %193, %194 + %196 = zext i32 %137 to i64 + %197 = shl i64 %191, %196 + %198 = sub nuw nsw i32 154, %136 + %199 = zext i32 %198 to i64 + %200 = lshr i64 %195, %199 + %201 = add i64 %197, %200 + br label %202 + +202: ; preds = %189, %146 + %203 = phi i64 [ %188, %146 ], [ %201, %189 ] + %204 = add i64 %203, -6917529027641081856 + %205 = lshr i64 %204, 32 + %206 = trunc i64 %205 to i32 + %207 = add nsw i32 %206, 536870912 + %208 = shl i32 %206, 2 + %209 = sitofp i32 %208 to float + %210 = bitcast float %209 to i32 + %211 = lshr i32 %210, 23 + %212 = and i32 %211, 255 + %213 = sub nsw i32 159, %212 + %214 = icmp ult i32 %212, 158 + %215 = select i1 %214, i32 %213, i32 2 + %216 = zext i32 %215 to i64 + %217 = shl i64 %204, %216 + %218 = lshr i64 %217, 32 + %219 = trunc i64 %218 to i32 + %220 = sitofp i32 %219 to float + %221 = shl nsw i32 %215, 23 + %222 = sub i32 805306368, %221 + %223 = bitcast i32 %222 to float + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %220, float noundef %223, float noundef 0.000000e+00) #56 + %225 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef %224, float noundef 0.000000e+00) #56 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %225, float noundef 0xBFF55C57C0000000) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %225, float noundef 0x400465E920000000) #56 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %225, float noundef 0x40103C1DC0000000) #56 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %227, float noundef %225, float noundef 0xC014ABBBA0000000) #56 + %230 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef %225, float noundef 0xC013BD3CC0000000) #56 + %231 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %229, float noundef %225, float noundef 0x400921FB60000000) #56 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %230, float noundef %225, float noundef 1.000000e+00) #56 + %233 = bitcast float %232 to i32 + %234 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %231, float noundef %224, float noundef 0.000000e+00) #56 + %235 = bitcast float %234 to i32 + %236 = and i32 %207, -2147483648 + %237 = shl i32 %207, 1 + %238 = and i32 %237, -2147483648 + %239 = xor i32 %238, %235 + %240 = xor i32 %239, %236 + %241 = xor i32 %236, %233 + %242 = and i32 %207, 1073741824 + %243 = icmp eq i32 %242, 0 + %244 = select i1 %243, i32 %240, i32 %241 + %245 = xor i32 %244, %133 + %246 = select i1 %243, i32 %241, i32 %240 + %247 = bitcast i32 %246 to float + %248 = bitcast i32 %245 to float + br label %249 + +249: ; preds = %202, %143, %139 + %250 = phi float [ %145, %143 ], [ %248, %202 ], [ %124, %139 ] + %251 = phi float [ %145, %143 ], [ %247, %202 ], [ 1.000000e+00, %139 ] + %252 = tail call float @llvm.fmuladd.f32(float %127, float 0x3DD6BE2B60000000, float 0xBE1AFBE9C0000000) + %253 = tail call float @llvm.fmuladd.f32(float %127, float %252, float 0x3E65A3D1E0000000) + %254 = tail call float @llvm.fmuladd.f32(float %127, float %253, float 0xBEC274FBE0000000) + %255 = tail call float @llvm.fmuladd.f32(float %127, float %254, float 0x3F3E000000000000) + %256 = tail call float @llvm.fmuladd.f32(float %127, float %255, float 1.000000e+00) + %257 = tail call float @llvm.fmuladd.f32(float %127, float 0xBDBAB63660000000, float 0x3DFA76F660000000) + %258 = tail call float @llvm.fmuladd.f32(float %127, float %257, float 0xBE3FDD85C0000000) + %259 = tail call float @llvm.fmuladd.f32(float %127, float %258, float 0x3E91C3C460000000) + %260 = tail call float @llvm.fmuladd.f32(float %127, float %259, float 0xBEFA400000000000) + %261 = tail call float @llvm.fmuladd.f32(float %127, float %260, float 2.343750e-02) + %262 = fneg float %126 + %263 = fmul float %261, %262 + %264 = fmul float %263, %250 + %265 = tail call float @llvm.fmuladd.f32(float %256, float %251, float %264) + %266 = fmul float %129, %265 + %267 = fneg float %266 + %268 = icmp slt i32 %5, 0 + %269 = select i1 %268, float %267, float %266 + store float %269, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +270: ; preds = %2 + %271 = icmp eq i32 %7, 2139095040 + br i1 %271, label %272, label %276 + +272: ; preds = %270 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + store i64 -9223372036854775808, ptr %4, align 4 + %273 = zext nneg i32 %8 to i64 + %274 = getelementptr inbounds [2 x float], ptr %4, i64 0, i64 %273 + %275 = load float, ptr %274, align 4, !tbaa !731 + store float %275, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + br label %277 + +276: ; preds = %270 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %277 + +277: ; preds = %276, %272, %249, %75, %45, %36, %30, %28 + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_18sp_to_dpEf(ptr addrspace(4) noalias nocapture writeonly align 8 %0, float noundef %1) unnamed_addr #37 !srcloc !1301 !sycl_kernel_omit_args !1186 { + %3 = bitcast float %1 to i32 + %4 = lshr i32 %3, 23 + %5 = and i32 %4, 255 + %6 = add nsw i32 %5, -1 + %7 = and i32 %3, -2147483648 + %8 = and i32 %3, 8388607 + %9 = icmp ugt i32 %6, 253 + br i1 %9, label %21, label %10 + +10: ; preds = %43, %35, %2 + %11 = phi i32 [ %36, %35 ], [ %46, %43 ], [ %8, %2 ] + %12 = phi i32 [ %30, %35 ], [ 1150, %43 ], [ %6, %2 ] + %13 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + %14 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + %15 = shl i32 %11, 29 + %16 = lshr i32 %11, 3 + store i32 %15, ptr addrspace(4) %14, align 8, !tbaa !718 + %17 = shl i32 %12, 20 + %18 = add i32 %17, 940572672 + %19 = or i32 %18, %16 + %20 = or i32 %19, %7 + store i32 %20, ptr addrspace(4) %13, align 4, !tbaa !718 + br label %47 + +21: ; preds = %2 + %22 = icmp eq i32 %5, 0 + br i1 %22, label %23, label %37 + +23: ; preds = %21 + %24 = icmp eq i32 %8, 0 + br i1 %24, label %25, label %28 + +25: ; preds = %23 + %26 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 %7, ptr addrspace(4) %26, align 4, !tbaa !718 + %27 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %27, align 8, !tbaa !718 + br label %47 + +28: ; preds = %32, %23 + %29 = phi i32 [ %33, %32 ], [ %8, %23 ] + %30 = phi i32 [ %34, %32 ], [ 0, %23 ] + %31 = icmp ult i32 %29, 8388608 + br i1 %31, label %32, label %35 + +32: ; preds = %28 + %33 = shl nuw nsw i32 %29, 1 + %34 = add i32 %30, -1 + br label %28, !llvm.loop !1302 + +35: ; preds = %28 + %36 = and i32 %29, 8388607 + br label %10 + +37: ; preds = %21 + %38 = icmp eq i32 %8, 0 + br i1 %38, label %39, label %43 + +39: ; preds = %37 + %40 = or i32 %7, 2146435072 + %41 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 %40, ptr addrspace(4) %41, align 4, !tbaa !718 + %42 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %42, align 8, !tbaa !718 + br label %47 + +43: ; preds = %37 + %44 = icmp ult i32 %8, 4194304 + %45 = or i32 %8, 4194304 + %46 = select i1 %44, i32 %45, i32 %8 + br label %10 + +47: ; preds = %39, %25, %10 + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nounwind memory(argmem: readwrite, inaccessiblemem: readwrite) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_mulENS0_6dp_intES1_(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %1, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %2) unnamed_addr #38 !srcloc !1303 !sycl_kernel_omit_args !1235 { + %4 = alloca i32, align 4 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) + %7 = load i32, ptr %1, align 8, !tbaa.struct !1293 + %8 = getelementptr inbounds i32, ptr %1, i64 1 + %9 = load i32, ptr %8, align 4, !tbaa.struct !1304 + %10 = load i32, ptr %2, align 8, !tbaa.struct !1293 + %11 = getelementptr inbounds i32, ptr %2, i64 1 + %12 = load i32, ptr %11, align 4, !tbaa.struct !1304 + %13 = and i32 %9, -2147483648 + %14 = and i32 %12, -2147483648 + %15 = lshr i32 %9, 20 + %16 = and i32 %15, 2047 + %17 = add nsw i32 %16, -1 + %18 = lshr i32 %12, 20 + %19 = and i32 %18, 2047 + %20 = add nsw i32 %19, -1 + %21 = icmp ugt i32 %17, 2045 + %22 = icmp ugt i32 %20, 2045 + %23 = select i1 %21, i1 true, i1 %22 + br i1 %23, label %184, label %24 + +24: ; preds = %332, %327, %291, %3 + %25 = phi i32 [ %321, %332 ], [ %321, %327 ], [ %20, %291 ], [ %20, %3 ] + %26 = phi i32 [ %292, %332 ], [ %292, %327 ], [ %292, %291 ], [ %17, %3 ] + %27 = phi i32 [ %337, %332 ], [ %328, %327 ], [ %10, %291 ], [ %10, %3 ] + %28 = phi i32 [ %340, %332 ], [ %329, %327 ], [ %12, %291 ], [ %12, %3 ] + %29 = phi i32 [ %293, %332 ], [ %293, %327 ], [ %293, %291 ], [ %7, %3 ] + %30 = phi i32 [ %294, %332 ], [ %294, %327 ], [ %294, %291 ], [ %9, %3 ] + %31 = xor i32 %13, %14 + %32 = add i32 %26, %25 + %33 = add i32 %32, -1021 + %34 = addrspacecast ptr %4 to ptr addrspace(4) + store volatile i32 %33, ptr addrspace(4) %34, align 4, !tbaa !717 + %35 = and i32 %28, 1048575 + %36 = or i32 %35, 1048576 + %37 = shl i32 %29, 11 + %38 = tail call i32 @llvm.fshl.i32(i32 %30, i32 %29, i32 11) + %39 = or i32 %38, -2147483648 + %40 = zext i32 %39 to i64 + %41 = zext i32 %27 to i64 + %42 = mul nuw i64 %40, %41 + %43 = trunc i64 %42 to i32 + %44 = lshr i64 %42, 32 + %45 = trunc i64 %44 to i32 + %46 = zext nneg i32 %36 to i64 + %47 = zext i32 %37 to i64 + %48 = mul nuw nsw i64 %46, %47 + %49 = trunc i64 %48 to i32 + %50 = lshr i64 %48, 32 + %51 = trunc i64 %50 to i32 + %52 = mul nuw i64 %47, %41 + %53 = trunc i64 %52 to i32 + %54 = lshr i64 %52, 32 + %55 = trunc i64 %54 to i32 + %56 = mul nuw nsw i64 %40, %46 + %57 = trunc i64 %56 to i32 + %58 = lshr i64 %56, 32 + %59 = trunc i64 %58 to i32 + %60 = add i32 %55, %49 + %61 = icmp ult i32 %60, %55 + %62 = zext i1 %61 to i32 + %63 = add nuw nsw i32 %51, %62 + %64 = add i32 %60, %43 + %65 = icmp ugt i32 %60, %64 + %66 = zext i1 %65 to i32 + %67 = add nuw nsw i32 %63, %66 + %68 = add i32 %67, %45 + %69 = icmp ugt i32 %67, %68 + %70 = zext i1 %69 to i32 + %71 = add nuw nsw i32 %59, %70 + %72 = add i32 %68, %57 + %73 = icmp ugt i32 %68, %72 + %74 = zext i1 %73 to i32 + %75 = add nuw nsw i32 %71, %74 + %76 = and i32 %75, 1048576 + %77 = icmp eq i32 %76, 0 + br i1 %77, label %78, label %84 + +78: ; preds = %24 + %79 = tail call i32 @llvm.fshl.i32(i32 %75, i32 %72, i32 1) + %80 = tail call i32 @llvm.fshl.i32(i32 %72, i32 %64, i32 1) + %81 = shl i32 %64, 1 + %82 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %83 = add nsw i32 %82, -1 + store volatile i32 %83, ptr addrspace(4) %34, align 4, !tbaa !717 + br label %84 + +84: ; preds = %78, %24 + %85 = phi i32 [ %64, %24 ], [ %81, %78 ] + %86 = phi i32 [ %72, %24 ], [ %80, %78 ] + %87 = phi i32 [ %75, %24 ], [ %79, %78 ] + %88 = lshr i32 %53, 30 + %89 = or i32 %85, %53 + %90 = and i32 %89, 1073741823 + %91 = or i32 %88, %90 + %92 = add nuw nsw i32 %91, 1073741823 + %93 = or i32 %85, %92 + %94 = lshr i32 %93, 30 + %95 = lshr i32 %85, 31 + %96 = add i32 %86, %95 + %97 = icmp ugt i32 %86, %96 + %98 = zext i1 %97 to i32 + %99 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + %100 = add nuw nsw i32 %87, %98 + %101 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + %102 = xor i32 %95, -1 + %103 = or i32 %94, %102 + %104 = and i32 %96, %103 + store i32 %104, ptr addrspace(4) %99, align 8, !tbaa !718 + %105 = lshr i32 %100, 21 + %106 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %107 = add i32 %106, %105 + %108 = addrspacecast ptr %5 to ptr addrspace(4) + store volatile i32 %107, ptr addrspace(4) %108, align 4, !tbaa !717 + %109 = icmp ult i32 %100, 2097152 + br i1 %109, label %113, label %110 + +110: ; preds = %84 + %111 = lshr i32 %100, 1 + %112 = tail call i32 @llvm.fshl.i32(i32 %100, i32 %96, i32 31) + store i32 %112, ptr addrspace(4) %99, align 8, !tbaa !718 + br label %113 + +113: ; preds = %110, %84 + %114 = phi i32 [ %111, %110 ], [ %100, %84 ] + %115 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %116 = icmp ugt i32 %115, 2045 + br i1 %116, label %122, label %117 + +117: ; preds = %113 + %118 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %119 = shl i32 %118, 20 + %120 = add i32 %114, %119 + %121 = xor i32 %31, %120 + store i32 %121, ptr addrspace(4) %101, align 4, !tbaa !718 + br label %341 + +122: ; preds = %113 + %123 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %124 = icmp sgt i32 %123, 2045 + br i1 %124, label %128, label %125 + +125: ; preds = %122 + %126 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %127 = icmp slt i32 %126, 0 + br i1 %127, label %130, label %128 + +128: ; preds = %125, %122 + %129 = or i32 %31, 2146435072 + store i32 %129, ptr addrspace(4) %101, align 4, !tbaa !718 + store i32 0, ptr addrspace(4) %99, align 8, !tbaa !718 + br label %341 + +130: ; preds = %125 + %131 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %132 = icmp slt i32 %131, -53 + br i1 %132, label %170, label %133 + +133: ; preds = %130 + %134 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %135 = icmp slt i32 %134, -31 + br i1 %135, label %136, label %144 + +136: ; preds = %133 + %137 = and i32 %86, 1073741823 + %138 = or i32 %137, %94 + %139 = add nuw nsw i32 %138, 1073741823 + %140 = or i32 %86, %139 + %141 = lshr i32 %140, 30 + %142 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %143 = add nsw i32 %142, 32 + store volatile i32 %143, ptr addrspace(4) %34, align 4, !tbaa !717 + br label %144 + +144: ; preds = %136, %133 + %145 = phi i32 [ 0, %136 ], [ %87, %133 ] + %146 = phi i32 [ %87, %136 ], [ %86, %133 ] + %147 = phi i32 [ %141, %136 ], [ %94, %133 ] + %148 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %149 = icmp slt i32 %148, 0 + br i1 %149, label %150, label %170 + +150: ; preds = %144 + %151 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %152 = add nsw i32 %151, 32 + %153 = shl i32 %146, %152 + %154 = and i32 %153, 1073741823 + %155 = or i32 %154, %147 + %156 = add nuw nsw i32 %155, 1073741823 + %157 = or i32 %153, %156 + %158 = lshr i32 %157, 30 + %159 = load volatile i32, ptr addrspace(4) %34, align 4, !tbaa !717 + %160 = sub nsw i32 0, %159 + %161 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 %160, ptr addrspace(4) %161, align 4, !tbaa !717 + %162 = load volatile i32, ptr addrspace(4) %161, align 4, !tbaa !717 + %163 = sub nsw i32 32, %162 + %164 = shl i32 %145, %163 + %165 = load volatile i32, ptr addrspace(4) %161, align 4, !tbaa !717 + %166 = lshr i32 %145, %165 + %167 = load volatile i32, ptr addrspace(4) %161, align 4, !tbaa !717 + %168 = lshr i32 %146, %167 + %169 = or i32 %168, %164 + br label %170 + +170: ; preds = %150, %144, %130 + %171 = phi i32 [ %166, %150 ], [ %145, %144 ], [ 0, %130 ] + %172 = phi i32 [ %169, %150 ], [ %146, %144 ], [ 0, %130 ] + %173 = phi i32 [ %158, %150 ], [ %147, %144 ], [ 1, %130 ] + %174 = lshr i32 %173, 1 + %175 = and i32 %173, 1 + %176 = add i32 %172, %174 + %177 = icmp ugt i32 %172, %176 + %178 = zext i1 %177 to i32 + %179 = add i32 %171, %178 + %180 = xor i32 %174, -1 + %181 = or i32 %175, %180 + %182 = and i32 %176, %181 + store i32 %182, ptr addrspace(4) %99, align 8, !tbaa !718 + %183 = xor i32 %31, %179 + store i32 %183, ptr addrspace(4) %101, align 4, !tbaa !718 + br label %341 + +184: ; preds = %3 + %185 = icmp eq i32 %17, 2046 + br i1 %185, label %186, label %195 + +186: ; preds = %184 + %187 = and i32 %9, 1048575 + %188 = or i32 %7, %187 + %189 = icmp eq i32 %188, 0 + br i1 %189, label %193, label %190 + +190: ; preds = %186 + store i32 %7, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %191 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + %192 = or i32 %9, 524288 + store i32 %192, ptr addrspace(4) %191, align 4 + br label %341 + +193: ; preds = %186 + %194 = icmp eq i32 %20, 2046 + br i1 %194, label %197, label %208 + +195: ; preds = %184 + %196 = icmp eq i32 %20, 2046 + br i1 %196, label %201, label %232 + +197: ; preds = %193 + %198 = and i32 %12, 1048575 + %199 = or i32 %10, %198 + %200 = icmp eq i32 %199, 0 + br i1 %200, label %217, label %205 + +201: ; preds = %195 + %202 = and i32 %12, 1048575 + %203 = or i32 %10, %202 + %204 = icmp eq i32 %203, 0 + br i1 %204, label %220, label %205 + +205: ; preds = %201, %197 + store i32 %10, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %206 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + %207 = or i32 %12, 524288 + store i32 %207, ptr addrspace(4) %206, align 4 + br label %341 + +208: ; preds = %193 + %209 = icmp eq i32 %19, 0 + br i1 %209, label %210, label %217 + +210: ; preds = %208 + %211 = and i32 %12, 2147483647 + %212 = or i32 %10, %211 + %213 = icmp eq i32 %212, 0 + br i1 %213, label %214, label %217 + +214: ; preds = %210 + %215 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 -524288, ptr addrspace(4) %215, align 4, !tbaa !718 + %216 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %216, align 8, !tbaa !718 + br label %341 + +217: ; preds = %210, %208, %197 + store i32 %7, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %218 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + %219 = xor i32 %9, %14 + store i32 %219, ptr addrspace(4) %218, align 4, !tbaa !718 + br label %341 + +220: ; preds = %201 + %221 = icmp eq i32 %16, 0 + br i1 %221, label %222, label %229 + +222: ; preds = %220 + %223 = and i32 %9, 2147483647 + %224 = or i32 %7, %223 + %225 = icmp eq i32 %224, 0 + br i1 %225, label %226, label %229 + +226: ; preds = %222 + %227 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 -524288, ptr addrspace(4) %227, align 4, !tbaa !718 + %228 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %228, align 8, !tbaa !718 + br label %341 + +229: ; preds = %222, %220 + store i32 %10, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %230 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + %231 = xor i32 %12, %13 + store i32 %231, ptr addrspace(4) %230, align 4, !tbaa !718 + br label %341 + +232: ; preds = %195 + %233 = and i32 %9, 2147483647 + %234 = or i32 %7, %233 + %235 = and i32 %12, 2147483647 + %236 = or i32 %10, %235 + %237 = icmp ne i32 %234, 0 + %238 = icmp ne i32 %236, 0 + %239 = select i1 %237, i1 %238, i1 false + br i1 %239, label %244, label %240 + +240: ; preds = %232 + %241 = xor i32 %13, %14 + %242 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 %241, ptr addrspace(4) %242, align 4, !tbaa !718 + %243 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %243, align 8, !tbaa !718 + br label %341 + +244: ; preds = %232 + %245 = icmp eq i32 %16, 0 + br i1 %245, label %246, label %291 + +246: ; preds = %244 + %247 = and i32 %9, 1048575 + %248 = icmp eq i32 %247, 0 + br i1 %248, label %249, label %258 + +249: ; preds = %246 + %250 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 21, ptr addrspace(4) %250, align 4, !tbaa !717 + br label %251 + +251: ; preds = %254, %249 + %252 = phi i32 [ %7, %249 ], [ %255, %254 ] + %253 = icmp sgt i32 %252, -1 + br i1 %253, label %254, label %268 + +254: ; preds = %251 + %255 = shl nuw i32 %252, 1 + %256 = load volatile i32, ptr addrspace(4) %250, align 4, !tbaa !717 + %257 = add nsw i32 %256, 1 + store volatile i32 %257, ptr addrspace(4) %250, align 4, !tbaa !717 + br label %251, !llvm.loop !1305 + +258: ; preds = %246 + %259 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 0, ptr addrspace(4) %259, align 4, !tbaa !717 + br label %260 + +260: ; preds = %264, %258 + %261 = phi i32 [ %9, %258 ], [ %265, %264 ] + %262 = and i32 %261, 1048576 + %263 = icmp eq i32 %262, 0 + br i1 %263, label %264, label %268 + +264: ; preds = %260 + %265 = shl i32 %261, 1 + %266 = load volatile i32, ptr addrspace(4) %259, align 4, !tbaa !717 + %267 = add nsw i32 %266, 1 + store volatile i32 %267, ptr addrspace(4) %259, align 4, !tbaa !717 + br label %260, !llvm.loop !1306 + +268: ; preds = %260, %251 + %269 = addrspacecast ptr %6 to ptr addrspace(4) + %270 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %271 = sub nsw i32 0, %270 + %272 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %273 = icmp sgt i32 %272, 31 + br i1 %273, label %274, label %277 + +274: ; preds = %268 + %275 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %276 = add nsw i32 %275, -32 + store volatile i32 %276, ptr addrspace(4) %269, align 4, !tbaa !717 + br label %277 + +277: ; preds = %274, %268 + %278 = phi i32 [ 0, %274 ], [ %7, %268 ] + %279 = phi i32 [ %7, %274 ], [ %9, %268 ] + %280 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %281 = icmp sgt i32 %280, 0 + br i1 %281, label %282, label %291 + +282: ; preds = %277 + %283 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %284 = sub nsw i32 32, %283 + %285 = lshr i32 %278, %284 + %286 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %287 = shl i32 %278, %286 + %288 = load volatile i32, ptr addrspace(4) %269, align 4, !tbaa !717 + %289 = shl i32 %279, %288 + %290 = or i32 %289, %285 + br label %291 + +291: ; preds = %282, %277, %244 + %292 = phi i32 [ %271, %282 ], [ %271, %277 ], [ %17, %244 ] + %293 = phi i32 [ %287, %282 ], [ %278, %277 ], [ %7, %244 ] + %294 = phi i32 [ %290, %282 ], [ %279, %277 ], [ %9, %244 ] + %295 = icmp eq i32 %19, 0 + br i1 %295, label %296, label %24 + +296: ; preds = %291 + %297 = and i32 %12, 1048575 + %298 = icmp eq i32 %297, 0 + br i1 %298, label %299, label %308 + +299: ; preds = %296 + %300 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 21, ptr addrspace(4) %300, align 4, !tbaa !717 + br label %301 + +301: ; preds = %304, %299 + %302 = phi i32 [ %10, %299 ], [ %305, %304 ] + %303 = icmp sgt i32 %302, -1 + br i1 %303, label %304, label %318 + +304: ; preds = %301 + %305 = shl nuw i32 %302, 1 + %306 = load volatile i32, ptr addrspace(4) %300, align 4, !tbaa !717 + %307 = add nsw i32 %306, 1 + store volatile i32 %307, ptr addrspace(4) %300, align 4, !tbaa !717 + br label %301, !llvm.loop !1307 + +308: ; preds = %296 + %309 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 0, ptr addrspace(4) %309, align 4, !tbaa !717 + br label %310 + +310: ; preds = %314, %308 + %311 = phi i32 [ %12, %308 ], [ %315, %314 ] + %312 = and i32 %311, 1048576 + %313 = icmp eq i32 %312, 0 + br i1 %313, label %314, label %318 + +314: ; preds = %310 + %315 = shl i32 %311, 1 + %316 = load volatile i32, ptr addrspace(4) %309, align 4, !tbaa !717 + %317 = add nsw i32 %316, 1 + store volatile i32 %317, ptr addrspace(4) %309, align 4, !tbaa !717 + br label %310, !llvm.loop !1308 + +318: ; preds = %310, %301 + %319 = addrspacecast ptr %6 to ptr addrspace(4) + %320 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %321 = sub nsw i32 0, %320 + %322 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %323 = icmp sgt i32 %322, 31 + br i1 %323, label %324, label %327 + +324: ; preds = %318 + %325 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %326 = add nsw i32 %325, -32 + store volatile i32 %326, ptr addrspace(4) %319, align 4, !tbaa !717 + br label %327 + +327: ; preds = %324, %318 + %328 = phi i32 [ 0, %324 ], [ %10, %318 ] + %329 = phi i32 [ %10, %324 ], [ %12, %318 ] + %330 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %331 = icmp sgt i32 %330, 0 + br i1 %331, label %332, label %24 + +332: ; preds = %327 + %333 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %334 = sub nsw i32 32, %333 + %335 = lshr i32 %328, %334 + %336 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %337 = shl i32 %328, %336 + %338 = load volatile i32, ptr addrspace(4) %319, align 4, !tbaa !717 + %339 = shl i32 %329, %338 + %340 = or i32 %339, %335 + br label %24 + +341: ; preds = %240, %229, %226, %217, %214, %205, %190, %170, %128, %117 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_divENS0_6dp_intES1_(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %1, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %2) unnamed_addr #39 !srcloc !1309 !sycl_kernel_omit_args !1235 { + %4 = load i32, ptr %1, align 8, !tbaa.struct !1293 + %5 = getelementptr inbounds i32, ptr %1, i64 1 + %6 = load i32, ptr %5, align 4, !tbaa.struct !1304 + %7 = load i32, ptr %2, align 8, !tbaa.struct !1293 + %8 = getelementptr inbounds i32, ptr %2, i64 1 + %9 = load i32, ptr %8, align 4, !tbaa.struct !1304 + %10 = and i32 %6, -2147483648 + %11 = and i32 %9, -2147483648 + %12 = lshr i32 %6, 20 + %13 = and i32 %12, 2047 + %14 = add nsw i32 %13, -1 + %15 = lshr i32 %9, 20 + %16 = and i32 %15, 2047 + %17 = add nsw i32 %16, -1 + %18 = icmp ugt i32 %14, 2045 + %19 = icmp ugt i32 %17, 2045 + %20 = select i1 %18, i1 true, i1 %19 + br i1 %20, label %235, label %21 + +21: ; preds = %327, %318, %291, %3 + %22 = phi i32 [ %320, %327 ], [ %320, %318 ], [ %17, %3 ], [ %17, %291 ] + %23 = phi i32 [ %330, %327 ], [ %324, %318 ], [ %7, %3 ], [ %7, %291 ] + %24 = phi i32 [ %332, %327 ], [ %325, %318 ], [ %9, %3 ], [ %9, %291 ] + %25 = xor i32 %10, %11 + %26 = sub i32 %14, %22 + %27 = add i32 %26, 1022 + %28 = lshr i32 %24, 13 + %29 = and i32 %28, 127 + %30 = zext nneg i32 %29 to i64 + %31 = getelementptr inbounds [128 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_111Inv_TableC0E, i64 0, i64 %30 + %32 = load i32, ptr addrspace(1) %31, align 4, !tbaa !717 + %33 = shl i32 %32, 3 + %34 = getelementptr inbounds [128 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_111Inv_TableC1E, i64 0, i64 %30 + %35 = load i32, ptr addrspace(1) %34, align 4, !tbaa !717 + %36 = shl i32 %35, 5 + %37 = tail call i32 @llvm.fshl.i32(i32 %24, i32 %23, i32 11) + %38 = or i32 %37, -2147483648 + %39 = and i32 %37, 16776960 + %40 = zext nneg i32 %39 to i64 + %41 = sext i32 %36 to i64 + %42 = mul nsw i64 %40, %41 + %43 = ashr i64 %42, 32 + %44 = trunc i64 %43 to i32 + %45 = add i32 %33, %44 + %46 = add i32 %45, 21576 + %47 = zext i32 %38 to i64 + %48 = zext i32 %46 to i64 + %49 = mul nuw i64 %47, %48 + %50 = lshr i64 %49, 32 + %51 = trunc i64 %50 to i32 + %52 = add i32 %51, -536870912 + %53 = sext i32 %52 to i64 + %54 = sext i32 %46 to i64 + %55 = mul nsw i64 %53, %54 + %56 = lshr i64 %55, 28 + %57 = trunc i64 %56 to i32 + %58 = shl i32 %46, 1 + %59 = sub i32 %58, %57 + %60 = lshr i32 %4, 22 + %61 = shl i32 %4, 10 + %62 = shl i32 %6, 10 + %63 = and i32 %62, 1073740800 + %64 = or i32 %63, %60 + %65 = or i32 %64, 1073741824 + %66 = zext nneg i32 %65 to i64 + %67 = zext i32 %59 to i64 + %68 = mul nuw nsw i64 %66, %67 + %69 = zext i32 %61 to i64 + %70 = mul nuw i64 %69, %67 + %71 = lshr i64 %70, 32 + %72 = add nuw nsw i64 %68, %71 + %73 = shl i32 %37, 28 + %74 = lshr i32 %38, 4 + %75 = shl i32 %23, 7 + %76 = and i32 %75, 268435328 + %77 = or i32 %76, %73 + %78 = zext i32 %77 to i64 + %79 = mul nuw i64 %78, %67 + %80 = lshr i64 %79, 32 + %81 = mul i32 %74, %59 + %82 = trunc i64 %80 to i32 + %83 = add i32 %81, %82 + %84 = lshr i64 %72, 32 + %85 = sext i32 %83 to i64 + %86 = mul nsw i64 %84, %85 + %87 = and i64 %72, 4294967295 + %88 = zext i32 %83 to i64 + %89 = mul nuw i64 %87, %88 + %90 = lshr i64 %89, 32 + %91 = icmp slt i32 %83, 0 + %92 = select i1 %91, i64 %87, i64 0 + %93 = sub nsw i64 %90, %92 + %94 = add nsw i64 %86, %93 + %95 = ashr i64 %94, 26 + %96 = sub i64 %72, %95 + %97 = trunc i64 %96 to i32 + %98 = lshr i64 %96, 32 + %99 = trunc i64 %98 to i32 + %100 = icmp ult i32 %99, 536870912 + br i1 %100, label %101, label %108 + +101: ; preds = %21 + %102 = shl i32 %97, 1 + %103 = tail call i32 @llvm.fshl.i32(i32 %99, i32 %97, i32 1) + %104 = lshr i32 %38, 5 + %105 = tail call i32 @llvm.fshl.i32(i32 %74, i32 %77, i32 31) + %106 = add i32 %26, 1021 + %107 = zext i32 %105 to i64 + br label %108 + +108: ; preds = %101, %21 + %109 = phi i64 [ %107, %101 ], [ %78, %21 ] + %110 = phi i32 [ %106, %101 ], [ %27, %21 ] + %111 = phi i32 [ %102, %101 ], [ %97, %21 ] + %112 = phi i32 [ %103, %101 ], [ %99, %21 ] + %113 = phi i32 [ %105, %101 ], [ %77, %21 ] + %114 = phi i32 [ %104, %101 ], [ %74, %21 ] + %115 = add i32 %111, 256 + %116 = icmp ugt i32 %111, -257 + %117 = zext i1 %116 to i32 + %118 = add i32 %112, %117 + %119 = lshr i32 %118, 9 + %120 = tail call i32 @llvm.fshl.i32(i32 %118, i32 %115, i32 23) + %121 = zext i32 %120 to i64 + %122 = mul nuw i64 %109, %121 + %123 = trunc i64 %122 to i32 + %124 = lshr i64 %122, 32 + %125 = trunc i64 %124 to i32 + %126 = mul i32 %120, %114 + %127 = add i32 %126, %125 + %128 = mul i32 %119, %113 + %129 = add i32 %127, %128 + %130 = shl i32 %4, 27 + %131 = sub i32 %129, %130 + %132 = or i32 %131, %123 + %133 = icmp eq i32 %132, 0 + br i1 %133, label %159, label %134 + +134: ; preds = %108 + %135 = lshr i32 %114, 1 + %136 = tail call i32 @llvm.fshl.i32(i32 %114, i32 %113, i32 31) + %137 = icmp slt i32 %131, 0 + br i1 %137, label %138, label %144 + +138: ; preds = %134 + %139 = xor i32 %123, -1 + %140 = icmp ugt i32 %136, %139 + %141 = zext i1 %140 to i32 + %142 = add nsw i32 %131, %135 + %143 = add nsw i32 %142, %141 + br label %153 + +144: ; preds = %134 + %145 = icmp ugt i32 %136, %123 + %146 = sext i1 %145 to i32 + %147 = sub nsw i32 %131, %135 + %148 = add nsw i32 %147, %146 + %149 = add i32 %120, -1 + %150 = icmp eq i32 %120, 0 + %151 = sext i1 %150 to i32 + %152 = add nsw i32 %119, %151 + br label %153 + +153: ; preds = %144, %138 + %154 = phi i32 [ %143, %138 ], [ %148, %144 ] + %155 = phi i32 [ %120, %138 ], [ %149, %144 ] + %156 = phi i32 [ %119, %138 ], [ %152, %144 ] + %157 = lshr i32 %154, 30 + %158 = or i32 %157, 1 + br label %159 + +159: ; preds = %153, %108 + %160 = phi i32 [ %158, %153 ], [ 0, %108 ] + %161 = phi i32 [ %155, %153 ], [ %120, %108 ] + %162 = phi i32 [ %156, %153 ], [ %119, %108 ] + %163 = lshr i32 %160, 1 + %164 = add i32 %161, %163 + %165 = icmp ugt i32 %161, %164 + %166 = zext i1 %165 to i32 + %167 = add nsw i32 %162, %166 + %168 = lshr i32 %167, 21 + %169 = add i32 %110, %168 + %170 = icmp ugt i32 %169, 2045 + br i1 %170, label %185, label %171 + +171: ; preds = %159 + %172 = icmp ugt i32 %167, 2097151 + %173 = zext i1 %172 to i32 + %174 = lshr i32 %167, %173 + %175 = and i32 %160, 1 + %176 = xor i32 %163, -1 + %177 = or i32 %175, %176 + %178 = and i32 %164, %177 + %179 = tail call i32 @llvm.fshl.i32(i32 %167, i32 %178, i32 31) + %180 = select i1 %172, i32 %179, i32 %178 + %181 = shl nuw nsw i32 %169, 20 + %182 = add nuw i32 %174, %181 + %183 = xor i32 %25, %182 + store i32 %180, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %184 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %183, ptr addrspace(4) %184, align 4, !tbaa.struct !1304 + br label %333 + +185: ; preds = %159 + %186 = icmp slt i32 %169, 0 + br i1 %186, label %190, label %187 + +187: ; preds = %185 + %188 = or i32 %25, 2146435072 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %189 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %188, ptr addrspace(4) %189, align 4, !tbaa.struct !1304 + br label %333 + +190: ; preds = %185 + %191 = icmp slt i32 %110, -53 + br i1 %191, label %220, label %192 + +192: ; preds = %190 + %193 = icmp slt i32 %110, -31 + br i1 %193, label %194, label %201 + +194: ; preds = %192 + %195 = and i32 %161, 1073741823 + %196 = or i32 %195, %160 + %197 = add nuw nsw i32 %196, 1073741823 + %198 = or i32 %161, %197 + %199 = lshr i32 %198, 30 + %200 = add nsw i32 %110, 32 + br label %201 + +201: ; preds = %194, %192 + %202 = phi i32 [ %200, %194 ], [ %110, %192 ] + %203 = phi i32 [ %199, %194 ], [ %160, %192 ] + %204 = phi i32 [ %162, %194 ], [ %161, %192 ] + %205 = phi i32 [ 0, %194 ], [ %162, %192 ] + %206 = icmp slt i32 %202, 0 + br i1 %206, label %207, label %220 + +207: ; preds = %201 + %208 = add nsw i32 %202, 32 + %209 = shl i32 %204, %208 + %210 = and i32 %209, 1073741823 + %211 = or i32 %210, %203 + %212 = add nuw nsw i32 %211, 1073741823 + %213 = or i32 %209, %212 + %214 = lshr i32 %213, 30 + %215 = sub nsw i32 0, %202 + %216 = shl i32 %205, %208 + %217 = lshr i32 %205, %215 + %218 = lshr i32 %204, %215 + %219 = or i32 %218, %216 + br label %220 + +220: ; preds = %207, %201, %190 + %221 = phi i32 [ %214, %207 ], [ %203, %201 ], [ 1, %190 ] + %222 = phi i32 [ %219, %207 ], [ %204, %201 ], [ 0, %190 ] + %223 = phi i32 [ %217, %207 ], [ %205, %201 ], [ 0, %190 ] + %224 = lshr i32 %221, 1 + %225 = and i32 %221, 1 + %226 = add i32 %222, %224 + %227 = icmp ugt i32 %222, %226 + %228 = zext i1 %227 to i32 + %229 = add i32 %223, %228 + %230 = xor i32 %224, -1 + %231 = or i32 %225, %230 + %232 = and i32 %226, %231 + %233 = xor i32 %25, %229 + store i32 %232, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %234 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %233, ptr addrspace(4) %234, align 4, !tbaa.struct !1304 + br label %333 + +235: ; preds = %3 + %236 = icmp eq i32 %14, 2046 + br i1 %236, label %237, label %246 + +237: ; preds = %235 + %238 = and i32 %6, 1048575 + %239 = or i32 %4, %238 + %240 = icmp eq i32 %239, 0 + br i1 %240, label %244, label %241 + +241: ; preds = %237 + %242 = or i32 %6, 524288 + store i32 %4, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %243 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %242, ptr addrspace(4) %243, align 4, !tbaa.struct !1304 + br label %333 + +244: ; preds = %237 + %245 = icmp eq i32 %17, 2046 + br i1 %245, label %248, label %261 + +246: ; preds = %235 + %247 = icmp eq i32 %17, 2046 + br i1 %247, label %252, label %267 + +248: ; preds = %244 + %249 = and i32 %9, 1048575 + %250 = or i32 %7, %249 + %251 = icmp eq i32 %250, 0 + br i1 %251, label %259, label %256 + +252: ; preds = %246 + %253 = and i32 %9, 1048575 + %254 = or i32 %7, %253 + %255 = icmp eq i32 %254, 0 + br i1 %255, label %264, label %256 + +256: ; preds = %252, %248 + %257 = or i32 %9, 524288 + store i32 %7, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %258 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %257, ptr addrspace(4) %258, align 4, !tbaa.struct !1304 + br label %333 + +259: ; preds = %248 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %260 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 -524288, ptr addrspace(4) %260, align 4, !tbaa.struct !1304 + br label %333 + +261: ; preds = %244 + %262 = xor i32 %6, %11 + store i32 %4, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %263 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %262, ptr addrspace(4) %263, align 4, !tbaa.struct !1304 + br label %333 + +264: ; preds = %252 + %265 = xor i32 %10, %11 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %266 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %265, ptr addrspace(4) %266, align 4, !tbaa.struct !1304 + br label %333 + +267: ; preds = %246 + %268 = icmp eq i32 %16, 0 + br i1 %268, label %269, label %291 + +269: ; preds = %267 + %270 = and i32 %9, 2147483647 + %271 = or i32 %7, %270 + %272 = icmp eq i32 %271, 0 + br i1 %272, label %273, label %285 + +273: ; preds = %269 + %274 = icmp eq i32 %13, 0 + br i1 %274, label %275, label %281 + +275: ; preds = %273 + %276 = and i32 %6, 2147483647 + %277 = or i32 %4, %276 + %278 = icmp eq i32 %277, 0 + br i1 %278, label %279, label %281 + +279: ; preds = %275 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %280 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 -524288, ptr addrspace(4) %280, align 4, !tbaa.struct !1304 + br label %333 + +281: ; preds = %275, %273 + %282 = xor i32 %10, %11 + %283 = or i32 %282, 2146435072 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %284 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %283, ptr addrspace(4) %284, align 4, !tbaa.struct !1304 + br label %333 + +285: ; preds = %269 + %286 = and i32 %6, 2147483647 + %287 = or i32 %4, %286 + %288 = icmp ne i32 %13, 0 + %289 = icmp ne i32 %287, 0 + %290 = select i1 %288, i1 %289, i1 false + br i1 %290, label %300, label %297 + +291: ; preds = %267 + %292 = and i32 %6, 2147483647 + %293 = or i32 %4, %292 + %294 = icmp ne i32 %13, 0 + %295 = icmp ne i32 %293, 0 + %296 = select i1 %294, i1 %295, i1 false + br i1 %296, label %21, label %297 + +297: ; preds = %291, %285 + %298 = xor i32 %10, %11 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293 + %299 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %298, ptr addrspace(4) %299, align 4, !tbaa.struct !1304 + br label %333 + +300: ; preds = %285 + %301 = and i32 %9, 1048575 + %302 = icmp eq i32 %301, 0 + br i1 %302, label %303, label %310 + +303: ; preds = %307, %300 + %304 = phi i32 [ %309, %307 ], [ 21, %300 ] + %305 = phi i32 [ %308, %307 ], [ %7, %300 ] + %306 = icmp sgt i32 %305, -1 + br i1 %306, label %307, label %318 + +307: ; preds = %303 + %308 = shl nuw i32 %305, 1 + %309 = add nuw nsw i32 %304, 1 + br label %303, !llvm.loop !1310 + +310: ; preds = %315, %300 + %311 = phi i32 [ %317, %315 ], [ 0, %300 ] + %312 = phi i32 [ %316, %315 ], [ %9, %300 ] + %313 = and i32 %312, 1048576 + %314 = icmp eq i32 %313, 0 + br i1 %314, label %315, label %318 + +315: ; preds = %310 + %316 = shl i32 %312, 1 + %317 = add nuw nsw i32 %311, 1 + br label %310, !llvm.loop !1311 + +318: ; preds = %310, %303 + %319 = phi i32 [ %304, %303 ], [ %311, %310 ] + %320 = sub nsw i32 0, %319 + %321 = icmp ugt i32 %319, 31 + %322 = add nsw i32 %319, -32 + %323 = select i1 %321, i32 %322, i32 %319 + %324 = select i1 %321, i32 0, i32 %7 + %325 = select i1 %321, i32 %7, i32 %9 + %326 = icmp sgt i32 %323, 0 + br i1 %326, label %327, label %21 + +327: ; preds = %318 + %328 = sub nsw i32 32, %323 + %329 = lshr i32 %324, %328 + %330 = shl i32 %324, %323 + %331 = shl i32 %325, %323 + %332 = or i32 %331, %329 + br label %21 + +333: ; preds = %297, %281, %279, %264, %261, %259, %256, %241, %220, %187, %171 + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_112uint64_to_dpEm(ptr addrspace(4) noalias nocapture writeonly align 8 %0, i64 noundef %1) unnamed_addr #37 !srcloc !1312 !sycl_kernel_omit_args !1186 { + %3 = trunc i64 %1 to i32 + %4 = lshr i64 %1, 32 + %5 = trunc i64 %4 to i32 + %6 = or i32 %5, %3 + %7 = icmp eq i32 %6, 0 + br i1 %7, label %8, label %11 + +8: ; preds = %2 + %9 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + store i32 0, ptr addrspace(4) %9, align 4, !tbaa !718 + %10 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 0, ptr addrspace(4) %10, align 8, !tbaa !718 + br label %76 + +11: ; preds = %2 + %12 = icmp eq i32 %5, 0 + %13 = select i1 %12, i32 %3, i32 %5 + %14 = select i1 %12, i32 0, i32 32 + %15 = icmp ugt i32 %13, 65535 + %16 = or i32 %14, 16 + %17 = lshr i32 %13, 16 + %18 = select i1 %15, i32 %17, i32 %13 + %19 = select i1 %15, i32 %16, i32 %14 + %20 = icmp ugt i32 %18, 255 + %21 = or i32 %19, 8 + %22 = lshr i32 %18, 8 + %23 = select i1 %20, i32 %22, i32 %18 + %24 = select i1 %20, i32 %21, i32 %19 + br label %25 + +25: ; preds = %29, %11 + %26 = phi i32 [ %23, %11 ], [ %31, %29 ] + %27 = phi i32 [ %24, %11 ], [ %30, %29 ] + %28 = icmp ugt i32 %26, 1 + br i1 %28, label %29, label %32 + +29: ; preds = %25 + %30 = add i32 %27, 1 + %31 = lshr i32 %26, 1 + br label %25, !llvm.loop !1294 + +32: ; preds = %25 + %33 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 0 + store i32 %3, ptr addrspace(4) %33, align 8, !tbaa !718 + %34 = getelementptr inbounds [2 x i32], ptr addrspace(4) %0, i64 0, i64 1 + %35 = sub i32 52, %27 + %36 = icmp slt i32 %35, 0 + br i1 %36, label %37, label %56 + +37: ; preds = %32 + %38 = add i32 %27, -52 + %39 = sub i32 84, %27 + %40 = shl i32 %3, %39 + %41 = shl i32 %5, %39 + %42 = lshr i32 %5, %38 + %43 = lshr i32 %3, %38 + %44 = or i32 %43, %41 + %45 = lshr i32 %40, 31 + %46 = and i32 %40, 2147483647 + %47 = add nuw i32 %46, 2147483647 + %48 = lshr i32 %47, 31 + %49 = add i32 %44, %45 + %50 = icmp ugt i32 %44, %49 + %51 = zext i1 %50 to i32 + %52 = add i32 %42, %51 + %53 = xor i32 %45, -1 + %54 = or i32 %48, %53 + %55 = and i32 %49, %54 + store i32 %55, ptr addrspace(4) %33, align 8, !tbaa !718 + br label %71 + +56: ; preds = %32 + %57 = icmp ugt i32 %35, 31 + br i1 %57, label %58, label %60 + +58: ; preds = %56 + store i32 0, ptr addrspace(4) %33, align 8, !tbaa !718 + %59 = sub i32 20, %27 + br label %60 + +60: ; preds = %58, %56 + %61 = phi i32 [ %3, %58 ], [ %5, %56 ] + %62 = phi i32 [ 0, %58 ], [ %3, %56 ] + %63 = phi i32 [ %59, %58 ], [ %35, %56 ] + %64 = icmp eq i32 %63, 0 + br i1 %64, label %71, label %65 + +65: ; preds = %60 + %66 = sub nsw i32 32, %63 + %67 = lshr i32 %62, %66 + %68 = shl i32 %62, %63 + store i32 %68, ptr addrspace(4) %33, align 8, !tbaa !718 + %69 = shl i32 %61, %63 + %70 = or i32 %69, %67 + br label %71 + +71: ; preds = %65, %60, %37 + %72 = phi i32 [ %61, %60 ], [ %70, %65 ], [ %52, %37 ] + %73 = shl i32 %27, 20 + %74 = add i32 %73, 1071644672 + %75 = add i32 %74, %72 + store i32 %75, ptr addrspace(4) %34, align 4, !tbaa !718 + br label %76 + +76: ; preds = %71, %8 + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_subENS0_6dp_intES1_(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %1, ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %2) unnamed_addr #39 !srcloc !1313 !sycl_kernel_omit_args !1235 { + %4 = load i32, ptr %2, align 8, !tbaa.struct !1293 + %5 = getelementptr inbounds i32, ptr %2, i64 1 + %6 = load i32, ptr %5, align 4, !tbaa.struct !1304 + %7 = and i32 %6, 2147483647 + %8 = icmp eq i32 %4, 0 + %9 = sext i1 %8 to i32 + %10 = add nsw i32 %7, -2146435072 + %11 = add nsw i32 %10, %9 + %12 = and i32 %11, -2147483648 + %13 = xor i32 %6, %12 + %14 = load i64, ptr %1, align 8 + %15 = trunc i64 %14 to i32 + %16 = lshr i64 %14, 32 + %17 = trunc i64 %16 to i32 + %18 = and i32 %17, 2147483647 + %19 = icmp ugt i32 %18, %7 + br i1 %19, label %28, label %20 + +20: ; preds = %3 + %21 = icmp ne i32 %18, %7 + %22 = icmp ugt i32 %4, %15 + %23 = select i1 %21, i1 true, i1 %22 + %24 = select i1 %23, i32 %15, i32 %4 + %25 = select i1 %23, i32 %17, i32 %13 + %26 = select i1 %23, i32 %4, i32 %15 + %27 = select i1 %23, i32 %13, i32 %17 + br label %28 + +28: ; preds = %20, %3 + %29 = phi i32 [ %4, %3 ], [ %24, %20 ] + %30 = phi i32 [ %13, %3 ], [ %25, %20 ] + %31 = phi i32 [ %15, %3 ], [ %26, %20 ] + %32 = phi i32 [ %17, %3 ], [ %27, %20 ] + %33 = and i32 %32, -2147483648 + %34 = lshr i32 %32, 20 + %35 = and i32 %34, 2047 + %36 = add nsw i32 %35, -1 + %37 = lshr i32 %30, 20 + %38 = and i32 %37, 2047 + %39 = add nsw i32 %38, -1 + %40 = icmp ugt i32 %36, 2045 + %41 = icmp ugt i32 %39, 2045 + %42 = select i1 %40, i1 true, i1 %41 + br i1 %42, label %226, label %43 + +43: ; preds = %28 + %44 = and i32 %32, 1048575 + %45 = or i32 %44, 1048576 + %46 = and i32 %30, 1048575 + %47 = or i32 %46, 1048576 + br label %48 + +48: ; preds = %234, %43 + %49 = phi i32 [ %39, %43 ], [ 0, %234 ] + %50 = phi i32 [ %36, %43 ], [ %239, %234 ] + %51 = phi i32 [ %47, %43 ], [ %235, %234 ] + %52 = phi i32 [ %45, %43 ], [ %240, %234 ] + %53 = xor i32 %32, %30 + %54 = ashr i32 %53, 31 + %55 = add i32 %29, %54 + %56 = icmp ugt i32 %29, %55 + %57 = zext i1 %56 to i32 + %58 = add nsw i32 %54, %57 + %59 = add nsw i32 %51, %58 + %60 = xor i32 %55, %54 + %61 = xor i32 %59, %54 + %62 = sub nsw i32 %50, %49 + %63 = icmp eq i32 %50, %49 + br i1 %63, label %105, label %64 + +64: ; preds = %48 + %65 = icmp sgt i32 %62, 55 + br i1 %65, label %66, label %83 + +66: ; preds = %64 + %67 = add i32 %31, %54 + %68 = icmp ugt i32 %31, %67 + %69 = zext i1 %68 to i32 + %70 = add nsw i32 %54, %69 + %71 = add nsw i32 %52, %70 + %72 = icmp ult i32 %71, 1048576 + br i1 %72, label %73, label %77 + +73: ; preds = %66 + %74 = tail call i32 @llvm.fshl.i32(i32 %71, i32 %67, i32 1) + %75 = tail call i32 @llvm.fshl.i32(i32 %67, i32 %53, i32 1) + %76 = add nsw i32 %50, -1 + br label %77 + +77: ; preds = %73, %66 + %78 = phi i32 [ %76, %73 ], [ %50, %66 ] + %79 = phi i32 [ %75, %73 ], [ %67, %66 ] + %80 = phi i32 [ %74, %73 ], [ %71, %66 ] + %81 = and i32 %54, 2 + %82 = or i32 %81, 1 + br label %173 + +83: ; preds = %64 + %84 = icmp sgt i32 %62, 31 + %85 = add nsw i32 %62, -32 + %86 = select i1 %84, i32 %85, i32 %62 + %87 = select i1 %84, i32 %60, i32 0 + %88 = select i1 %84, i32 %61, i32 %60 + %89 = select i1 %84, i32 %54, i32 %61 + %90 = icmp eq i32 %86, 0 + br i1 %90, label %105, label %91 + +91: ; preds = %83 + %92 = sub nsw i32 32, %86 + %93 = shl i32 %87, %92 + %94 = lshr i32 %87, %86 + %95 = shl i32 %88, %92 + %96 = or i32 %94, %95 + %97 = lshr i32 %88, %86 + %98 = shl i32 %89, %92 + %99 = or i32 %97, %98 + %100 = ashr i32 %89, %86 + %101 = lshr i32 %93, 1 + %102 = add nuw i32 %101, 2147483647 + %103 = lshr i32 %102, 31 + %104 = or i32 %96, %103 + br label %105 + +105: ; preds = %91, %83, %48 + %106 = phi i32 [ %104, %91 ], [ %87, %83 ], [ 0, %48 ] + %107 = phi i32 [ %99, %91 ], [ %88, %83 ], [ %60, %48 ] + %108 = phi i32 [ %100, %91 ], [ %89, %83 ], [ %61, %48 ] + %109 = add i32 %31, %107 + %110 = icmp ugt i32 %31, %109 + %111 = zext i1 %110 to i32 + %112 = add i32 %52, %108 + %113 = add i32 %112, %111 + %114 = icmp ugt i32 %113, 2097151 + br i1 %114, label %115, label %124 + +115: ; preds = %105 + %116 = and i32 %106, 1 + %117 = lshr i32 %106, 1 + %118 = or i32 %116, %117 + %119 = shl i32 %109, 31 + %120 = or i32 %118, %119 + %121 = lshr i32 %113, 1 + %122 = tail call i32 @llvm.fshl.i32(i32 %113, i32 %109, i32 31) + %123 = add nuw nsw i32 %50, 1 + br label %164 + +124: ; preds = %105 + %125 = icmp ult i32 %113, 1048576 + br i1 %125, label %126, label %164 + +126: ; preds = %124 + %127 = tail call i32 @llvm.fshl.i32(i32 %113, i32 %109, i32 1) + %128 = tail call i32 @llvm.fshl.i32(i32 %109, i32 %106, i32 1) + %129 = shl i32 %106, 1 + %130 = add nsw i32 %50, -1 + %131 = icmp ult i32 %127, 1048576 + br i1 %131, label %132, label %164 + +132: ; preds = %126 + %133 = icmp eq i32 %127, 0 + br i1 %133, label %134, label %147 + +134: ; preds = %132 + %135 = icmp eq i32 %128, 0 + br i1 %135, label %200, label %136 + +136: ; preds = %141, %134 + %137 = phi i32 [ %144, %141 ], [ %130, %134 ] + %138 = phi i32 [ %142, %141 ], [ %128, %134 ] + %139 = phi i32 [ %143, %141 ], [ 0, %134 ] + %140 = icmp eq i32 %139, 0 + br i1 %140, label %141, label %145 + +141: ; preds = %136 + %142 = shl i32 %138, 21 + %143 = lshr i32 %138, 11 + %144 = add i32 %137, -21 + br label %136, !llvm.loop !1314 + +145: ; preds = %136 + %146 = icmp ult i32 %139, 1048576 + br i1 %146, label %147, label %164 + +147: ; preds = %145, %132 + %148 = phi i32 [ %127, %132 ], [ %139, %145 ] + %149 = phi i32 [ %128, %132 ], [ %138, %145 ] + %150 = phi i32 [ %130, %132 ], [ %137, %145 ] + br label %151 + +151: ; preds = %151, %147 + %152 = phi i32 [ %155, %151 ], [ 0, %147 ] + %153 = phi i32 [ %154, %151 ], [ %148, %147 ] + %154 = shl nuw nsw i32 %153, 1 + %155 = add nuw nsw i32 %152, 1 + %156 = icmp ult i32 %153, 524288 + br i1 %156, label %151, label %157, !llvm.loop !1315 + +157: ; preds = %151 + %158 = sub nsw i32 31, %152 + %159 = lshr i32 %149, %158 + %160 = shl i32 %149, %155 + %161 = shl i32 %148, %155 + %162 = or i32 %161, %159 + %163 = sub i32 %150, %155 + br label %164 + +164: ; preds = %157, %145, %126, %124, %115 + %165 = phi i32 [ %120, %115 ], [ %129, %157 ], [ %129, %145 ], [ %129, %126 ], [ %106, %124 ] + %166 = phi i32 [ %123, %115 ], [ %163, %157 ], [ %137, %145 ], [ %130, %126 ], [ %50, %124 ] + %167 = phi i32 [ %122, %115 ], [ %160, %157 ], [ %138, %145 ], [ %128, %126 ], [ %109, %124 ] + %168 = phi i32 [ %121, %115 ], [ %162, %157 ], [ %139, %145 ], [ %127, %126 ], [ %113, %124 ] + %169 = and i32 %165, 1073741823 + %170 = add nuw nsw i32 %169, 1073741823 + %171 = or i32 %165, %170 + %172 = lshr i32 %171, 30 + br label %173 + +173: ; preds = %164, %77 + %174 = phi i32 [ %82, %77 ], [ %172, %164 ] + %175 = phi i32 [ %78, %77 ], [ %166, %164 ] + %176 = phi i32 [ %79, %77 ], [ %167, %164 ] + %177 = phi i32 [ %80, %77 ], [ %168, %164 ] + %178 = lshr i32 %174, 1 + %179 = and i32 %174, 1 + %180 = add i32 %176, %178 + %181 = icmp ugt i32 %176, %180 + %182 = zext i1 %181 to i32 + %183 = add i32 %177, %182 + %184 = xor i32 %178, -1 + %185 = or i32 %179, %184 + %186 = and i32 %180, %185 + %187 = lshr i32 %183, 21 + %188 = add i32 %175, %187 + %189 = icmp ugt i32 %183, 2097151 + %190 = tail call i32 @llvm.fshl.i32(i32 %183, i32 %186, i32 31) + %191 = select i1 %189, i32 %190, i32 %186 + %192 = zext i1 %189 to i32 + %193 = lshr i32 %183, %192 + %194 = icmp ugt i32 %188, 2045 + br i1 %194, label %202, label %195 + +195: ; preds = %173 + %196 = shl nuw nsw i32 %188, 20 + %197 = add nuw i32 %193, %196 + %198 = xor i32 %33, %197 + store i32 %191, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %199 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %198, ptr addrspace(4) %199, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +200: ; preds = %134 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %201 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 0, ptr addrspace(4) %201, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +202: ; preds = %173 + %203 = icmp slt i32 %188, 0 + br i1 %203, label %207, label %204 + +204: ; preds = %202 + %205 = or i32 %33, 2146435072 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %206 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %205, ptr addrspace(4) %206, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +207: ; preds = %202 + %208 = icmp slt i32 %175, -31 + %209 = add nsw i32 %175, 32 + %210 = select i1 %208, i32 %209, i32 %175 + %211 = select i1 %208, i32 %193, i32 %191 + %212 = select i1 %208, i32 0, i32 %193 + %213 = icmp eq i32 %210, 0 + br i1 %213, label %221, label %214 + +214: ; preds = %207 + %215 = sub nsw i32 0, %210 + %216 = add nsw i32 %210, 32 + %217 = shl i32 %212, %216 + %218 = lshr i32 %212, %215 + %219 = lshr i32 %211, %215 + %220 = or i32 %219, %217 + br label %221 + +221: ; preds = %214, %207 + %222 = phi i32 [ %220, %214 ], [ %211, %207 ] + %223 = phi i32 [ %218, %214 ], [ %212, %207 ] + %224 = xor i32 %33, %223 + store i32 %222, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %225 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %224, ptr addrspace(4) %225, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +226: ; preds = %28 + %227 = icmp ne i32 %35, 2047 + %228 = icmp ne i32 %38, 2047 + %229 = and i1 %227, %228 + br i1 %229, label %230, label %247 + +230: ; preds = %226 + %231 = and i32 %30, 2147483647 + %232 = or i32 %29, %231 + %233 = icmp eq i32 %232, 0 + br i1 %233, label %241, label %234 + +234: ; preds = %230 + %235 = and i32 %30, 1048575 + %236 = and i32 %32, 1048575 + %237 = icmp eq i32 %35, 0 + %238 = or i32 %236, 1048576 + %239 = tail call i32 @llvm.usub.sat.i32(i32 %35, i32 1) + %240 = select i1 %237, i32 %236, i32 %238 + br label %48 + +241: ; preds = %230 + %242 = icmp eq i32 %35, 0 + br i1 %242, label %245, label %243 + +243: ; preds = %241 + store i32 %31, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %244 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %32, ptr addrspace(4) %244, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +245: ; preds = %241 + store i32 %31, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %246 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %32, ptr addrspace(4) %246, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +247: ; preds = %226 + %248 = and i32 %17, 2146435072 + %249 = icmp eq i32 %248, 2146435072 + br i1 %249, label %250, label %257 + +250: ; preds = %247 + %251 = and i32 %17, 1048575 + %252 = or i32 %251, %15 + %253 = icmp eq i32 %252, 0 + br i1 %253, label %257, label %254 + +254: ; preds = %250 + %255 = or i32 %17, 524288 + store i32 %15, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %256 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %255, ptr addrspace(4) %256, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +257: ; preds = %250, %247 + %258 = and i32 %6, 2146435072 + %259 = icmp ne i32 %258, 2146435072 + br i1 %259, label %267, label %260 + +260: ; preds = %257 + %261 = and i32 %6, 1048575 + %262 = or i32 %4, %261 + %263 = icmp eq i32 %262, 0 + br i1 %263, label %267, label %264 + +264: ; preds = %260 + %265 = or i32 %13, 524288 + store i32 %4, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %266 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %265, ptr addrspace(4) %266, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +267: ; preds = %260, %257 + br i1 %249, label %268, label %276 + +268: ; preds = %267 + %269 = xor i32 %13, %17 + %270 = icmp sgt i32 %269, -1 + %271 = or i1 %259, %270 + br i1 %271, label %274, label %272 + +272: ; preds = %268 + store i32 0, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %273 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 -524288, ptr addrspace(4) %273, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +274: ; preds = %268 + store i32 %15, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %275 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %17, ptr addrspace(4) %275, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +276: ; preds = %267 + store i32 %4, ptr addrspace(4) %0, align 8, !tbaa.struct !1293, !alias.scope !1316 + %277 = getelementptr inbounds i32, ptr addrspace(4) %0, i64 1 + store i32 %13, ptr addrspace(4) %277, align 4, !tbaa.struct !1304, !alias.scope !1316 + br label %278 + +278: ; preds = %276, %274, %272, %264, %254, %245, %243, %221, %204, %200, %195 + ret void +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) +define internal spir_func noundef float @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_18dp_to_spENS0_6dp_intE(ptr nocapture noundef readonly byval(%"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int") align 8 %0) unnamed_addr #40 !srcloc !1319 !sycl_kernel_omit_args !1320 { + %2 = load i32, ptr %0, align 8, !tbaa.struct !1293 + %3 = getelementptr inbounds i32, ptr %0, i64 1 + %4 = load i32, ptr %3, align 4, !tbaa.struct !1304 + %5 = and i32 %4, -2147483648 + %6 = lshr i32 %4, 20 + %7 = and i32 %6, 2047 + %8 = and i32 %4, 1048575 + %9 = add nsw i32 %7, -2047 + %10 = icmp ult i32 %9, -2046 + br i1 %10, label %58, label %11 + +11: ; preds = %1 + %12 = shl i32 %2, 3 + %13 = tail call i32 @llvm.fshl.i32(i32 %8, i32 %2, i32 3) + %14 = or i32 %13, 8388608 + %15 = and i32 %12, 1073741816 + %16 = add nuw nsw i32 %15, 1073741823 + %17 = or i32 %12, %16 + %18 = lshr i32 %17, 30 + %19 = lshr i32 %12, 31 + %20 = add nuw nsw i32 %14, %19 + %21 = lshr i32 %20, 24 + %22 = add nsw i32 %7, -897 + %23 = add nsw i32 %22, %21 + %24 = icmp ugt i32 %23, 253 + br i1 %24, label %33, label %25 + +25: ; preds = %11 + %26 = xor i32 %19, -1 + %27 = or i32 %18, %26 + %28 = and i32 %20, %27 + %29 = lshr i32 %28, %21 + %30 = shl nuw nsw i32 %23, 23 + %31 = add nuw nsw i32 %30, %29 + %32 = xor i32 %5, %31 + br label %68 + +33: ; preds = %11 + %34 = icmp slt i32 %23, 0 + br i1 %34, label %37, label %35 + +35: ; preds = %33 + %36 = or i32 %5, 2139095040 + br label %68 + +37: ; preds = %33 + %38 = icmp ult i32 %7, 873 + br i1 %38, label %49, label %39 + +39: ; preds = %37 + %40 = add nsw i32 %7, -865 + %41 = shl i32 %14, %40 + %42 = and i32 %41, 1073741823 + %43 = or i32 %42, %18 + %44 = add nuw nsw i32 %43, 1073741823 + %45 = or i32 %41, %44 + %46 = lshr i32 %45, 30 + %47 = sub nsw i32 897, %7 + %48 = lshr i32 %14, %47 + br label %49 + +49: ; preds = %39, %37 + %50 = phi i32 [ %48, %39 ], [ 0, %37 ] + %51 = phi i32 [ %46, %39 ], [ 1, %37 ] + %52 = lshr i32 %51, 1 + %53 = add nuw nsw i32 %50, %52 + %54 = xor i32 %52, -1 + %55 = or i32 %51, %54 + %56 = and i32 %53, %55 + %57 = xor i32 %56, %5 + br label %68 + +58: ; preds = %1 + %59 = icmp eq i32 %7, 0 + br i1 %59, label %68, label %60 + +60: ; preds = %58 + %61 = or i32 %8, %2 + %62 = icmp eq i32 %61, 0 + %63 = or i32 %5, 2139095040 + %64 = tail call i32 @llvm.fshl.i32(i32 %8, i32 %2, i32 3) + %65 = or i32 %5, %64 + %66 = or i32 %65, 2143289344 + %67 = select i1 %62, i32 %63, i32 %66 + br label %68 + +68: ; preds = %60, %58, %49, %35, %25 + %69 = phi i32 [ %57, %49 ], [ %36, %35 ], [ %32, %25 ], [ %5, %58 ], [ %67, %60 ] + %70 = bitcast i32 %69 to float + ret float %70 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_130__sjn_sincos_hl_ep_kernel_fp32EfiPfS1_(float noundef %0, i32 noundef %1, ptr addrspace(4) nocapture noundef writeonly %2, ptr addrspace(4) nocapture noundef writeonly %3) unnamed_addr #36 !srcloc !1321 !sycl_kernel_omit_args !1257 { + %5 = zext i32 %1 to i64 + %6 = bitcast float %0 to i32 + %7 = and i32 %6, 8388607 + %8 = or i32 %7, 8388608 + %9 = and i32 %6, -2147483648 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = lshr i32 %11, 23 + %13 = add nsw i32 %12, -143 + %14 = icmp ult i32 %13, -27 + br i1 %14, label %15, label %68, !prof !1176 + +15: ; preds = %4 + %16 = icmp eq i32 %12, 255 + br i1 %16, label %17, label %21 + +17: ; preds = %15 + %18 = or i32 %6, 4194304 + store i32 %18, ptr addrspace(4) %3, align 4, !tbaa !731 + store i32 %18, ptr addrspace(4) %2, align 4, !tbaa !731 + %19 = getelementptr inbounds i32, ptr addrspace(4) %3, i64 1 + store i32 %18, ptr addrspace(4) %19, align 4, !tbaa !731 + %20 = getelementptr inbounds i32, ptr addrspace(4) %2, i64 1 + store i32 %18, ptr addrspace(4) %20, align 4, !tbaa !731 + br label %270 + +21: ; preds = %15 + %22 = add nsw i32 %12, -150 + %23 = ashr i32 %22, 5 + %24 = add nsw i32 %23, 1 + %25 = and i32 %22, 31 + %26 = sext i32 %24 to i64 + %27 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %26 + %28 = load i32, ptr addrspace(1) %27, align 4, !tbaa !717 + %29 = mul i32 %28, %8 + %30 = add nsw i32 %23, 2 + %31 = sext i32 %30 to i64 + %32 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %31 + %33 = load i32, ptr addrspace(1) %32, align 4, !tbaa !717 + %34 = zext i32 %33 to i64 + %35 = zext nneg i32 %8 to i64 + %36 = mul nuw nsw i64 %34, %35 + %37 = zext i32 %29 to i64 + %38 = shl nuw i64 %37, 32 + %39 = add i64 %36, %38 + %40 = add nsw i32 %23, 4 + %41 = sext i32 %40 to i64 + %42 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %41 + %43 = load i32, ptr addrspace(1) %42, align 4, !tbaa !717 + %44 = zext i32 %43 to i64 + %45 = mul nuw nsw i64 %44, %35 + %46 = add nsw i32 %23, 3 + %47 = sext i32 %46 to i64 + %48 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %47 + %49 = load i32, ptr addrspace(1) %48, align 4, !tbaa !717 + %50 = zext i32 %49 to i64 + %51 = mul nuw nsw i64 %50, %35 + %52 = lshr i64 %45, 32 + %53 = add nuw nsw i64 %51, %52 + %54 = lshr i64 %53, 32 + %55 = add i64 %39, %54 + %56 = and i64 %45, 4294967295 + %57 = zext nneg i32 %25 to i64 + %58 = shl i64 %55, %57 + %59 = trunc i64 %53 to i32 + %60 = shl i64 %53, 32 + %61 = or i64 %56, %60 + %62 = shl i64 %61, %57 + %63 = xor i32 %25, 31 + %64 = lshr i32 %59, %63 + %65 = lshr i32 %64, 1 + %66 = zext nneg i32 %65 to i64 + %67 = or i64 %58, %66 + br label %92 + +68: ; preds = %4 + %69 = zext nneg i32 %8 to i64 + %70 = mul nuw nsw i64 %69, 85445659 + %71 = mul nuw nsw i64 %69, 1920082089 + %72 = mul nuw nsw i64 %69, 1340160702 + %73 = add nsw i32 %12, -115 + %74 = zext i32 %73 to i64 + %75 = shl i64 %70, %74 + %76 = sub nuw nsw i32 147, %12 + %77 = zext i32 %76 to i64 + %78 = lshr i64 %71, %77 + %79 = add i64 %75, %78 + %80 = sub nuw nsw i32 179, %12 + %81 = zext i32 %80 to i64 + %82 = lshr i64 %72, %81 + %83 = add i64 %79, %82 + %84 = add nsw i32 %12, -83 + %85 = zext i32 %84 to i64 + %86 = shl i64 %71, %85 + %87 = shl i64 %72, %74 + %88 = add i64 %87, %86 + %89 = icmp ult i64 %88, %86 + %90 = zext i1 %89 to i64 + %91 = add i64 %83, %90 + br label %92 + +92: ; preds = %68, %21 + %93 = phi i64 [ %62, %21 ], [ %88, %68 ] + %94 = phi i64 [ %67, %21 ], [ %91, %68 ] + %95 = shl i64 %5, 61 + %96 = add i64 %94, %95 + %97 = lshr i64 %96, 32 + %98 = trunc i64 %97 to i32 + %99 = add nsw i32 %98, 536870912 + %100 = shl i32 %98, 2 + %101 = sitofp i32 %100 to float + %102 = bitcast float %101 to i32 + %103 = lshr i32 %102, 23 + %104 = and i32 %103, 255 + %105 = sub nsw i32 159, %104 + %106 = icmp ult i32 %104, 158 + %107 = select i1 %106, i32 %105, i32 2 + %108 = zext i32 %107 to i64 + %109 = shl i64 %96, %108 + %110 = sub nsw i32 64, %107 + %111 = zext i32 %110 to i64 + %112 = lshr i64 %93, %111 + %113 = or i64 %109, %112 + %114 = lshr i64 %113, 32 + %115 = trunc i64 %114 to i32 + %116 = sitofp i32 %115 to float + %117 = fptosi float %116 to i32 + %118 = sub nsw i32 %115, %117 + %119 = trunc i64 %113 to i32 + %120 = tail call i32 @llvm.fshl.i32(i32 %118, i32 %119, i32 24) + %121 = sitofp i32 %120 to float + %122 = shl nsw i32 %107, 23 + %123 = sub i32 805306368, %122 + %124 = bitcast i32 %123 to float + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %124, float noundef 0.000000e+00) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef %124, float noundef 0.000000e+00) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %126, float noundef 0x3E70000000000000, float noundef 0.000000e+00) #56 + %128 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %125, float noundef 0.000000e+00) #56 + %129 = fneg float %128 + %130 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %125, float noundef %129) #56 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %125, float noundef %130) #56 + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %127, float noundef %131) #56 + %133 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %128, float noundef 0.000000e+00) #56 + %134 = fneg float %133 + %135 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %128, float noundef %134) #56 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DC6955B40000000, float noundef %128, float noundef %135) #56 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %132, float noundef %136) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef 1.000000e+00, float noundef 0x3FB5071BE0000000) #56 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef 0xBFB5071BE0000000) #56 + %140 = fneg float %139 + %141 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef 1.000000e+00, float noundef %140) #56 + %142 = fadd float %137, 0x3E2A76BDE0000000 + %143 = fadd float %142, %141 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %128, float noundef 0.000000e+00) #56 + %145 = fneg float %144 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %128, float noundef %145) #56 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3E00D33F00000000, float noundef %128, float noundef %146) #56 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %132, float noundef %147) #56 + %149 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef 1.000000e+00, float noundef 0x3FCE1E7CE0000000) #56 + %150 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef 1.000000e+00, float noundef 0xBFCE1E7CE0000000) #56 + %151 = fneg float %150 + %152 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef 1.000000e+00, float noundef %151) #56 + %153 = fadd float %148, 0xBE11E50300000000 + %154 = fadd float %153, %152 + %155 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %128, float noundef 0.000000e+00) #56 + %156 = fneg float %155 + %157 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %128, float noundef %156) #56 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %128, float noundef %157) #56 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %132, float noundef %158) #56 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef 0xBFE32D2C60000000) #56 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef 1.000000e+00, float noundef 0x3FE32D2C60000000) #56 + %162 = fneg float %161 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef %162) #56 + %164 = fadd float %159, 0xBE34C50240000000 + %165 = fadd float %164, %163 + %166 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %128, float noundef 0.000000e+00) #56 + %167 = fneg float %166 + %168 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %128, float noundef %167) #56 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %128, float noundef %168) #56 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %132, float noundef %169) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef 1.000000e+00, float noundef 0xBFF55D3BA0000000) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef 1.000000e+00, float noundef 0x3FF55D3BA0000000) #56 + %173 = fneg float %172 + %174 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef 1.000000e+00, float noundef %173) #56 + %175 = fadd float %170, 0xBE48F3FE20000000 + %176 = fadd float %175, %174 + %177 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %128, float noundef 0.000000e+00) #56 + %178 = fneg float %177 + %179 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %128, float noundef %178) #56 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %165, float noundef %128, float noundef %179) #56 + %181 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %132, float noundef %180) #56 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef 0x400466BC60000000) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef 1.000000e+00, float noundef 0xC00466BC60000000) #56 + %184 = fneg float %183 + %185 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef %184) #56 + %186 = fadd float %181, 0x3E6C3F4460000000 + %187 = fadd float %186, %185 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %128, float noundef 0.000000e+00) #56 + %189 = fneg float %188 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %128, float noundef %189) #56 + %191 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %176, float noundef %128, float noundef %190) #56 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %132, float noundef %191) #56 + %193 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef 1.000000e+00, float noundef 0x40103C1F00000000) #56 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef 1.000000e+00, float noundef 0xC0103C1F00000000) #56 + %195 = fneg float %194 + %196 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef 1.000000e+00, float noundef %195) #56 + %197 = fadd float %192, 0x3E7D385E40000000 + %198 = fadd float %197, %196 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %128, float noundef 0.000000e+00) #56 + %200 = fneg float %199 + %201 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %128, float noundef %200) #56 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %187, float noundef %128, float noundef %201) #56 + %203 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %132, float noundef %202) #56 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef 1.000000e+00, float noundef 0xC014ABBCE0000000) #56 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef 1.000000e+00, float noundef 0x4014ABBCE0000000) #56 + %206 = fneg float %205 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef 1.000000e+00, float noundef %206) #56 + %208 = fadd float %203, 0xBE7895DEE0000000 + %209 = fadd float %208, %207 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %128, float noundef 0.000000e+00) #56 + %211 = fneg float %210 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %128, float noundef %211) #56 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %198, float noundef %128, float noundef %212) #56 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %132, float noundef %213) #56 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef 1.000000e+00, float noundef 0xC013BD3CC0000000) #56 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef 1.000000e+00, float noundef 0x4013BD3CC0000000) #56 + %217 = fneg float %216 + %218 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef 1.000000e+00, float noundef %217) #56 + %219 = fadd float %214, 0xBE837A5920000000 + %220 = fadd float %219, %218 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %128, float noundef 0.000000e+00) #56 + %222 = fneg float %221 + %223 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %128, float noundef %222) #56 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %209, float noundef %128, float noundef %223) #56 + %225 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %132, float noundef %224) #56 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef 0x400921FB60000000) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef 1.000000e+00, float noundef 0xC00921FB60000000) #56 + %228 = fneg float %227 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef %228) #56 + %230 = fadd float %225, 0xBE7777A600000000 + %231 = fadd float %230, %229 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %128, float noundef 0.000000e+00) #56 + %233 = fneg float %232 + %234 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %128, float noundef %233) #56 + %235 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %220, float noundef %128, float noundef %234) #56 + %236 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %132, float noundef %235) #56 + %237 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %232, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %238 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %237, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %239 = fneg float %238 + %240 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %232, float noundef 1.000000e+00, float noundef %239) #56 + %241 = fadd float %236, 0xBD2F400000000000 + %242 = fadd float %241, %240 + %243 = bitcast float %242 to i32 + %244 = bitcast float %237 to i32 + %245 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %125, float noundef 0.000000e+00) #56 + %246 = fneg float %245 + %247 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %125, float noundef %246) #56 + %248 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %231, float noundef %125, float noundef %247) #56 + %249 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %127, float noundef %248) #56 + %250 = bitcast float %249 to i32 + %251 = bitcast float %245 to i32 + %252 = and i32 %99, -2147483648 + %253 = xor i32 %252, %244 + %254 = xor i32 %252, %243 + %255 = shl i32 %99, 1 + %256 = xor i32 %99, %255 + %257 = and i32 %256, -2147483648 + %258 = xor i32 %257, %251 + %259 = xor i32 %257, %250 + %260 = and i32 %99, 1073741824 + %261 = icmp eq i32 %260, 0 + %262 = select i1 %261, i32 %258, i32 %253 + %263 = select i1 %261, i32 %253, i32 %258 + %264 = select i1 %261, i32 %259, i32 %254 + %265 = select i1 %261, i32 %254, i32 %259 + %266 = xor i32 %262, %9 + %267 = xor i32 %264, %9 + store i32 %263, ptr addrspace(4) %3, align 4, !tbaa !731 + %268 = getelementptr inbounds i32, ptr addrspace(4) %3, i64 1 + store i32 %265, ptr addrspace(4) %268, align 4, !tbaa !731 + store i32 %266, ptr addrspace(4) %2, align 4, !tbaa !731 + %269 = getelementptr inbounds i32, ptr addrspace(4) %2, i64 1 + store i32 %267, ptr addrspace(4) %269, align 4, !tbaa !731 + br label %270 + +270: ; preds = %92, %17 + ret void +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.fshl.i32(i32, i32, i32) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.usub.sat.i32(i32, i32) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_y0f(float noundef %0) local_unnamed_addr #31 !srcloc !1322 { + %2 = alloca float, align 4 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + %4 = bitcast float %0 to i32 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = bitcast float %5 to i32 + %7 = add i32 %4, -1 + %8 = icmp ult i32 %7, 2139095039 + br i1 %8, label %9, label %563 + +9: ; preds = %1 + %10 = icmp ult i32 %4, 1099978979 + br i1 %10, label %11, label %424 + +11: ; preds = %9 + %12 = icmp ult i32 %4, 1094450314 + br i1 %12, label %13, label %393 + +13: ; preds = %11 + %14 = icmp ult i32 %4, 1085128690 + br i1 %14, label %15, label %360 + +15: ; preds = %13 + %16 = icmp ult i32 %4, 1074568695 + br i1 %16, label %17, label %340 + +17: ; preds = %15 + %18 = icmp ult i32 %4, 1058642330 + br i1 %18, label %19, label %34 + +19: ; preds = %17 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + call spir_func void @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_123__sy0_ep_ln_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) noundef %3) #54 + %20 = load float, ptr %2, align 4, !tbaa !731 + %21 = fmul float %20, 0x3FE45F3060000000 + %22 = fmul float %0, %0 + %23 = tail call float @llvm.fmuladd.f32(float %22, float 0xBEE3B7A080000000, float 0x3F41A5E140000000) + %24 = tail call float @llvm.fmuladd.f32(float %22, float %23, float 0xBF9075B180000000) + %25 = tail call float @llvm.fmuladd.f32(float %22, float %24, float 0x3FC6BBCB40000000) + %26 = tail call float @llvm.fmuladd.f32(float %22, float %25, float 0xBFB2E4D6A0000000) + %27 = tail call float @llvm.fmuladd.f32(float %22, float 0x3EDC3D8980000000, float 0xBF3C719820000000) + %28 = tail call float @llvm.fmuladd.f32(float %22, float %27, float 0x3F8FFFFFE0000000) + %29 = tail call float @llvm.fmuladd.f32(float %22, float %28, float -2.500000e-01) + %30 = fmul float %22, %29 + %31 = fmul float %21, %30 + %32 = fadd float %26, %31 + %33 = fadd float %32, %21 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %570 + +34: ; preds = %17 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFEC982EA0000000, float noundef 1.000000e+00, float noundef %0) #56 + %36 = fneg float %0 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef 1.000000e+00, float noundef %36) #56 + %38 = fneg float %37 + %39 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFEC982EA0000000, float noundef 1.000000e+00, float noundef %38) #56 + %40 = fadd float %39, 0xBE68D417E0000000 + %41 = fadd float %35, %40 + %42 = tail call float @llvm.fmuladd.f32(float %41, float 0xBF32337720000000, float 0x3F69C12EC0000000) + %43 = tail call float @llvm.fmuladd.f32(float %41, float %42, float 0xBF90AB3580000000) + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %35, float noundef 0.000000e+00) #56 + %45 = fneg float %44 + %46 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %35, float noundef %45) #56 + %47 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0.000000e+00, float noundef %35, float noundef %46) #56 + %48 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %43, float noundef %40, float noundef %47) #56 + %49 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %44) #56 + %50 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FAA3A98C0000000) #56 + %51 = fcmp ole float %49, %50 + %52 = select i1 %51, float 0x3FAA3A98C0000000, float %44 + %53 = select i1 %51, float %44, float 0x3FAA3A98C0000000 + %54 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %53, float noundef 1.000000e+00, float noundef %52) #56 + %55 = fneg float %52 + %56 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef 1.000000e+00, float noundef %55) #56 + %57 = fneg float %56 + %58 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %53, float noundef 1.000000e+00, float noundef %57) #56 + %59 = fadd float %48, 0x3E12BA6C60000000 + %60 = fadd float %59, %58 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %35, float noundef 0.000000e+00) #56 + %62 = fneg float %61 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %35, float noundef %62) #56 + %64 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %60, float noundef %35, float noundef %63) #56 + %65 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %54, float noundef %40, float noundef %64) #56 + %66 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %61) #56 + %67 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFBC3594A0000000) #56 + %68 = fcmp ole float %66, %67 + %69 = select i1 %68, float 0xBFBC3594A0000000, float %61 + %70 = select i1 %68, float %61, float 0xBFBC3594A0000000 + %71 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %70, float noundef 1.000000e+00, float noundef %69) #56 + %72 = fneg float %69 + %73 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef 1.000000e+00, float noundef %72) #56 + %74 = fneg float %73 + %75 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %70, float noundef 1.000000e+00, float noundef %74) #56 + %76 = fadd float %65, 0xBE2E466CA0000000 + %77 = fadd float %76, %75 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef %35, float noundef 0.000000e+00) #56 + %79 = fneg float %78 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef %35, float noundef %79) #56 + %81 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef %35, float noundef %80) #56 + %82 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef %40, float noundef %81) #56 + %83 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %78) #56 + %84 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC6434CE0000000) #56 + %85 = fcmp ole float %83, %84 + %86 = select i1 %85, float 0x3FC6434CE0000000, float %78 + %87 = select i1 %85, float %78, float 0x3FC6434CE0000000 + %88 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %87, float noundef 1.000000e+00, float noundef %86) #56 + %89 = fneg float %86 + %90 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %88, float noundef 1.000000e+00, float noundef %89) #56 + %91 = fneg float %90 + %92 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %87, float noundef 1.000000e+00, float noundef %91) #56 + %93 = fadd float %82, 0x3E4DF2D3A0000000 + %94 = fadd float %93, %92 + %95 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %88, float noundef %35, float noundef 0.000000e+00) #56 + %96 = fneg float %95 + %97 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %88, float noundef %35, float noundef %96) #56 + %98 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %94, float noundef %35, float noundef %97) #56 + %99 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %88, float noundef %40, float noundef %98) #56 + %100 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %95) #56 + %101 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCB6CBC20000000) #56 + %102 = fcmp ole float %100, %101 + %103 = select i1 %102, float 0xBFCB6CBC20000000, float %95 + %104 = select i1 %102, float %95, float 0xBFCB6CBC20000000 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %104, float noundef 1.000000e+00, float noundef %103) #56 + %106 = fneg float %103 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef 1.000000e+00, float noundef %106) #56 + %108 = fneg float %107 + %109 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %104, float noundef 1.000000e+00, float noundef %108) #56 + %110 = fadd float %99, 0xBE12101560000000 + %111 = fadd float %110, %109 + %112 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %35, float noundef 0.000000e+00) #56 + %113 = fneg float %112 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %35, float noundef %113) #56 + %115 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef %35, float noundef %114) #56 + %116 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %40, float noundef %115) #56 + %117 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %112) #56 + %118 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC5ED8E0000000) #56 + %119 = fcmp ole float %117, %118 + %120 = select i1 %119, float 0x3FCC5ED8E0000000, float %112 + %121 = select i1 %119, float %112, float 0x3FCC5ED8E0000000 + %122 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef 1.000000e+00, float noundef %120) #56 + %123 = fneg float %120 + %124 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef 1.000000e+00, float noundef %123) #56 + %125 = fneg float %124 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef 1.000000e+00, float noundef %125) #56 + %127 = fadd float %116, 0x3E0A7F1080000000 + %128 = fadd float %127, %126 + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef %35, float noundef 0.000000e+00) #56 + %130 = fneg float %129 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef %35, float noundef %130) #56 + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %128, float noundef %35, float noundef %131) #56 + %133 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %122, float noundef %40, float noundef %132) #56 + %134 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %129) #56 + %135 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCAFBBAA0000000) #56 + %136 = fcmp ole float %134, %135 + %137 = select i1 %136, float 0xBFCAFBBAA0000000, float %129 + %138 = select i1 %136, float %129, float 0xBFCAFBBAA0000000 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef %137) #56 + %140 = fneg float %137 + %141 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %139, float noundef 1.000000e+00, float noundef %140) #56 + %142 = fneg float %141 + %143 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef %142) #56 + %144 = fadd float %133, 0xBE4FE4A220000000 + %145 = fadd float %144, %143 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %139, float noundef %35, float noundef 0.000000e+00) #56 + %147 = fneg float %146 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %139, float noundef %35, float noundef %147) #56 + %149 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %145, float noundef %35, float noundef %148) #56 + %150 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %139, float noundef %40, float noundef %149) #56 + %151 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %146) #56 + %152 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC99180E0000000) #56 + %153 = fcmp ole float %151, %152 + %154 = select i1 %153, float 0x3FC99180E0000000, float %146 + %155 = select i1 %153, float %146, float 0x3FC99180E0000000 + %156 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef %154) #56 + %157 = fneg float %154 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef 1.000000e+00, float noundef %157) #56 + %159 = fneg float %158 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef %159) #56 + %161 = fadd float %150, 0x3E41CBB4C0000000 + %162 = fadd float %161, %160 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef %35, float noundef 0.000000e+00) #56 + %164 = fneg float %163 + %165 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef %35, float noundef %164) #56 + %166 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %162, float noundef %35, float noundef %165) #56 + %167 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %156, float noundef %40, float noundef %166) #56 + %168 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %163) #56 + %169 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFC8E4FA20000000) #56 + %170 = fcmp ole float %168, %169 + %171 = select i1 %170, float 0xBFC8E4FA20000000, float %163 + %172 = select i1 %170, float %163, float 0xBFC8E4FA20000000 + %173 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %172, float noundef 1.000000e+00, float noundef %171) #56 + %174 = fneg float %171 + %175 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef 1.000000e+00, float noundef %174) #56 + %176 = fneg float %175 + %177 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %172, float noundef 1.000000e+00, float noundef %176) #56 + %178 = fadd float %167, 0xBE3C35A840000000 + %179 = fadd float %178, %177 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %35, float noundef 0.000000e+00) #56 + %181 = fneg float %180 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %35, float noundef %181) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %179, float noundef %35, float noundef %182) #56 + %184 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %173, float noundef %40, float noundef %183) #56 + %185 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %180) #56 + %186 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC8B78E00000000) #56 + %187 = fcmp ole float %185, %186 + %188 = select i1 %187, float 0x3FC8B78E00000000, float %180 + %189 = select i1 %187, float %180, float 0x3FC8B78E00000000 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %189, float noundef 1.000000e+00, float noundef %188) #56 + %191 = fneg float %188 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef 1.000000e+00, float noundef %191) #56 + %193 = fneg float %192 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %189, float noundef 1.000000e+00, float noundef %193) #56 + %195 = fadd float %184, 0x3E490DBDE0000000 + %196 = fadd float %195, %194 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef %35, float noundef 0.000000e+00) #56 + %198 = fneg float %197 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef %35, float noundef %198) #56 + %200 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %196, float noundef %35, float noundef %199) #56 + %201 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %190, float noundef %40, float noundef %200) #56 + %202 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %197) #56 + %203 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFC8D324C0000000) #56 + %204 = fcmp ole float %202, %203 + %205 = select i1 %204, float 0xBFC8D324C0000000, float %197 + %206 = select i1 %204, float %197, float 0xBFC8D324C0000000 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef 1.000000e+00, float noundef %205) #56 + %208 = fneg float %205 + %209 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %207, float noundef 1.000000e+00, float noundef %208) #56 + %210 = fneg float %209 + %211 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %206, float noundef 1.000000e+00, float noundef %210) #56 + %212 = fadd float %201, 0xBE21D89AA0000000 + %213 = fadd float %212, %211 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %207, float noundef %35, float noundef 0.000000e+00) #56 + %215 = fneg float %214 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %207, float noundef %35, float noundef %215) #56 + %217 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %213, float noundef %35, float noundef %216) #56 + %218 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %207, float noundef %40, float noundef %217) #56 + %219 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %214) #56 + %220 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC942DE40000000) #56 + %221 = fcmp ole float %219, %220 + %222 = select i1 %221, float 0x3FC942DE40000000, float %214 + %223 = select i1 %221, float %214, float 0x3FC942DE40000000 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %223, float noundef 1.000000e+00, float noundef %222) #56 + %225 = fneg float %222 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef 1.000000e+00, float noundef %225) #56 + %227 = fneg float %226 + %228 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %223, float noundef 1.000000e+00, float noundef %227) #56 + %229 = fadd float %218, 0x3E4D986600000000 + %230 = fadd float %229, %228 + %231 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef %35, float noundef 0.000000e+00) #56 + %232 = fneg float %231 + %233 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef %35, float noundef %232) #56 + %234 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %230, float noundef %35, float noundef %233) #56 + %235 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %224, float noundef %40, float noundef %234) #56 + %236 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %231) #56 + %237 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCA397E20000000) #56 + %238 = fcmp ole float %236, %237 + %239 = select i1 %238, float 0xBFCA397E20000000, float %231 + %240 = select i1 %238, float %231, float 0xBFCA397E20000000 + %241 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %240, float noundef 1.000000e+00, float noundef %239) #56 + %242 = fneg float %239 + %243 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %241, float noundef 1.000000e+00, float noundef %242) #56 + %244 = fneg float %243 + %245 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %240, float noundef 1.000000e+00, float noundef %244) #56 + %246 = fadd float %235, 0xBE4035C760000000 + %247 = fadd float %246, %245 + %248 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %241, float noundef %35, float noundef 0.000000e+00) #56 + %249 = fneg float %248 + %250 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %241, float noundef %35, float noundef %249) #56 + %251 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %247, float noundef %35, float noundef %250) #56 + %252 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %241, float noundef %40, float noundef %251) #56 + %253 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %248) #56 + %254 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC067CA0000000) #56 + %255 = fcmp ole float %253, %254 + %256 = select i1 %255, float 0x3FCC067CA0000000, float %248 + %257 = select i1 %255, float %248, float 0x3FCC067CA0000000 + %258 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %257, float noundef 1.000000e+00, float noundef %256) #56 + %259 = fneg float %256 + %260 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %258, float noundef 1.000000e+00, float noundef %259) #56 + %261 = fneg float %260 + %262 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %257, float noundef 1.000000e+00, float noundef %261) #56 + %263 = fadd float %252, 0x3E22D87FC0000000 + %264 = fadd float %263, %262 + %265 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %258, float noundef %35, float noundef 0.000000e+00) #56 + %266 = fneg float %265 + %267 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %258, float noundef %35, float noundef %266) #56 + %268 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %264, float noundef %35, float noundef %267) #56 + %269 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %258, float noundef %40, float noundef %268) #56 + %270 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %265) #56 + %271 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCCF18DA0000000) #56 + %272 = fcmp ole float %270, %271 + %273 = select i1 %272, float 0xBFCCF18DA0000000, float %265 + %274 = select i1 %272, float %265, float 0xBFCCF18DA0000000 + %275 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %274, float noundef 1.000000e+00, float noundef %273) #56 + %276 = fneg float %273 + %277 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %275, float noundef 1.000000e+00, float noundef %276) #56 + %278 = fneg float %277 + %279 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %274, float noundef 1.000000e+00, float noundef %278) #56 + %280 = fadd float %269, 0xBE401F1A80000000 + %281 = fadd float %280, %279 + %282 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %275, float noundef %35, float noundef 0.000000e+00) #56 + %283 = fneg float %282 + %284 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %275, float noundef %35, float noundef %283) #56 + %285 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %281, float noundef %35, float noundef %284) #56 + %286 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %275, float noundef %40, float noundef %285) #56 + %287 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %282) #56 + %288 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC3B1340000000) #56 + %289 = fcmp ole float %287, %288 + %290 = select i1 %289, float 0x3FCC3B1340000000, float %282 + %291 = select i1 %289, float %282, float 0x3FCC3B1340000000 + %292 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %291, float noundef 1.000000e+00, float noundef %290) #56 + %293 = fneg float %290 + %294 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %292, float noundef 1.000000e+00, float noundef %293) #56 + %295 = fneg float %294 + %296 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %291, float noundef 1.000000e+00, float noundef %295) #56 + %297 = fadd float %286, 0x3E1CB43940000000 + %298 = fadd float %297, %296 + %299 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %292, float noundef %35, float noundef 0.000000e+00) #56 + %300 = fneg float %299 + %301 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %292, float noundef %35, float noundef %300) #56 + %302 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %298, float noundef %35, float noundef %301) #56 + %303 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %292, float noundef %40, float noundef %302) #56 + %304 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %299) #56 + %305 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFDF7E38A0000000) #56 + %306 = fcmp ole float %304, %305 + %307 = select i1 %306, float 0xBFDF7E38A0000000, float %299 + %308 = select i1 %306, float %299, float 0xBFDF7E38A0000000 + %309 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %308, float noundef 1.000000e+00, float noundef %307) #56 + %310 = fneg float %307 + %311 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %309, float noundef 1.000000e+00, float noundef %310) #56 + %312 = fneg float %311 + %313 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %308, float noundef 1.000000e+00, float noundef %312) #56 + %314 = fadd float %303, 0xBE35E717C0000000 + %315 = fadd float %314, %313 + %316 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %309, float noundef %35, float noundef 0.000000e+00) #56 + %317 = fneg float %316 + %318 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %309, float noundef %35, float noundef %317) #56 + %319 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %315, float noundef %35, float noundef %318) #56 + %320 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %309, float noundef %40, float noundef %319) #56 + %321 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %316) #56 + %322 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FEC243700000000) #56 + %323 = fcmp ole float %321, %322 + %324 = select i1 %323, float 0x3FEC243700000000, float %316 + %325 = select i1 %323, float %316, float 0x3FEC243700000000 + %326 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %325, float noundef 1.000000e+00, float noundef %324) #56 + %327 = fneg float %324 + %328 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %326, float noundef 1.000000e+00, float noundef %327) #56 + %329 = fneg float %328 + %330 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %325, float noundef 1.000000e+00, float noundef %329) #56 + %331 = fadd float %320, 0x3E68421E40000000 + %332 = fadd float %331, %330 + %333 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %326, float noundef %35, float noundef 0.000000e+00) #56 + %334 = fneg float %333 + %335 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %326, float noundef %35, float noundef %334) #56 + %336 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %332, float noundef %35, float noundef %335) #56 + %337 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %326, float noundef %40, float noundef %336) #56 + %338 = fadd float %333, %337 + %339 = fadd float %338, 0xBC7AF74C00000000 + br label %570 + +340: ; preds = %15 + %341 = fadd float %0, 0xC00FA95340000000 + %342 = fadd float %341, 0xBE7B30AD40000000 + %343 = tail call float @llvm.fmuladd.f32(float %342, float 0x3DA90E9740000000, float 0xBDAEB00080000000) + %344 = tail call float @llvm.fmuladd.f32(float %342, float %343, float 0xBDC00258E0000000) + %345 = tail call float @llvm.fmuladd.f32(float %342, float %344, float 0xBDEA70EE40000000) + %346 = tail call float @llvm.fmuladd.f32(float %342, float %345, float 0x3E11E21740000000) + %347 = tail call float @llvm.fmuladd.f32(float %342, float %346, float 0xBE2ED292A0000000) + %348 = tail call float @llvm.fmuladd.f32(float %342, float %347, float 0x3E53B9FCE0000000) + %349 = tail call float @llvm.fmuladd.f32(float %342, float %348, float 0xBE57A5C500000000) + %350 = tail call float @llvm.fmuladd.f32(float %342, float %349, float 0xBE93A6D620000000) + %351 = tail call float @llvm.fmuladd.f32(float %342, float %350, float 0xBED4860080000000) + %352 = tail call float @llvm.fmuladd.f32(float %342, float %351, float 0x3F0AB2B2C0000000) + %353 = tail call float @llvm.fmuladd.f32(float %342, float %352, float 0x3F29982660000000) + %354 = tail call float @llvm.fmuladd.f32(float %342, float %353, float 0xBF61E32BA0000000) + %355 = tail call float @llvm.fmuladd.f32(float %342, float %354, float 0xBF7C116FE0000000) + %356 = tail call float @llvm.fmuladd.f32(float %342, float %355, float 0x3FADF6D5A0000000) + %357 = tail call float @llvm.fmuladd.f32(float %342, float %356, float 0x3FAA09C920000000) + %358 = tail call float @llvm.fmuladd.f32(float %342, float %357, float 0xBFD9C34260000000) + %359 = tail call float @llvm.fmuladd.f32(float %342, float %358, float 0xBC88FA8960000000) + br label %570 + +360: ; preds = %13 + %361 = icmp ult i32 %4, 1091143997 + %362 = select i1 %361, float 0x401C581DC0000000, float 0x402471D720000000 + %363 = fsub float %0, %362 + %364 = select i1 %361, float 0x3E739C8400000000, float 0x3EA5A47D60000000 + %365 = fsub float %363, %364 + %366 = select i1 %361, float 0x3C7E91B1A0000000, float 0xBCACABD7C0000000 + %367 = select i1 %361, float 0x3FD334CCA0000000, float 0xBFCFF635C0000000 + %368 = select i1 %361, float 0xBF95AEF620000000, float 0x3F89036460000000 + %369 = select i1 %361, float 0xBFA8969C60000000, float 0x3FA4E667A0000000 + %370 = select i1 %361, float 0x3F6B2F14A0000000, float 0xBF60325EE0000000 + %371 = select i1 %361, float 0x3F61D35E80000000, float 0xBF5FE23920000000 + %372 = select i1 %361, float 0xBF226DD6C0000000, float 0x3F17F84CC0000000 + %373 = select i1 %361, float 0xBF08177F20000000, float 0x3F06AFDDA0000000 + %374 = select i1 %361, float 0x3EC6A90300000000, float 0xBEC0403980000000 + %375 = select i1 %361, float 0x3EA34ACB60000000, float 0xBEA2AEB2A0000000 + %376 = select i1 %361, float 0xBE609DB120000000, float 0x3E5936D560000000 + %377 = select i1 %361, float 0xBE3447ABC0000000, float 0x3E3428B840000000 + %378 = select i1 %361, float 0x3DEE2D8DE0000000, float 0xBDE86CCA00000000 + %379 = select i1 %361, float 0x3DBF3106A0000000, float 0xBDBE2E4860000000 + %380 = tail call float @llvm.fmuladd.f32(float %365, float %379, float %378) + %381 = tail call float @llvm.fmuladd.f32(float %365, float %380, float %377) + %382 = tail call float @llvm.fmuladd.f32(float %365, float %381, float %376) + %383 = tail call float @llvm.fmuladd.f32(float %365, float %382, float %375) + %384 = tail call float @llvm.fmuladd.f32(float %365, float %383, float %374) + %385 = tail call float @llvm.fmuladd.f32(float %365, float %384, float %373) + %386 = tail call float @llvm.fmuladd.f32(float %365, float %385, float %372) + %387 = tail call float @llvm.fmuladd.f32(float %365, float %386, float %371) + %388 = tail call float @llvm.fmuladd.f32(float %365, float %387, float %370) + %389 = tail call float @llvm.fmuladd.f32(float %365, float %388, float %369) + %390 = tail call float @llvm.fmuladd.f32(float %365, float %389, float %368) + %391 = tail call float @llvm.fmuladd.f32(float %365, float %390, float %367) + %392 = tail call float @llvm.fmuladd.f32(float %365, float %391, float %366) + br label %570 + +393: ; preds = %11 + %394 = icmp ult i32 %4, 1097751532 + %395 = select i1 %394, float 0x402AB8E1C0000000, float 0x4030803C60000000 + %396 = fsub float %0, %395 + %397 = select i1 %394, float 0x3E82879D20000000, float 0x3EB4003220000000 + %398 = fsub float %396, %397 + %399 = select i1 %394, float 0x3CA4D9FE40000000, float 0x3CACD82800000000 + %400 = select i1 %394, float 0x3FCBF32A20000000, float 0xBFC925C360000000 + %401 = select i1 %394, float 0xBF80BC2D80000000, float 0x3F786254A0000000 + %402 = select i1 %394, float 0xBFA26CAB40000000, float 0x3FA0A45120000000 + %403 = select i1 %394, float 0x3F55F03E20000000, float 0xBF5013B360000000 + %404 = select i1 %394, float 0x3F5CAAA6C0000000, float 0xBF5A24A060000000 + %405 = select i1 %394, float 0xBF10C5EC60000000, float 0x3F08F90C00000000 + %406 = select i1 %394, float 0xBF04F08EE0000000, float 0x3F035CF820000000 + %407 = select i1 %394, float 0x3EB7D0B600000000, float 0xBEB2274EC0000000 + %408 = select i1 %394, float 0x3EA1A77900000000, float 0xBEA09482A0000000 + %409 = select i1 %394, float 0xBE53403680000000, float 0x3E4E2B9400000000 + %410 = select i1 %394, float 0xBE32879DE0000000, float 0x3E31A5B640000000 + %411 = select i1 %394, float 0x3DE19366C0000000, float 0xBDDC5F2CA0000000 + %412 = tail call float @llvm.fmuladd.f32(float %398, float %411, float %410) + %413 = tail call float @llvm.fmuladd.f32(float %398, float %412, float %409) + %414 = tail call float @llvm.fmuladd.f32(float %398, float %413, float %408) + %415 = tail call float @llvm.fmuladd.f32(float %398, float %414, float %407) + %416 = tail call float @llvm.fmuladd.f32(float %398, float %415, float %406) + %417 = tail call float @llvm.fmuladd.f32(float %398, float %416, float %405) + %418 = tail call float @llvm.fmuladd.f32(float %398, float %417, float %404) + %419 = tail call float @llvm.fmuladd.f32(float %398, float %418, float %403) + %420 = tail call float @llvm.fmuladd.f32(float %398, float %419, float %402) + %421 = tail call float @llvm.fmuladd.f32(float %398, float %420, float %401) + %422 = tail call float @llvm.fmuladd.f32(float %398, float %421, float %400) + %423 = tail call float @llvm.fmuladd.f32(float %398, float %422, float %399) + br label %570 + +424: ; preds = %9 + %425 = fdiv float 1.000000e+00, %0 + %426 = fmul float %425, 1.600000e+01 + %427 = fmul float %426, %426 + %428 = fmul float %425, 0x3FE45F3060000000 + %429 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %428) #56 + %430 = and i32 %4, 8388607 + %431 = or i32 %430, 8388608 + %432 = and i32 %4, -2147483648 + %433 = lshr i32 %6, 23 + %434 = add nsw i32 %433, -115 + %435 = icmp ugt i32 %434, 32 + br i1 %435, label %436, label %486, !prof !1176 + +436: ; preds = %424 + %437 = icmp ult i32 %6, 973078528 + br i1 %437, label %546, label %438, !prof !1189 + +438: ; preds = %436 + %439 = icmp eq i32 %433, 255 + br i1 %439, label %440, label %443 + +440: ; preds = %438 + %441 = or i32 %4, 4194304 + %442 = bitcast i32 %441 to float + br label %546 + +443: ; preds = %438 + %444 = add nsw i32 %433, -150 + %445 = ashr i32 %444, 5 + %446 = add nsw i32 %445, 1 + %447 = and i32 %444, 31 + %448 = sext i32 %446 to i64 + %449 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_118__sy0_ep_invpi_tblE, i64 0, i64 %448 + %450 = load i32, ptr addrspace(1) %449, align 4, !tbaa !717 + %451 = mul i32 %450, %431 + %452 = add nsw i32 %445, 2 + %453 = sext i32 %452 to i64 + %454 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_118__sy0_ep_invpi_tblE, i64 0, i64 %453 + %455 = load i32, ptr addrspace(1) %454, align 4, !tbaa !717 + %456 = zext i32 %455 to i64 + %457 = zext nneg i32 %431 to i64 + %458 = mul nuw nsw i64 %456, %457 + %459 = zext i32 %451 to i64 + %460 = shl nuw i64 %459, 32 + %461 = add i64 %458, %460 + %462 = add nsw i32 %445, 3 + %463 = sext i32 %462 to i64 + %464 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_118__sy0_ep_invpi_tblE, i64 0, i64 %463 + %465 = load i32, ptr addrspace(1) %464, align 4, !tbaa !717 + %466 = zext i32 %465 to i64 + %467 = mul nuw nsw i64 %466, %457 + %468 = add nsw i32 %445, 4 + %469 = sext i32 %468 to i64 + %470 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_118__sy0_ep_invpi_tblE, i64 0, i64 %469 + %471 = load i32, ptr addrspace(1) %470, align 4, !tbaa !717 + %472 = zext i32 %471 to i64 + %473 = mul nuw nsw i64 %472, %457 + %474 = lshr i64 %473, 32 + %475 = add nuw nsw i64 %467, %474 + %476 = lshr i64 %475, 32 + %477 = add i64 %461, %476 + %478 = zext nneg i32 %447 to i64 + %479 = shl i64 %477, %478 + %480 = trunc i64 %475 to i32 + %481 = xor i32 %447, 31 + %482 = lshr i32 %480, %481 + %483 = lshr i32 %482, 1 + %484 = zext nneg i32 %483 to i64 + %485 = or i64 %479, %484 + br label %499 + +486: ; preds = %424 + %487 = zext nneg i32 %431 to i64 + %488 = mul nuw nsw i64 %487, 85445659 + %489 = mul nuw nsw i32 %431, 40 + %490 = mul nuw nsw i64 %487, 245770507392 + %491 = zext nneg i32 %489 to i64 + %492 = add nuw nsw i64 %490, %491 + %493 = zext i32 %434 to i64 + %494 = shl i64 %488, %493 + %495 = sub nuw nsw i32 154, %433 + %496 = zext i32 %495 to i64 + %497 = lshr i64 %492, %496 + %498 = add i64 %494, %497 + br label %499 + +499: ; preds = %486, %443 + %500 = phi i64 [ %485, %443 ], [ %498, %486 ] + %501 = add i64 %500, -2305843009213693952 + %502 = lshr i64 %501, 32 + %503 = trunc i64 %502 to i32 + %504 = add nsw i32 %503, 536870912 + %505 = shl i32 %503, 2 + %506 = sitofp i32 %505 to float + %507 = bitcast float %506 to i32 + %508 = lshr i32 %507, 23 + %509 = and i32 %508, 255 + %510 = sub nsw i32 159, %509 + %511 = icmp ult i32 %509, 158 + %512 = select i1 %511, i32 %510, i32 2 + %513 = zext i32 %512 to i64 + %514 = shl i64 %501, %513 + %515 = lshr i64 %514, 32 + %516 = trunc i64 %515 to i32 + %517 = sitofp i32 %516 to float + %518 = shl nsw i32 %512, 23 + %519 = sub i32 805306368, %518 + %520 = bitcast i32 %519 to float + %521 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %517, float noundef %520, float noundef 0.000000e+00) #56 + %522 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %521, float noundef %521, float noundef 0.000000e+00) #56 + %523 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %522, float noundef 0xBFF55C57C0000000) #56 + %524 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %522, float noundef 0x400465E920000000) #56 + %525 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %523, float noundef %522, float noundef 0x40103C1DC0000000) #56 + %526 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %524, float noundef %522, float noundef 0xC014ABBBA0000000) #56 + %527 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %525, float noundef %522, float noundef 0xC013BD3CC0000000) #56 + %528 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %526, float noundef %522, float noundef 0x400921FB60000000) #56 + %529 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %527, float noundef %522, float noundef 1.000000e+00) #56 + %530 = bitcast float %529 to i32 + %531 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %528, float noundef %521, float noundef 0.000000e+00) #56 + %532 = bitcast float %531 to i32 + %533 = and i32 %504, -2147483648 + %534 = shl i32 %504, 1 + %535 = and i32 %534, -2147483648 + %536 = xor i32 %535, %532 + %537 = xor i32 %536, %533 + %538 = xor i32 %533, %530 + %539 = and i32 %504, 1073741824 + %540 = icmp eq i32 %539, 0 + %541 = select i1 %540, i32 %537, i32 %538 + %542 = xor i32 %541, %432 + %543 = select i1 %540, i32 %538, i32 %537 + %544 = bitcast i32 %543 to float + %545 = bitcast i32 %542 to float + br label %546 + +546: ; preds = %499, %440, %436 + %547 = phi float [ %442, %440 ], [ %545, %499 ], [ %0, %436 ] + %548 = phi float [ %442, %440 ], [ %544, %499 ], [ 1.000000e+00, %436 ] + %549 = tail call float @llvm.fmuladd.f32(float %427, float 0xBDD47A9100000000, float 0x3E17CA5EE0000000) + %550 = tail call float @llvm.fmuladd.f32(float %427, float %549, float 0xBE624F5780000000) + %551 = tail call float @llvm.fmuladd.f32(float %427, float %550, float 0x3EBCB5F860000000) + %552 = tail call float @llvm.fmuladd.f32(float %427, float %551, float 0xBF32000000000000) + %553 = tail call float @llvm.fmuladd.f32(float %427, float %552, float 1.000000e+00) + %554 = tail call float @llvm.fmuladd.f32(float %427, float 0x3DB845FEC0000000, float 0xBDF7A83620000000) + %555 = tail call float @llvm.fmuladd.f32(float %427, float %554, float 0x3E3B9D68E0000000) + %556 = tail call float @llvm.fmuladd.f32(float %427, float %555, float 0xBE8D11CA80000000) + %557 = tail call float @llvm.fmuladd.f32(float %427, float %556, float 0x3EF2C00000000000) + %558 = tail call float @llvm.fmuladd.f32(float %427, float %557, float -7.812500e-03) + %559 = fmul float %426, %558 + %560 = fmul float %559, %548 + %561 = tail call float @llvm.fmuladd.f32(float %553, float %547, float %560) + %562 = fmul float %429, %561 + br label %570 + +563: ; preds = %1 + %564 = icmp ugt i32 %6, 2139095040 + %565 = icmp eq i32 %6, 0 + %566 = icmp sgt i32 %4, -1 + %567 = select i1 %566, float 0.000000e+00, float 0x7FF8000000000000 + %568 = select i1 %565, float 0xFFF0000000000000, float %567 + %569 = select i1 %564, float %0, float %568 + br label %570 + +570: ; preds = %563, %546, %393, %360, %340, %34, %19 + %571 = phi float [ %33, %19 ], [ %339, %34 ], [ %359, %340 ], [ %392, %360 ], [ %423, %393 ], [ %562, %546 ], [ %569, %563 ] + ret float %571 +} + +; Function Attrs: convergent mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_y0_s_ep12_GLOBAL__N_123__sy0_ep_ln_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #41 !srcloc !1323 !sycl_kernel_omit_args !1186 { + %3 = fcmp olt float %0, 0x3810000000000000 + %4 = fmul float %0, 0x4160000000000000 + %5 = select i1 %3, float -2.300000e+01, float 0.000000e+00 + %6 = bitcast float %0 to i32 + %7 = icmp eq i32 %6, 2139095040 + br i1 %7, label %8, label %9 + +8: ; preds = %2 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +9: ; preds = %2 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = icmp ugt i32 %11, 2139095040 + br i1 %12, label %13, label %14 + +13: ; preds = %9 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +14: ; preds = %9 + %15 = fcmp oeq float %0, 0.000000e+00 + br i1 %15, label %16, label %17 + +16: ; preds = %14 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +17: ; preds = %14 + %18 = fcmp olt float %0, 0.000000e+00 + br i1 %18, label %19, label %20 + +19: ; preds = %17 + store float 0xFFFFFFFFE0000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +20: ; preds = %17 + %21 = select i1 %3, float %4, float %0 + %22 = bitcast float %21 to i32 + %23 = add nsw i32 %22, -1059760811 + %24 = and i32 %23, 8388607 + %25 = add nuw nsw i32 %24, 1059760811 + %26 = ashr i32 %23, 23 + %27 = sitofp i32 %26 to float + %28 = fadd float %5, %27 + %29 = bitcast i32 %25 to float + %30 = fadd float %29, -1.000000e+00 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFC0805900000000, float noundef %30, float noundef 0x3FC1E66BA0000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %30, float noundef 0xBFBF3113C0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %30, float noundef 0x3FC1ED7180000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %30, float noundef 0xBFC559DCC0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %30, float noundef 0x3FC99D0280000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %30, float noundef 0xBFCFFFEF00000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %30, float noundef 0x3FD5555060000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %30, float noundef -5.000000e-01) #56 + %39 = fmul float %38, %30 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %30, float noundef %30) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3EB7F7D1C0000000, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3FE62E4000000000, float noundef %41) #56 + store float %42, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +43: ; preds = %20, %19, %16, %13, %8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_y1f(float noundef %0) local_unnamed_addr #31 !srcloc !1324 { + %2 = alloca float, align 4 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + %4 = bitcast float %0 to i32 + %5 = tail call float @llvm.fabs.f32(float %0) + %6 = bitcast float %5 to i32 + %7 = add i32 %4, -1 + %8 = icmp ult i32 %7, 2139095039 + br i1 %8, label %9, label %278 + +9: ; preds = %1 + %10 = icmp ult i32 %4, 1100816743 + br i1 %10, label %11, label %139 + +11: ; preds = %9 + %12 = icmp ult i32 %4, 1099170276 + br i1 %12, label %13, label %123 + +13: ; preds = %11 + %14 = icmp ult i32 %4, 1096140558 + br i1 %14, label %15, label %108 + +15: ; preds = %13 + %16 = icmp ult i32 %4, 1092849338 + br i1 %16, label %17, label %92 + +17: ; preds = %15 + %18 = icmp ult i32 %4, 1088602350 + br i1 %18, label %19, label %77 + +19: ; preds = %17 + %20 = icmp ult i32 %4, 1081952922 + br i1 %20, label %21, label %61 + +21: ; preds = %19 + %22 = icmp ult i32 %4, 1071812444 + br i1 %22, label %23, label %43 + +23: ; preds = %21 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #55 + call spir_func void @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_123__sy1_ep_ln_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) noundef %3) #54 + %24 = load float, ptr %2, align 4, !tbaa !731 + %25 = fmul float %24, 0x3FE45F3060000000 + %26 = fdiv float 0x3FE45F3060000000, %0 + %27 = fmul float %0, %0 + %28 = tail call float @llvm.fmuladd.f32(float %27, float 0x3E41FC6B20000000, float 0xBEB09E3960000000) + %29 = tail call float @llvm.fmuladd.f32(float %27, float %28, float 0x3F12C795C0000000) + %30 = tail call float @llvm.fmuladd.f32(float %27, float %29, float 0xBF6835B760000000) + %31 = tail call float @llvm.fmuladd.f32(float %27, float %30, float 0x3FABD39740000000) + %32 = tail call float @llvm.fmuladd.f32(float %27, float %31, float 0xBFC9186620000000) + %33 = fmul float %32, %0 + %34 = tail call float @llvm.fmuladd.f32(float %27, float 0xBE36F35160000000, float 0x3EA6B83040000000) + %35 = tail call float @llvm.fmuladd.f32(float %27, float %34, float 0xBF0C718B60000000) + %36 = tail call float @llvm.fmuladd.f32(float %27, float %35, float 0x3F655554A0000000) + %37 = tail call float @llvm.fmuladd.f32(float %27, float %36, float -6.250000e-02) + %38 = tail call float @llvm.fmuladd.f32(float %27, float %37, float 5.000000e-01) + %39 = fmul float %38, %0 + %40 = fmul float %25, %39 + %41 = fsub float %40, %26 + %42 = fadd float %33, %41 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #55 + br label %285 + +43: ; preds = %21 + %44 = fadd float %0, 0xC00193BEC0000000 + %45 = fadd float %44, 0xBE84DFF240000000 + %46 = tail call float @llvm.fmuladd.f32(float %45, float 0x3E70849EA0000000, float 0xBEAA196CA0000000) + %47 = tail call float @llvm.fmuladd.f32(float %45, float %46, float 0x3ED31E66C0000000) + %48 = tail call float @llvm.fmuladd.f32(float %45, float %47, float 0xBEF1B4EE80000000) + %49 = tail call float @llvm.fmuladd.f32(float %45, float %48, float 0x3F085F5BE0000000) + %50 = tail call float @llvm.fmuladd.f32(float %45, float %49, float 0xBF1C6778E0000000) + %51 = tail call float @llvm.fmuladd.f32(float %45, float %50, float 0x3F2F20A680000000) + %52 = tail call float @llvm.fmuladd.f32(float %45, float %51, float 0xBF40B84B00000000) + %53 = tail call float @llvm.fmuladd.f32(float %45, float %52, float 0x3F517A1220000000) + %54 = tail call float @llvm.fmuladd.f32(float %45, float %53, float 0xBF65424760000000) + %55 = tail call float @llvm.fmuladd.f32(float %45, float %54, float 0x3F7E6719A0000000) + %56 = tail call float @llvm.fmuladd.f32(float %45, float %55, float 0xBF73A6E260000000) + %57 = tail call float @llvm.fmuladd.f32(float %45, float %56, float 0xBFA0D2AF40000000) + %58 = tail call float @llvm.fmuladd.f32(float %45, float %57, float 0xBFBE56F820000000) + %59 = tail call float @llvm.fmuladd.f32(float %45, float %58, float 0x3FE0AA4840000000) + %60 = tail call float @llvm.fmuladd.f32(float %45, float %59, float 0x3C7CF9F8E0000000) + br label %285 + +61: ; preds = %19 + %62 = fadd float %0, 0xC015B7FE40000000 + %63 = fadd float %62, 0xBE8D0F6060000000 + %64 = tail call float @llvm.fmuladd.f32(float %63, float 0x3DA21937A0000000, float 0xBDFD7F07A0000000) + %65 = tail call float @llvm.fmuladd.f32(float %63, float %64, float 0x3E380972C0000000) + %66 = tail call float @llvm.fmuladd.f32(float %63, float %65, float 0x3E5B8B0140000000) + %67 = tail call float @llvm.fmuladd.f32(float %63, float %66, float 0xBEA25631C0000000) + %68 = tail call float @llvm.fmuladd.f32(float %63, float %67, float 0xBEC8069B60000000) + %69 = tail call float @llvm.fmuladd.f32(float %63, float %68, float 0x3F085B9660000000) + %70 = tail call float @llvm.fmuladd.f32(float %63, float %69, float 0x3F2337C9A0000000) + %71 = tail call float @llvm.fmuladd.f32(float %63, float %70, float 0xBF61BE6DC0000000) + %72 = tail call float @llvm.fmuladd.f32(float %63, float %71, float 0xBF710A32A0000000) + %73 = tail call float @llvm.fmuladd.f32(float %63, float %72, float 0x3FAA15D920000000) + %74 = tail call float @llvm.fmuladd.f32(float %63, float %73, float 0x3FA00B9F80000000) + %75 = tail call float @llvm.fmuladd.f32(float %63, float %74, float 0xBFD5C7C560000000) + %76 = tail call float @llvm.fmuladd.f32(float %63, float %75, float 0x3CA46A40C0000000) + br label %285 + +77: ; preds = %17 + %78 = fadd float %0, 0xC0213127A0000000 + %79 = fadd float %78, 0xBE9CC2D360000000 + %80 = tail call float @llvm.fmuladd.f32(float %79, float 0x3DEB52AA60000000, float 0xBE3335AB20000000) + %81 = tail call float @llvm.fmuladd.f32(float %79, float %80, float 0xBE5A537100000000) + %82 = tail call float @llvm.fmuladd.f32(float %79, float %81, float 0x3EA2B96620000000) + %83 = tail call float @llvm.fmuladd.f32(float %79, float %82, float 0x3EC1777AE0000000) + %84 = tail call float @llvm.fmuladd.f32(float %79, float %83, float 0xBF06F79BC0000000) + %85 = tail call float @llvm.fmuladd.f32(float %79, float %84, float 0xBF1B50DD60000000) + %86 = tail call float @llvm.fmuladd.f32(float %79, float %85, float 0x3F607A6740000000) + %87 = tail call float @llvm.fmuladd.f32(float %79, float %86, float 0x3F63CED2C0000000) + %88 = tail call float @llvm.fmuladd.f32(float %79, float %87, float 0xBFA6395E00000000) + %89 = tail call float @llvm.fmuladd.f32(float %79, float %88, float 0xBF902B3940000000) + %90 = tail call float @llvm.fmuladd.f32(float %79, float %89, float 0x3FD15F9940000000) + %91 = tail call float @llvm.fmuladd.f32(float %79, float %90, float 0xBC963BC020000000) + br label %285 + +92: ; preds = %15 + %93 = fadd float %0, 0xC0277F9120000000 + %94 = fadd float %93, 0xBEA8D43200000000 + %95 = tail call float @llvm.fmuladd.f32(float %94, float 0xBDBC50AA60000000, float 0xBDE449C6A0000000) + %96 = tail call float @llvm.fmuladd.f32(float %94, float %95, float 0x3E33870920000000) + %97 = tail call float @llvm.fmuladd.f32(float %94, float %96, float 0x3E54A11C40000000) + %98 = tail call float @llvm.fmuladd.f32(float %94, float %97, float 0xBEA1E837A0000000) + %99 = tail call float @llvm.fmuladd.f32(float %94, float %98, float 0xBEBA294C60000000) + %100 = tail call float @llvm.fmuladd.f32(float %94, float %99, float 0x3F05718080000000) + %101 = tail call float @llvm.fmuladd.f32(float %94, float %100, float 0x3F1315EB80000000) + %102 = tail call float @llvm.fmuladd.f32(float %94, float %101, float 0xBF5DC4F980000000) + %103 = tail call float @llvm.fmuladd.f32(float %94, float %102, float 0xBF59D6EB20000000) + %104 = tail call float @llvm.fmuladd.f32(float %94, float %103, float 0x3FA367D7E0000000) + %105 = tail call float @llvm.fmuladd.f32(float %94, float %104, float 0x3F84429FE0000000) + %106 = tail call float @llvm.fmuladd.f32(float %94, float %105, float 0xBFCDC14EA0000000) + %107 = tail call float @llvm.fmuladd.f32(float %94, float %106, float 0x3C5F96D320000000) + br label %285 + +108: ; preds = %13 + %109 = fadd float %0, 0xC02DCB7D80000000 + %110 = fadd float %109, 0xBE91BD0920000000 + %111 = tail call float @llvm.fmuladd.f32(float %110, float 0x3DE1FA85C0000000, float 0xBE31DEB740000000) + %112 = tail call float @llvm.fmuladd.f32(float %110, float %111, float 0xBE506481A0000000) + %113 = tail call float @llvm.fmuladd.f32(float %110, float %112, float 0x3EA0E45780000000) + %114 = tail call float @llvm.fmuladd.f32(float %110, float %113, float 0x3EB3F3FA80000000) + %115 = tail call float @llvm.fmuladd.f32(float %110, float %114, float 0xBF03E37960000000) + %116 = tail call float @llvm.fmuladd.f32(float %110, float %115, float 0xBF0C0AA2E0000000) + %117 = tail call float @llvm.fmuladd.f32(float %110, float %116, float 0x3F5B175F80000000) + %118 = tail call float @llvm.fmuladd.f32(float %110, float %117, float 0x3F526B0460000000) + %119 = tail call float @llvm.fmuladd.f32(float %110, float %118, float 0xBFA1631920000000) + %120 = tail call float @llvm.fmuladd.f32(float %110, float %119, float 0xBF7C650B60000000) + %121 = tail call float @llvm.fmuladd.f32(float %110, float %120, float 0x3FCA7022C0000000) + %122 = tail call float @llvm.fmuladd.f32(float %110, float %121, float 0x3CA2132020000000) + br label %285 + +123: ; preds = %11 + %124 = fadd float %0, 0xC0320B1C60000000 + %125 = fadd float %124, 0xBEA2BE3C80000000 + %126 = tail call float @llvm.fmuladd.f32(float %125, float 0xBDBAB2B060000000, float 0xBDDB2A3700000000) + %127 = tail call float @llvm.fmuladd.f32(float %125, float %126, float 0x3E31D892A0000000) + %128 = tail call float @llvm.fmuladd.f32(float %125, float %127, float 0x3E4A3B2640000000) + %129 = tail call float @llvm.fmuladd.f32(float %125, float %128, float 0xBE9FDCC5C0000000) + %130 = tail call float @llvm.fmuladd.f32(float %125, float %129, float 0xBEAF568360000000) + %131 = tail call float @llvm.fmuladd.f32(float %125, float %130, float 0x3F0282D1E0000000) + %132 = tail call float @llvm.fmuladd.f32(float %125, float %131, float 0x3F059144E0000000) + %133 = tail call float @llvm.fmuladd.f32(float %125, float %132, float 0xBF58EFEE40000000) + %134 = tail call float @llvm.fmuladd.f32(float %125, float %133, float 0xBF4BE318E0000000) + %135 = tail call float @llvm.fmuladd.f32(float %125, float %134, float 0x3F9FBE6E00000000) + %136 = tail call float @llvm.fmuladd.f32(float %125, float %135, float 0x3F754EDA60000000) + %137 = tail call float @llvm.fmuladd.f32(float %125, float %136, float 0xBFC80781C0000000) + %138 = tail call float @llvm.fmuladd.f32(float %125, float %137, float 0xBCB39D4C40000000) + br label %285 + +139: ; preds = %9 + %140 = fdiv float 1.000000e+00, %0 + %141 = fmul float %140, 1.600000e+01 + %142 = fmul float %141, %141 + %143 = fmul float %140, 0x3FE45F3060000000 + %144 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %143) #56 + %145 = and i32 %4, 8388607 + %146 = or i32 %145, 8388608 + %147 = and i32 %4, -2147483648 + %148 = lshr i32 %6, 23 + %149 = add nsw i32 %148, -115 + %150 = icmp ugt i32 %149, 32 + br i1 %150, label %151, label %201, !prof !1176 + +151: ; preds = %139 + %152 = icmp ult i32 %6, 973078528 + br i1 %152, label %261, label %153, !prof !1189 + +153: ; preds = %151 + %154 = icmp eq i32 %148, 255 + br i1 %154, label %155, label %158 + +155: ; preds = %153 + %156 = or i32 %4, 4194304 + %157 = bitcast i32 %156 to float + br label %261 + +158: ; preds = %153 + %159 = add nsw i32 %148, -150 + %160 = ashr i32 %159, 5 + %161 = add nsw i32 %160, 1 + %162 = and i32 %159, 31 + %163 = sext i32 %161 to i64 + %164 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_118__sy1_ep_invpi_tblE, i64 0, i64 %163 + %165 = load i32, ptr addrspace(1) %164, align 4, !tbaa !717 + %166 = mul i32 %165, %146 + %167 = add nsw i32 %160, 2 + %168 = sext i32 %167 to i64 + %169 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_118__sy1_ep_invpi_tblE, i64 0, i64 %168 + %170 = load i32, ptr addrspace(1) %169, align 4, !tbaa !717 + %171 = zext i32 %170 to i64 + %172 = zext nneg i32 %146 to i64 + %173 = mul nuw nsw i64 %171, %172 + %174 = zext i32 %166 to i64 + %175 = shl nuw i64 %174, 32 + %176 = add i64 %173, %175 + %177 = add nsw i32 %160, 3 + %178 = sext i32 %177 to i64 + %179 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_118__sy1_ep_invpi_tblE, i64 0, i64 %178 + %180 = load i32, ptr addrspace(1) %179, align 4, !tbaa !717 + %181 = zext i32 %180 to i64 + %182 = mul nuw nsw i64 %181, %172 + %183 = add nsw i32 %160, 4 + %184 = sext i32 %183 to i64 + %185 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_118__sy1_ep_invpi_tblE, i64 0, i64 %184 + %186 = load i32, ptr addrspace(1) %185, align 4, !tbaa !717 + %187 = zext i32 %186 to i64 + %188 = mul nuw nsw i64 %187, %172 + %189 = lshr i64 %188, 32 + %190 = add nuw nsw i64 %182, %189 + %191 = lshr i64 %190, 32 + %192 = add i64 %176, %191 + %193 = zext nneg i32 %162 to i64 + %194 = shl i64 %192, %193 + %195 = trunc i64 %190 to i32 + %196 = xor i32 %162, 31 + %197 = lshr i32 %195, %196 + %198 = lshr i32 %197, 1 + %199 = zext nneg i32 %198 to i64 + %200 = or i64 %194, %199 + br label %214 + +201: ; preds = %139 + %202 = zext nneg i32 %146 to i64 + %203 = mul nuw nsw i64 %202, 85445659 + %204 = mul nuw nsw i32 %146, 40 + %205 = mul nuw nsw i64 %202, 245770507392 + %206 = zext nneg i32 %204 to i64 + %207 = add nuw nsw i64 %205, %206 + %208 = zext i32 %149 to i64 + %209 = shl i64 %203, %208 + %210 = sub nuw nsw i32 154, %148 + %211 = zext i32 %210 to i64 + %212 = lshr i64 %207, %211 + %213 = add i64 %209, %212 + br label %214 + +214: ; preds = %201, %158 + %215 = phi i64 [ %200, %158 ], [ %213, %201 ] + %216 = add i64 %215, -6917529027641081856 + %217 = lshr i64 %216, 32 + %218 = trunc i64 %217 to i32 + %219 = add nsw i32 %218, 536870912 + %220 = shl i32 %218, 2 + %221 = sitofp i32 %220 to float + %222 = bitcast float %221 to i32 + %223 = lshr i32 %222, 23 + %224 = and i32 %223, 255 + %225 = sub nsw i32 159, %224 + %226 = icmp ult i32 %224, 158 + %227 = select i1 %226, i32 %225, i32 2 + %228 = zext i32 %227 to i64 + %229 = shl i64 %216, %228 + %230 = lshr i64 %229, 32 + %231 = trunc i64 %230 to i32 + %232 = sitofp i32 %231 to float + %233 = shl nsw i32 %227, 23 + %234 = sub i32 805306368, %233 + %235 = bitcast i32 %234 to float + %236 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %232, float noundef %235, float noundef 0.000000e+00) #56 + %237 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %236, float noundef %236, float noundef 0.000000e+00) #56 + %238 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %237, float noundef 0xBFF55C57C0000000) #56 + %239 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %237, float noundef 0x400465E920000000) #56 + %240 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef %237, float noundef 0x40103C1DC0000000) #56 + %241 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %239, float noundef %237, float noundef 0xC014ABBBA0000000) #56 + %242 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %240, float noundef %237, float noundef 0xC013BD3CC0000000) #56 + %243 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %241, float noundef %237, float noundef 0x400921FB60000000) #56 + %244 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %242, float noundef %237, float noundef 1.000000e+00) #56 + %245 = bitcast float %244 to i32 + %246 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %243, float noundef %236, float noundef 0.000000e+00) #56 + %247 = bitcast float %246 to i32 + %248 = and i32 %219, -2147483648 + %249 = shl i32 %219, 1 + %250 = and i32 %249, -2147483648 + %251 = xor i32 %250, %247 + %252 = xor i32 %251, %248 + %253 = xor i32 %248, %245 + %254 = and i32 %219, 1073741824 + %255 = icmp eq i32 %254, 0 + %256 = select i1 %255, i32 %252, i32 %253 + %257 = xor i32 %256, %147 + %258 = select i1 %255, i32 %253, i32 %252 + %259 = bitcast i32 %258 to float + %260 = bitcast i32 %257 to float + br label %261 + +261: ; preds = %214, %155, %151 + %262 = phi float [ %157, %155 ], [ %260, %214 ], [ %0, %151 ] + %263 = phi float [ %157, %155 ], [ %259, %214 ], [ 1.000000e+00, %151 ] + %264 = tail call float @llvm.fmuladd.f32(float %142, float 0x3DD6BE2B60000000, float 0xBE1AFBE9C0000000) + %265 = tail call float @llvm.fmuladd.f32(float %142, float %264, float 0x3E65A3D1E0000000) + %266 = tail call float @llvm.fmuladd.f32(float %142, float %265, float 0xBEC274FBE0000000) + %267 = tail call float @llvm.fmuladd.f32(float %142, float %266, float 0x3F3E000000000000) + %268 = tail call float @llvm.fmuladd.f32(float %142, float %267, float 1.000000e+00) + %269 = tail call float @llvm.fmuladd.f32(float %142, float 0xBDBAB63660000000, float 0x3DFA76F660000000) + %270 = tail call float @llvm.fmuladd.f32(float %142, float %269, float 0xBE3FDD85C0000000) + %271 = tail call float @llvm.fmuladd.f32(float %142, float %270, float 0x3E91C3C460000000) + %272 = tail call float @llvm.fmuladd.f32(float %142, float %271, float 0xBEFA400000000000) + %273 = tail call float @llvm.fmuladd.f32(float %142, float %272, float 2.343750e-02) + %274 = fmul float %141, %273 + %275 = fmul float %274, %263 + %276 = tail call float @llvm.fmuladd.f32(float %268, float %262, float %275) + %277 = fmul float %144, %276 + br label %285 + +278: ; preds = %1 + %279 = icmp ugt i32 %6, 2139095040 + %280 = icmp eq i32 %6, 0 + %281 = icmp sgt i32 %4, -1 + %282 = select i1 %281, float 0.000000e+00, float 0x7FF8000000000000 + %283 = select i1 %280, float 0xFFF0000000000000, float %282 + %284 = select i1 %279, float %0, float %283 + br label %285 + +285: ; preds = %278, %261, %123, %108, %92, %77, %61, %43, %23 + %286 = phi float [ %42, %23 ], [ %60, %43 ], [ %76, %61 ], [ %91, %77 ], [ %107, %92 ], [ %122, %108 ], [ %138, %123 ], [ %277, %261 ], [ %284, %278 ] + ret float %286 +} + +; Function Attrs: convergent mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_y1_s_ep12_GLOBAL__N_123__sy1_ep_ln_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #41 !srcloc !1325 !sycl_kernel_omit_args !1186 { + %3 = fcmp olt float %0, 0x3810000000000000 + %4 = fmul float %0, 0x4160000000000000 + %5 = select i1 %3, float -2.300000e+01, float 0.000000e+00 + %6 = bitcast float %0 to i32 + %7 = icmp eq i32 %6, 2139095040 + br i1 %7, label %8, label %9 + +8: ; preds = %2 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +9: ; preds = %2 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = icmp ugt i32 %11, 2139095040 + br i1 %12, label %13, label %14 + +13: ; preds = %9 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +14: ; preds = %9 + %15 = fcmp oeq float %0, 0.000000e+00 + br i1 %15, label %16, label %17 + +16: ; preds = %14 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +17: ; preds = %14 + %18 = fcmp olt float %0, 0.000000e+00 + br i1 %18, label %19, label %20 + +19: ; preds = %17 + store float 0xFFFFFFFFE0000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +20: ; preds = %17 + %21 = select i1 %3, float %4, float %0 + %22 = bitcast float %21 to i32 + %23 = add nsw i32 %22, -1059760811 + %24 = and i32 %23, 8388607 + %25 = add nuw nsw i32 %24, 1059760811 + %26 = ashr i32 %23, 23 + %27 = sitofp i32 %26 to float + %28 = fadd float %5, %27 + %29 = bitcast i32 %25 to float + %30 = fadd float %29, -1.000000e+00 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFC0805900000000, float noundef %30, float noundef 0x3FC1E66BA0000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %30, float noundef 0xBFBF3113C0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %30, float noundef 0x3FC1ED7180000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %30, float noundef 0xBFC559DCC0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %30, float noundef 0x3FC99D0280000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %30, float noundef 0xBFCFFFEF00000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %30, float noundef 0x3FD5555060000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %30, float noundef -5.000000e-01) #56 + %39 = fmul float %38, %30 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %30, float noundef %30) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3EB7F7D1C0000000, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3FE62E4000000000, float noundef %41) #56 + store float %42, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +43: ; preds = %20, %19, %16, %13, %8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ynf(i32 noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1326 { + %3 = alloca float, align 4 + %4 = alloca float, align 4 + %5 = alloca float, align 4 + %6 = alloca [2 x float], align 4 + %7 = alloca [2 x float], align 4 + %8 = alloca [2 x float], align 4 + %9 = alloca float, align 4 + %10 = addrspacecast ptr %9 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #55 + %11 = addrspacecast ptr %3 to ptr addrspace(4) + %12 = addrspacecast ptr %4 to ptr addrspace(4) + %13 = addrspacecast ptr %5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #55 + store i64 -9223372036854775808, ptr %8, align 4 + %14 = bitcast float %1 to i32 + %15 = tail call float @llvm.fabs.f32(float %1) + %16 = bitcast float %15 to i32 + %17 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + %18 = add i32 %14, -1 + %19 = icmp ult i32 %18, 2139095039 + br i1 %19, label %20, label %259 + +20: ; preds = %2 + %21 = icmp eq i32 %0, 0 + br i1 %21, label %22, label %23 + +22: ; preds = %20 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y0_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %10) #54 + br label %274 + +23: ; preds = %20 + %24 = icmp eq i32 %17, 1 + br i1 %24, label %25, label %26 + +25: ; preds = %23 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y1_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %10) #54 + br label %274 + +26: ; preds = %23 + %27 = xor i32 %14, %0 + %28 = lshr i32 %27, 31 + %29 = and i32 %28, %0 + %30 = lshr i32 %17, 3 + %31 = icmp ult i32 %17, 2568 + br i1 %31, label %32, label %36 + +32: ; preds = %26 + %33 = zext nneg i32 %30 to i64 + %34 = getelementptr inbounds [321 x float], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_113function_infsE, i64 0, i64 %33 + %35 = load float, ptr addrspace(1) %34, align 4, !tbaa !731 + br label %41 + +36: ; preds = %26 + %37 = mul nuw nsw i32 %30, 7 + %38 = add nsw i32 %37, -2240 + %39 = sitofp i32 %38 to float + %40 = fadd float %39, 2.278000e+03 + br label %41 + +41: ; preds = %36, %32 + %42 = phi float [ %40, %36 ], [ %35, %32 ] + store float %42, ptr %3, align 4, !tbaa !731 + %43 = fcmp ogt float %42, %1 + br i1 %43, label %44, label %45 + +44: ; preds = %41 + store float 0xFFF0000000000000, ptr %9, align 4, !tbaa !731 + br label %274 + +45: ; preds = %41 + %46 = icmp ult i32 %17, 6 + %47 = fcmp ole float %1, 0x3FE3333340000000 + %48 = and i1 %46, %47 + br i1 %48, label %49, label %129 + +49: ; preds = %45 + %50 = fmul float %1, 5.000000e-01 + %51 = fdiv float 2.000000e+00, %1 + br label %52 + +52: ; preds = %61, %49 + %53 = phi float [ 1.000000e+00, %49 ], [ %68, %61 ] + %54 = phi float [ 0.000000e+00, %49 ], [ %66, %61 ] + %55 = phi float [ undef, %49 ], [ %57, %61 ] + %56 = phi float [ 0x3FD45F3060000000, %49 ], [ %63, %61 ] + %57 = phi float [ 1.000000e+00, %49 ], [ %64, %61 ] + %58 = phi float [ 1.000000e+00, %49 ], [ %62, %61 ] + %59 = phi i32 [ 1, %49 ], [ %67, %61 ] + %60 = icmp ugt i32 %59, %17 + br i1 %60, label %69, label %61 + +61: ; preds = %52 + %62 = fmul float %58, %50 + %63 = fmul float %56, %51 + %64 = fmul float %57, %53 + %65 = fdiv float 1.000000e+00, %53 + %66 = fadd float %54, %65 + %67 = add nuw nsw i32 %59, 1 + %68 = fadd float %53, 1.000000e+00 + br label %52, !llvm.loop !1327 + +69: ; preds = %52 + %70 = fneg float %50 + %71 = fmul float %50, %70 + br label %72 + +72: ; preds = %72, %69 + %73 = phi float [ %54, %69 ], [ %92, %72 ] + %74 = phi float [ 1.000000e+00, %69 ], [ %90, %72 ] + %75 = phi float [ %54, %69 ], [ %88, %72 ] + %76 = phi float [ %54, %69 ], [ %95, %72 ] + %77 = phi float [ 1.000000e+00, %69 ], [ %91, %72 ] + %78 = phi i32 [ 100, %69 ], [ %97, %72 ] + %79 = phi i32 [ 0, %69 ], [ %80, %72 ] + %80 = add nuw nsw i32 %79, 1 + %81 = add nuw i32 %17, %80 + %82 = mul i32 %80, %81 + %83 = uitofp i32 %82 to float + %84 = fdiv float 1.000000e+00, %83 + %85 = shl nuw nsw i32 %80, 1 + %86 = add nuw i32 %17, %85 + %87 = uitofp i32 %86 to float + %88 = tail call float @llvm.fmuladd.f32(float %87, float %84, float %75) + %89 = fmul float %74, %71 + %90 = fmul float %89, %84 + %91 = fadd float %77, %90 + %92 = tail call float @llvm.fmuladd.f32(float %90, float %88, float %73) + %93 = fmul float %92, 7.680000e+02 + %94 = fadd float %92, %93 + %95 = fsub float %94, %93 + %96 = fcmp oeq float %95, %76 + %97 = add nsw i32 %78, -1 + %98 = icmp eq i32 %78, 0 + %99 = select i1 %96, i1 true, i1 %98 + br i1 %99, label %100, label %72, !llvm.loop !1328 + +100: ; preds = %72 + %101 = fdiv float %58, %57 + %102 = fmul float %91, %101 + %103 = fmul float %1, 0x3FEC7F45C0000000 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_ln_ep_kernel_fp32EfPf(float noundef %103, ptr addrspace(4) noundef %12) #54 + %104 = fmul float %102, 0x3FE45F3060000000 + %105 = load float, ptr %4, align 4, !tbaa !731 + %106 = fmul float %92, 0xBFD45F3060000000 + %107 = fmul float %106, %101 + %108 = tail call float @llvm.fmuladd.f32(float %104, float %105, float %107) + %109 = fneg float %71 + br label %110 + +110: ; preds = %115, %100 + %111 = phi float [ %55, %100 ], [ %121, %115 ] + %112 = phi float [ %55, %100 ], [ %120, %115 ] + %113 = phi i32 [ 1, %100 ], [ %122, %115 ] + %114 = icmp ult i32 %113, %17 + br i1 %114, label %115, label %123 + +115: ; preds = %110 + %116 = fmul float %112, %109 + %117 = sub nsw i32 %17, %113 + %118 = mul nsw i32 %113, %117 + %119 = uitofp i32 %118 to float + %120 = fdiv float %116, %119 + %121 = fadd float %111, %120 + %122 = add nuw nsw i32 %113, 1 + br label %110, !llvm.loop !1329 + +123: ; preds = %110 + %124 = fneg float %111 + %125 = tail call float @llvm.fmuladd.f32(float %124, float %56, float %108) + %126 = icmp eq i32 %29, 0 + %127 = fneg float %125 + %128 = select i1 %126, float %125, float %127 + store float %128, ptr %9, align 4, !tbaa !731 + br label %274 + +129: ; preds = %45 + %130 = icmp ult i32 %17, 80 + br i1 %130, label %136, label %131 + +131: ; preds = %129 + %132 = mul i32 %17, 5 + %133 = add i32 %132, 5000 + %134 = uitofp i32 %133 to float + %135 = fcmp ogt float %134, %1 + br i1 %135, label %136, label %163 + +136: ; preds = %131, %129 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y0_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %13) #54 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y1_ep_kernel_fp32EPKfPf(float %1, ptr addrspace(4) noundef %11) #54 + %137 = load i32, ptr %3, align 4 + %138 = icmp eq i32 %137, -8388608 + %139 = bitcast i32 %137 to float + %140 = select i1 %138, float 0xC7EFFFFFE0000000, float %139 + %141 = load float, ptr %5, align 4, !tbaa !731 + br label %142 + +142: ; preds = %155, %136 + %143 = phi float [ %141, %136 ], [ %144, %155 ] + %144 = phi float [ %140, %136 ], [ %152, %155 ] + %145 = phi i32 [ 1, %136 ], [ %156, %155 ] + %146 = icmp ult i32 %145, %17 + br i1 %146, label %147, label %157 + +147: ; preds = %142 + %148 = sitofp i32 %145 to float + %149 = fmul float %148, 2.000000e+00 + %150 = fdiv float %149, %1 + %151 = fneg float %143 + %152 = tail call float @llvm.fmuladd.f32(float %150, float %144, float %151) + %153 = bitcast float %152 to i32 + %154 = icmp eq i32 %153, -8388608 + br i1 %154, label %161, label %155 + +155: ; preds = %147 + %156 = add nuw nsw i32 %145, 1 + br label %142, !llvm.loop !1330 + +157: ; preds = %142 + %158 = icmp eq i32 %29, 0 + %159 = fneg float %144 + %160 = select i1 %158, float %144, float %159 + br label %161 + +161: ; preds = %157, %147 + %162 = phi float [ %160, %157 ], [ %152, %147 ] + store float %162, ptr %9, align 4, !tbaa !731 + br label %274 + +163: ; preds = %131 + %164 = uitofp i32 %17 to float + %165 = fmul float %164, 4.000000e+00 + %166 = fmul float %165, %164 + %167 = fmul float %1, 8.000000e+00 + %168 = fadd float %166, -1.000000e+00 + %169 = fdiv float %168, %167 + br label %170 + +170: ; preds = %215, %163 + %171 = phi float [ %169, %163 ], [ %192, %215 ] + %172 = phi float [ 2.000000e+00, %163 ], [ %200, %215 ] + %173 = phi float [ 3.000000e+00, %163 ], [ %202, %215 ] + %174 = phi float [ 3.000000e+00, %163 ], [ %201, %215 ] + %175 = phi float [ 5.000000e+00, %163 ], [ %203, %215 ] + %176 = phi float [ 1.000000e+00, %163 ], [ %209, %215 ] + %177 = phi float [ 1.000000e+00, %163 ], [ %213, %215 ] + %178 = phi float [ %169, %163 ], [ %196, %215 ] + %179 = phi float [ 1.000000e+00, %163 ], [ %199, %215 ] + %180 = phi i32 [ 100, %163 ], [ %217, %215 ] + %181 = phi i32 [ -1, %163 ], [ %216, %215 ] + %182 = phi i32 [ 0, %163 ], [ %210, %215 ] + %183 = fneg float %173 + %184 = tail call float @llvm.fmuladd.f32(float %183, float %173, float %166) + %185 = fmul float %172, %167 + %186 = fdiv float %184, %185 + %187 = fmul float %171, %186 + %188 = fneg float %175 + %189 = tail call float @llvm.fmuladd.f32(float %188, float %175, float %166) + %190 = fmul float %174, %167 + %191 = fdiv float %189, %190 + %192 = fmul float %191, %187 + %193 = icmp sgt i32 %181, 0 + %194 = fneg float %192 + %195 = select i1 %193, float %192, float %194 + %196 = fadd float %178, %195 + %197 = fneg float %187 + %198 = select i1 %193, float %187, float %197 + %199 = fadd float %179, %198 + %200 = fadd float %172, 2.000000e+00 + %201 = fadd float %174, 2.000000e+00 + %202 = fadd float %173, 4.000000e+00 + %203 = fadd float %175, 4.000000e+00 + %204 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %192) #56 + %205 = fcmp olt float %204, %176 + br i1 %205, label %208, label %206 + +206: ; preds = %170 + %207 = icmp eq i32 %182, 0 + br i1 %207, label %208, label %219 + +208: ; preds = %206, %170 + %209 = phi float [ %176, %206 ], [ %204, %170 ] + %210 = phi i32 [ 0, %206 ], [ 1, %170 ] + %211 = fmul float %199, 7.680000e+02 + %212 = fadd float %199, %211 + %213 = fsub float %212, %211 + %214 = fcmp une float %213, %177 + br i1 %214, label %215, label %219 + +215: ; preds = %208 + %216 = sub nsw i32 0, %181 + %217 = add nsw i32 %180, -1 + %218 = icmp eq i32 %180, 0 + br i1 %218, label %219, label %170, !llvm.loop !1331 + +219: ; preds = %215, %208, %206 + %220 = shl nuw i32 %17, 1 + %221 = xor i32 %220, -1 + %222 = getelementptr inbounds [2 x float], ptr %6, i64 0, i64 0 + %223 = addrspacecast ptr %222 to ptr addrspace(4) + %224 = getelementptr inbounds [2 x float], ptr %7, i64 0, i64 0 + %225 = addrspacecast ptr %224 to ptr addrspace(4) + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_130__syn_sincos_hl_ep_kernel_fp32EfiPfS1_(float noundef %1, i32 noundef %221, ptr addrspace(4) noundef %223, ptr addrspace(4) noundef %225) #54 + %226 = load float, ptr %222, align 4, !tbaa !731 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %199, float noundef 0.000000e+00) #56 + %228 = fneg float %227 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %199, float noundef %228) #56 + %230 = getelementptr inbounds [2 x float], ptr %6, i64 0, i64 1 + %231 = load float, ptr %230, align 4, !tbaa !731 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %231, float noundef %199, float noundef %229) #56 + %233 = load float, ptr %224, align 4, !tbaa !731 + %234 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %233, float noundef %196, float noundef 0.000000e+00) #56 + %235 = fneg float %234 + %236 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %233, float noundef %196, float noundef %235) #56 + %237 = getelementptr inbounds [2 x float], ptr %7, i64 0, i64 1 + %238 = load float, ptr %237, align 4, !tbaa !731 + %239 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %238, float noundef %196, float noundef %236) #56 + %240 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %227) #56 + %241 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %234) #56 + %242 = fcmp ole float %240, %241 + %243 = select i1 %242, float %234, float %227 + %244 = select i1 %242, float %227, float %234 + %245 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %244, float noundef 1.000000e+00, float noundef %243) #56 + %246 = fneg float %243 + %247 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %245, float noundef 1.000000e+00, float noundef %246) #56 + %248 = fneg float %247 + %249 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %244, float noundef 1.000000e+00, float noundef %248) #56 + %250 = fadd float %232, %239 + %251 = fadd float %250, %249 + %252 = fdiv float 0x3FE45F3060000000, %1 + %253 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %252) #56 + %254 = fadd float %245, %251 + %255 = fmul float %253, %254 + %256 = icmp eq i32 %29, 0 + %257 = fneg float %255 + %258 = select i1 %256, float %255, float %257 + store float %258, ptr %9, align 4, !tbaa !731 + br label %274 + +259: ; preds = %2 + %260 = icmp ugt i32 %16, 2139095040 + br i1 %260, label %261, label %262 + +261: ; preds = %259 + store float %1, ptr %9, align 4, !tbaa !731 + br label %274 + +262: ; preds = %259 + %263 = icmp eq i32 %16, 0 + br i1 %263, label %264, label %265 + +264: ; preds = %262 + store float 0xFFF0000000000000, ptr %9, align 4, !tbaa !731 + br label %274 + +265: ; preds = %262 + %266 = icmp sgt i32 %14, -1 + br i1 %266, label %268, label %267 + +267: ; preds = %265 + store float 0x7FF8000000000000, ptr %9, align 4, !tbaa !731 + br label %274 + +268: ; preds = %265 + %269 = lshr i32 %0, 31 + %270 = and i32 %269, %0 + %271 = zext nneg i32 %270 to i64 + %272 = getelementptr inbounds [2 x float], ptr %8, i64 0, i64 %271 + %273 = load float, ptr %272, align 4, !tbaa !731 + store float %273, ptr %9, align 4, !tbaa !731 + br label %274 + +274: ; preds = %268, %267, %264, %261, %219, %161, %123, %44, %25, %22 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + %275 = load float, ptr %9, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #55 + ret float %275 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y0_ep_kernel_fp32EPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1332 !sycl_kernel_omit_args !1186 { + %3 = alloca float, align 4 + %4 = alloca float, align 4 + %5 = alloca float, align 4 + %6 = addrspacecast ptr %3 to ptr addrspace(4) + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = bitcast float %0 to i32 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = add i32 %9, -1 + %13 = icmp ult i32 %12, 2139095039 + br i1 %13, label %14, label %451 + +14: ; preds = %2 + %15 = icmp ult i32 %9, 1099978979 + br i1 %15, label %16, label %429 + +16: ; preds = %14 + %17 = icmp ult i32 %9, 1094450314 + br i1 %17, label %18, label %398 + +18: ; preds = %16 + %19 = icmp ult i32 %9, 1085128690 + br i1 %19, label %20, label %365 + +20: ; preds = %18 + %21 = icmp ult i32 %9, 1074568695 + br i1 %21, label %22, label %345 + +22: ; preds = %20 + %23 = icmp ult i32 %9, 1058642330 + br i1 %23, label %24, label %39 + +24: ; preds = %22 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_ln_ep_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) noundef %6) #54 + %25 = load float, ptr %3, align 4, !tbaa !731 + %26 = fmul float %25, 0x3FE45F3060000000 + %27 = fmul float %0, %0 + %28 = tail call float @llvm.fmuladd.f32(float %27, float 0xBEE3B7A080000000, float 0x3F41A5E140000000) + %29 = tail call float @llvm.fmuladd.f32(float %27, float %28, float 0xBF9075B180000000) + %30 = tail call float @llvm.fmuladd.f32(float %27, float %29, float 0x3FC6BBCB40000000) + %31 = tail call float @llvm.fmuladd.f32(float %27, float %30, float 0xBFB2E4D6A0000000) + %32 = tail call float @llvm.fmuladd.f32(float %27, float 0x3EDC3D8980000000, float 0xBF3C719820000000) + %33 = tail call float @llvm.fmuladd.f32(float %27, float %32, float 0x3F8FFFFFE0000000) + %34 = tail call float @llvm.fmuladd.f32(float %27, float %33, float -2.500000e-01) + %35 = fmul float %27, %34 + %36 = fmul float %26, %35 + %37 = fadd float %31, %36 + %38 = fadd float %37, %26 + store float %38, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + br label %461 + +39: ; preds = %22 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFEC982EA0000000, float noundef 1.000000e+00, float noundef %0) #56 + %41 = fneg float %0 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %40, float noundef 1.000000e+00, float noundef %41) #56 + %43 = fneg float %42 + %44 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFEC982EA0000000, float noundef 1.000000e+00, float noundef %43) #56 + %45 = fadd float %44, 0xBE68D417E0000000 + %46 = fadd float %40, %45 + %47 = tail call float @llvm.fmuladd.f32(float %46, float 0xBF32337720000000, float 0x3F69C12EC0000000) + %48 = tail call float @llvm.fmuladd.f32(float %46, float %47, float 0xBF90AB3580000000) + %49 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %40, float noundef 0.000000e+00) #56 + %50 = fneg float %49 + %51 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %40, float noundef %50) #56 + %52 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0.000000e+00, float noundef %40, float noundef %51) #56 + %53 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %48, float noundef %45, float noundef %52) #56 + %54 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %49) #56 + %55 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FAA3A98C0000000) #56 + %56 = fcmp ole float %54, %55 + %57 = select i1 %56, float 0x3FAA3A98C0000000, float %49 + %58 = select i1 %56, float %49, float 0x3FAA3A98C0000000 + %59 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef 1.000000e+00, float noundef %57) #56 + %60 = fneg float %57 + %61 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef 1.000000e+00, float noundef %60) #56 + %62 = fneg float %61 + %63 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %58, float noundef 1.000000e+00, float noundef %62) #56 + %64 = fadd float %53, 0x3E12BA6C60000000 + %65 = fadd float %64, %63 + %66 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %40, float noundef 0.000000e+00) #56 + %67 = fneg float %66 + %68 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %40, float noundef %67) #56 + %69 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %65, float noundef %40, float noundef %68) #56 + %70 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %59, float noundef %45, float noundef %69) #56 + %71 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %66) #56 + %72 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFBC3594A0000000) #56 + %73 = fcmp ole float %71, %72 + %74 = select i1 %73, float 0xBFBC3594A0000000, float %66 + %75 = select i1 %73, float %66, float 0xBFBC3594A0000000 + %76 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef 1.000000e+00, float noundef %74) #56 + %77 = fneg float %74 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef 1.000000e+00, float noundef %77) #56 + %79 = fneg float %78 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef 1.000000e+00, float noundef %79) #56 + %81 = fadd float %70, 0xBE2E466CA0000000 + %82 = fadd float %81, %80 + %83 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %40, float noundef 0.000000e+00) #56 + %84 = fneg float %83 + %85 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %40, float noundef %84) #56 + %86 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef %40, float noundef %85) #56 + %87 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %45, float noundef %86) #56 + %88 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %83) #56 + %89 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC6434CE0000000) #56 + %90 = fcmp ole float %88, %89 + %91 = select i1 %90, float 0x3FC6434CE0000000, float %83 + %92 = select i1 %90, float %83, float 0x3FC6434CE0000000 + %93 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef 1.000000e+00, float noundef %91) #56 + %94 = fneg float %91 + %95 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef 1.000000e+00, float noundef %94) #56 + %96 = fneg float %95 + %97 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %92, float noundef 1.000000e+00, float noundef %96) #56 + %98 = fadd float %87, 0x3E4DF2D3A0000000 + %99 = fadd float %98, %97 + %100 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %40, float noundef 0.000000e+00) #56 + %101 = fneg float %100 + %102 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %40, float noundef %101) #56 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %99, float noundef %40, float noundef %102) #56 + %104 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %93, float noundef %45, float noundef %103) #56 + %105 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %100) #56 + %106 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCB6CBC20000000) #56 + %107 = fcmp ole float %105, %106 + %108 = select i1 %107, float 0xBFCB6CBC20000000, float %100 + %109 = select i1 %107, float %100, float 0xBFCB6CBC20000000 + %110 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef 1.000000e+00, float noundef %108) #56 + %111 = fneg float %108 + %112 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef 1.000000e+00, float noundef %111) #56 + %113 = fneg float %112 + %114 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %109, float noundef 1.000000e+00, float noundef %113) #56 + %115 = fadd float %104, 0xBE12101560000000 + %116 = fadd float %115, %114 + %117 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef %40, float noundef 0.000000e+00) #56 + %118 = fneg float %117 + %119 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef %40, float noundef %118) #56 + %120 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %40, float noundef %119) #56 + %121 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef %45, float noundef %120) #56 + %122 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %117) #56 + %123 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC5ED8E0000000) #56 + %124 = fcmp ole float %122, %123 + %125 = select i1 %124, float 0x3FCC5ED8E0000000, float %117 + %126 = select i1 %124, float %117, float 0x3FCC5ED8E0000000 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %126, float noundef 1.000000e+00, float noundef %125) #56 + %128 = fneg float %125 + %129 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef 1.000000e+00, float noundef %128) #56 + %130 = fneg float %129 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %126, float noundef 1.000000e+00, float noundef %130) #56 + %132 = fadd float %121, 0x3E0A7F1080000000 + %133 = fadd float %132, %131 + %134 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %40, float noundef 0.000000e+00) #56 + %135 = fneg float %134 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %40, float noundef %135) #56 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %40, float noundef %136) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %45, float noundef %137) #56 + %139 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %134) #56 + %140 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCAFBBAA0000000) #56 + %141 = fcmp ole float %139, %140 + %142 = select i1 %141, float 0xBFCAFBBAA0000000, float %134 + %143 = select i1 %141, float %134, float 0xBFCAFBBAA0000000 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef 1.000000e+00, float noundef %142) #56 + %145 = fneg float %142 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef 1.000000e+00, float noundef %145) #56 + %147 = fneg float %146 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef 1.000000e+00, float noundef %147) #56 + %149 = fadd float %138, 0xBE4FE4A220000000 + %150 = fadd float %149, %148 + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef %40, float noundef 0.000000e+00) #56 + %152 = fneg float %151 + %153 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef %40, float noundef %152) #56 + %154 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %150, float noundef %40, float noundef %153) #56 + %155 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef %45, float noundef %154) #56 + %156 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %151) #56 + %157 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC99180E0000000) #56 + %158 = fcmp ole float %156, %157 + %159 = select i1 %158, float 0x3FC99180E0000000, float %151 + %160 = select i1 %158, float %151, float 0x3FC99180E0000000 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef 1.000000e+00, float noundef %159) #56 + %162 = fneg float %159 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef 1.000000e+00, float noundef %162) #56 + %164 = fneg float %163 + %165 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef 1.000000e+00, float noundef %164) #56 + %166 = fadd float %155, 0x3E41CBB4C0000000 + %167 = fadd float %166, %165 + %168 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %40, float noundef 0.000000e+00) #56 + %169 = fneg float %168 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %40, float noundef %169) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %167, float noundef %40, float noundef %170) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %161, float noundef %45, float noundef %171) #56 + %173 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %168) #56 + %174 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFC8E4FA20000000) #56 + %175 = fcmp ole float %173, %174 + %176 = select i1 %175, float 0xBFC8E4FA20000000, float %168 + %177 = select i1 %175, float %168, float 0xBFC8E4FA20000000 + %178 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef %176) #56 + %179 = fneg float %176 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %178, float noundef 1.000000e+00, float noundef %179) #56 + %181 = fneg float %180 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef %181) #56 + %183 = fadd float %172, 0xBE3C35A840000000 + %184 = fadd float %183, %182 + %185 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %178, float noundef %40, float noundef 0.000000e+00) #56 + %186 = fneg float %185 + %187 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %178, float noundef %40, float noundef %186) #56 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %184, float noundef %40, float noundef %187) #56 + %189 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %178, float noundef %45, float noundef %188) #56 + %190 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %185) #56 + %191 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC8B78E00000000) #56 + %192 = fcmp ole float %190, %191 + %193 = select i1 %192, float 0x3FC8B78E00000000, float %185 + %194 = select i1 %192, float %185, float 0x3FC8B78E00000000 + %195 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef 1.000000e+00, float noundef %193) #56 + %196 = fneg float %193 + %197 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef 1.000000e+00, float noundef %196) #56 + %198 = fneg float %197 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %194, float noundef 1.000000e+00, float noundef %198) #56 + %200 = fadd float %189, 0x3E490DBDE0000000 + %201 = fadd float %200, %199 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %40, float noundef 0.000000e+00) #56 + %203 = fneg float %202 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %40, float noundef %203) #56 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %201, float noundef %40, float noundef %204) #56 + %206 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %195, float noundef %45, float noundef %205) #56 + %207 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %202) #56 + %208 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFC8D324C0000000) #56 + %209 = fcmp ole float %207, %208 + %210 = select i1 %209, float 0xBFC8D324C0000000, float %202 + %211 = select i1 %209, float %202, float 0xBFC8D324C0000000 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %211, float noundef 1.000000e+00, float noundef %210) #56 + %213 = fneg float %210 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef 1.000000e+00, float noundef %213) #56 + %215 = fneg float %214 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %211, float noundef 1.000000e+00, float noundef %215) #56 + %217 = fadd float %206, 0xBE21D89AA0000000 + %218 = fadd float %217, %216 + %219 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef %40, float noundef 0.000000e+00) #56 + %220 = fneg float %219 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef %40, float noundef %220) #56 + %222 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %218, float noundef %40, float noundef %221) #56 + %223 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %212, float noundef %45, float noundef %222) #56 + %224 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %219) #56 + %225 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FC942DE40000000) #56 + %226 = fcmp ole float %224, %225 + %227 = select i1 %226, float 0x3FC942DE40000000, float %219 + %228 = select i1 %226, float %219, float 0x3FC942DE40000000 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef 1.000000e+00, float noundef %227) #56 + %230 = fneg float %227 + %231 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %229, float noundef 1.000000e+00, float noundef %230) #56 + %232 = fneg float %231 + %233 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %228, float noundef 1.000000e+00, float noundef %232) #56 + %234 = fadd float %223, 0x3E4D986600000000 + %235 = fadd float %234, %233 + %236 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %229, float noundef %40, float noundef 0.000000e+00) #56 + %237 = fneg float %236 + %238 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %229, float noundef %40, float noundef %237) #56 + %239 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %235, float noundef %40, float noundef %238) #56 + %240 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %229, float noundef %45, float noundef %239) #56 + %241 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %236) #56 + %242 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCA397E20000000) #56 + %243 = fcmp ole float %241, %242 + %244 = select i1 %243, float 0xBFCA397E20000000, float %236 + %245 = select i1 %243, float %236, float 0xBFCA397E20000000 + %246 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %245, float noundef 1.000000e+00, float noundef %244) #56 + %247 = fneg float %244 + %248 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %246, float noundef 1.000000e+00, float noundef %247) #56 + %249 = fneg float %248 + %250 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %245, float noundef 1.000000e+00, float noundef %249) #56 + %251 = fadd float %240, 0xBE4035C760000000 + %252 = fadd float %251, %250 + %253 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %246, float noundef %40, float noundef 0.000000e+00) #56 + %254 = fneg float %253 + %255 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %246, float noundef %40, float noundef %254) #56 + %256 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %252, float noundef %40, float noundef %255) #56 + %257 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %246, float noundef %45, float noundef %256) #56 + %258 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %253) #56 + %259 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC067CA0000000) #56 + %260 = fcmp ole float %258, %259 + %261 = select i1 %260, float 0x3FCC067CA0000000, float %253 + %262 = select i1 %260, float %253, float 0x3FCC067CA0000000 + %263 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %262, float noundef 1.000000e+00, float noundef %261) #56 + %264 = fneg float %261 + %265 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %263, float noundef 1.000000e+00, float noundef %264) #56 + %266 = fneg float %265 + %267 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %262, float noundef 1.000000e+00, float noundef %266) #56 + %268 = fadd float %257, 0x3E22D87FC0000000 + %269 = fadd float %268, %267 + %270 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %263, float noundef %40, float noundef 0.000000e+00) #56 + %271 = fneg float %270 + %272 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %263, float noundef %40, float noundef %271) #56 + %273 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %269, float noundef %40, float noundef %272) #56 + %274 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %263, float noundef %45, float noundef %273) #56 + %275 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %270) #56 + %276 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFCCF18DA0000000) #56 + %277 = fcmp ole float %275, %276 + %278 = select i1 %277, float 0xBFCCF18DA0000000, float %270 + %279 = select i1 %277, float %270, float 0xBFCCF18DA0000000 + %280 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %279, float noundef 1.000000e+00, float noundef %278) #56 + %281 = fneg float %278 + %282 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %280, float noundef 1.000000e+00, float noundef %281) #56 + %283 = fneg float %282 + %284 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %279, float noundef 1.000000e+00, float noundef %283) #56 + %285 = fadd float %274, 0xBE401F1A80000000 + %286 = fadd float %285, %284 + %287 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %280, float noundef %40, float noundef 0.000000e+00) #56 + %288 = fneg float %287 + %289 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %280, float noundef %40, float noundef %288) #56 + %290 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %286, float noundef %40, float noundef %289) #56 + %291 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %280, float noundef %45, float noundef %290) #56 + %292 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %287) #56 + %293 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FCC3B1340000000) #56 + %294 = fcmp ole float %292, %293 + %295 = select i1 %294, float 0x3FCC3B1340000000, float %287 + %296 = select i1 %294, float %287, float 0x3FCC3B1340000000 + %297 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %296, float noundef 1.000000e+00, float noundef %295) #56 + %298 = fneg float %295 + %299 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef 1.000000e+00, float noundef %298) #56 + %300 = fneg float %299 + %301 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %296, float noundef 1.000000e+00, float noundef %300) #56 + %302 = fadd float %291, 0x3E1CB43940000000 + %303 = fadd float %302, %301 + %304 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %40, float noundef 0.000000e+00) #56 + %305 = fneg float %304 + %306 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %40, float noundef %305) #56 + %307 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %303, float noundef %40, float noundef %306) #56 + %308 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %297, float noundef %45, float noundef %307) #56 + %309 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %304) #56 + %310 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0xBFDF7E38A0000000) #56 + %311 = fcmp ole float %309, %310 + %312 = select i1 %311, float 0xBFDF7E38A0000000, float %304 + %313 = select i1 %311, float %304, float 0xBFDF7E38A0000000 + %314 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %313, float noundef 1.000000e+00, float noundef %312) #56 + %315 = fneg float %312 + %316 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %314, float noundef 1.000000e+00, float noundef %315) #56 + %317 = fneg float %316 + %318 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %313, float noundef 1.000000e+00, float noundef %317) #56 + %319 = fadd float %308, 0xBE35E717C0000000 + %320 = fadd float %319, %318 + %321 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %314, float noundef %40, float noundef 0.000000e+00) #56 + %322 = fneg float %321 + %323 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %314, float noundef %40, float noundef %322) #56 + %324 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %320, float noundef %40, float noundef %323) #56 + %325 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %314, float noundef %45, float noundef %324) #56 + %326 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %321) #56 + %327 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef 0x3FEC243700000000) #56 + %328 = fcmp ole float %326, %327 + %329 = select i1 %328, float 0x3FEC243700000000, float %321 + %330 = select i1 %328, float %321, float 0x3FEC243700000000 + %331 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %330, float noundef 1.000000e+00, float noundef %329) #56 + %332 = fneg float %329 + %333 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %331, float noundef 1.000000e+00, float noundef %332) #56 + %334 = fneg float %333 + %335 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %330, float noundef 1.000000e+00, float noundef %334) #56 + %336 = fadd float %325, 0x3E68421E40000000 + %337 = fadd float %336, %335 + %338 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %331, float noundef %40, float noundef 0.000000e+00) #56 + %339 = fneg float %338 + %340 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %331, float noundef %40, float noundef %339) #56 + %341 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %337, float noundef %40, float noundef %340) #56 + %342 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %331, float noundef %45, float noundef %341) #56 + %343 = fadd float %338, %342 + %344 = fadd float %343, 0xBC7AF74C00000000 + store float %344, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +345: ; preds = %20 + %346 = fadd float %0, 0xC00FA95340000000 + %347 = fadd float %346, 0xBE7B30AD40000000 + %348 = tail call float @llvm.fmuladd.f32(float %347, float 0x3DA90E9740000000, float 0xBDAEB00080000000) + %349 = tail call float @llvm.fmuladd.f32(float %347, float %348, float 0xBDC00258E0000000) + %350 = tail call float @llvm.fmuladd.f32(float %347, float %349, float 0xBDEA70EE40000000) + %351 = tail call float @llvm.fmuladd.f32(float %347, float %350, float 0x3E11E21740000000) + %352 = tail call float @llvm.fmuladd.f32(float %347, float %351, float 0xBE2ED292A0000000) + %353 = tail call float @llvm.fmuladd.f32(float %347, float %352, float 0x3E53B9FCE0000000) + %354 = tail call float @llvm.fmuladd.f32(float %347, float %353, float 0xBE57A5C500000000) + %355 = tail call float @llvm.fmuladd.f32(float %347, float %354, float 0xBE93A6D620000000) + %356 = tail call float @llvm.fmuladd.f32(float %347, float %355, float 0xBED4860080000000) + %357 = tail call float @llvm.fmuladd.f32(float %347, float %356, float 0x3F0AB2B2C0000000) + %358 = tail call float @llvm.fmuladd.f32(float %347, float %357, float 0x3F29982660000000) + %359 = tail call float @llvm.fmuladd.f32(float %347, float %358, float 0xBF61E32BA0000000) + %360 = tail call float @llvm.fmuladd.f32(float %347, float %359, float 0xBF7C116FE0000000) + %361 = tail call float @llvm.fmuladd.f32(float %347, float %360, float 0x3FADF6D5A0000000) + %362 = tail call float @llvm.fmuladd.f32(float %347, float %361, float 0x3FAA09C920000000) + %363 = tail call float @llvm.fmuladd.f32(float %347, float %362, float 0xBFD9C34260000000) + %364 = tail call float @llvm.fmuladd.f32(float %347, float %363, float 0xBC88FA8960000000) + store float %364, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +365: ; preds = %18 + %366 = icmp ult i32 %9, 1091143997 + %367 = select i1 %366, float 0x401C581DC0000000, float 0x402471D720000000 + %368 = fsub float %0, %367 + %369 = select i1 %366, float 0x3E739C8400000000, float 0x3EA5A47D60000000 + %370 = fsub float %368, %369 + %371 = select i1 %366, float 0x3C7E91B1A0000000, float 0xBCACABD7C0000000 + %372 = select i1 %366, float 0x3FD334CCA0000000, float 0xBFCFF635C0000000 + %373 = select i1 %366, float 0xBF95AEF620000000, float 0x3F89036460000000 + %374 = select i1 %366, float 0xBFA8969C60000000, float 0x3FA4E667A0000000 + %375 = select i1 %366, float 0x3F6B2F14A0000000, float 0xBF60325EE0000000 + %376 = select i1 %366, float 0x3F61D35E80000000, float 0xBF5FE23920000000 + %377 = select i1 %366, float 0xBF226DD6C0000000, float 0x3F17F84CC0000000 + %378 = select i1 %366, float 0xBF08177F20000000, float 0x3F06AFDDA0000000 + %379 = select i1 %366, float 0x3EC6A90300000000, float 0xBEC0403980000000 + %380 = select i1 %366, float 0x3EA34ACB60000000, float 0xBEA2AEB2A0000000 + %381 = select i1 %366, float 0xBE609DB120000000, float 0x3E5936D560000000 + %382 = select i1 %366, float 0xBE3447ABC0000000, float 0x3E3428B840000000 + %383 = select i1 %366, float 0x3DEE2D8DE0000000, float 0xBDE86CCA00000000 + %384 = select i1 %366, float 0x3DBF3106A0000000, float 0xBDBE2E4860000000 + %385 = tail call float @llvm.fmuladd.f32(float %370, float %384, float %383) + %386 = tail call float @llvm.fmuladd.f32(float %370, float %385, float %382) + %387 = tail call float @llvm.fmuladd.f32(float %370, float %386, float %381) + %388 = tail call float @llvm.fmuladd.f32(float %370, float %387, float %380) + %389 = tail call float @llvm.fmuladd.f32(float %370, float %388, float %379) + %390 = tail call float @llvm.fmuladd.f32(float %370, float %389, float %378) + %391 = tail call float @llvm.fmuladd.f32(float %370, float %390, float %377) + %392 = tail call float @llvm.fmuladd.f32(float %370, float %391, float %376) + %393 = tail call float @llvm.fmuladd.f32(float %370, float %392, float %375) + %394 = tail call float @llvm.fmuladd.f32(float %370, float %393, float %374) + %395 = tail call float @llvm.fmuladd.f32(float %370, float %394, float %373) + %396 = tail call float @llvm.fmuladd.f32(float %370, float %395, float %372) + %397 = tail call float @llvm.fmuladd.f32(float %370, float %396, float %371) + store float %397, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +398: ; preds = %16 + %399 = icmp ult i32 %9, 1097751532 + %400 = select i1 %399, float 0x402AB8E1C0000000, float 0x4030803C60000000 + %401 = fsub float %0, %400 + %402 = select i1 %399, float 0x3E82879D20000000, float 0x3EB4003220000000 + %403 = fsub float %401, %402 + %404 = select i1 %399, float 0x3CA4D9FE40000000, float 0x3CACD82800000000 + %405 = select i1 %399, float 0x3FCBF32A20000000, float 0xBFC925C360000000 + %406 = select i1 %399, float 0xBF80BC2D80000000, float 0x3F786254A0000000 + %407 = select i1 %399, float 0xBFA26CAB40000000, float 0x3FA0A45120000000 + %408 = select i1 %399, float 0x3F55F03E20000000, float 0xBF5013B360000000 + %409 = select i1 %399, float 0x3F5CAAA6C0000000, float 0xBF5A24A060000000 + %410 = select i1 %399, float 0xBF10C5EC60000000, float 0x3F08F90C00000000 + %411 = select i1 %399, float 0xBF04F08EE0000000, float 0x3F035CF820000000 + %412 = select i1 %399, float 0x3EB7D0B600000000, float 0xBEB2274EC0000000 + %413 = select i1 %399, float 0x3EA1A77900000000, float 0xBEA09482A0000000 + %414 = select i1 %399, float 0xBE53403680000000, float 0x3E4E2B9400000000 + %415 = select i1 %399, float 0xBE32879DE0000000, float 0x3E31A5B640000000 + %416 = select i1 %399, float 0x3DE19366C0000000, float 0xBDDC5F2CA0000000 + %417 = tail call float @llvm.fmuladd.f32(float %403, float %416, float %415) + %418 = tail call float @llvm.fmuladd.f32(float %403, float %417, float %414) + %419 = tail call float @llvm.fmuladd.f32(float %403, float %418, float %413) + %420 = tail call float @llvm.fmuladd.f32(float %403, float %419, float %412) + %421 = tail call float @llvm.fmuladd.f32(float %403, float %420, float %411) + %422 = tail call float @llvm.fmuladd.f32(float %403, float %421, float %410) + %423 = tail call float @llvm.fmuladd.f32(float %403, float %422, float %409) + %424 = tail call float @llvm.fmuladd.f32(float %403, float %423, float %408) + %425 = tail call float @llvm.fmuladd.f32(float %403, float %424, float %407) + %426 = tail call float @llvm.fmuladd.f32(float %403, float %425, float %406) + %427 = tail call float @llvm.fmuladd.f32(float %403, float %426, float %405) + %428 = tail call float @llvm.fmuladd.f32(float %403, float %427, float %404) + store float %428, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +429: ; preds = %14 + %430 = fdiv float 1.000000e+00, %0 + %431 = fmul float %430, 1.600000e+01 + %432 = fmul float %431, %431 + %433 = fmul float %430, 0x3FE45F3060000000 + %434 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %433) #56 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_127__syn_sincos_ep_kernel_fp32EfiPfS1_(float noundef %0, i32 noundef -1, ptr addrspace(4) noundef %7, ptr addrspace(4) noundef %8) #54 + %435 = tail call float @llvm.fmuladd.f32(float %432, float 0xBDD47A9100000000, float 0x3E17CA5EE0000000) + %436 = tail call float @llvm.fmuladd.f32(float %432, float %435, float 0xBE624F5780000000) + %437 = tail call float @llvm.fmuladd.f32(float %432, float %436, float 0x3EBCB5F860000000) + %438 = tail call float @llvm.fmuladd.f32(float %432, float %437, float 0xBF32000000000000) + %439 = tail call float @llvm.fmuladd.f32(float %432, float %438, float 1.000000e+00) + %440 = tail call float @llvm.fmuladd.f32(float %432, float 0x3DB845FEC0000000, float 0xBDF7A83620000000) + %441 = tail call float @llvm.fmuladd.f32(float %432, float %440, float 0x3E3B9D68E0000000) + %442 = tail call float @llvm.fmuladd.f32(float %432, float %441, float 0xBE8D11CA80000000) + %443 = tail call float @llvm.fmuladd.f32(float %432, float %442, float 0x3EF2C00000000000) + %444 = tail call float @llvm.fmuladd.f32(float %432, float %443, float -7.812500e-03) + %445 = fmul float %431, %444 + %446 = load float, ptr %4, align 4, !tbaa !731 + %447 = load float, ptr %5, align 4, !tbaa !731 + %448 = fmul float %445, %447 + %449 = tail call float @llvm.fmuladd.f32(float %439, float %446, float %448) + %450 = fmul float %434, %449 + store float %450, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + br label %461 + +451: ; preds = %2 + %452 = icmp ugt i32 %11, 2139095040 + br i1 %452, label %453, label %454 + +453: ; preds = %451 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +454: ; preds = %451 + %455 = icmp eq i32 %11, 0 + br i1 %455, label %456, label %457 + +456: ; preds = %454 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +457: ; preds = %454 + %458 = icmp sgt i32 %9, -1 + br i1 %458, label %460, label %459 + +459: ; preds = %457 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +460: ; preds = %457 + store float 0.000000e+00, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %461 + +461: ; preds = %460, %459, %456, %453, %429, %398, %365, %345, %39, %24 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_y1_ep_kernel_fp32EPKfPf(float %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1333 !sycl_kernel_omit_args !1186 { + %3 = alloca float, align 4 + %4 = alloca float, align 4 + %5 = alloca float, align 4 + %6 = addrspacecast ptr %3 to ptr addrspace(4) + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = bitcast float %0 to i32 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = add i32 %9, -1 + %13 = icmp ult i32 %12, 2139095039 + br i1 %13, label %14, label %166 + +14: ; preds = %2 + %15 = icmp ult i32 %9, 1100816743 + br i1 %15, label %16, label %144 + +16: ; preds = %14 + %17 = icmp ult i32 %9, 1099170276 + br i1 %17, label %18, label %128 + +18: ; preds = %16 + %19 = icmp ult i32 %9, 1096140558 + br i1 %19, label %20, label %113 + +20: ; preds = %18 + %21 = icmp ult i32 %9, 1092849338 + br i1 %21, label %22, label %97 + +22: ; preds = %20 + %23 = icmp ult i32 %9, 1088602350 + br i1 %23, label %24, label %82 + +24: ; preds = %22 + %25 = icmp ult i32 %9, 1081952922 + br i1 %25, label %26, label %66 + +26: ; preds = %24 + %27 = icmp ult i32 %9, 1071812444 + br i1 %27, label %28, label %48 + +28: ; preds = %26 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #55 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_ln_ep_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) noundef %6) #54 + %29 = load float, ptr %3, align 4, !tbaa !731 + %30 = fmul float %29, 0x3FE45F3060000000 + %31 = fdiv float 0x3FE45F3060000000, %0 + %32 = fmul float %0, %0 + %33 = tail call float @llvm.fmuladd.f32(float %32, float 0x3E41FC6B20000000, float 0xBEB09E3960000000) + %34 = tail call float @llvm.fmuladd.f32(float %32, float %33, float 0x3F12C795C0000000) + %35 = tail call float @llvm.fmuladd.f32(float %32, float %34, float 0xBF6835B760000000) + %36 = tail call float @llvm.fmuladd.f32(float %32, float %35, float 0x3FABD39740000000) + %37 = tail call float @llvm.fmuladd.f32(float %32, float %36, float 0xBFC9186620000000) + %38 = fmul float %37, %0 + %39 = tail call float @llvm.fmuladd.f32(float %32, float 0xBE36F35160000000, float 0x3EA6B83040000000) + %40 = tail call float @llvm.fmuladd.f32(float %32, float %39, float 0xBF0C718B60000000) + %41 = tail call float @llvm.fmuladd.f32(float %32, float %40, float 0x3F655554A0000000) + %42 = tail call float @llvm.fmuladd.f32(float %32, float %41, float -6.250000e-02) + %43 = tail call float @llvm.fmuladd.f32(float %32, float %42, float 5.000000e-01) + %44 = fmul float %43, %0 + %45 = fmul float %30, %44 + %46 = fsub float %45, %31 + %47 = fadd float %38, %46 + store float %47, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #55 + br label %176 + +48: ; preds = %26 + %49 = fadd float %0, 0xC00193BEC0000000 + %50 = fadd float %49, 0xBE84DFF240000000 + %51 = tail call float @llvm.fmuladd.f32(float %50, float 0x3E70849EA0000000, float 0xBEAA196CA0000000) + %52 = tail call float @llvm.fmuladd.f32(float %50, float %51, float 0x3ED31E66C0000000) + %53 = tail call float @llvm.fmuladd.f32(float %50, float %52, float 0xBEF1B4EE80000000) + %54 = tail call float @llvm.fmuladd.f32(float %50, float %53, float 0x3F085F5BE0000000) + %55 = tail call float @llvm.fmuladd.f32(float %50, float %54, float 0xBF1C6778E0000000) + %56 = tail call float @llvm.fmuladd.f32(float %50, float %55, float 0x3F2F20A680000000) + %57 = tail call float @llvm.fmuladd.f32(float %50, float %56, float 0xBF40B84B00000000) + %58 = tail call float @llvm.fmuladd.f32(float %50, float %57, float 0x3F517A1220000000) + %59 = tail call float @llvm.fmuladd.f32(float %50, float %58, float 0xBF65424760000000) + %60 = tail call float @llvm.fmuladd.f32(float %50, float %59, float 0x3F7E6719A0000000) + %61 = tail call float @llvm.fmuladd.f32(float %50, float %60, float 0xBF73A6E260000000) + %62 = tail call float @llvm.fmuladd.f32(float %50, float %61, float 0xBFA0D2AF40000000) + %63 = tail call float @llvm.fmuladd.f32(float %50, float %62, float 0xBFBE56F820000000) + %64 = tail call float @llvm.fmuladd.f32(float %50, float %63, float 0x3FE0AA4840000000) + %65 = tail call float @llvm.fmuladd.f32(float %50, float %64, float 0x3C7CF9F8E0000000) + store float %65, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +66: ; preds = %24 + %67 = fadd float %0, 0xC015B7FE40000000 + %68 = fadd float %67, 0xBE8D0F6060000000 + %69 = tail call float @llvm.fmuladd.f32(float %68, float 0x3DA21937A0000000, float 0xBDFD7F07A0000000) + %70 = tail call float @llvm.fmuladd.f32(float %68, float %69, float 0x3E380972C0000000) + %71 = tail call float @llvm.fmuladd.f32(float %68, float %70, float 0x3E5B8B0140000000) + %72 = tail call float @llvm.fmuladd.f32(float %68, float %71, float 0xBEA25631C0000000) + %73 = tail call float @llvm.fmuladd.f32(float %68, float %72, float 0xBEC8069B60000000) + %74 = tail call float @llvm.fmuladd.f32(float %68, float %73, float 0x3F085B9660000000) + %75 = tail call float @llvm.fmuladd.f32(float %68, float %74, float 0x3F2337C9A0000000) + %76 = tail call float @llvm.fmuladd.f32(float %68, float %75, float 0xBF61BE6DC0000000) + %77 = tail call float @llvm.fmuladd.f32(float %68, float %76, float 0xBF710A32A0000000) + %78 = tail call float @llvm.fmuladd.f32(float %68, float %77, float 0x3FAA15D920000000) + %79 = tail call float @llvm.fmuladd.f32(float %68, float %78, float 0x3FA00B9F80000000) + %80 = tail call float @llvm.fmuladd.f32(float %68, float %79, float 0xBFD5C7C560000000) + %81 = tail call float @llvm.fmuladd.f32(float %68, float %80, float 0x3CA46A40C0000000) + store float %81, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +82: ; preds = %22 + %83 = fadd float %0, 0xC0213127A0000000 + %84 = fadd float %83, 0xBE9CC2D360000000 + %85 = tail call float @llvm.fmuladd.f32(float %84, float 0x3DEB52AA60000000, float 0xBE3335AB20000000) + %86 = tail call float @llvm.fmuladd.f32(float %84, float %85, float 0xBE5A537100000000) + %87 = tail call float @llvm.fmuladd.f32(float %84, float %86, float 0x3EA2B96620000000) + %88 = tail call float @llvm.fmuladd.f32(float %84, float %87, float 0x3EC1777AE0000000) + %89 = tail call float @llvm.fmuladd.f32(float %84, float %88, float 0xBF06F79BC0000000) + %90 = tail call float @llvm.fmuladd.f32(float %84, float %89, float 0xBF1B50DD60000000) + %91 = tail call float @llvm.fmuladd.f32(float %84, float %90, float 0x3F607A6740000000) + %92 = tail call float @llvm.fmuladd.f32(float %84, float %91, float 0x3F63CED2C0000000) + %93 = tail call float @llvm.fmuladd.f32(float %84, float %92, float 0xBFA6395E00000000) + %94 = tail call float @llvm.fmuladd.f32(float %84, float %93, float 0xBF902B3940000000) + %95 = tail call float @llvm.fmuladd.f32(float %84, float %94, float 0x3FD15F9940000000) + %96 = tail call float @llvm.fmuladd.f32(float %84, float %95, float 0xBC963BC020000000) + store float %96, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +97: ; preds = %20 + %98 = fadd float %0, 0xC0277F9120000000 + %99 = fadd float %98, 0xBEA8D43200000000 + %100 = tail call float @llvm.fmuladd.f32(float %99, float 0xBDBC50AA60000000, float 0xBDE449C6A0000000) + %101 = tail call float @llvm.fmuladd.f32(float %99, float %100, float 0x3E33870920000000) + %102 = tail call float @llvm.fmuladd.f32(float %99, float %101, float 0x3E54A11C40000000) + %103 = tail call float @llvm.fmuladd.f32(float %99, float %102, float 0xBEA1E837A0000000) + %104 = tail call float @llvm.fmuladd.f32(float %99, float %103, float 0xBEBA294C60000000) + %105 = tail call float @llvm.fmuladd.f32(float %99, float %104, float 0x3F05718080000000) + %106 = tail call float @llvm.fmuladd.f32(float %99, float %105, float 0x3F1315EB80000000) + %107 = tail call float @llvm.fmuladd.f32(float %99, float %106, float 0xBF5DC4F980000000) + %108 = tail call float @llvm.fmuladd.f32(float %99, float %107, float 0xBF59D6EB20000000) + %109 = tail call float @llvm.fmuladd.f32(float %99, float %108, float 0x3FA367D7E0000000) + %110 = tail call float @llvm.fmuladd.f32(float %99, float %109, float 0x3F84429FE0000000) + %111 = tail call float @llvm.fmuladd.f32(float %99, float %110, float 0xBFCDC14EA0000000) + %112 = tail call float @llvm.fmuladd.f32(float %99, float %111, float 0x3C5F96D320000000) + store float %112, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +113: ; preds = %18 + %114 = fadd float %0, 0xC02DCB7D80000000 + %115 = fadd float %114, 0xBE91BD0920000000 + %116 = tail call float @llvm.fmuladd.f32(float %115, float 0x3DE1FA85C0000000, float 0xBE31DEB740000000) + %117 = tail call float @llvm.fmuladd.f32(float %115, float %116, float 0xBE506481A0000000) + %118 = tail call float @llvm.fmuladd.f32(float %115, float %117, float 0x3EA0E45780000000) + %119 = tail call float @llvm.fmuladd.f32(float %115, float %118, float 0x3EB3F3FA80000000) + %120 = tail call float @llvm.fmuladd.f32(float %115, float %119, float 0xBF03E37960000000) + %121 = tail call float @llvm.fmuladd.f32(float %115, float %120, float 0xBF0C0AA2E0000000) + %122 = tail call float @llvm.fmuladd.f32(float %115, float %121, float 0x3F5B175F80000000) + %123 = tail call float @llvm.fmuladd.f32(float %115, float %122, float 0x3F526B0460000000) + %124 = tail call float @llvm.fmuladd.f32(float %115, float %123, float 0xBFA1631920000000) + %125 = tail call float @llvm.fmuladd.f32(float %115, float %124, float 0xBF7C650B60000000) + %126 = tail call float @llvm.fmuladd.f32(float %115, float %125, float 0x3FCA7022C0000000) + %127 = tail call float @llvm.fmuladd.f32(float %115, float %126, float 0x3CA2132020000000) + store float %127, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +128: ; preds = %16 + %129 = fadd float %0, 0xC0320B1C60000000 + %130 = fadd float %129, 0xBEA2BE3C80000000 + %131 = tail call float @llvm.fmuladd.f32(float %130, float 0xBDBAB2B060000000, float 0xBDDB2A3700000000) + %132 = tail call float @llvm.fmuladd.f32(float %130, float %131, float 0x3E31D892A0000000) + %133 = tail call float @llvm.fmuladd.f32(float %130, float %132, float 0x3E4A3B2640000000) + %134 = tail call float @llvm.fmuladd.f32(float %130, float %133, float 0xBE9FDCC5C0000000) + %135 = tail call float @llvm.fmuladd.f32(float %130, float %134, float 0xBEAF568360000000) + %136 = tail call float @llvm.fmuladd.f32(float %130, float %135, float 0x3F0282D1E0000000) + %137 = tail call float @llvm.fmuladd.f32(float %130, float %136, float 0x3F059144E0000000) + %138 = tail call float @llvm.fmuladd.f32(float %130, float %137, float 0xBF58EFEE40000000) + %139 = tail call float @llvm.fmuladd.f32(float %130, float %138, float 0xBF4BE318E0000000) + %140 = tail call float @llvm.fmuladd.f32(float %130, float %139, float 0x3F9FBE6E00000000) + %141 = tail call float @llvm.fmuladd.f32(float %130, float %140, float 0x3F754EDA60000000) + %142 = tail call float @llvm.fmuladd.f32(float %130, float %141, float 0xBFC80781C0000000) + %143 = tail call float @llvm.fmuladd.f32(float %130, float %142, float 0xBCB39D4C40000000) + store float %143, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +144: ; preds = %14 + %145 = fdiv float 1.000000e+00, %0 + %146 = fmul float %145, 1.600000e+01 + %147 = fmul float %146, %146 + %148 = fmul float %145, 0x3FE45F3060000000 + %149 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %148) #56 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + call spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_127__syn_sincos_ep_kernel_fp32EfiPfS1_(float noundef %0, i32 noundef -3, ptr addrspace(4) noundef %7, ptr addrspace(4) noundef %8) #54 + %150 = tail call float @llvm.fmuladd.f32(float %147, float 0x3DD6BE2B60000000, float 0xBE1AFBE9C0000000) + %151 = tail call float @llvm.fmuladd.f32(float %147, float %150, float 0x3E65A3D1E0000000) + %152 = tail call float @llvm.fmuladd.f32(float %147, float %151, float 0xBEC274FBE0000000) + %153 = tail call float @llvm.fmuladd.f32(float %147, float %152, float 0x3F3E000000000000) + %154 = tail call float @llvm.fmuladd.f32(float %147, float %153, float 1.000000e+00) + %155 = tail call float @llvm.fmuladd.f32(float %147, float 0xBDBAB63660000000, float 0x3DFA76F660000000) + %156 = tail call float @llvm.fmuladd.f32(float %147, float %155, float 0xBE3FDD85C0000000) + %157 = tail call float @llvm.fmuladd.f32(float %147, float %156, float 0x3E91C3C460000000) + %158 = tail call float @llvm.fmuladd.f32(float %147, float %157, float 0xBEFA400000000000) + %159 = tail call float @llvm.fmuladd.f32(float %147, float %158, float 2.343750e-02) + %160 = fmul float %146, %159 + %161 = load float, ptr %4, align 4, !tbaa !731 + %162 = load float, ptr %5, align 4, !tbaa !731 + %163 = fmul float %160, %162 + %164 = tail call float @llvm.fmuladd.f32(float %154, float %161, float %163) + %165 = fmul float %149, %164 + store float %165, ptr addrspace(4) %1, align 4, !tbaa !731 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #55 + br label %176 + +166: ; preds = %2 + %167 = icmp ugt i32 %11, 2139095040 + br i1 %167, label %168, label %169 + +168: ; preds = %166 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +169: ; preds = %166 + %170 = icmp eq i32 %11, 0 + br i1 %170, label %171, label %172 + +171: ; preds = %169 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +172: ; preds = %169 + %173 = icmp sgt i32 %9, -1 + br i1 %173, label %175, label %174 + +174: ; preds = %172 + store float 0x7FF8000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +175: ; preds = %172 + store float 0.000000e+00, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %176 + +176: ; preds = %175, %174, %171, %168, %144, %128, %113, %97, %82, %66, %48, %28 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_123__syn_ln_ep_kernel_fp32EfPf(float noundef %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1334 !sycl_kernel_omit_args !1186 { + %3 = fcmp olt float %0, 0x3810000000000000 + %4 = fmul float %0, 0x4160000000000000 + %5 = select i1 %3, float -2.300000e+01, float 0.000000e+00 + %6 = bitcast float %0 to i32 + %7 = icmp eq i32 %6, 2139095040 + br i1 %7, label %8, label %9 + +8: ; preds = %2 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +9: ; preds = %2 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = icmp ugt i32 %11, 2139095040 + br i1 %12, label %13, label %14 + +13: ; preds = %9 + store float %0, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +14: ; preds = %9 + %15 = fcmp oeq float %0, 0.000000e+00 + br i1 %15, label %16, label %17 + +16: ; preds = %14 + store float 0xFFF0000000000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +17: ; preds = %14 + %18 = fcmp olt float %0, 0.000000e+00 + br i1 %18, label %19, label %20 + +19: ; preds = %17 + store float 0xFFFFFFFFE0000000, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +20: ; preds = %17 + %21 = select i1 %3, float %4, float %0 + %22 = bitcast float %21 to i32 + %23 = add nsw i32 %22, -1059760811 + %24 = and i32 %23, 8388607 + %25 = add nuw nsw i32 %24, 1059760811 + %26 = ashr i32 %23, 23 + %27 = sitofp i32 %26 to float + %28 = fadd float %5, %27 + %29 = bitcast i32 %25 to float + %30 = fadd float %29, -1.000000e+00 + %31 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFC0805900000000, float noundef %30, float noundef 0x3FC1E66BA0000000) #56 + %32 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %31, float noundef %30, float noundef 0xBFBF3113C0000000) #56 + %33 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %32, float noundef %30, float noundef 0x3FC1ED7180000000) #56 + %34 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %33, float noundef %30, float noundef 0xBFC559DCC0000000) #56 + %35 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %34, float noundef %30, float noundef 0x3FC99D0280000000) #56 + %36 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %35, float noundef %30, float noundef 0xBFCFFFEF00000000) #56 + %37 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %36, float noundef %30, float noundef 0x3FD5555060000000) #56 + %38 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %37, float noundef %30, float noundef -5.000000e-01) #56 + %39 = fmul float %38, %30 + %40 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %39, float noundef %30, float noundef %30) #56 + %41 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3EB7F7D1C0000000, float noundef %40) #56 + %42 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %28, float noundef 0x3FE62E4000000000, float noundef %41) #56 + store float %42, ptr addrspace(4) %1, align 4, !tbaa !731 + br label %43 + +43: ; preds = %20, %19, %16, %13, %8 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_130__syn_sincos_hl_ep_kernel_fp32EfiPfS1_(float noundef %0, i32 noundef %1, ptr addrspace(4) nocapture noundef writeonly %2, ptr addrspace(4) nocapture noundef writeonly %3) unnamed_addr #36 !srcloc !1335 !sycl_kernel_omit_args !1257 { + %5 = zext i32 %1 to i64 + %6 = bitcast float %0 to i32 + %7 = and i32 %6, 8388607 + %8 = or i32 %7, 8388608 + %9 = and i32 %6, -2147483648 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = lshr i32 %11, 23 + %13 = add nsw i32 %12, -143 + %14 = icmp ult i32 %13, -27 + br i1 %14, label %15, label %68, !prof !1176 + +15: ; preds = %4 + %16 = icmp eq i32 %12, 255 + br i1 %16, label %17, label %21 + +17: ; preds = %15 + %18 = or i32 %6, 4194304 + store i32 %18, ptr addrspace(4) %3, align 4, !tbaa !731 + store i32 %18, ptr addrspace(4) %2, align 4, !tbaa !731 + %19 = getelementptr inbounds i32, ptr addrspace(4) %3, i64 1 + store i32 %18, ptr addrspace(4) %19, align 4, !tbaa !731 + %20 = getelementptr inbounds i32, ptr addrspace(4) %2, i64 1 + store i32 %18, ptr addrspace(4) %20, align 4, !tbaa !731 + br label %270 + +21: ; preds = %15 + %22 = add nsw i32 %12, -150 + %23 = ashr i32 %22, 5 + %24 = add nsw i32 %23, 1 + %25 = and i32 %22, 31 + %26 = sext i32 %24 to i64 + %27 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %26 + %28 = load i32, ptr addrspace(1) %27, align 4, !tbaa !717 + %29 = mul i32 %28, %8 + %30 = add nsw i32 %23, 2 + %31 = sext i32 %30 to i64 + %32 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %31 + %33 = load i32, ptr addrspace(1) %32, align 4, !tbaa !717 + %34 = zext i32 %33 to i64 + %35 = zext nneg i32 %8 to i64 + %36 = mul nuw nsw i64 %34, %35 + %37 = zext i32 %29 to i64 + %38 = shl nuw i64 %37, 32 + %39 = add i64 %36, %38 + %40 = add nsw i32 %23, 4 + %41 = sext i32 %40 to i64 + %42 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %41 + %43 = load i32, ptr addrspace(1) %42, align 4, !tbaa !717 + %44 = zext i32 %43 to i64 + %45 = mul nuw nsw i64 %44, %35 + %46 = add nsw i32 %23, 3 + %47 = sext i32 %46 to i64 + %48 = getelementptr inbounds [9 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_19invpi_tblE, i64 0, i64 %47 + %49 = load i32, ptr addrspace(1) %48, align 4, !tbaa !717 + %50 = zext i32 %49 to i64 + %51 = mul nuw nsw i64 %50, %35 + %52 = lshr i64 %45, 32 + %53 = add nuw nsw i64 %51, %52 + %54 = lshr i64 %53, 32 + %55 = add i64 %39, %54 + %56 = and i64 %45, 4294967295 + %57 = zext nneg i32 %25 to i64 + %58 = shl i64 %55, %57 + %59 = trunc i64 %53 to i32 + %60 = shl i64 %53, 32 + %61 = or i64 %56, %60 + %62 = shl i64 %61, %57 + %63 = xor i32 %25, 31 + %64 = lshr i32 %59, %63 + %65 = lshr i32 %64, 1 + %66 = zext nneg i32 %65 to i64 + %67 = or i64 %58, %66 + br label %92 + +68: ; preds = %4 + %69 = zext nneg i32 %8 to i64 + %70 = mul nuw nsw i64 %69, 85445659 + %71 = mul nuw nsw i64 %69, 1920082089 + %72 = mul nuw nsw i64 %69, 1340160702 + %73 = add nsw i32 %12, -115 + %74 = zext i32 %73 to i64 + %75 = shl i64 %70, %74 + %76 = sub nuw nsw i32 147, %12 + %77 = zext i32 %76 to i64 + %78 = lshr i64 %71, %77 + %79 = add i64 %75, %78 + %80 = sub nuw nsw i32 179, %12 + %81 = zext i32 %80 to i64 + %82 = lshr i64 %72, %81 + %83 = add i64 %79, %82 + %84 = add nsw i32 %12, -83 + %85 = zext i32 %84 to i64 + %86 = shl i64 %71, %85 + %87 = shl i64 %72, %74 + %88 = add i64 %87, %86 + %89 = icmp ult i64 %88, %86 + %90 = zext i1 %89 to i64 + %91 = add i64 %83, %90 + br label %92 + +92: ; preds = %68, %21 + %93 = phi i64 [ %62, %21 ], [ %88, %68 ] + %94 = phi i64 [ %67, %21 ], [ %91, %68 ] + %95 = shl i64 %5, 61 + %96 = add i64 %94, %95 + %97 = lshr i64 %96, 32 + %98 = trunc i64 %97 to i32 + %99 = add nsw i32 %98, 536870912 + %100 = shl i32 %98, 2 + %101 = sitofp i32 %100 to float + %102 = bitcast float %101 to i32 + %103 = lshr i32 %102, 23 + %104 = and i32 %103, 255 + %105 = sub nsw i32 159, %104 + %106 = icmp ult i32 %104, 158 + %107 = select i1 %106, i32 %105, i32 2 + %108 = zext i32 %107 to i64 + %109 = shl i64 %96, %108 + %110 = sub nsw i32 64, %107 + %111 = zext i32 %110 to i64 + %112 = lshr i64 %93, %111 + %113 = or i64 %109, %112 + %114 = lshr i64 %113, 32 + %115 = trunc i64 %114 to i32 + %116 = sitofp i32 %115 to float + %117 = fptosi float %116 to i32 + %118 = sub nsw i32 %115, %117 + %119 = trunc i64 %113 to i32 + %120 = tail call i32 @llvm.fshl.i32(i32 %118, i32 %119, i32 24) + %121 = sitofp i32 %120 to float + %122 = shl nsw i32 %107, 23 + %123 = sub i32 805306368, %122 + %124 = bitcast i32 %123 to float + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %116, float noundef %124, float noundef 0.000000e+00) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %121, float noundef %124, float noundef 0.000000e+00) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %126, float noundef 0x3E70000000000000, float noundef 0.000000e+00) #56 + %128 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %125, float noundef 0.000000e+00) #56 + %129 = fneg float %128 + %130 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %125, float noundef %129) #56 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %127, float noundef %125, float noundef %130) #56 + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef %127, float noundef %131) #56 + %133 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %128, float noundef 0.000000e+00) #56 + %134 = fneg float %133 + %135 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %128, float noundef %134) #56 + %136 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3DC6955B40000000, float noundef %128, float noundef %135) #56 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF7DD4E540000000, float noundef %132, float noundef %136) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef 1.000000e+00, float noundef 0x3FB5071BE0000000) #56 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef 1.000000e+00, float noundef 0xBFB5071BE0000000) #56 + %140 = fneg float %139 + %141 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef 1.000000e+00, float noundef %140) #56 + %142 = fadd float %137, 0x3E2A76BDE0000000 + %143 = fadd float %142, %141 + %144 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %128, float noundef 0.000000e+00) #56 + %145 = fneg float %144 + %146 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %128, float noundef %145) #56 + %147 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3E00D33F00000000, float noundef %128, float noundef %146) #56 + %148 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBF9A0EE4A0000000, float noundef %132, float noundef %147) #56 + %149 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef 1.000000e+00, float noundef 0x3FCE1E7CE0000000) #56 + %150 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef 1.000000e+00, float noundef 0xBFCE1E7CE0000000) #56 + %151 = fneg float %150 + %152 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %144, float noundef 1.000000e+00, float noundef %151) #56 + %153 = fadd float %148, 0xBE11E50300000000 + %154 = fadd float %153, %152 + %155 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %128, float noundef 0.000000e+00) #56 + %156 = fneg float %155 + %157 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %128, float noundef %156) #56 + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %143, float noundef %128, float noundef %157) #56 + %159 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %138, float noundef %132, float noundef %158) #56 + %160 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef 0xBFE32D2C60000000) #56 + %161 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef 1.000000e+00, float noundef 0x3FE32D2C60000000) #56 + %162 = fneg float %161 + %163 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %155, float noundef 1.000000e+00, float noundef %162) #56 + %164 = fadd float %159, 0xBE34C50240000000 + %165 = fadd float %164, %163 + %166 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %128, float noundef 0.000000e+00) #56 + %167 = fneg float %166 + %168 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %128, float noundef %167) #56 + %169 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %154, float noundef %128, float noundef %168) #56 + %170 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %149, float noundef %132, float noundef %169) #56 + %171 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef 1.000000e+00, float noundef 0xBFF55D3BA0000000) #56 + %172 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef 1.000000e+00, float noundef 0x3FF55D3BA0000000) #56 + %173 = fneg float %172 + %174 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %166, float noundef 1.000000e+00, float noundef %173) #56 + %175 = fadd float %170, 0xBE48F3FE20000000 + %176 = fadd float %175, %174 + %177 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %128, float noundef 0.000000e+00) #56 + %178 = fneg float %177 + %179 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %128, float noundef %178) #56 + %180 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %165, float noundef %128, float noundef %179) #56 + %181 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %160, float noundef %132, float noundef %180) #56 + %182 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef 0x400466BC60000000) #56 + %183 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef 1.000000e+00, float noundef 0xC00466BC60000000) #56 + %184 = fneg float %183 + %185 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %177, float noundef 1.000000e+00, float noundef %184) #56 + %186 = fadd float %181, 0x3E6C3F4460000000 + %187 = fadd float %186, %185 + %188 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %128, float noundef 0.000000e+00) #56 + %189 = fneg float %188 + %190 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %128, float noundef %189) #56 + %191 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %176, float noundef %128, float noundef %190) #56 + %192 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %171, float noundef %132, float noundef %191) #56 + %193 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef 1.000000e+00, float noundef 0x40103C1F00000000) #56 + %194 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef 1.000000e+00, float noundef 0xC0103C1F00000000) #56 + %195 = fneg float %194 + %196 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %188, float noundef 1.000000e+00, float noundef %195) #56 + %197 = fadd float %192, 0x3E7D385E40000000 + %198 = fadd float %197, %196 + %199 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %128, float noundef 0.000000e+00) #56 + %200 = fneg float %199 + %201 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %128, float noundef %200) #56 + %202 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %187, float noundef %128, float noundef %201) #56 + %203 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %182, float noundef %132, float noundef %202) #56 + %204 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef 1.000000e+00, float noundef 0xC014ABBCE0000000) #56 + %205 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef 1.000000e+00, float noundef 0x4014ABBCE0000000) #56 + %206 = fneg float %205 + %207 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %199, float noundef 1.000000e+00, float noundef %206) #56 + %208 = fadd float %203, 0xBE7895DEE0000000 + %209 = fadd float %208, %207 + %210 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %128, float noundef 0.000000e+00) #56 + %211 = fneg float %210 + %212 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %128, float noundef %211) #56 + %213 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %198, float noundef %128, float noundef %212) #56 + %214 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %193, float noundef %132, float noundef %213) #56 + %215 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef 1.000000e+00, float noundef 0xC013BD3CC0000000) #56 + %216 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef 1.000000e+00, float noundef 0x4013BD3CC0000000) #56 + %217 = fneg float %216 + %218 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %210, float noundef 1.000000e+00, float noundef %217) #56 + %219 = fadd float %214, 0xBE837A5920000000 + %220 = fadd float %219, %218 + %221 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %128, float noundef 0.000000e+00) #56 + %222 = fneg float %221 + %223 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %128, float noundef %222) #56 + %224 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %209, float noundef %128, float noundef %223) #56 + %225 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %204, float noundef %132, float noundef %224) #56 + %226 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef 0x400921FB60000000) #56 + %227 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef 1.000000e+00, float noundef 0xC00921FB60000000) #56 + %228 = fneg float %227 + %229 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %221, float noundef 1.000000e+00, float noundef %228) #56 + %230 = fadd float %225, 0xBE7777A600000000 + %231 = fadd float %230, %229 + %232 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %128, float noundef 0.000000e+00) #56 + %233 = fneg float %232 + %234 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %128, float noundef %233) #56 + %235 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %220, float noundef %128, float noundef %234) #56 + %236 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %215, float noundef %132, float noundef %235) #56 + %237 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %232, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %238 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %237, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %239 = fneg float %238 + %240 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %232, float noundef 1.000000e+00, float noundef %239) #56 + %241 = fadd float %236, 0xBD2F400000000000 + %242 = fadd float %241, %240 + %243 = bitcast float %242 to i32 + %244 = bitcast float %237 to i32 + %245 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %125, float noundef 0.000000e+00) #56 + %246 = fneg float %245 + %247 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %125, float noundef %246) #56 + %248 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %231, float noundef %125, float noundef %247) #56 + %249 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %226, float noundef %127, float noundef %248) #56 + %250 = bitcast float %249 to i32 + %251 = bitcast float %245 to i32 + %252 = and i32 %99, -2147483648 + %253 = xor i32 %252, %244 + %254 = xor i32 %252, %243 + %255 = shl i32 %99, 1 + %256 = xor i32 %99, %255 + %257 = and i32 %256, -2147483648 + %258 = xor i32 %257, %251 + %259 = xor i32 %257, %250 + %260 = and i32 %99, 1073741824 + %261 = icmp eq i32 %260, 0 + %262 = select i1 %261, i32 %258, i32 %253 + %263 = select i1 %261, i32 %253, i32 %258 + %264 = select i1 %261, i32 %259, i32 %254 + %265 = select i1 %261, i32 %254, i32 %259 + %266 = xor i32 %262, %9 + %267 = xor i32 %264, %9 + store i32 %263, ptr addrspace(4) %3, align 4, !tbaa !731 + %268 = getelementptr inbounds i32, ptr addrspace(4) %3, i64 1 + store i32 %265, ptr addrspace(4) %268, align 4, !tbaa !731 + store i32 %266, ptr addrspace(4) %2, align 4, !tbaa !731 + %269 = getelementptr inbounds i32, ptr addrspace(4) %2, i64 1 + store i32 %267, ptr addrspace(4) %269, align 4, !tbaa !731 + br label %270 + +270: ; preds = %92, %17 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_127__syn_sincos_ep_kernel_fp32EfiPfS1_(float noundef %0, i32 noundef %1, ptr addrspace(4) nocapture noundef writeonly %2, ptr addrspace(4) nocapture noundef writeonly %3) unnamed_addr #36 !srcloc !1336 !sycl_kernel_omit_args !1257 { + %5 = sext i32 %1 to i64 + %6 = bitcast float %0 to i32 + %7 = and i32 %6, 8388607 + %8 = or i32 %7, 8388608 + %9 = and i32 %6, -2147483648 + %10 = tail call float @llvm.fabs.f32(float %0) + %11 = bitcast float %10 to i32 + %12 = lshr i32 %11, 23 + %13 = add nsw i32 %12, -115 + %14 = icmp ugt i32 %13, 32 + br i1 %14, label %15, label %65, !prof !1176 + +15: ; preds = %4 + %16 = icmp ult i32 %11, 973078528 + br i1 %16, label %17, label %18, !prof !1189 + +17: ; preds = %15 + store float %0, ptr addrspace(4) %2, align 4, !tbaa !731 + store float 1.000000e+00, ptr addrspace(4) %3, align 4, !tbaa !731 + br label %124 + +18: ; preds = %15 + %19 = icmp eq i32 %12, 255 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i32 %6, 4194304 + store i32 %21, ptr addrspace(4) %2, align 4, !tbaa !731 + store i32 %21, ptr addrspace(4) %3, align 4, !tbaa !731 + br label %124 + +22: ; preds = %18 + %23 = add nsw i32 %12, -150 + %24 = ashr i32 %23, 5 + %25 = add nsw i32 %24, 1 + %26 = and i32 %23, 31 + %27 = sext i32 %25 to i64 + %28 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_126__syn_sincosf_ep_invpi_tblE, i64 0, i64 %27 + %29 = load i32, ptr addrspace(1) %28, align 4, !tbaa !717 + %30 = mul i32 %29, %8 + %31 = add nsw i32 %24, 2 + %32 = sext i32 %31 to i64 + %33 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_126__syn_sincosf_ep_invpi_tblE, i64 0, i64 %32 + %34 = load i32, ptr addrspace(1) %33, align 4, !tbaa !717 + %35 = zext i32 %34 to i64 + %36 = zext nneg i32 %8 to i64 + %37 = mul nuw nsw i64 %35, %36 + %38 = zext i32 %30 to i64 + %39 = shl nuw i64 %38, 32 + %40 = add i64 %37, %39 + %41 = add nsw i32 %24, 3 + %42 = sext i32 %41 to i64 + %43 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_126__syn_sincosf_ep_invpi_tblE, i64 0, i64 %42 + %44 = load i32, ptr addrspace(1) %43, align 4, !tbaa !717 + %45 = zext i32 %44 to i64 + %46 = mul nuw nsw i64 %45, %36 + %47 = add nsw i32 %24, 4 + %48 = sext i32 %47 to i64 + %49 = getelementptr inbounds [8 x i32], ptr addrspace(1) @_ZN18__imf_impl_yn_s_ep12_GLOBAL__N_126__syn_sincosf_ep_invpi_tblE, i64 0, i64 %48 + %50 = load i32, ptr addrspace(1) %49, align 4, !tbaa !717 + %51 = zext i32 %50 to i64 + %52 = mul nuw nsw i64 %51, %36 + %53 = lshr i64 %52, 32 + %54 = add nuw nsw i64 %46, %53 + %55 = lshr i64 %54, 32 + %56 = add i64 %40, %55 + %57 = zext nneg i32 %26 to i64 + %58 = shl i64 %56, %57 + %59 = trunc i64 %54 to i32 + %60 = xor i32 %26, 31 + %61 = lshr i32 %59, %60 + %62 = lshr i32 %61, 1 + %63 = zext nneg i32 %62 to i64 + %64 = or i64 %58, %63 + br label %78 + +65: ; preds = %4 + %66 = zext nneg i32 %8 to i64 + %67 = mul nuw nsw i64 %66, 85445659 + %68 = mul nuw nsw i32 %8, 40 + %69 = mul nuw nsw i64 %66, 245770507392 + %70 = zext nneg i32 %68 to i64 + %71 = add nuw nsw i64 %69, %70 + %72 = zext i32 %13 to i64 + %73 = shl i64 %67, %72 + %74 = sub nuw nsw i32 154, %12 + %75 = zext i32 %74 to i64 + %76 = lshr i64 %71, %75 + %77 = add i64 %73, %76 + br label %78 + +78: ; preds = %65, %22 + %79 = phi i64 [ %64, %22 ], [ %77, %65 ] + %80 = shl nsw i64 %5, 61 + %81 = add i64 %79, %80 + %82 = lshr i64 %81, 32 + %83 = trunc i64 %82 to i32 + %84 = add nsw i32 %83, 536870912 + %85 = shl i32 %83, 2 + %86 = sitofp i32 %85 to float + %87 = bitcast float %86 to i32 + %88 = lshr i32 %87, 23 + %89 = and i32 %88, 255 + %90 = sub nsw i32 159, %89 + %91 = icmp ult i32 %89, 158 + %92 = select i1 %91, i32 %90, i32 2 + %93 = zext i32 %92 to i64 + %94 = shl i64 %81, %93 + %95 = lshr i64 %94, 32 + %96 = trunc i64 %95 to i32 + %97 = sitofp i32 %96 to float + %98 = shl nsw i32 %92, 23 + %99 = sub i32 805306368, %98 + %100 = bitcast i32 %99 to float + %101 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %97, float noundef %100, float noundef 0.000000e+00) #56 + %102 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %101, float noundef %101, float noundef 0.000000e+00) #56 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FCD9C3640000000, float noundef %102, float noundef 0xBFF55C57C0000000) #56 + %104 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBFE2D93020000000, float noundef %102, float noundef 0x400465E920000000) #56 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef %102, float noundef 0x40103C1DC0000000) #56 + %106 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %104, float noundef %102, float noundef 0xC014ABBBA0000000) #56 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %105, float noundef %102, float noundef 0xC013BD3CC0000000) #56 + %108 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %106, float noundef %102, float noundef 0x400921FB60000000) #56 + %109 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %102, float noundef 1.000000e+00) #56 + %110 = bitcast float %109 to i32 + %111 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %108, float noundef %101, float noundef 0.000000e+00) #56 + %112 = bitcast float %111 to i32 + %113 = and i32 %84, -2147483648 + %114 = shl i32 %84, 1 + %115 = and i32 %114, -2147483648 + %116 = xor i32 %115, %112 + %117 = xor i32 %116, %113 + %118 = xor i32 %113, %110 + %119 = and i32 %84, 1073741824 + %120 = icmp eq i32 %119, 0 + %121 = select i1 %120, i32 %117, i32 %118 + %122 = xor i32 %121, %9 + %123 = select i1 %120, i32 %118, i32 %117 + store i32 %123, ptr addrspace(4) %3, align 4, !tbaa !731 + store i32 %122, ptr addrspace(4) %2, align 4, !tbaa !731 + br label %124 + +124: ; preds = %78, %20, %17 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_pownf(float noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1337 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + %4 = bitcast float %0 to i32 + %5 = icmp ne i32 %4, 0 + %6 = tail call i32 @llvm.abs.i32(i32 %1, i1 true) + %7 = icmp slt i32 %1, 0 + %8 = and i32 %1, 1 + %9 = fcmp oeq float %3, 0.000000e+00 + br i1 %9, label %10, label %21 + +10: ; preds = %2 + %11 = icmp eq i32 %1, 0 + br i1 %11, label %400, label %12 + +12: ; preds = %10 + %13 = icmp sgt i32 %1, 0 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = icmp eq i32 %8, 0 + %16 = select i1 %15, float %3, float %0 + br label %400 + +17: ; preds = %12 + %18 = icmp ne i32 %8, 0 + %19 = and i1 %5, %18 + %20 = select i1 %19, float 0xFFF0000000000000, float 0x7FF0000000000000 + br label %400 + +21: ; preds = %2 + %22 = icmp eq i32 %1, 0 + %23 = fcmp oeq float %0, 1.000000e+00 + %24 = or i1 %22, %23 + br i1 %24, label %400, label %25 + +25: ; preds = %21 + %26 = icmp ult i32 %6, 30 + br i1 %26, label %27, label %43 + +27: ; preds = %36, %25 + %28 = phi float [ %38, %36 ], [ %0, %25 ] + %29 = phi i32 [ %37, %36 ], [ %6, %25 ] + %30 = phi float [ %34, %36 ], [ 1.000000e+00, %25 ] + %31 = and i32 %29, 1 + %32 = icmp eq i32 %31, 0 + %33 = select i1 %32, float 1.000000e+00, float %28 + %34 = fmul float %30, %33 + %35 = icmp ult i32 %29, 2 + br i1 %35, label %39, label %36 + +36: ; preds = %27 + %37 = lshr i32 %29, 1 + %38 = fmul float %28, %28 + br label %27, !llvm.loop !1338 + +39: ; preds = %27 + %40 = fdiv float 1.000000e+00, %34 + %41 = select i1 %7, float %40, float %34 + %42 = fcmp oeq float %41, 0.000000e+00 + br i1 %42, label %43, label %400 + +43: ; preds = %39, %25 + %44 = sitofp i32 %1 to float + %45 = tail call float @llvm.fabs.f32(float %0) + %46 = bitcast float %45 to i32 + %47 = add nsw i32 %46, -8388608 + %48 = icmp ult i32 %47, 2130706432 + br i1 %48, label %49, label %52 + +49: ; preds = %43 + %50 = lshr i32 %47, 23 + %51 = add nsw i32 %50, -125 + br label %63 + +52: ; preds = %43 + %53 = or i32 %4, 1056964608 + %54 = bitcast i32 %53 to float + %55 = and i32 %4, -2147483648 + %56 = or i32 %55, 1056964608 + %57 = bitcast i32 %56 to float + %58 = fsub float %54, %57 + %59 = bitcast float %58 to i32 + %60 = lshr i32 %59, 23 + %61 = and i32 %60, 255 + %62 = add nsw i32 %61, -251 + br label %63 + +63: ; preds = %52, %49 + %64 = phi i32 [ %62, %52 ], [ %51, %49 ] + %65 = phi i32 [ %59, %52 ], [ %4, %49 ] + %66 = and i32 %65, -2139095041 + %67 = or i32 %66, 1056964608 + %68 = bitcast i32 %67 to float + %69 = fcmp olt float %68, 0x3FE6A00000000000 + %70 = fmul float %68, 2.000000e+00 + %71 = select i1 %69, float %70, float %68 + %72 = sext i1 %69 to i32 + %73 = add nsw i32 %64, %72 + %74 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef 1.000000e+00, float noundef 1.000000e+00) #56 + %75 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %71, float noundef 1.000000e+00, float noundef -1.000000e+00) #56 + %76 = fdiv float 1.000000e+00, %74 + %77 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %75, float noundef %76, float noundef 0.000000e+00) #56 + %78 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef -2.000000e+00, float noundef %75) #56 + %79 = fneg float %75 + %80 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef %79, float noundef %78) #56 + %81 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %76, float noundef %80, float noundef 0.000000e+00) #56 + %82 = fmul float %77, %77 + %83 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0x3FC08C0000000000, float noundef %82, float noundef 0x3FC22CDE00000000) #56 + %84 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %83, float noundef %82, float noundef 0x3FC99A1600000000) #56 + %85 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %84, float noundef %82, float noundef 0x3FD5555500000000) #56 + %86 = fadd float %81, %81 + %87 = fneg float %82 + %88 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef %77, float noundef %87) #56 + %89 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef %86, float noundef %88) #56 + %90 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef %77, float noundef 0.000000e+00) #56 + %91 = fneg float %90 + %92 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef %77, float noundef %91) #56 + %93 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %89, float noundef %77, float noundef %92) #56 + %94 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %82, float noundef %81, float noundef %93) #56 + %95 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %85, float noundef %94, float noundef %81) #56 + %96 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %85, float noundef %90, float noundef %95) #56 + %97 = sitofp i32 %73 to float + %98 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 5.000000e-01, float noundef 0x3FE62E4300000000, float noundef 0.000000e+00) #56 + %99 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %98, float noundef %97, float noundef %77) #56 + %100 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 5.000000e-01, float noundef 0xBFE62E4300000000, float noundef 0.000000e+00) #56 + %101 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %100, float noundef %97, float noundef %99) #56 + %102 = fneg float %101 + %103 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %77, float noundef 1.000000e+00, float noundef %102) #56 + %104 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %103, float noundef 1.000000e+00, float noundef %96) #56 + %105 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 0xBE105C6100000000, float noundef %97, float noundef %104) #56 + %106 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %99, float noundef 1.000000e+00, float noundef %99) #56 + %107 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 2.000000e+00, float noundef %105, float noundef %106) #56 + %108 = fneg float %107 + %109 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %106, float noundef 1.000000e+00, float noundef %108) #56 + %110 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef 2.000000e+00, float noundef %105, float noundef %109) #56 + %111 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %44, float noundef 0.000000e+00) #56 + %112 = lshr i32 %4, 23 + %113 = tail call float @llvm.fabs.f32(float %111) + %114 = bitcast float %113 to i32 + %115 = add nsw i32 %112, -255 + %116 = icmp ult i32 %115, -254 + %117 = icmp ugt i32 %114, 1118811871 + %118 = or i1 %116, %117 + br i1 %118, label %159, label %119 + +119: ; preds = %63 + %120 = fneg float %111 + %121 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %107, float noundef %44, float noundef %120) #56 + %122 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %110, float noundef %44, float noundef %121) #56 + %123 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef 1.000000e+00, float noundef %122) #56 + %124 = fneg float %123 + %125 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %111, float noundef 1.000000e+00, float noundef %124) #56 + %126 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %125, float noundef 1.000000e+00, float noundef %122) #56 + %127 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %123, float noundef 0x3FF7154760000000, float noundef 0x4158001FC0000000) #56 + %128 = bitcast float %127 to i32 + %129 = fadd float %127, 0xC158001FC0000000 + %130 = fneg float %129 + %131 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %130, float noundef 0x3FE62E4300000000, float noundef %123) #56 + %132 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %130, float noundef 0xBE205C6100000000, float noundef %131) #56 + %133 = fadd float %132, %126 + %134 = and i32 %128, 1 + %135 = icmp eq i32 %134, 0 + %136 = select i1 %135, i32 0, i32 7668979 + %137 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef 0x3F81175160000000, float noundef 0x3FA55D89C0000000) #56 + %138 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %137, float noundef 0x3FC5555380000000) #56 + %139 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %138, float noundef 0x3FDFFFFD00000000) #56 + %140 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %133, float noundef %139, float noundef 1.000000e+00) #56 + %141 = fmul float %133, %140 + %142 = icmp ugt i32 %114, 1118743631 + br i1 %142, label %143, label %154 + +143: ; preds = %119 + %144 = add i32 %128, 254 + %145 = shl i32 %144, 21 + %146 = and i32 %145, 2139095040 + %147 = shl i32 %144, 22 + %148 = sub i32 %147, %146 + %149 = xor i32 %148, %136 + %150 = bitcast i32 %149 to float + %151 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %141, float noundef %150, float noundef %150) #56 + %152 = bitcast i32 %146 to float + %153 = fmul float %151, %152 + br label %400 + +154: ; preds = %119 + %155 = shl i32 %128, 22 + %156 = xor i32 %155, %136 + %157 = bitcast i32 %156 to float + %158 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %141, float noundef %157, float noundef %157) #56 + br label %400 + +159: ; preds = %63 + %160 = bitcast float %44 to i32 + %161 = and i32 %4, 8388607 + %162 = tail call float @llvm.fabs.f32(float %44) + %163 = bitcast float %162 to i32 + %164 = ashr i32 %160, 31 + %165 = add i32 %163, -2139095040 + %166 = icmp ult i32 %165, -2139095039 + br i1 %166, label %342, label %167 + +167: ; preds = %159 + %168 = add nsw i32 %112, -127 + %169 = add i32 %4, -2139095040 + %170 = icmp ult i32 %169, -2130706432 + br i1 %170, label %359, label %171 + +171: ; preds = %394, %370, %167 + %172 = phi i32 [ %380, %394 ], [ 0, %167 ], [ %369, %370 ] + %173 = phi i32 [ %395, %394 ], [ %168, %167 ], [ %371, %370 ] + %174 = phi i32 [ %161, %394 ], [ %161, %167 ], [ %372, %370 ] + %175 = or i32 %174, 8388608 + %176 = add nuw nsw i32 %175, 262144 + %177 = lshr i32 %176, 19 + %178 = add nsw i32 %177, -16 + %179 = zext nneg i32 %178 to i64 + %180 = getelementptr inbounds [17 x i8], ptr addrspace(1) @_ZN20__imf_impl_pown_s_ep12_GLOBAL__N_120__spown_ep___rcp_tblE, i64 0, i64 %179 + %181 = load i8, ptr addrspace(1) %180, align 1, !tbaa !718 + %182 = zext i8 %181 to i32 + %183 = add nuw nsw i32 %182, 1 + %184 = mul nuw i32 %175, %183 + %185 = shl nsw i32 %184, 1 + %186 = sext i32 %185 to i64 + %187 = mul nsw i64 %186, -514316786 + %188 = lshr i64 %187, 32 + %189 = add nuw nsw i64 %188, 620231990 + %190 = and i64 %189, 4294967295 + %191 = mul nsw i64 %190, %186 + %192 = lshr i64 %191, 32 + %193 = trunc i64 %192 to i32 + %194 = add nsw i32 %193, -774543120 + %195 = sext i32 %194 to i64 + %196 = mul nsw i64 %195, %186 + %197 = lshr i64 %196, 32 + %198 = add nuw nsw i64 %197, 1032721133 + %199 = and i64 %198, 4294967295 + %200 = mul nsw i64 %199, %186 + %201 = lshr i64 %200, 32 + %202 = trunc i64 %201 to i32 + %203 = add nsw i32 %202, -1549082004 + %204 = ashr i32 %203, 8 + %205 = sext i32 %204 to i64 + %206 = mul nsw i64 %205, %186 + %207 = add nsw i64 %206, 51978566788627200 + %208 = shl i32 %203, 23 + %209 = and i32 %208, 2139095040 + %210 = zext nneg i32 %209 to i64 + %211 = mul nsw i64 %210, %186 + %212 = lshr i64 %211, 31 + %213 = trunc i64 %212 to i32 + %214 = and i32 %213, -2 + %215 = sext i32 %214 to i64 + %216 = add nsw i64 %207, %215 + %217 = shl i32 %173, 4 + %218 = sub nsw i32 16, %177 + %219 = icmp eq i32 %217, %218 + %220 = shl nuw nsw i64 %216, 7 + %221 = select i1 %219, i32 155, i32 148 + %222 = select i1 %219, i64 %220, i64 %216 + %223 = lshr i64 %222, 32 + %224 = mul nsw i64 %223, %186 + %225 = getelementptr inbounds [17 x i64], ptr addrspace(1) @_ZN20__imf_impl_pown_s_ep12_GLOBAL__N_121__spown_ep___log2_tblE, i64 0, i64 %179 + %226 = load i64, ptr addrspace(1) %225, align 8, !tbaa !719 + %227 = add i64 %224, %226 + %228 = lshr exact i64 %222, 1 + %229 = and i64 %228, 2147483647 + %230 = mul nsw i64 %229, %186 + %231 = lshr i64 %230, 31 + %232 = trunc i64 %231 to i32 + %233 = and i32 %232, -2 + %234 = sext i32 %233 to i64 + %235 = add i64 %227, %234 + %236 = shl i32 %173, 23 + %237 = sext i32 %236 to i64 + %238 = shl nsw i64 %237, 32 + %239 = add i64 %235, %238 + br label %240 + +240: ; preds = %248, %171 + %241 = phi i32 [ %221, %171 ], [ %249, %248 ] + %242 = phi i64 [ %239, %171 ], [ %243, %248 ] + %243 = shl i64 %242, 1 + %244 = icmp ne i64 %243, 0 + %245 = xor i64 %243, %242 + %246 = icmp sgt i64 %245, -1 + %247 = and i1 %244, %246 + br i1 %247, label %248, label %250 + +248: ; preds = %240 + %249 = add i32 %241, 1 + br label %240, !llvm.loop !1339 + +250: ; preds = %240 + %251 = and i32 %163, 8388607 + %252 = icmp ult i32 %163, 8388608 + %253 = lshr i32 %163, 23 + %254 = or i32 %251, 8388608 + %255 = sub nsw i32 0, %253 + %256 = select i1 %252, i32 -1, i32 %255 + %257 = add i32 %241, %256 + %258 = select i1 %252, i32 %251, i32 %254 + %259 = xor i32 %258, %164 + %260 = sub nsw i32 %259, %164 + %261 = shl i32 %260, 7 + %262 = ashr i64 %242, 32 + %263 = sext i32 %261 to i64 + %264 = mul nsw i64 %262, %263 + %265 = lshr i64 %242, 1 + %266 = and i64 %265, 2147483647 + %267 = mul nsw i64 %266, %263 + %268 = lshr i64 %267, 31 + %269 = trunc i64 %268 to i32 + %270 = and i32 %269, -2 + %271 = sext i32 %270 to i64 + %272 = add nsw i64 %264, %271 + %273 = icmp slt i32 %257, 0 + br i1 %273, label %274, label %276 + +274: ; preds = %250 + %275 = icmp slt i64 %272, 0 + br i1 %275, label %397, label %325 + +276: ; preds = %250 + %277 = icmp ugt i32 %257, 31 + br i1 %277, label %278, label %284 + +278: ; preds = %276 + %279 = add nsw i32 %257, -32 + %280 = ashr i64 %272, 32 + %281 = icmp ugt i32 %257, 63 + br i1 %281, label %282, label %284 + +282: ; preds = %278 + %283 = or i32 %172, 1065353216 + br label %397 + +284: ; preds = %278, %276 + %285 = phi i32 [ %279, %278 ], [ %257, %276 ] + %286 = phi i64 [ %280, %278 ], [ %272, %276 ] + %287 = zext i32 %285 to i64 + %288 = ashr i64 %286, %287 + %289 = lshr i64 %288, 32 + %290 = trunc i64 %289 to i32 + %291 = and i64 %288, 4294967295 + %292 = mul nuw nsw i64 %291, 93032 + %293 = lshr i64 %292, 32 + %294 = add nuw nsw i64 %293, 614019 + %295 = mul nuw nsw i64 %294, %291 + %296 = lshr i64 %295, 32 + %297 = add nuw nsw i64 %296, 5768246 + %298 = mul nuw nsw i64 %297, %291 + %299 = lshr i64 %298, 32 + %300 = add nuw nsw i64 %299, 41289694 + %301 = mul nuw nsw i64 %300, %291 + %302 = lshr i64 %301, 32 + %303 = add nuw nsw i64 %302, 238393458 + %304 = mul nuw nsw i64 %303, %291 + %305 = lshr i64 %304, 32 + %306 = add nuw nsw i64 %305, 1031764343 + %307 = mul nuw nsw i64 %306, %291 + %308 = lshr i64 %307, 32 + %309 = add nuw nsw i64 %308, 2977044503 + %310 = mul nuw i64 %309, %291 + %311 = lshr i64 %310, 33 + %312 = trunc i64 %311 to i32 + %313 = add nuw i32 %312, 128 + %314 = add nsw i32 %290, 127 + %315 = lshr i32 %313, 31 + %316 = add i32 %314, %315 + %317 = icmp sgt i32 %316, 254 + br i1 %317, label %325, label %318 + +318: ; preds = %284 + %319 = icmp slt i32 %316, 1 + br i1 %319, label %327, label %320 + +320: ; preds = %318 + %321 = shl i32 %314, 23 + %322 = lshr i32 %313, 8 + %323 = add i32 %321, %322 + %324 = or i32 %172, %323 + br label %397 + +325: ; preds = %284, %274 + %326 = or i32 %172, 2139095040 + br label %397 + +327: ; preds = %318 + %328 = icmp slt i32 %316, -24 + br i1 %328, label %397, label %329 + +329: ; preds = %327 + %330 = or i32 %312, -2147483648 + br label %331 + +331: ; preds = %335, %329 + %332 = phi i32 [ %314, %329 ], [ %337, %335 ] + %333 = phi i32 [ %330, %329 ], [ %336, %335 ] + %334 = icmp slt i32 %332, 1 + br i1 %334, label %335, label %338 + +335: ; preds = %331 + %336 = lshr i32 %333, 1 + %337 = add nsw i32 %332, 1 + br label %331, !llvm.loop !1340 + +338: ; preds = %331 + %339 = add nsw i32 %333, 128 + %340 = lshr i32 %339, 8 + %341 = or i32 %172, %340 + br label %397 + +342: ; preds = %159 + %343 = icmp eq i32 %163, 0 + br i1 %343, label %397, label %344 + +344: ; preds = %342 + %345 = icmp ugt i32 %163, 2139095040 + br i1 %345, label %346, label %349 + +346: ; preds = %344 + %347 = icmp eq i32 %4, 1065353216 + %348 = select i1 %347, i32 1065353216, i32 -4194304 + br label %397 + +349: ; preds = %344 + %350 = shl i32 %4, 1 + %351 = icmp ugt i32 %350, -16777216 + br i1 %351, label %397, label %352 + +352: ; preds = %349 + %353 = add nsw i32 %46, -1065353216 + %354 = icmp eq i32 %353, 0 + %355 = xor i32 %353, %164 + %356 = icmp slt i32 %355, 0 + %357 = select i1 %356, i32 0, i32 2139095040 + %358 = select i1 %354, i32 1065353216, i32 %357 + br label %397 + +359: ; preds = %167 + %360 = icmp eq i32 %4, 2139095040 + br i1 %360, label %361, label %363 + +361: ; preds = %359 + %362 = select i1 %7, i32 0, i32 2139095040 + br label %397 + +363: ; preds = %359 + %364 = shl i32 %4, 1 + %365 = icmp ugt i32 %364, -16777216 + br i1 %365, label %397, label %366 + +366: ; preds = %363 + %367 = icmp sgt i32 %4, 0 + br i1 %367, label %368, label %377 + +368: ; preds = %394, %366 + %369 = phi i32 [ 0, %366 ], [ %380, %394 ] + br label %370 + +370: ; preds = %374, %368 + %371 = phi i32 [ -126, %368 ], [ %375, %374 ] + %372 = phi i32 [ %161, %368 ], [ %376, %374 ] + %373 = icmp ult i32 %372, 8388608 + br i1 %373, label %374, label %171 + +374: ; preds = %370 + %375 = add nsw i32 %371, -1 + %376 = shl nuw nsw i32 %372, 1 + br label %370, !llvm.loop !1341 + +377: ; preds = %366 + %378 = icmp ugt i32 %163, 1065353215 + %379 = shl i32 %1, 31 + %380 = select i1 %378, i32 %379, i32 0 + %381 = icmp eq i32 %364, 0 + br i1 %381, label %382, label %386 + +382: ; preds = %377 + %383 = and i32 %380, %4 + %384 = or i32 %383, 2139095040 + %385 = select i1 %7, i32 %384, i32 0 + br label %397 + +386: ; preds = %377 + %387 = icmp slt i32 %4, 0 + br i1 %387, label %388, label %397 + +388: ; preds = %386 + switch i32 %4, label %394 [ + i32 -8388608, label %389 + i32 -1082130432, label %392 + ] + +389: ; preds = %388 + %390 = or i32 %380, 2139095040 + %391 = select i1 %7, i32 %380, i32 %390 + br label %397 + +392: ; preds = %388 + %393 = or i32 %380, 1065353216 + br label %397 + +394: ; preds = %388 + %395 = add nsw i32 %112, -383 + %396 = icmp ugt i32 %4, -2139095041 + br i1 %396, label %171, label %368 + +397: ; preds = %392, %389, %386, %382, %363, %361, %352, %349, %346, %342, %338, %327, %325, %320, %282, %274 + %398 = phi i32 [ 1065353216, %342 ], [ %348, %346 ], [ -4194304, %349 ], [ %358, %352 ], [ %362, %361 ], [ -4194304, %363 ], [ %326, %325 ], [ %283, %282 ], [ %324, %320 ], [ %385, %382 ], [ %393, %392 ], [ %391, %389 ], [ 0, %386 ], [ %341, %338 ], [ %172, %327 ], [ %172, %274 ] + %399 = bitcast i32 %398 to float + br label %400 + +400: ; preds = %397, %154, %143, %39, %21, %17, %14, %10 + %401 = phi float [ %399, %397 ], [ %41, %39 ], [ 1.000000e+00, %21 ], [ %20, %17 ], [ %16, %14 ], [ 1.000000e+00, %10 ], [ %153, %143 ], [ %158, %154 ] + ret float %401 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fadd_rd(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1342 { + %3 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 3) #55 + ret float %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1343 { + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = lshr i32 %4, 23 + %7 = and i32 %6, 255 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = and i32 %4, 8388607 + %11 = and i32 %5, 8388607 + %12 = lshr i32 %4, 31 + %13 = lshr i32 %5, 31 + %14 = icmp eq i32 %7, 255 + %15 = icmp ne i32 %10, 0 + %16 = and i1 %14, %15 + br i1 %16, label %53, label %17 + +17: ; preds = %3 + %18 = icmp eq i32 %9, 255 + %19 = icmp ne i32 %11, 0 + %20 = and i1 %18, %19 + br i1 %20, label %53, label %21 + +21: ; preds = %17 + %22 = icmp eq i32 %10, 0 + %23 = and i1 %14, %22 + br i1 %23, label %24, label %30 + +24: ; preds = %21 + %25 = icmp eq i32 %11, 0 + %26 = icmp ne i32 %12, %13 + %27 = and i1 %25, %26 + %28 = and i1 %27, %18 + %29 = select i1 %28, float 0x7FF8000000000000, float %0 + br label %53 + +30: ; preds = %21 + %31 = icmp eq i32 %11, 0 + %32 = and i1 %18, %31 + %33 = or i32 %7, %10 + %34 = icmp eq i32 %33, 0 + %35 = or i1 %32, %34 + br i1 %35, label %53, label %36 + +36: ; preds = %30 + %37 = or i32 %9, %11 + %38 = icmp eq i32 %37, 0 + br i1 %38, label %53, label %39 + +39: ; preds = %36 + %40 = icmp eq i32 %12, %13 + br i1 %40, label %41, label %47 + +41: ; preds = %39 + %42 = icmp ugt i32 %7, %9 + br i1 %42, label %43, label %45 + +43: ; preds = %41 + %44 = tail call spir_func noundef float @_Z17__fp_add_sig_sameIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) #55 + br label %53 + +45: ; preds = %41 + %46 = tail call spir_func noundef float @_Z17__fp_add_sig_sameIfET_S0_S0_i(float noundef %1, float noundef %0, i32 noundef %2) #55 + br label %53 + +47: ; preds = %39 + %48 = icmp ugt i32 %7, %9 + br i1 %48, label %49, label %51 + +49: ; preds = %47 + %50 = tail call spir_func noundef float @_Z17__fp_add_sig_diffIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) #55 + br label %53 + +51: ; preds = %47 + %52 = tail call spir_func noundef float @_Z17__fp_add_sig_diffIfET_S0_S0_i(float noundef %1, float noundef %0, i32 noundef %2) #55 + br label %53 + +53: ; preds = %51, %49, %45, %43, %36, %30, %24, %17, %3 + %54 = phi float [ 0x7FF8000000000000, %17 ], [ 0x7FF8000000000000, %3 ], [ %29, %24 ], [ %1, %30 ], [ %0, %36 ], [ %44, %43 ], [ %46, %45 ], [ %50, %49 ], [ %52, %51 ] + ret float %54 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_Z17__fp_add_sig_sameIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1344 { + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = lshr i32 %4, 23 + %7 = and i32 %6, 255 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = and i32 %4, 8388607 + %11 = and i32 %5, 8388607 + %12 = icmp eq i32 %9, 0 + br i1 %12, label %13, label %26 + +13: ; preds = %3 + %14 = icmp eq i32 %7, 0 + br i1 %14, label %15, label %24 + +15: ; preds = %13 + %16 = add nuw nsw i32 %10, %11 + %17 = and i32 %16, 8388607 + %18 = icmp ult i32 %16, 8388608 + %19 = select i1 %18, i32 0, i32 8388608 + %20 = and i32 %4, -2147483648 + %21 = or i32 %20, %19 + %22 = or i32 %21, %17 + %23 = bitcast i32 %22 to float + br label %151 + +24: ; preds = %13 + %25 = add nsw i32 %7, -1 + br label %28 + +26: ; preds = %3 + %27 = sub nsw i32 %7, %9 + br label %28 + +28: ; preds = %26, %24 + %29 = phi i32 [ %25, %24 ], [ %27, %26 ] + %30 = phi i32 [ 0, %24 ], [ 1, %26 ] + switch i32 %29, label %36 [ + i32 0, label %65 + i32 1, label %31 + ] + +31: ; preds = %28 + %32 = and i32 %5, 1 + %33 = lshr i32 %11, 1 + %34 = or i32 %33, 4194304 + %35 = select i1 %12, i32 %33, i32 %34 + br label %68 + +36: ; preds = %28 + %37 = icmp ult i32 %29, 24 + br i1 %37, label %38, label %55 + +38: ; preds = %36 + %39 = add nsw i32 %29, -1 + %40 = lshr i32 %11, %39 + %41 = and i32 %40, 1 + %42 = add nsw i32 %29, -2 + %43 = lshr i32 %11, %42 + %44 = freeze i32 %43 + %45 = and i32 %44, 1 + %46 = shl nsw i32 -1, %42 + %47 = xor i32 %46, -1 + %48 = and i32 %11, %47 + %49 = icmp ne i32 %48, 0 + %50 = lshr i32 %11, %29 + %51 = sub nuw nsw i32 23, %29 + %52 = shl nuw nsw i32 1, %51 + %53 = select i1 %12, i32 0, i32 %52 + %54 = or i32 %50, %53 + br label %68 + +55: ; preds = %36 + switch i32 %29, label %63 [ + i32 24, label %56 + i32 25, label %61 + ] + +56: ; preds = %55 + %57 = lshr i32 %5, 22 + %58 = and i32 %57, 1 + %59 = and i32 %5, 4194303 + %60 = icmp ne i32 %59, 0 + br label %68 + +61: ; preds = %55 + %62 = icmp ne i32 %11, 0 + br label %68 + +63: ; preds = %55 + %64 = icmp ne i32 %5, 0 + br label %68 + +65: ; preds = %28 + %66 = add nuw nsw i32 %10, %11 + %67 = icmp ugt i32 %66, 8388607 + br i1 %67, label %81, label %93 + +68: ; preds = %63, %61, %56, %38, %31 + %69 = phi i32 [ %41, %38 ], [ %30, %56 ], [ 0, %61 ], [ 0, %63 ], [ %32, %31 ] + %70 = phi i32 [ %45, %38 ], [ %58, %56 ], [ %30, %61 ], [ 0, %63 ], [ 0, %31 ] + %71 = phi i1 [ %49, %38 ], [ %60, %56 ], [ %62, %61 ], [ %64, %63 ], [ false, %31 ] + %72 = phi i32 [ %54, %38 ], [ 0, %56 ], [ 0, %61 ], [ 0, %63 ], [ %35, %31 ] + %73 = zext i1 %71 to i32 + %74 = add nuw nsw i32 %10, %72 + %75 = icmp ugt i32 %74, 8388607 + br i1 %75, label %76, label %98 + +76: ; preds = %68 + %77 = icmp eq i32 %70, 1 + %78 = select i1 %77, i32 1, i32 %73 + %79 = lshr i32 %74, 1 + %80 = and i32 %79, 4194303 + br label %86 + +81: ; preds = %65 + %82 = lshr i32 %66, 1 + %83 = and i32 %82, 4194303 + %84 = or i32 %82, 4194304 + %85 = select i1 %12, i32 %83, i32 %84 + br label %86 + +86: ; preds = %81, %76 + %87 = phi i32 [ %74, %76 ], [ %66, %81 ] + %88 = phi i32 [ %78, %76 ], [ 0, %81 ] + %89 = phi i32 [ %69, %76 ], [ 0, %81 ] + %90 = phi i32 [ %80, %76 ], [ %85, %81 ] + %91 = and i32 %87, 1 + %92 = add nuw nsw i32 %7, 1 + br label %98 + +93: ; preds = %65 + br i1 %12, label %98, label %94 + +94: ; preds = %93 + %95 = and i32 %66, 1 + %96 = lshr i32 %66, 1 + %97 = add nuw nsw i32 %7, 1 + br label %98 + +98: ; preds = %94, %93, %86, %68 + %99 = phi i32 [ %90, %86 ], [ %96, %94 ], [ %66, %93 ], [ %74, %68 ] + %100 = phi i32 [ %91, %86 ], [ %95, %94 ], [ 0, %93 ], [ %69, %68 ] + %101 = phi i32 [ %89, %86 ], [ 0, %94 ], [ 0, %93 ], [ %70, %68 ] + %102 = phi i32 [ %88, %86 ], [ 0, %94 ], [ 0, %93 ], [ %73, %68 ] + %103 = phi i32 [ %92, %86 ], [ %97, %94 ], [ %7, %93 ], [ %7, %68 ] + %104 = shl nuw nsw i32 %100, 2 + %105 = shl nuw nsw i32 %101, 1 + %106 = or i32 %104, %105 + %107 = or i32 %106, %102 + %108 = icmp eq i32 %107, 0 + br i1 %108, label %127, label %109 + +109: ; preds = %98 + %110 = icmp eq i32 %2, 2 + %111 = icmp sgt i32 %4, -1 + %112 = and i1 %110, %111 + br i1 %112, label %127, label %113 + +113: ; preds = %109 + %114 = icmp eq i32 %2, 3 + %115 = icmp slt i32 %4, 0 + %116 = and i1 %114, %115 + br i1 %116, label %127, label %117 + +117: ; preds = %113 + %118 = icmp eq i32 %2, 0 + br i1 %118, label %119, label %126 + +119: ; preds = %117 + %120 = icmp ugt i32 %107, 4 + br i1 %120, label %127, label %121 + +121: ; preds = %119 + %122 = icmp ne i32 %107, 4 + %123 = and i32 %99, 1 + %124 = icmp eq i32 %123, 0 + %125 = or i1 %122, %124 + br i1 %125, label %126, label %127 + +126: ; preds = %121, %117 + br label %127 + +127: ; preds = %126, %121, %119, %113, %109, %98 + %128 = phi i32 [ 0, %126 ], [ 0, %98 ], [ 1, %109 ], [ 1, %113 ], [ 1, %121 ], [ 1, %119 ] + %129 = add nuw nsw i32 %99, %128 + %130 = icmp eq i32 %129, 8388608 + %131 = zext i1 %130 to i32 + %132 = add nuw nsw i32 %103, %131 + %133 = icmp eq i32 %132, 255 + br i1 %133, label %134, label %144 + +134: ; preds = %127 + %135 = icmp sgt i32 %4, -1 + br i1 %135, label %136, label %140 + +136: ; preds = %134 + %137 = and i32 %2, -3 + %138 = icmp eq i32 %137, 1 + %139 = select i1 %138, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %151 + +140: ; preds = %134 + %141 = add i32 %2, -1 + %142 = icmp ult i32 %141, 2 + %143 = select i1 %142, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %151 + +144: ; preds = %127 + %145 = select i1 %130, i32 0, i32 %129 + %146 = and i32 %4, -2147483648 + %147 = shl nuw i32 %132, 23 + %148 = or i32 %146, %147 + %149 = or i32 %148, %145 + %150 = bitcast i32 %149 to float + br label %151 + +151: ; preds = %144, %140, %136, %15 + %152 = phi float [ %23, %15 ], [ %150, %144 ], [ %139, %136 ], [ %143, %140 ] + ret float %152 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_Z17__fp_add_sig_diffIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1345 { + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = lshr i32 %4, 23 + %7 = and i32 %6, 255 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = and i32 %4, 8388607 + %11 = and i32 %5, 8388607 + %12 = lshr i32 %4, 31 + %13 = lshr i32 %5, 31 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %28 + +15: ; preds = %3 + %16 = icmp eq i32 %7, 0 + br i1 %16, label %17, label %26 + +17: ; preds = %15 + %18 = icmp ugt i32 %10, %11 + %19 = sub nsw i32 %10, %11 + %20 = sub nsw i32 %11, %10 + %21 = select i1 %18, i32 %12, i32 %13 + %22 = select i1 %18, i32 %19, i32 %20 + %23 = shl nuw i32 %21, 31 + %24 = or i32 %23, %22 + %25 = bitcast i32 %24 to float + br label %222 + +26: ; preds = %15 + %27 = add nsw i32 %7, -1 + br label %30 + +28: ; preds = %3 + %29 = sub nsw i32 %7, %9 + br label %30 + +30: ; preds = %28, %26 + %31 = phi i32 [ 0, %26 ], [ 1, %28 ] + %32 = phi i32 [ %27, %26 ], [ %29, %28 ] + %33 = icmp eq i32 %32, 0 + br i1 %33, label %83, label %34 + +34: ; preds = %30 + %35 = icmp ne i32 %32, 1 + br i1 %35, label %41, label %36 + +36: ; preds = %34 + %37 = and i32 %5, 1 + %38 = lshr i32 %11, 1 + %39 = or i32 %38, 4194304 + %40 = select i1 %14, i32 %38, i32 %39 + br label %69 + +41: ; preds = %34 + %42 = icmp ult i32 %32, 24 + br i1 %42, label %43, label %59 + +43: ; preds = %41 + %44 = add nsw i32 %32, -1 + %45 = lshr i32 %11, %44 + %46 = and i32 %45, 1 + %47 = add nsw i32 %32, -2 + %48 = lshr i32 %11, %47 + %49 = and i32 %48, 1 + %50 = shl nsw i32 -1, %47 + %51 = xor i32 %50, -1 + %52 = and i32 %11, %51 + %53 = icmp ne i32 %52, 0 + %54 = lshr i32 %11, %32 + %55 = sub nuw nsw i32 23, %32 + %56 = shl nuw nsw i32 1, %55 + %57 = select i1 %14, i32 0, i32 %56 + %58 = or i32 %54, %57 + br label %69 + +59: ; preds = %41 + switch i32 %32, label %67 [ + i32 24, label %60 + i32 25, label %65 + ] + +60: ; preds = %59 + %61 = lshr i32 %5, 22 + %62 = and i32 %61, 1 + %63 = and i32 %5, 4194303 + %64 = icmp ne i32 %63, 0 + br label %69 + +65: ; preds = %59 + %66 = icmp ne i32 %11, 0 + br label %69 + +67: ; preds = %59 + %68 = icmp ne i32 %5, 0 + br label %69 + +69: ; preds = %67, %65, %60, %43, %36 + %70 = phi i1 [ %53, %43 ], [ %64, %60 ], [ %66, %65 ], [ %68, %67 ], [ false, %36 ] + %71 = phi i32 [ %49, %43 ], [ %62, %60 ], [ %31, %65 ], [ 0, %67 ], [ 0, %36 ] + %72 = phi i32 [ %46, %43 ], [ %31, %60 ], [ 0, %65 ], [ 0, %67 ], [ %37, %36 ] + %73 = phi i32 [ %58, %43 ], [ 0, %60 ], [ 0, %65 ], [ 0, %67 ], [ %40, %36 ] + %74 = zext i1 %70 to i32 + %75 = shl nuw nsw i32 %10, 3 + %76 = shl nuw nsw i32 %73, 3 + %77 = shl nuw nsw i32 %72, 2 + %78 = or i32 %76, %77 + %79 = shl nuw nsw i32 %71, 1 + %80 = or i32 %78, %79 + %81 = or i32 %80, %74 + %82 = icmp ult i32 %75, %81 + br i1 %82, label %147, label %143 + +83: ; preds = %30 + %84 = icmp eq i32 %10, %11 + br i1 %84, label %85, label %90 + +85: ; preds = %83 + %86 = and i32 %4, -2147483648 + %87 = or i32 %86, 8388608 + %88 = bitcast i32 %87 to float + %89 = select i1 %14, float %88, float 0.000000e+00 + br label %222 + +90: ; preds = %83 + %91 = icmp ugt i32 %10, %11 + br i1 %91, label %92, label %99 + +92: ; preds = %90 + %93 = sub nsw i32 %10, %11 + br i1 %14, label %94, label %108 + +94: ; preds = %92 + %95 = and i32 %4, -2147483648 + %96 = or i32 %95, %93 + %97 = or i32 %96, 8388608 + %98 = bitcast i32 %97 to float + br label %222 + +99: ; preds = %90 + br i1 %14, label %102, label %100 + +100: ; preds = %99 + %101 = sub nsw i32 %11, %10 + br label %108 + +102: ; preds = %99 + %103 = or i32 %10, 8388608 + %104 = sub nuw nsw i32 %103, %11 + %105 = and i32 %4, -2147483648 + %106 = or i32 %105, %104 + %107 = bitcast i32 %106 to float + br label %222 + +108: ; preds = %100, %92 + %109 = phi i32 [ %12, %92 ], [ %13, %100 ] + %110 = phi i32 [ %93, %92 ], [ %101, %100 ] + br label %111 + +111: ; preds = %120, %108 + %112 = phi i32 [ 4194304, %108 ], [ %121, %120 ] + %113 = phi i64 [ 0, %108 ], [ %122, %120 ] + %114 = icmp ult i64 %113, 23 + br i1 %114, label %115, label %123 + +115: ; preds = %111 + %116 = and i32 %112, %110 + %117 = icmp eq i32 %116, %112 + br i1 %117, label %118, label %120 + +118: ; preds = %115 + %119 = trunc i64 %113 to i32 + br label %123 + +120: ; preds = %115 + %121 = lshr i32 %112, 1 + %122 = add nuw nsw i64 %113, 1 + br label %111, !llvm.loop !1346 + +123: ; preds = %118, %111 + %124 = phi i32 [ %119, %118 ], [ -1, %111 ] + %125 = add nsw i32 %124, 1 + %126 = icmp ugt i32 %7, %125 + br i1 %126, label %127, label %133 + +127: ; preds = %123 + %128 = xor i32 %124, -1 + %129 = add i32 %7, %128 + %130 = shl i32 %110, %125 + %131 = and i32 %130, 8388607 + %132 = shl i32 %129, 23 + br label %136 + +133: ; preds = %123 + %134 = add nsw i32 %7, -1 + %135 = shl i32 %110, %134 + br label %136 + +136: ; preds = %133, %127 + %137 = phi i32 [ %131, %127 ], [ %135, %133 ] + %138 = phi i32 [ %132, %127 ], [ 0, %133 ] + %139 = shl nuw i32 %109, 31 + %140 = or i32 %139, %138 + %141 = or i32 %140, %137 + %142 = bitcast i32 %141 to float + br label %222 + +143: ; preds = %69 + %144 = sub nsw i32 %75, %81 + %145 = and i32 %144, 7 + %146 = lshr i32 %144, 3 + br label %187 + +147: ; preds = %69 + %148 = or i32 %75, 67108864 + %149 = sub nsw i32 %148, %81 + br label %150 + +150: ; preds = %159, %147 + %151 = phi i32 [ 33554432, %147 ], [ %160, %159 ] + %152 = phi i64 [ 0, %147 ], [ %161, %159 ] + %153 = icmp ult i64 %152, 26 + br i1 %153, label %154, label %162 + +154: ; preds = %150 + %155 = and i32 %151, %149 + %156 = icmp eq i32 %155, %151 + br i1 %156, label %157, label %159 + +157: ; preds = %154 + %158 = trunc i64 %152 to i32 + br label %162 + +159: ; preds = %154 + %160 = lshr i32 %151, 1 + %161 = add nuw nsw i64 %152, 1 + br label %150, !llvm.loop !1346 + +162: ; preds = %157, %150 + %163 = phi i32 [ %158, %157 ], [ -1, %150 ] + %164 = or i1 %35, %14 + br i1 %164, label %165, label %171 + +165: ; preds = %162 + %166 = lshr i32 %149, 2 + %167 = and i32 %166, 8388607 + %168 = shl i32 %149, 1 + %169 = and i32 %168, 6 + %170 = add nsw i32 %7, -1 + br label %187 + +171: ; preds = %162 + %172 = add nsw i32 %163, 1 + %173 = icmp ugt i32 %7, %172 + %174 = xor i32 %163, -1 + %175 = add i32 %7, %174 + %176 = add nsw i32 %7, -1 + %177 = select i1 %173, i32 %172, i32 %176 + %178 = shl i32 %175, 23 + %179 = shl i32 %149, %177 + %180 = lshr i32 %179, 3 + %181 = and i32 %180, 8388607 + %182 = and i32 %4, -2147483648 + %183 = select i1 %173, i32 %178, i32 0 + %184 = or i32 %182, %183 + %185 = or i32 %184, %181 + %186 = bitcast i32 %185 to float + br label %222 + +187: ; preds = %165, %143 + %188 = phi i32 [ %146, %143 ], [ %167, %165 ] + %189 = phi i32 [ %145, %143 ], [ %169, %165 ] + %190 = phi i32 [ %7, %143 ], [ %170, %165 ] + %191 = icmp eq i32 %189, 0 + br i1 %191, label %210, label %192 + +192: ; preds = %187 + %193 = icmp eq i32 %2, 2 + %194 = icmp sgt i32 %4, -1 + %195 = and i1 %193, %194 + br i1 %195, label %210, label %196 + +196: ; preds = %192 + %197 = icmp eq i32 %2, 3 + %198 = icmp slt i32 %4, 0 + %199 = and i1 %197, %198 + br i1 %199, label %210, label %200 + +200: ; preds = %196 + %201 = icmp eq i32 %2, 0 + br i1 %201, label %202, label %209 + +202: ; preds = %200 + %203 = icmp ugt i32 %189, 4 + br i1 %203, label %210, label %204 + +204: ; preds = %202 + %205 = icmp ne i32 %189, 4 + %206 = and i32 %188, 1 + %207 = icmp eq i32 %206, 0 + %208 = or i1 %205, %207 + br i1 %208, label %209, label %210 + +209: ; preds = %204, %200 + br label %210 + +210: ; preds = %209, %204, %202, %196, %192, %187 + %211 = phi i32 [ 0, %209 ], [ 0, %187 ], [ 1, %192 ], [ 1, %196 ], [ 1, %204 ], [ 1, %202 ] + %212 = add nuw nsw i32 %188, %211 + %213 = icmp ugt i32 %212, 8388607 + %214 = select i1 %213, i32 0, i32 %212 + %215 = zext i1 %213 to i32 + %216 = add nsw i32 %190, %215 + %217 = and i32 %4, -2147483648 + %218 = shl i32 %216, 23 + %219 = or i32 %217, %218 + %220 = or i32 %219, %214 + %221 = bitcast i32 %220 to float + br label %222 + +222: ; preds = %210, %171, %136, %102, %94, %85, %17 + %223 = phi float [ %25, %17 ], [ %89, %85 ], [ %98, %94 ], [ %142, %136 ], [ %107, %102 ], [ %221, %210 ], [ %186, %171 ] + ret float %223 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fadd_rn(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1347 { + %3 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 0) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fadd_ru(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1348 { + %3 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 2) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fadd_rz(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1349 { + %3 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 1) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fsub_rd(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1350 { + %3 = fneg float %1 + %4 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %3, i32 noundef 3) #55 + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fsub_rn(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1351 { + %3 = fneg float %1 + %4 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %3, i32 noundef 0) #55 + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fsub_ru(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1352 { + %3 = fneg float %1 + %4 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %3, i32 noundef 2) #55 + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fsub_rz(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1353 { + %3 = fneg float %1 + %4 = tail call spir_func noundef float @_Z18__fp_add_sub_entryIfET_S0_S0_i(float noundef %0, float noundef %3, i32 noundef 1) #55 + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmul_rd(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1354 { + %3 = tail call spir_func noundef float @_Z8__fp_mulIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 3) #55 + ret float %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_Z8__fp_mulIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1355 { + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = lshr i32 %4, 23 + %7 = and i32 %6, 255 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = and i32 %4, 8388607 + %11 = and i32 %5, 8388607 + %12 = xor i32 %4, %5 + %13 = lshr i32 %12, 31 + %14 = icmp eq i32 %7, 255 + %15 = icmp ne i32 %10, 0 + %16 = and i1 %14, %15 + br i1 %16, label %260, label %17 + +17: ; preds = %3 + %18 = icmp eq i32 %9, 255 + %19 = icmp ne i32 %11, 0 + %20 = and i1 %18, %19 + br i1 %20, label %260, label %21 + +21: ; preds = %17 + %22 = icmp eq i32 %10, 0 + %23 = and i1 %14, %22 + %24 = icmp eq i32 %11, 0 + %25 = and i1 %18, %24 + %26 = or i1 %23, %25 + br i1 %26, label %27, label %31 + +27: ; preds = %21 + %28 = and i32 %12, -2147483648 + %29 = or i32 %28, 2139095040 + %30 = bitcast i32 %29 to float + br label %260 + +31: ; preds = %21 + %32 = or i32 %7, %10 + %33 = icmp eq i32 %32, 0 + %34 = or i32 %9, %11 + %35 = icmp eq i32 %34, 0 + %36 = or i1 %33, %35 + br i1 %36, label %260, label %37 + +37: ; preds = %31 + %38 = icmp eq i32 %7, 0 + %39 = icmp eq i32 %9, 0 + %40 = add nsw i32 %7, -127 + %41 = select i1 %38, i32 -126, i32 %40 + %42 = select i1 %38, i32 0, i32 8388608 + %43 = add nsw i32 %9, -127 + %44 = select i1 %39, i32 -126, i32 %43 + %45 = add nsw i32 %41, %44 + %46 = select i1 %39, i32 0, i32 8388608 + %47 = icmp sgt i32 %45, 127 + br i1 %47, label %48, label %58 + +48: ; preds = %37 + %49 = icmp sgt i32 %12, -1 + br i1 %49, label %50, label %54 + +50: ; preds = %48 + %51 = and i32 %2, -3 + %52 = icmp eq i32 %51, 1 + %53 = select i1 %52, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %260 + +54: ; preds = %48 + %55 = add i32 %2, -1 + %56 = icmp ult i32 %55, 2 + %57 = select i1 %56, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %260 + +58: ; preds = %37 + %59 = or i32 %6, %8 + %60 = trunc i32 %59 to i8 + %61 = icmp eq i8 %60, 0 + br i1 %61, label %62, label %69 + +62: ; preds = %58 + %63 = icmp eq i32 %2, 2 + %64 = select i1 %63, float 0x36A0000000000000, float 0.000000e+00 + %65 = icmp eq i32 %2, 3 + %66 = select i1 %65, float 0xB6A0000000000000, float -0.000000e+00 + %67 = icmp slt i32 %12, 0 + %68 = select i1 %67, float %66, float %64 + br label %260 + +69: ; preds = %58 + %70 = or i32 %42, %10 + %71 = zext nneg i32 %70 to i64 + %72 = or i32 %46, %11 + %73 = zext nneg i32 %72 to i64 + %74 = mul nuw nsw i64 %71, %73 + br label %75 + +75: ; preds = %82, %69 + %76 = phi i64 [ 0, %69 ], [ %84, %82 ] + %77 = phi i64 [ -9223372036854775808, %69 ], [ %83, %82 ] + %78 = icmp ugt i64 %76, 63 + %79 = and i64 %74, %77 + %80 = icmp eq i64 %79, %77 + %81 = select i1 %78, i1 true, i1 %80 + br i1 %81, label %85, label %82 + +82: ; preds = %75 + %83 = lshr i64 %77, 1 + %84 = add nuw nsw i64 %76, 1 + br label %75, !llvm.loop !1356 + +85: ; preds = %75 + %86 = sub nsw i64 63, %76 + %87 = trunc i64 %86 to i32 + %88 = add nsw i32 %87, -46 + %89 = add nsw i32 %88, %45 + %90 = icmp sgt i32 %89, 127 + br i1 %90, label %91, label %101 + +91: ; preds = %85 + %92 = icmp sgt i32 %12, -1 + br i1 %92, label %93, label %97 + +93: ; preds = %91 + %94 = and i32 %2, -3 + %95 = icmp eq i32 %94, 1 + %96 = select i1 %95, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %260 + +97: ; preds = %91 + %98 = add i32 %2, -1 + %99 = icmp ult i32 %98, 2 + %100 = select i1 %99, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %260 + +101: ; preds = %85 + %102 = icmp sgt i32 %89, -127 + br i1 %102, label %103, label %183 + +103: ; preds = %101 + %104 = add nsw i32 %89, 127 + %105 = icmp ult i64 %86, 24 + br i1 %105, label %106, label %118 + +106: ; preds = %103 + %107 = shl nsw i64 -1, %86 + %108 = xor i64 %107, -1 + %109 = and i64 %74, %108 + %110 = trunc i64 %109 to i32 + %111 = sub i32 23, %87 + %112 = shl i32 %110, %111 + %113 = and i32 %12, -2147483648 + %114 = shl nuw nsw i32 %104, 23 + %115 = or i32 %113, %114 + %116 = or i32 %115, %112 + %117 = bitcast i32 %116 to float + br label %260 + +118: ; preds = %103 + switch i64 %86, label %129 [ + i64 24, label %119 + i64 25, label %123 + ] + +119: ; preds = %118 + %120 = trunc i64 %74 to i32 + %121 = and i32 %120, 1 + %122 = lshr i32 %120, 1 + br label %150 + +123: ; preds = %118 + %124 = trunc i64 %74 to i32 + %125 = and i32 %124, 1 + %126 = lshr i32 %124, 1 + %127 = and i32 %126, 1 + %128 = lshr i32 %124, 2 + br label %150 + +129: ; preds = %118 + %130 = sub nsw i64 40, %76 + %131 = sub nsw i64 39, %76 + %132 = and i64 %131, 4294967295 + %133 = shl nuw i64 1, %132 + %134 = and i64 %74, %133 + %135 = lshr i64 %134, %132 + %136 = trunc i64 %135 to i32 + %137 = sub nsw i64 38, %76 + %138 = and i64 %137, 4294967295 + %139 = shl nuw i64 1, %138 + %140 = and i64 %74, %139 + %141 = lshr i64 %140, %138 + %142 = trunc i64 %141 to i32 + %143 = add i64 %139, -1 + %144 = and i64 %74, %143 + %145 = icmp ne i64 %144, 0 + %146 = zext i1 %145 to i32 + %147 = and i64 %130, 4294967295 + %148 = lshr i64 %74, %147 + %149 = trunc i64 %148 to i32 + br label %150 + +150: ; preds = %129, %123, %119 + %151 = phi i32 [ 0, %119 ], [ 0, %123 ], [ %146, %129 ] + %152 = phi i32 [ 0, %119 ], [ %125, %123 ], [ %142, %129 ] + %153 = phi i32 [ %121, %119 ], [ %127, %123 ], [ %136, %129 ] + %154 = phi i32 [ %122, %119 ], [ %128, %123 ], [ %149, %129 ] + %155 = and i32 %154, 8388607 + %156 = shl i32 %153, 2 + %157 = shl i32 %152, 1 + %158 = or i32 %156, %157 + %159 = or i32 %158, %151 + %160 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %155, i32 noundef %159, i32 noundef %2) #55, !range !1357 + %161 = add nuw nsw i32 %155, %160 + %162 = icmp ugt i32 %161, 8388607 + %163 = add nsw i32 %89, 128 + %164 = select i1 %162, i32 %163, i32 %104 + %165 = icmp eq i32 %164, 255 + br i1 %165, label %166, label %176 + +166: ; preds = %150 + %167 = icmp sgt i32 %12, -1 + br i1 %167, label %168, label %172 + +168: ; preds = %166 + %169 = and i32 %2, -3 + %170 = icmp eq i32 %169, 1 + %171 = select i1 %170, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %260 + +172: ; preds = %166 + %173 = add i32 %2, -1 + %174 = icmp ult i32 %173, 2 + %175 = select i1 %174, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %260 + +176: ; preds = %150 + %177 = select i1 %162, i32 0, i32 %161 + %178 = and i32 %12, -2147483648 + %179 = shl nuw nsw i32 %164, 23 + %180 = or i32 %178, %179 + %181 = or i32 %180, %177 + %182 = bitcast i32 %181 to float + br label %260 + +183: ; preds = %101 + %184 = icmp ult i32 %89, -149 + br i1 %184, label %185, label %199 + +185: ; preds = %183 + %186 = icmp eq i32 %89, -150 + %187 = shl nsw i64 -1, %86 + %188 = xor i64 %187, -1 + %189 = and i64 %74, %188 + %190 = icmp ne i64 %189, 0 + %191 = select i1 %186, i1 %190, i1 false + %192 = icmp sgt i32 %12, -1 + br i1 %192, label %193, label %196 + +193: ; preds = %185 + switch i32 %2, label %195 [ + i32 2, label %260 + i32 0, label %194 + ] + +194: ; preds = %193 + br i1 %191, label %260, label %195 + +195: ; preds = %194, %193 + br label %260 + +196: ; preds = %185 + switch i32 %2, label %198 [ + i32 3, label %260 + i32 0, label %197 + ] + +197: ; preds = %196 + br i1 %191, label %260, label %198 + +198: ; preds = %197, %196 + br label %260 + +199: ; preds = %183 + %200 = add nsw i32 %89, 150 + %201 = zext i32 %200 to i64 + %202 = sub nsw i64 64, %76 + %203 = icmp ugt i64 %202, %201 + br i1 %203, label %209, label %204 + +204: ; preds = %199 + %205 = trunc i64 %74 to i32 + %206 = trunc i64 %202 to i32 + %207 = sub i32 %200, %206 + %208 = shl i32 %205, %207 + br label %253 + +209: ; preds = %199 + %210 = trunc i64 %202 to i32 + %211 = sub i32 %210, %200 + switch i32 %211, label %220 [ + i32 1, label %212 + i32 2, label %215 + ] + +212: ; preds = %209 + %213 = trunc i64 %74 to i32 + %214 = and i32 %213, 1 + br label %237 + +215: ; preds = %209 + %216 = trunc i64 %74 to i32 + %217 = lshr i32 %216, 1 + %218 = and i32 %217, 1 + %219 = and i32 %216, 1 + br label %237 + +220: ; preds = %209 + %221 = add i32 %211, -1 + %222 = zext i32 %221 to i64 + %223 = shl nuw i64 1, %222 + %224 = and i64 %74, %223 + %225 = lshr i64 %224, %222 + %226 = trunc i64 %225 to i32 + %227 = add i32 %211, -2 + %228 = zext i32 %227 to i64 + %229 = shl nuw i64 1, %228 + %230 = and i64 %74, %229 + %231 = lshr i64 %230, %228 + %232 = trunc i64 %231 to i32 + %233 = add i64 %229, -1 + %234 = and i64 %74, %233 + %235 = icmp ne i64 %234, 0 + %236 = zext i1 %235 to i32 + br label %237 + +237: ; preds = %220, %215, %212 + %238 = phi i32 [ 0, %212 ], [ 0, %215 ], [ %236, %220 ] + %239 = phi i32 [ 0, %212 ], [ %219, %215 ], [ %232, %220 ] + %240 = phi i32 [ %214, %212 ], [ %218, %215 ], [ %226, %220 ] + %241 = zext i32 %211 to i64 + %242 = lshr i64 %74, %241 + %243 = trunc i64 %242 to i32 + %244 = shl i32 %240, 2 + %245 = shl i32 %239, 1 + %246 = or i32 %244, %245 + %247 = or i32 %246, %238 + %248 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %243, i32 noundef %247, i32 noundef %2) #55, !range !1357 + %249 = add i32 %248, %243 + %250 = icmp ugt i32 %249, 8388607 + %251 = select i1 %250, i32 0, i32 %249 + %252 = select i1 %250, i32 8388608, i32 0 + br label %253 + +253: ; preds = %237, %204 + %254 = phi i32 [ %208, %204 ], [ %251, %237 ] + %255 = phi i32 [ 0, %204 ], [ %252, %237 ] + %256 = and i32 %12, -2147483648 + %257 = or i32 %256, %255 + %258 = or i32 %257, %254 + %259 = bitcast i32 %258 to float + br label %260 + +260: ; preds = %253, %198, %197, %196, %195, %194, %193, %176, %172, %168, %106, %97, %93, %62, %54, %50, %31, %27, %17, %3 + %261 = phi float [ %30, %27 ], [ 0x7FF8000000000000, %17 ], [ 0x7FF8000000000000, %3 ], [ 0.000000e+00, %31 ], [ %53, %50 ], [ %57, %54 ], [ %117, %106 ], [ %182, %176 ], [ %259, %253 ], [ %96, %93 ], [ %100, %97 ], [ %171, %168 ], [ %175, %172 ], [ 0.000000e+00, %195 ], [ -0.000000e+00, %198 ], [ 0x36A0000000000000, %193 ], [ 0x36A0000000000000, %194 ], [ 0xB6A0000000000000, %196 ], [ 0xB6A0000000000000, %197 ], [ %68, %62 ] + ret float %261 +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #42 !srcloc !1358 !sycl_kernel_omit_args !1257 { + %5 = icmp eq i32 %2, 0 + br i1 %5, label %24, label %6 + +6: ; preds = %4 + %7 = icmp eq i32 %3, 2 + %8 = icmp eq i32 %0, 0 + %9 = and i1 %7, %8 + br i1 %9, label %24, label %10 + +10: ; preds = %6 + %11 = icmp eq i32 %3, 3 + %12 = icmp eq i32 %0, 1 + %13 = and i1 %11, %12 + br i1 %13, label %24, label %14 + +14: ; preds = %10 + %15 = icmp eq i32 %3, 0 + br i1 %15, label %16, label %23 + +16: ; preds = %14 + %17 = icmp ugt i32 %2, 4 + br i1 %17, label %24, label %18 + +18: ; preds = %16 + %19 = icmp ne i32 %2, 4 + %20 = and i32 %1, 1 + %21 = icmp eq i32 %20, 0 + %22 = or i1 %19, %21 + br i1 %22, label %23, label %24 + +23: ; preds = %18, %14 + br label %24 + +24: ; preds = %23, %18, %16, %10, %6, %4 + %25 = phi i32 [ 0, %23 ], [ 0, %4 ], [ 1, %6 ], [ 1, %10 ], [ 1, %18 ], [ 1, %16 ] + ret i32 %25 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmul_rn(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1359 { + %3 = tail call spir_func noundef float @_Z8__fp_mulIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 0) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmul_ru(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1360 { + %3 = tail call spir_func noundef float @_Z8__fp_mulIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 2) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmul_rz(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1361 { + %3 = tail call spir_func noundef float @_Z8__fp_mulIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 1) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fdiv_rd(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1362 { + %3 = tail call spir_func noundef float @_Z8__fp_divIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 3) #55 + ret float %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_Z8__fp_divIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1363 { + %4 = bitcast float %0 to i32 + %5 = bitcast float %1 to i32 + %6 = lshr i32 %4, 23 + %7 = and i32 %6, 255 + %8 = lshr i32 %5, 23 + %9 = and i32 %8, 255 + %10 = and i32 %4, 8388607 + %11 = and i32 %5, 8388607 + %12 = xor i32 %4, %5 + %13 = lshr i32 %12, 31 + %14 = icmp eq i32 %7, 255 + %15 = icmp ne i32 %10, 0 + %16 = and i1 %14, %15 + br i1 %16, label %285, label %17 + +17: ; preds = %3 + %18 = icmp eq i32 %9, 255 + %19 = icmp ne i32 %11, 0 + %20 = and i1 %18, %19 + br i1 %20, label %285, label %21 + +21: ; preds = %17 + %22 = tail call float @llvm.fabs.f32(float %1) + %23 = bitcast float %22 to i32 + %24 = icmp eq i32 %23, 0 + br i1 %24, label %285, label %25 + +25: ; preds = %21 + %26 = icmp eq i32 %10, 0 + %27 = and i1 %14, %26 + br i1 %27, label %28, label %35 + +28: ; preds = %25 + %29 = icmp eq i32 %11, 0 + %30 = and i1 %18, %29 + %31 = and i32 %12, -2147483648 + %32 = or i32 %31, 2139095040 + %33 = bitcast i32 %32 to float + %34 = select i1 %30, float 0x7FF8000000000000, float %33 + br label %285 + +35: ; preds = %25 + %36 = tail call float @llvm.fabs.f32(float %0) + %37 = bitcast float %36 to i32 + %38 = icmp eq i32 %37, 0 + br i1 %38, label %39, label %42 + +39: ; preds = %35 + %40 = and i32 %12, -2147483648 + %41 = bitcast i32 %40 to float + br label %285 + +42: ; preds = %35 + %43 = icmp eq i32 %11, 0 + %44 = and i1 %18, %43 + br i1 %44, label %45, label %48 + +45: ; preds = %42 + %46 = and i32 %12, -2147483648 + %47 = bitcast i32 %46 to float + br label %285 + +48: ; preds = %42 + %49 = icmp eq i32 %7, 0 + %50 = add nsw i32 %7, -127 + %51 = select i1 %49, i32 -126, i32 %50 + %52 = icmp eq i32 %9, 0 + %53 = add nsw i32 %9, -127 + %54 = select i1 %52, i32 -126, i32 %53 + %55 = sub nsw i32 %51, %54 + %56 = or i32 %10, 8388608 + %57 = select i1 %49, i32 %10, i32 %56 + %58 = or i32 %11, 8388608 + %59 = select i1 %52, i32 %11, i32 %58 + %60 = icmp ult i32 %57, %59 + br i1 %60, label %193, label %61 + +61: ; preds = %48 + %62 = udiv i32 %57, %59 + %63 = mul i32 %59, %62 + %64 = sub i32 %57, %63 + br label %65 + +65: ; preds = %72, %61 + %66 = phi i64 [ 0, %61 ], [ %74, %72 ] + %67 = phi i32 [ -2147483648, %61 ], [ %73, %72 ] + %68 = icmp ugt i64 %66, 31 + %69 = and i32 %62, %67 + %70 = icmp eq i32 %69, %67 + %71 = select i1 %68, i1 true, i1 %70 + br i1 %71, label %75, label %72 + +72: ; preds = %65 + %73 = lshr i32 %67, 1 + %74 = add nuw nsw i64 %66, 1 + br label %65, !llvm.loop !1364 + +75: ; preds = %65 + %76 = trunc i64 %66 to i32 + %77 = sub i32 31, %76 + %78 = add nsw i32 %55, %77 + %79 = icmp sgt i32 %78, 127 + br i1 %79, label %80, label %90 + +80: ; preds = %75 + %81 = icmp sgt i32 %12, -1 + br i1 %81, label %82, label %86 + +82: ; preds = %80 + %83 = and i32 %2, -3 + %84 = icmp eq i32 %83, 1 + %85 = select i1 %84, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %285 + +86: ; preds = %80 + %87 = add i32 %2, -1 + %88 = icmp ult i32 %87, 2 + %89 = select i1 %88, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %285 + +90: ; preds = %75 + %91 = icmp sgt i32 %78, -127 + br i1 %91, label %92, label %128 + +92: ; preds = %90 + %93 = add nsw i32 %78, 127 + %94 = add i32 %76, -8 + %95 = shl i32 %62, %94 + %96 = and i32 %95, 8388607 + %97 = add i32 %76, -5 + %98 = tail call spir_func noundef i32 @_ZL12fra_uint_divIjET_S0_S0_j(i32 noundef %64, i32 noundef %59, i32 noundef %97) #55 + %99 = lshr i32 %98, 3 + %100 = or i32 %96, %99 + %101 = and i32 %98, 7 + %102 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %100, i32 noundef %101, i32 noundef %2) #55, !range !1357 + %103 = icmp eq i32 %102, 0 + br i1 %103, label %120, label %104 + +104: ; preds = %92 + %105 = add nuw nsw i32 %100, 1 + %106 = icmp ugt i32 %100, 8388606 + br i1 %106, label %107, label %120 + +107: ; preds = %104 + %108 = add nsw i32 %78, 128 + %109 = icmp eq i32 %108, 255 + br i1 %109, label %110, label %120 + +110: ; preds = %107 + %111 = icmp sgt i32 %12, -1 + br i1 %111, label %112, label %116 + +112: ; preds = %110 + %113 = and i32 %2, -3 + %114 = icmp eq i32 %113, 1 + %115 = select i1 %114, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %285 + +116: ; preds = %110 + %117 = add i32 %2, -1 + %118 = icmp ult i32 %117, 2 + %119 = select i1 %118, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %285 + +120: ; preds = %107, %104, %92 + %121 = phi i32 [ %105, %107 ], [ %105, %104 ], [ %100, %92 ] + %122 = phi i32 [ %108, %107 ], [ %93, %104 ], [ %93, %92 ] + %123 = and i32 %12, -2147483648 + %124 = shl nuw nsw i32 %122, 23 + %125 = or i32 %123, %124 + %126 = or i32 %125, %121 + %127 = bitcast i32 %126 to float + br label %285 + +128: ; preds = %90 + %129 = xor i32 %78, -1 + %130 = icmp ult i32 %78, -149 + br i1 %130, label %131, label %147 + +131: ; preds = %128 + %132 = icmp eq i32 %78, -150 + br i1 %132, label %133, label %138 + +133: ; preds = %131 + %134 = icmp ne i32 %57, %63 + %135 = lshr i32 -2147483648, %76 + %136 = icmp ne i32 %62, %135 + %137 = select i1 %134, i1 true, i1 %136 + br label %138 + +138: ; preds = %133, %131 + %139 = phi i1 [ %137, %133 ], [ false, %131 ] + %140 = icmp sgt i32 %12, -1 + br i1 %140, label %141, label %144 + +141: ; preds = %138 + switch i32 %2, label %143 [ + i32 2, label %285 + i32 0, label %142 + ] + +142: ; preds = %141 + br i1 %139, label %285, label %143 + +143: ; preds = %142, %141 + br label %285 + +144: ; preds = %138 + switch i32 %2, label %146 [ + i32 3, label %285 + i32 0, label %145 + ] + +145: ; preds = %144 + br i1 %139, label %285, label %146 + +146: ; preds = %145, %144 + br label %285 + +147: ; preds = %128 + %148 = add nsw i32 %78, 152 + %149 = icmp sgt i32 %148, %77 + br i1 %149, label %171, label %150 + +150: ; preds = %147 + %151 = sub i32 %129, %76 + %152 = add i32 %151, -117 + %153 = lshr i32 %62, %152 + %154 = add i32 %151, -120 + %155 = lshr i32 %62, %154 + %156 = and i32 %155, 7 + %157 = and i32 %155, 1 + %158 = icmp eq i32 %157, 0 + br i1 %158, label %159, label %168 + +159: ; preds = %150 + %160 = shl nsw i32 -1, %154 + %161 = xor i32 %160, -1 + %162 = and i32 %62, %161 + %163 = icmp ne i32 %162, 0 + %164 = icmp ne i32 %57, %63 + %165 = or i1 %163, %164 + %166 = zext i1 %165 to i32 + %167 = or i32 %156, %166 + br label %168 + +168: ; preds = %159, %150 + %169 = phi i32 [ %156, %150 ], [ %167, %159 ] + %170 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %153, i32 noundef %169, i32 noundef %2) #55, !range !1357 + br label %179 + +171: ; preds = %147 + %172 = sub nsw i32 %148, %77 + %173 = shl i32 %62, %172 + %174 = tail call spir_func noundef i32 @_ZL12fra_uint_divIjET_S0_S0_j(i32 noundef %64, i32 noundef %59, i32 noundef %172) #55 + %175 = or i32 %173, %174 + %176 = and i32 %175, 7 + %177 = lshr i32 %175, 3 + %178 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %177, i32 noundef %176, i32 noundef %2) #55, !range !1357 + br label %179 + +179: ; preds = %171, %168 + %180 = phi i32 [ %170, %168 ], [ %178, %171 ] + %181 = phi i32 [ %153, %168 ], [ %177, %171 ] + %182 = icmp eq i32 %180, 0 + %183 = add nuw nsw i32 %181, 1 + %184 = icmp ugt i32 %181, 8388606 + %185 = select i1 %184, i32 0, i32 %183 + %186 = select i1 %184, i32 8388608, i32 0 + %187 = select i1 %182, i32 %181, i32 %185 + %188 = select i1 %182, i32 0, i32 %186 + %189 = and i32 %12, -2147483648 + %190 = or i32 %189, %188 + %191 = or i32 %190, %187 + %192 = bitcast i32 %191 to float + br label %285 + +193: ; preds = %198, %48 + %194 = phi i32 [ %199, %198 ], [ 0, %48 ] + %195 = phi i32 [ %196, %198 ], [ %57, %48 ] + %196 = shl nuw nsw i32 %195, 1 + %197 = icmp ult i32 %196, %59 + br i1 %197, label %198, label %200 + +198: ; preds = %193 + %199 = add i32 %194, 1 + br label %193, !llvm.loop !1365 + +200: ; preds = %193 + %201 = xor i32 %194, -1 + %202 = add i32 %55, %201 + %203 = icmp sgt i32 %202, 127 + br i1 %203, label %204, label %214 + +204: ; preds = %200 + %205 = icmp sgt i32 %12, -1 + br i1 %205, label %206, label %210 + +206: ; preds = %204 + %207 = and i32 %2, -3 + %208 = icmp eq i32 %207, 1 + %209 = select i1 %208, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %285 + +210: ; preds = %204 + %211 = add i32 %2, -1 + %212 = icmp ult i32 %211, 2 + %213 = select i1 %212, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %285 + +214: ; preds = %200 + %215 = icmp sgt i32 %202, -127 + br i1 %215, label %216, label %249 + +216: ; preds = %214 + %217 = add nsw i32 %202, 127 + %218 = shl i32 %57, %194 + %219 = tail call spir_func noundef i32 @_ZL12fra_uint_divIjET_S0_S0_j(i32 noundef %218, i32 noundef %59, i32 noundef 27) #55 + %220 = lshr i32 %219, 3 + %221 = and i32 %220, 8388607 + %222 = and i32 %219, 7 + %223 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %221, i32 noundef %222, i32 noundef %2) #55, !range !1357 + %224 = icmp eq i32 %223, 0 + br i1 %224, label %241, label %225 + +225: ; preds = %216 + %226 = add nuw nsw i32 %221, 1 + %227 = icmp eq i32 %221, 8388607 + br i1 %227, label %228, label %241 + +228: ; preds = %225 + %229 = add nsw i32 %202, 128 + %230 = icmp eq i32 %229, 255 + br i1 %230, label %231, label %241 + +231: ; preds = %228 + %232 = icmp sgt i32 %12, -1 + br i1 %232, label %233, label %237 + +233: ; preds = %231 + %234 = and i32 %2, -3 + %235 = icmp eq i32 %234, 1 + %236 = select i1 %235, float 0x47EFFFFFE0000000, float 0x7FF0000000000000 + br label %285 + +237: ; preds = %231 + %238 = add i32 %2, -1 + %239 = icmp ult i32 %238, 2 + %240 = select i1 %239, float 0xC7EFFFFFE0000000, float 0xFFF0000000000000 + br label %285 + +241: ; preds = %228, %225, %216 + %242 = phi i32 [ 0, %228 ], [ %226, %225 ], [ %221, %216 ] + %243 = phi i32 [ %229, %228 ], [ %217, %225 ], [ %217, %216 ] + %244 = and i32 %12, -2147483648 + %245 = shl nuw nsw i32 %243, 23 + %246 = or i32 %244, %245 + %247 = or i32 %246, %242 + %248 = bitcast i32 %247 to float + br label %285 + +249: ; preds = %214 + %250 = add i32 %194, -127 + %251 = sub i32 %250, %55 + %252 = add i32 %251, 1 + %253 = icmp ugt i32 %252, 22 + br i1 %253, label %254, label %267 + +254: ; preds = %249 + %255 = icmp eq i32 %252, 23 + %256 = add i32 %194, 1 + %257 = shl i32 %57, %256 + %258 = icmp ugt i32 %257, %59 + %259 = select i1 %255, i1 %258, i1 false + %260 = icmp sgt i32 %12, -1 + br i1 %260, label %261, label %264 + +261: ; preds = %254 + switch i32 %2, label %263 [ + i32 2, label %285 + i32 0, label %262 + ] + +262: ; preds = %261 + br i1 %259, label %285, label %263 + +263: ; preds = %262, %261 + br label %285 + +264: ; preds = %254 + switch i32 %2, label %266 [ + i32 3, label %285 + i32 0, label %265 + ] + +265: ; preds = %264 + br i1 %259, label %285, label %266 + +266: ; preds = %265, %264 + br label %285 + +267: ; preds = %249 + %268 = shl i32 %57, %194 + %269 = sub nsw i32 25, %251 + %270 = tail call spir_func noundef i32 @_ZL12fra_uint_divIjET_S0_S0_j(i32 noundef %268, i32 noundef %59, i32 noundef %269) #55 + %271 = lshr i32 %270, 3 + %272 = and i32 %270, 7 + %273 = tail call spir_func noundef i32 @_ZL19__handling_roundingIjET_S0_S0_ji(i32 noundef %13, i32 noundef %271, i32 noundef %272, i32 noundef %2) #55, !range !1357 + %274 = icmp eq i32 %273, 0 + %275 = add nuw nsw i32 %271, 1 + %276 = icmp ugt i32 %270, 67108855 + %277 = select i1 %276, i32 0, i32 %275 + %278 = select i1 %276, i32 8388608, i32 0 + %279 = select i1 %274, i32 %271, i32 %277 + %280 = select i1 %274, i32 0, i32 %278 + %281 = and i32 %12, -2147483648 + %282 = or i32 %281, %280 + %283 = or i32 %282, %279 + %284 = bitcast i32 %283 to float + br label %285 + +285: ; preds = %267, %266, %265, %264, %263, %262, %261, %241, %237, %233, %210, %206, %179, %146, %145, %144, %143, %142, %141, %120, %116, %112, %86, %82, %45, %39, %28, %21, %17, %3 + %286 = phi float [ %41, %39 ], [ %47, %45 ], [ 0x7FF8000000000000, %17 ], [ 0x7FF8000000000000, %3 ], [ 0x7FF8000000000000, %21 ], [ %34, %28 ], [ %248, %241 ], [ %284, %267 ], [ %192, %179 ], [ %127, %120 ], [ %85, %82 ], [ %89, %86 ], [ %115, %112 ], [ %119, %116 ], [ 0.000000e+00, %143 ], [ -0.000000e+00, %146 ], [ 0x36A0000000000000, %141 ], [ 0x36A0000000000000, %142 ], [ 0xB6A0000000000000, %144 ], [ 0xB6A0000000000000, %145 ], [ %209, %206 ], [ %213, %210 ], [ %236, %233 ], [ %240, %237 ], [ 0.000000e+00, %263 ], [ -0.000000e+00, %266 ], [ 0x36A0000000000000, %261 ], [ 0x36A0000000000000, %262 ], [ 0xB6A0000000000000, %264 ], [ 0xB6A0000000000000, %265 ] + ret float %286 +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef i32 @_ZL12fra_uint_divIjET_S0_S0_j(i32 noundef %0, i32 noundef %1, i32 noundef %2) unnamed_addr #42 !srcloc !1366 !sycl_kernel_omit_args !1235 { + %4 = icmp eq i32 %0, 0 + br i1 %4, label %30, label %5 + +5: ; preds = %24, %3 + %6 = phi i32 [ %25, %24 ], [ %0, %3 ] + %7 = phi i32 [ %26, %24 ], [ 0, %3 ] + %8 = phi i32 [ %27, %24 ], [ 0, %3 ] + %9 = icmp ult i32 %8, %2 + br i1 %9, label %10, label %28 + +10: ; preds = %5 + %11 = shl i32 %7, 1 + %12 = shl i32 %6, 1 + %13 = icmp ugt i32 %12, %1 + br i1 %13, label %14, label %17 + +14: ; preds = %10 + %15 = sub i32 %12, %1 + %16 = or i32 %11, 1 + br label %24 + +17: ; preds = %10 + %18 = icmp eq i32 %12, %1 + br i1 %18, label %19, label %24 + +19: ; preds = %17 + %20 = or i32 %11, 1 + %21 = xor i32 %8, -1 + %22 = add i32 %21, %2 + %23 = shl i32 %20, %22 + br label %30 + +24: ; preds = %17, %14 + %25 = phi i32 [ %15, %14 ], [ %12, %17 ] + %26 = phi i32 [ %16, %14 ], [ %11, %17 ] + %27 = add i32 %8, 1 + br label %5, !llvm.loop !1367 + +28: ; preds = %5 + %29 = or i32 %7, 1 + br label %30 + +30: ; preds = %28, %19, %3 + %31 = phi i32 [ %23, %19 ], [ %29, %28 ], [ 0, %3 ] + ret i32 %31 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fdiv_rn(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1368 { + %3 = tail call spir_func noundef float @_Z8__fp_divIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 0) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fdiv_ru(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1369 { + %3 = tail call spir_func noundef float @_Z8__fp_divIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 2) #55 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fdiv_rz(float noundef %0, float noundef %1) local_unnamed_addr #30 !srcloc !1370 { + %3 = tail call spir_func noundef float @_Z8__fp_divIfET_S0_S0_i(float noundef %0, float noundef %1, i32 noundef 1) #55 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_fmaf16(half noundef %0, half noundef %1, half noundef %2) local_unnamed_addr #31 !srcloc !1371 { + %4 = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %0, half noundef %1, half noundef %2) #56 + ret half %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_floorf16(half noundef %0) local_unnamed_addr #31 !srcloc !1372 { + %2 = tail call spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_ceilf16(half noundef %0) local_unnamed_addr #31 !srcloc !1373 { + %2 = tail call spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_truncf16(half noundef %0) local_unnamed_addr #31 !srcloc !1374 { + %2 = tail call spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_rintf16(half noundef %0) local_unnamed_addr #31 !srcloc !1375 { + %2 = tail call spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_nearbyintf16(half noundef %0) local_unnamed_addr #31 !srcloc !1376 { + %2 = tail call spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_sqrtf16(half noundef %0) local_unnamed_addr #31 !srcloc !1377 { + %2 = tail call spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_rsqrtf16(half noundef %0) local_unnamed_addr #31 !srcloc !1378 { + %2 = tail call spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_invf16(half noundef %0) local_unnamed_addr #31 !srcloc !1379 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rtef(float noundef 1.000000e+00) #56 + %3 = fdiv half %2, %0 + ret half %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_fmaxf16(half noundef %0, half noundef %1) local_unnamed_addr #31 !srcloc !1380 { + %3 = tail call spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef %0, half noundef %1) #56 + ret half %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef, half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_fminf16(half noundef %0, half noundef %1) local_unnamed_addr #31 !srcloc !1381 { + %3 = tail call spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef %0, half noundef %1) #56 + ret half %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef, half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_fabsf16(half noundef %0) local_unnamed_addr #31 !srcloc !1382 { + %2 = tail call spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_copysignf16(half noundef %0, half noundef %1) local_unnamed_addr #31 !srcloc !1383 { + %3 = tail call spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef %0, half noundef %1) #56 + ret half %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef, half noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_saturatef(float noundef %0) local_unnamed_addr #31 !srcloc !1384 { + %2 = tail call spir_func noundef float @_Z18__spirv_ocl_fclampfff(float noundef %0, float noundef 0.000000e+00, float noundef 1.000000e+00) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z18__spirv_ocl_fclampfff(float noundef, float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmaf(float noundef %0, float noundef %1, float noundef %2) local_unnamed_addr #31 !srcloc !1385 { + %4 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %0, float noundef %1, float noundef %2) #56 + ret float %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_floorf(float noundef %0) local_unnamed_addr #31 !srcloc !1386 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_floorf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_ceilf(float noundef %0) local_unnamed_addr #31 !srcloc !1387 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_ceilf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z16__spirv_ocl_ceilf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_truncf(float noundef %0) local_unnamed_addr #31 !srcloc !1388 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rintf(float noundef %0) local_unnamed_addr #31 !srcloc !1389 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_nearbyintf(float noundef %0) local_unnamed_addr #31 !srcloc !1390 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_sqrtf(float noundef %0) local_unnamed_addr #31 !srcloc !1391 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_rsqrtf(float noundef %0) local_unnamed_addr #31 !srcloc !1392 { + %2 = tail call spir_func noundef float @_Z17__spirv_ocl_rsqrtf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z17__spirv_ocl_rsqrtf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_invf(float noundef %0) local_unnamed_addr #30 !srcloc !1393 { + %2 = fdiv float 1.000000e+00, %0 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_copysignf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1394 { + %3 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_abs(i32 noundef %0) local_unnamed_addr #30 !srcloc !1395 { + %2 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + ret i32 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fabsf(float noundef %0) local_unnamed_addr #31 !srcloc !1396 { + %2 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llabs(i64 noundef %0) local_unnamed_addr #30 !srcloc !1397 { + %2 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + ret i64 %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_exp10f(float noundef %0) local_unnamed_addr #31 !srcloc !1398 { + %2 = fmul float %0, 0x40026BB1C0000000 + %3 = tail call spir_func noundef float @_Z22__spirv_ocl_native_expf(float noundef %2) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z22__spirv_ocl_native_expf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_expf(float noundef %0) local_unnamed_addr #31 !srcloc !1399 { + %2 = tail call spir_func noundef float @_Z22__spirv_ocl_native_expf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_fdividef(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1400 { + %3 = tail call float @llvm.fabs.f32(float %1) + %4 = bitcast float %3 to i32 + %5 = icmp ugt i32 %4, 2122317824 + br i1 %5, label %6, label %12 + +6: ; preds = %2 + %7 = tail call float @llvm.fabs.f32(float %0) + %8 = bitcast float %7 to i32 + %9 = and i32 %8, 8388607 + %10 = icmp eq i32 %9, 0 + %11 = select i1 %10, float 0x7FF8000000000000, float 0.000000e+00 + br label %14 + +12: ; preds = %2 + %13 = tail call spir_func noundef float @_Z25__spirv_ocl_native_divideff(float noundef %0, float noundef %1) #56 + br label %14 + +14: ; preds = %12, %6 + %15 = phi float [ %13, %12 ], [ %11, %6 ] + ret float %15 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z25__spirv_ocl_native_divideff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_logf(float noundef %0) local_unnamed_addr #31 !srcloc !1401 { + %2 = tail call spir_func noundef float @_Z22__spirv_ocl_native_logf(float noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z22__spirv_ocl_native_logf(float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_log2f(float noundef %0) local_unnamed_addr #31 !srcloc !1402 { + %2 = tail call spir_func noundef float @_Z22__spirv_ocl_native_logf(float noundef %0) #56 + %3 = fdiv float %2, 0x3FE62E4300000000 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_log10f(float noundef %0) local_unnamed_addr #31 !srcloc !1403 { + %2 = tail call spir_func noundef float @_Z22__spirv_ocl_native_logf(float noundef %0) #56 + %3 = fdiv float %2, 0x40026BB1C0000000 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fast_powf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1404 { + %3 = tail call spir_func noundef float @_Z23__spirv_ocl_native_powrff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z23__spirv_ocl_native_powrff(float noundef, float noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_max(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1405 { + %3 = tail call i32 @llvm.smax.i32(i32 %0, i32 %1) + ret i32 %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_min(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1406 { + %3 = tail call i32 @llvm.smin.i32(i32 %0, i32 %1) + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_hadd(i32 noundef %0, i32 noundef %1) local_unnamed_addr #31 !srcloc !1407 { + %3 = tail call spir_func noundef i32 @_Z18__spirv_ocl_s_haddii(i32 noundef %0, i32 noundef %1) #56 + ret i32 %3 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z18__spirv_ocl_s_haddii(i32 noundef, i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llmax(i64 noundef %0, i64 noundef %1) local_unnamed_addr #30 !srcloc !1408 { + %3 = tail call noundef i64 @llvm.smax.i64(i64 %0, i64 %1) + ret i64 %3 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.smax.i64(i64, i64) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llmin(i64 noundef %0, i64 noundef %1) local_unnamed_addr #30 !srcloc !1409 { + %3 = tail call noundef i64 @llvm.smin.i64(i64 %0, i64 %1) + ret i64 %3 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.smin.i64(i64, i64) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_ullmax(i64 noundef %0, i64 noundef %1) local_unnamed_addr #30 !srcloc !1410 { + %3 = tail call noundef i64 @llvm.umax.i64(i64 %0, i64 %1) + ret i64 %3 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.umax.i64(i64, i64) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_ullmin(i64 noundef %0, i64 noundef %1) local_unnamed_addr #30 !srcloc !1411 { + %3 = tail call noundef i64 @llvm.umin.i64(i64 %0, i64 %1) + ret i64 %3 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.umin.i64(i64, i64) #17 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_umax(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1412 { + %3 = tail call noundef i32 @llvm.umax.i32(i32 %0, i32 %1) + ret i32 %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_umin(i32 noundef %0, i32 noundef %1) local_unnamed_addr #30 !srcloc !1413 { + %3 = tail call noundef i32 @llvm.umin.i32(i32 %0, i32 %1) + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fmaxf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1414 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_fminf(float noundef %0, float noundef %1) local_unnamed_addr #31 !srcloc !1415 { + %3 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %0, float noundef %1) #56 + ret float %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_double2float_rd(double noundef %0) local_unnamed_addr #43 !srcloc !1416 { + %2 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtnd(double noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtnd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_double2float_rn(double noundef %0) local_unnamed_addr #43 !srcloc !1417 { + %2 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rted(double noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_double2float_ru(double noundef %0) local_unnamed_addr #43 !srcloc !1418 { + %2 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtpd(double noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtpd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_double2float_rz(double noundef %0) local_unnamed_addr #43 !srcloc !1419 { + %2 = tail call spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtzd(double noundef %0) #56 + ret float %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef float @_Z27__spirv_FConvert_Rfloat_rtzd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2int_rd(double noundef %0) local_unnamed_addr #43 !srcloc !1420 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtnd(double noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtnd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2int_rn(double noundef %0) local_unnamed_addr #43 !srcloc !1421 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rted(double noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2int_ru(double noundef %0) local_unnamed_addr #43 !srcloc !1422 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtpd(double noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtpd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2int_rz(double noundef %0) local_unnamed_addr #43 !srcloc !1423 { + %2 = tail call spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtzd(double noundef %0) #56 + ret i32 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z28__spirv_ConvertFToS_Rint_rtzd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2hiint(double noundef %0) local_unnamed_addr #44 !srcloc !1424 { + %2 = bitcast double %0 to i64 + %3 = lshr i64 %2, 32 + %4 = trunc i64 %3 to i32 + ret i32 %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2loint(double noundef %0) local_unnamed_addr #44 !srcloc !1425 { + %2 = bitcast double %0 to i64 + %3 = trunc i64 %2 to i32 + ret i32 %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2uint_rd(double noundef %0) local_unnamed_addr #43 !srcloc !1426 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtnd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtnd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2uint_rn(double noundef %0) local_unnamed_addr #43 !srcloc !1427 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rted(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2uint_ru(double noundef %0) local_unnamed_addr #43 !srcloc !1428 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtpd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtpd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_double2uint_rz(double noundef %0) local_unnamed_addr #43 !srcloc !1429 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtzd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i32 [ %4, %3 ], [ 0, %1 ] + ret i32 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z29__spirv_ConvertFToU_Ruint_rtzd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ll_rd(double noundef %0) local_unnamed_addr #43 !srcloc !1430 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtnd(double noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtnd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ll_rn(double noundef %0) local_unnamed_addr #43 !srcloc !1431 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rted(double noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ll_ru(double noundef %0) local_unnamed_addr #43 !srcloc !1432 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtpd(double noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtpd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ll_rz(double noundef %0) local_unnamed_addr #43 !srcloc !1433 { + %2 = tail call spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtzd(double noundef %0) #56 + ret i64 %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z29__spirv_ConvertFToS_Rlong_rtzd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ull_rd(double noundef %0) local_unnamed_addr #43 !srcloc !1434 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtnd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtnd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ull_rn(double noundef %0) local_unnamed_addr #43 !srcloc !1435 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rted(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ull_ru(double noundef %0) local_unnamed_addr #43 !srcloc !1436 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtpd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtpd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double2ull_rz(double noundef %0) local_unnamed_addr #43 !srcloc !1437 { + %2 = fcmp olt double %0, 0.000000e+00 + br i1 %2, label %5, label %3 + +3: ; preds = %1 + %4 = tail call spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtzd(double noundef %0) #56 + br label %5 + +5: ; preds = %3, %1 + %6 = phi i64 [ %4, %3 ], [ 0, %1 ] + ret i64 %6 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i64 @_Z30__spirv_ConvertFToU_Rulong_rtzd(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_double_as_longlong(double noundef %0) local_unnamed_addr #44 !srcloc !1438 { + %2 = bitcast double %0 to i64 + ret i64 %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_hiloint2double(i32 noundef %0, i32 noundef %1) local_unnamed_addr #44 !srcloc !533 { + %3 = zext i32 %0 to i64 + %4 = shl nuw i64 %3, 32 + %5 = zext i32 %1 to i64 + %6 = or i64 %4, %5 + %7 = bitcast i64 %6 to double + ret double %7 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_int2double_rn(i32 noundef %0) local_unnamed_addr #43 !srcloc !1439 { + %2 = tail call spir_func noundef double @_Z27__spirv_ConvertSToF_Rdoublei(i32 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z27__spirv_ConvertSToF_Rdoublei(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ll2double_rd(i64 noundef %0) local_unnamed_addr #43 !srcloc !1440 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtnl(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtnl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ll2double_rn(i64 noundef %0) local_unnamed_addr #43 !srcloc !1441 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtel(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtel(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ll2double_ru(i64 noundef %0) local_unnamed_addr #43 !srcloc !1442 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtpl(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtpl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ll2double_rz(i64 noundef %0) local_unnamed_addr #43 !srcloc !1443 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtzl(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertSToF_Rdouble_rtzl(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_longlong_as_double(i64 noundef %0) local_unnamed_addr #44 !srcloc !1444 { + %2 = bitcast i64 %0 to double + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_uint2double_rn(i32 noundef %0) local_unnamed_addr #43 !srcloc !1445 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtej(i32 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtej(i32 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ull2double_rd(i64 noundef %0) local_unnamed_addr #43 !srcloc !1446 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtnm(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtnm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ull2double_rn(i64 noundef %0) local_unnamed_addr #43 !srcloc !1447 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtem(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtem(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ull2double_ru(i64 noundef %0) local_unnamed_addr #43 !srcloc !1448 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtpm(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtpm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ull2double_rz(i64 noundef %0) local_unnamed_addr #43 !srcloc !1449 { + %2 = tail call spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtzm(i64 noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z31__spirv_ConvertUToF_Rdouble_rtzm(i64 noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func half @__devicelib_imf_double2half(double noundef %0) local_unnamed_addr #43 !srcloc !1450 { + %2 = tail call spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rted(double noundef %0) #56 + ret half %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z26__spirv_FConvert_Rhalf_rted(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_double2bfloat16(double noundef %0) local_unnamed_addr #44 !srcloc !1451 { + %2 = bitcast double %0 to i64 + %3 = lshr i64 %2, 63 + %4 = lshr i64 %2, 52 + %5 = trunc i64 %4 to i32 + %6 = and i32 %5, 2047 + %7 = and i64 %2, 4503599627370495 + switch i32 %6, label %17 [ + i32 2047, label %8 + i32 0, label %13 + ] + +8: ; preds = %1 + %9 = icmp eq i64 %7, 0 + %10 = icmp sgt i64 %2, -1 + %11 = select i1 %10, i16 32640, i16 -128 + %12 = select i1 %9, i16 %11, i16 32704 + br label %80 + +13: ; preds = %1 + %14 = lshr i64 %2, 48 + %15 = trunc i64 %14 to i16 + %16 = and i16 %15, -32768 + br label %80 + +17: ; preds = %1 + %18 = trunc i32 %6 to i16 + %19 = add nsw i16 %18, -1023 + %20 = icmp ugt i16 %18, 1150 + br i1 %20, label %21, label %24 + +21: ; preds = %17 + %22 = icmp sgt i64 %2, -1 + %23 = select i1 %22, i16 32640, i16 -128 + br label %80 + +24: ; preds = %17 + %25 = icmp ult i16 %18, 890 + br i1 %25, label %26, label %30 + +26: ; preds = %24 + %27 = lshr i64 %2, 48 + %28 = trunc i64 %27 to i16 + %29 = and i16 %28, -32768 + br label %80 + +30: ; preds = %24 + %31 = icmp ult i16 %18, 897 + br i1 %31, label %32, label %53 + +32: ; preds = %30 + %33 = or i64 %7, 4503599627370496 + %34 = sub nuw nsw i16 896, %18 + %35 = zext nneg i16 %34 to i64 + %36 = lshr i64 %33, %35 + %37 = and i64 %36, 70368744177663 + %38 = lshr i64 %36, 46 + %39 = trunc i64 %38 to i16 + %40 = icmp ugt i64 %37, 35184372088832 + %41 = and i64 %36, 140737488355327 + %42 = icmp eq i64 %41, 105553116266496 + %43 = or i1 %40, %42 + %44 = zext i1 %43 to i16 + %45 = add nuw nsw i16 %39, %44 + %46 = icmp eq i16 %45, 128 + %47 = select i1 %46, i16 128, i16 0 + %48 = select i1 %46, i16 0, i16 %45 + %49 = trunc i64 %3 to i16 + %50 = shl nuw i16 %49, 15 + %51 = or i16 %50, %47 + %52 = or i16 %51, %48 + br label %80 + +53: ; preds = %30 + %54 = and i64 %2, 35184372088831 + %55 = lshr i64 %7, 45 + %56 = trunc i64 %55 to i16 + %57 = icmp ugt i64 %54, 17592186044416 + %58 = and i64 %2, 70368744177663 + %59 = icmp eq i64 %58, 52776558133248 + %60 = or i1 %57, %59 + br i1 %60, label %61, label %71 + +61: ; preds = %53 + %62 = add nuw nsw i16 %56, 1 + %63 = icmp eq i16 %62, 128 + br i1 %63, label %64, label %71 + +64: ; preds = %61 + %65 = icmp eq i16 %19, 127 + br i1 %65, label %68, label %66 + +66: ; preds = %64 + %67 = add nsw i16 %18, -1022 + br label %71 + +68: ; preds = %64 + %69 = icmp sgt i64 %2, -1 + %70 = select i1 %69, i16 32640, i16 -128 + br label %80 + +71: ; preds = %66, %61, %53 + %72 = phi i16 [ %67, %66 ], [ %19, %61 ], [ %19, %53 ] + %73 = phi i16 [ 0, %66 ], [ %62, %61 ], [ %56, %53 ] + %74 = trunc i64 %3 to i16 + %75 = shl nuw i16 %74, 15 + %76 = shl nsw i16 %72, 7 + %77 = add i16 %76, 16256 + %78 = or i16 %75, %77 + %79 = or i16 %78, %73 + br label %80 + +80: ; preds = %71, %68, %32, %26, %21, %13, %8 + %81 = phi i16 [ %16, %13 ], [ %23, %21 ], [ %29, %26 ], [ %12, %8 ], [ %52, %32 ], [ %79, %71 ], [ %70, %68 ] + ret i16 %81 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cos(double noundef %0) local_unnamed_addr #43 !srcloc !1452 { + %2 = alloca i32, align 4 + %3 = alloca i32, align 4 + %4 = alloca i32, align 4 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + %7 = alloca i32, align 4 + %8 = alloca i32, align 4 + %9 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %10 = bitcast double %9 to i64 + %11 = lshr i64 %10, 32 + %12 = trunc i64 %11 to i32 + %13 = icmp ugt i32 %12, 1093664767 + br i1 %13, label %65, label %14 + +14: ; preds = %1 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef 0x3FD45F306DC9C883, double noundef 0x4328000000000000) #56 + %16 = bitcast double %15 to i64 + %17 = fadd double %15, 0xC328000000000000 + %18 = lshr i64 %16, 1 + %19 = xor i64 %18, %16 + %20 = shl i64 %19, 63 + %21 = and i64 %16, 1 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xC00921FB54442D18, double noundef %9) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xBCA1A62633000000, double noundef %22) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xBAA45C06E0E68948, double noundef %23) #56 + %25 = fsub double %22, %23 + %26 = fmul double %24, %24 + %27 = fsub double %23, %24 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xBCA1A62633000000, double noundef %25) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xBAA45C06E0E68948, double noundef %27) #56 + %30 = fadd double %28, %29 + %31 = fmul double %24, %30 + %32 = icmp eq i64 %21, 0 + %33 = select i1 %32, i64 -4780296168560639412, i64 4460209015011315114 + %34 = select i1 %32, i64 4477121861779221951, i64 -4730215693282118884 + %35 = select i1 %32, i64 -4714566980029494285, i64 4523617212905342027 + %36 = select i1 %32, i64 4537941361668032425, i64 -4671919876305412793 + %37 = select i1 %32, i64 -4659324094485803446, i64 4575957461383574496 + %38 = select i1 %32, i64 4586165620538955083, i64 -4628199217061079741 + %39 = bitcast i64 %33 to double + %40 = bitcast i64 %34 to double + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %39, double noundef %40) #56 + %42 = bitcast i64 %35 to double + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %41, double noundef %42) #56 + %44 = bitcast i64 %36 to double + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %43, double noundef %44) #56 + %46 = bitcast i64 %37 to double + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %45, double noundef %46) #56 + %48 = bitcast i64 %38 to double + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %47, double noundef %48) #56 + %50 = fmul double %49, %26 + %51 = fneg double %24 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %24, double noundef 2.000000e+00) #56 + %53 = fadd double %52, -2.000000e+00 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %24, double noundef %53) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef 5.000000e-01, double noundef %31) #56 + %56 = fneg double %55 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %50, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef 5.000000e-01, double noundef %57) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %50, double noundef %30) #56 + %60 = fadd double %59, %24 + %61 = select i1 %32, double %58, double %60 + %62 = bitcast double %61 to i64 + %63 = xor i64 %20, %62 + %64 = bitcast i64 %63 to double + br label %323 + +65: ; preds = %1 + %66 = icmp ugt i32 %12, 2146435071 + br i1 %66, label %67, label %73 + +67: ; preds = %65 + %68 = tail call double @llvm.fabs.f64(double %9) + %69 = bitcast double %68 to i64 + %70 = icmp ugt i64 %69, 9218868437227405312 + %71 = fmul double %9, %9 + %72 = select i1 %70, double %71, double 0xFFF8000000000000 + br label %323 + +73: ; preds = %65 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) + %74 = tail call double @llvm.fabs.f64(double %9) + %75 = bitcast double %74 to i64 + %76 = xor i64 %10, %75 + %77 = lshr i64 %75, 32 + %78 = trunc i64 %77 to i32 + %79 = lshr i32 %78, 20 + %80 = trunc i64 %75 to i32 + %81 = and i32 %78, 1048575 + %82 = or i32 %81, 1048576 + %83 = add nsw i32 %79, -2047 + %84 = icmp ult i32 %83, -1023 + br i1 %84, label %281, label %85 + +85: ; preds = %73 + %86 = add nsw i32 %79, -1011 + %87 = lshr i32 %86, 5 + %88 = zext nneg i32 %87 to i64 + %89 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %88 + %90 = load i32, ptr addrspace(1) %89, align 4, !tbaa !717 + %91 = addrspacecast ptr %2 to ptr addrspace(4) + store volatile i32 %90, ptr addrspace(4) %91, align 4, !tbaa !717 + %92 = add nuw nsw i32 %87, 1 + %93 = zext nneg i32 %92 to i64 + %94 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %93 + %95 = load i32, ptr addrspace(1) %94, align 4, !tbaa !717 + %96 = addrspacecast ptr %3 to ptr addrspace(4) + store volatile i32 %95, ptr addrspace(4) %96, align 4, !tbaa !717 + %97 = add nuw nsw i32 %87, 2 + %98 = zext nneg i32 %97 to i64 + %99 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %98 + %100 = load i32, ptr addrspace(1) %99, align 4, !tbaa !717 + %101 = addrspacecast ptr %4 to ptr addrspace(4) + store volatile i32 %100, ptr addrspace(4) %101, align 4, !tbaa !717 + %102 = add nuw nsw i32 %87, 3 + %103 = zext nneg i32 %102 to i64 + %104 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %103 + %105 = load i32, ptr addrspace(1) %104, align 4, !tbaa !717 + %106 = addrspacecast ptr %5 to ptr addrspace(4) + store volatile i32 %105, ptr addrspace(4) %106, align 4, !tbaa !717 + %107 = add nuw nsw i32 %87, 4 + %108 = zext nneg i32 %107 to i64 + %109 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %108 + %110 = load i32, ptr addrspace(1) %109, align 4, !tbaa !717 + %111 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 %110, ptr addrspace(4) %111, align 4, !tbaa !717 + %112 = add nuw nsw i32 %87, 5 + %113 = zext nneg i32 %112 to i64 + %114 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %113 + %115 = load i32, ptr addrspace(1) %114, align 4, !tbaa !717 + %116 = addrspacecast ptr %7 to ptr addrspace(4) + store volatile i32 %115, ptr addrspace(4) %116, align 4, !tbaa !717 + %117 = add nuw nsw i32 %87, 6 + %118 = zext nneg i32 %117 to i64 + %119 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_cos_d_ha12_GLOBAL__N_119__dcos_ha_InvPi_tblE, i64 0, i64 %118 + %120 = load i32, ptr addrspace(1) %119, align 4, !tbaa !717 + %121 = addrspacecast ptr %8 to ptr addrspace(4) + store volatile i32 %120, ptr addrspace(4) %121, align 4, !tbaa !717 + %122 = and i32 %86, 31 + %123 = icmp eq i32 %122, 0 + br i1 %123, label %156, label %124 + +124: ; preds = %85 + %125 = sub nuw nsw i32 32, %122 + %126 = load volatile i32, ptr addrspace(4) %91, align 4, !tbaa !717 + %127 = shl i32 %126, %122 + %128 = load volatile i32, ptr addrspace(4) %96, align 4, !tbaa !717 + %129 = lshr i32 %128, %125 + %130 = or i32 %127, %129 + store volatile i32 %130, ptr addrspace(4) %91, align 4, !tbaa !717 + %131 = load volatile i32, ptr addrspace(4) %96, align 4, !tbaa !717 + %132 = shl i32 %131, %122 + %133 = load volatile i32, ptr addrspace(4) %101, align 4, !tbaa !717 + %134 = lshr i32 %133, %125 + %135 = or i32 %132, %134 + store volatile i32 %135, ptr addrspace(4) %96, align 4, !tbaa !717 + %136 = load volatile i32, ptr addrspace(4) %101, align 4, !tbaa !717 + %137 = shl i32 %136, %122 + %138 = load volatile i32, ptr addrspace(4) %106, align 4, !tbaa !717 + %139 = lshr i32 %138, %125 + %140 = or i32 %137, %139 + store volatile i32 %140, ptr addrspace(4) %101, align 4, !tbaa !717 + %141 = load volatile i32, ptr addrspace(4) %106, align 4, !tbaa !717 + %142 = shl i32 %141, %122 + %143 = load volatile i32, ptr addrspace(4) %111, align 4, !tbaa !717 + %144 = lshr i32 %143, %125 + %145 = or i32 %142, %144 + store volatile i32 %145, ptr addrspace(4) %106, align 4, !tbaa !717 + %146 = load volatile i32, ptr addrspace(4) %111, align 4, !tbaa !717 + %147 = shl i32 %146, %122 + %148 = load volatile i32, ptr addrspace(4) %116, align 4, !tbaa !717 + %149 = lshr i32 %148, %125 + %150 = or i32 %147, %149 + store volatile i32 %150, ptr addrspace(4) %111, align 4, !tbaa !717 + %151 = load volatile i32, ptr addrspace(4) %116, align 4, !tbaa !717 + %152 = shl i32 %151, %122 + %153 = load volatile i32, ptr addrspace(4) %121, align 4, !tbaa !717 + %154 = lshr i32 %153, %125 + %155 = or i32 %152, %154 + store volatile i32 %155, ptr addrspace(4) %116, align 4, !tbaa !717 + br label %156 + +156: ; preds = %124, %85 + %157 = load volatile i32, ptr addrspace(4) %106, align 4, !tbaa !717 + %158 = zext i32 %157 to i64 + %159 = and i64 %75, 4294967295 + %160 = mul nuw i64 %159, %158 + %161 = load volatile i32, ptr addrspace(4) %111, align 4, !tbaa !717 + %162 = zext i32 %161 to i64 + %163 = zext nneg i32 %82 to i64 + %164 = mul nuw nsw i64 %162, %163 + %165 = load volatile i32, ptr addrspace(4) %111, align 4, !tbaa !717 + %166 = zext i32 %165 to i64 + %167 = mul nuw i64 %159, %166 + %168 = load volatile i32, ptr addrspace(4) %116, align 4, !tbaa !717 + %169 = zext i32 %168 to i64 + %170 = mul nuw nsw i64 %169, %163 + %171 = add i64 %167, %170 + %172 = icmp ult i64 %171, %170 + %173 = add nuw i64 %160, 4294967296 + %174 = select i1 %172, i64 %173, i64 %160 + %175 = load volatile i32, ptr addrspace(4) %101, align 4, !tbaa !717 + %176 = zext i32 %175 to i64 + %177 = mul nuw i64 %159, %176 + %178 = load volatile i32, ptr addrspace(4) %96, align 4, !tbaa !717 + %179 = zext i32 %178 to i64 + %180 = mul nuw i64 %159, %179 + %181 = load volatile i32, ptr addrspace(4) %91, align 4, !tbaa !717 + %182 = mul i32 %181, %80 + %183 = zext i32 %182 to i64 + %184 = shl nuw i64 %183, 32 + %185 = add i64 %180, %184 + %186 = add i64 %174, %164 + %187 = icmp ult i64 %186, %164 + %188 = zext i1 %187 to i64 + %189 = add i64 %185, %188 + %190 = lshr i64 %171, 32 + %191 = shl i64 %171, 34 + %192 = add i64 %186, %190 + %193 = icmp ult i64 %192, %190 + %194 = zext i1 %193 to i64 + %195 = add i64 %189, %194 + %196 = load volatile i32, ptr addrspace(4) %106, align 4, !tbaa !717 + %197 = zext i32 %196 to i64 + %198 = mul nuw nsw i64 %197, %163 + %199 = load volatile i32, ptr addrspace(4) %101, align 4, !tbaa !717 + %200 = zext i32 %199 to i64 + %201 = mul nuw nsw i64 %200, %163 + %202 = add i64 %195, %201 + %203 = load volatile i32, ptr addrspace(4) %96, align 4, !tbaa !717 + %204 = mul i32 %203, %82 + %205 = zext i32 %204 to i64 + %206 = shl nuw i64 %205, 32 + %207 = add i64 %202, %206 + %208 = add i64 %177, %198 + %209 = icmp ult i64 %208, %198 + %210 = add i64 %207, 4294967296 + %211 = select i1 %209, i64 %210, i64 %207 + %212 = lshr i64 %208, 32 + %213 = add i64 %211, %212 + %214 = shl i64 %208, 32 + %215 = add i64 %192, %214 + %216 = icmp ult i64 %215, %214 + %217 = zext i1 %216 to i64 + %218 = add i64 %213, %217 + %219 = shl i64 %215, 2 + %220 = lshr i64 %171, 30 + %221 = and i64 %220, 3 + %222 = or i64 %219, %221 + %223 = tail call i64 @llvm.fshl.i64(i64 %218, i64 %215, i64 2) + %224 = lshr i64 %218, 62 + %225 = trunc i64 %224 to i32 + %226 = ashr i64 %223, 63 + %227 = trunc i64 %226 to i32 + %228 = sub nsw i32 %225, %227 + %229 = xor i64 %223, %226 + %230 = xor i64 %222, %226 + %231 = xor i64 %191, %226 + %232 = ashr i64 %76, 63 + %233 = trunc i64 %232 to i32 + %234 = xor i32 %228, %233 + %235 = sub nsw i32 %234, %233 + %236 = xor i64 %232, %226 + %237 = and i64 %236, -9223372036854775808 + br label %238 + +238: ; preds = %244, %156 + %239 = phi i64 [ %231, %156 ], [ %248, %244 ] + %240 = phi i64 [ %230, %156 ], [ %247, %244 ] + %241 = phi i32 [ -66, %156 ], [ %245, %244 ] + %242 = phi i64 [ %229, %156 ], [ %246, %244 ] + %243 = icmp sgt i64 %242, 0 + br i1 %243, label %244, label %249 + +244: ; preds = %238 + %245 = add nsw i32 %241, -1 + %246 = tail call i64 @llvm.fshl.i64(i64 %242, i64 %240, i64 1) + %247 = tail call i64 @llvm.fshl.i64(i64 %240, i64 %239, i64 1) + %248 = shl i64 %239, 1 + br label %238, !llvm.loop !1453 + +249: ; preds = %238 + %250 = lshr i64 %242, 32 + %251 = mul nuw i64 %250, 3373259426 + %252 = mul nuw nsw i64 %250, 560513589 + %253 = and i64 %242, 4294967295 + %254 = mul nuw i64 %253, 3373259426 + %255 = add nuw i64 %252, %254 + %256 = lshr i64 %255, 32 + %257 = add nuw i64 %251, %256 + %258 = icmp slt i64 %257, 0 + %259 = select i1 %258, i32 4, i32 3 + %260 = add nsw i32 %241, %259 + %261 = lshr i64 %257, 63 + %262 = lshr i64 %257, %261 + %263 = trunc i64 %262 to i32 + %264 = add nuw i64 %262, 512 + %265 = shl i32 %263, 22 + %266 = ashr exact i32 %265, 22 + %267 = sitofp i32 %266 to double + %268 = zext i32 %260 to i64 + %269 = shl i64 %268, 52 + %270 = add i64 %269, 4607182418800017408 + %271 = or i64 %270, %237 + %272 = bitcast i64 %271 to double + %273 = fmul double %267, %272 + %274 = add nsw i32 %260, 1084 + %275 = zext i32 %274 to i64 + %276 = shl i64 %275, 52 + %277 = lshr i64 %264, 10 + %278 = add i64 %276, %277 + %279 = xor i64 %237, %278 + %280 = bitcast i64 %279 to double + br label %281 + +281: ; preds = %249, %73 + %282 = phi i32 [ %235, %249 ], [ 0, %73 ] + %283 = phi double [ %273, %249 ], [ 0.000000e+00, %73 ] + %284 = phi double [ %280, %249 ], [ %9, %73 ] + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) + %285 = fmul double %284, %284 + %286 = lshr i32 %282, 1 + %287 = xor i32 %286, %282 + %288 = zext i32 %287 to i64 + %289 = shl i64 %288, 63 + %290 = and i32 %282, 1 + %291 = zext nneg i32 %290 to i64 + %292 = fmul double %285, %284 + %293 = fmul double %284, %283 + %294 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef 0xBDA8F9F637C8424C, double noundef 0x3E21EE9CCB7C6DBF) #56 + %295 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef 0x3DE5D877CBBE8DAA, double noundef 0xBE5AE5E382F0F31C) #56 + %296 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %294, double noundef 0xBE927E4F7D8E4BF3) #56 + %297 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %295, double noundef 0x3EC71DE35310C44B) #56 + %298 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %296, double noundef 0x3EFA01A019C687A9) #56 + %299 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %297, double noundef 0xBF2A01A019BA9D47) #56 + %300 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %298, double noundef 0xBF56C16C16C14E4A) #56 + %301 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %299, double noundef 0x3F8111111110F3E0) #56 + %302 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %300, double noundef 0x3FA555555555554B) #56 + %303 = fmul double %302, %285 + %304 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %301, double noundef 0xBFC5555555555543) #56 + %305 = fneg double %284 + %306 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %305, double noundef %284, double noundef 2.000000e+00) #56 + %307 = fadd double %306, -2.000000e+00 + %308 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %284, double noundef %284, double noundef %307) #56 + %309 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %308, double noundef 5.000000e-01, double noundef %293) #56 + %310 = fneg double %309 + %311 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %285, double noundef %303, double noundef %310) #56 + %312 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %306, double noundef 5.000000e-01, double noundef %311) #56 + %313 = bitcast double %312 to i64 + %314 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %292, double noundef %304, double noundef %283) #56 + %315 = fadd double %314, %284 + %316 = bitcast double %315 to i64 + %317 = sub nsw i64 0, %291 + %318 = xor i64 %316, %313 + %319 = and i64 %318, %317 + %320 = xor i64 %319, %289 + %321 = xor i64 %320, %313 + %322 = bitcast i64 %321 to double + br label %323 + +323: ; preds = %281, %67, %14 + %324 = phi double [ %322, %281 ], [ %64, %14 ], [ %72, %67 ] + ret double %324 +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare double @llvm.fabs.f64(double) #17 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i64 @llvm.fshl.i64(i64, i64, i64) #17 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_sin(double noundef %0) local_unnamed_addr #43 !srcloc !1454 { + %2 = alloca i32, align 4 + %3 = alloca i32, align 4 + %4 = alloca i32, align 4 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + %7 = alloca i32, align 4 + %8 = alloca i32, align 4 + %9 = bitcast double %0 to i64 + %10 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %11 = bitcast double %10 to i64 + %12 = xor i64 %9, %11 + %13 = lshr i64 %11, 32 + %14 = trunc i64 %13 to i32 + %15 = icmp ugt i32 %14, 1093664767 + br i1 %15, label %67, label %16 + +16: ; preds = %1 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef 0x3FD45F306DC9C883, double noundef 0x4328000000000000) #56 + %18 = bitcast double %17 to i64 + %19 = fadd double %17, 0xC328000000000000 + %20 = shl i64 %18, 62 + %21 = and i64 %20, -9223372036854775808 + %22 = and i64 %18, 1 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0xC00921FB54442D18, double noundef %10) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0xBCA1A62633000000, double noundef %23) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0xBAA45C06E0E68948, double noundef %24) #56 + %26 = fsub double %23, %24 + %27 = fmul double %25, %25 + %28 = fsub double %24, %25 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0xBCA1A62633000000, double noundef %26) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0xBAA45C06E0E68948, double noundef %28) #56 + %31 = fadd double %29, %30 + %32 = fmul double %25, %31 + %33 = icmp eq i64 %22, 0 + %34 = select i1 %33, i64 4460209015011315114, i64 -4780296168560639412 + %35 = select i1 %33, i64 -4730215693282118884, i64 4477121861779221951 + %36 = select i1 %33, i64 4523617212905342027, i64 -4714566980029494285 + %37 = select i1 %33, i64 -4671919876305412793, i64 4537941361668032425 + %38 = select i1 %33, i64 4575957461383574496, i64 -4659324094485803446 + %39 = select i1 %33, i64 -4628199217061079741, i64 4586165620538955083 + %40 = bitcast i64 %34 to double + %41 = bitcast i64 %35 to double + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %40, double noundef %41) #56 + %43 = bitcast i64 %36 to double + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %42, double noundef %43) #56 + %45 = bitcast i64 %37 to double + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %44, double noundef %45) #56 + %47 = bitcast i64 %38 to double + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %46, double noundef %47) #56 + %49 = bitcast i64 %39 to double + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %48, double noundef %49) #56 + %51 = fmul double %50, %27 + %52 = fneg double %25 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %25, double noundef 2.000000e+00) #56 + %54 = fadd double %53, -2.000000e+00 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %25, double noundef %54) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef 5.000000e-01, double noundef %32) #56 + %57 = fneg double %56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %51, double noundef %57) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef 5.000000e-01, double noundef %58) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %51, double noundef %31) #56 + %61 = fadd double %60, %25 + %62 = select i1 %33, double %61, double %59 + %63 = bitcast double %62 to i64 + %64 = xor i64 %21, %63 + %65 = xor i64 %64, %12 + %66 = bitcast i64 %65 to double + br label %325 + +67: ; preds = %1 + %68 = icmp ugt i32 %14, 2146435071 + br i1 %68, label %69, label %75 + +69: ; preds = %67 + %70 = tail call double @llvm.fabs.f64(double %10) + %71 = bitcast double %70 to i64 + %72 = icmp ugt i64 %71, 9218868437227405312 + %73 = fmul double %10, %10 + %74 = select i1 %72, double %73, double 0xFFF8000000000000 + br label %325 + +75: ; preds = %67 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) + %76 = tail call double @llvm.fabs.f64(double %10) + %77 = bitcast double %76 to i64 + %78 = xor i64 %11, %77 + %79 = lshr i64 %77, 32 + %80 = trunc i64 %79 to i32 + %81 = lshr i32 %80, 20 + %82 = trunc i64 %77 to i32 + %83 = and i32 %80, 1048575 + %84 = or i32 %83, 1048576 + %85 = add nsw i32 %81, -2047 + %86 = icmp ult i32 %85, -1023 + br i1 %86, label %283, label %87 + +87: ; preds = %75 + %88 = add nsw i32 %81, -1011 + %89 = lshr i32 %88, 5 + %90 = zext nneg i32 %89 to i64 + %91 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %90 + %92 = load i32, ptr addrspace(1) %91, align 4, !tbaa !717 + %93 = addrspacecast ptr %2 to ptr addrspace(4) + store volatile i32 %92, ptr addrspace(4) %93, align 4, !tbaa !717 + %94 = add nuw nsw i32 %89, 1 + %95 = zext nneg i32 %94 to i64 + %96 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %95 + %97 = load i32, ptr addrspace(1) %96, align 4, !tbaa !717 + %98 = addrspacecast ptr %3 to ptr addrspace(4) + store volatile i32 %97, ptr addrspace(4) %98, align 4, !tbaa !717 + %99 = add nuw nsw i32 %89, 2 + %100 = zext nneg i32 %99 to i64 + %101 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %100 + %102 = load i32, ptr addrspace(1) %101, align 4, !tbaa !717 + %103 = addrspacecast ptr %4 to ptr addrspace(4) + store volatile i32 %102, ptr addrspace(4) %103, align 4, !tbaa !717 + %104 = add nuw nsw i32 %89, 3 + %105 = zext nneg i32 %104 to i64 + %106 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %105 + %107 = load i32, ptr addrspace(1) %106, align 4, !tbaa !717 + %108 = addrspacecast ptr %5 to ptr addrspace(4) + store volatile i32 %107, ptr addrspace(4) %108, align 4, !tbaa !717 + %109 = add nuw nsw i32 %89, 4 + %110 = zext nneg i32 %109 to i64 + %111 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %110 + %112 = load i32, ptr addrspace(1) %111, align 4, !tbaa !717 + %113 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 %112, ptr addrspace(4) %113, align 4, !tbaa !717 + %114 = add nuw nsw i32 %89, 5 + %115 = zext nneg i32 %114 to i64 + %116 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %115 + %117 = load i32, ptr addrspace(1) %116, align 4, !tbaa !717 + %118 = addrspacecast ptr %7 to ptr addrspace(4) + store volatile i32 %117, ptr addrspace(4) %118, align 4, !tbaa !717 + %119 = add nuw nsw i32 %89, 6 + %120 = zext nneg i32 %119 to i64 + %121 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN19__imf_impl_sin_d_ha12_GLOBAL__N_119__dsin_ha_InvPi_tblE, i64 0, i64 %120 + %122 = load i32, ptr addrspace(1) %121, align 4, !tbaa !717 + %123 = addrspacecast ptr %8 to ptr addrspace(4) + store volatile i32 %122, ptr addrspace(4) %123, align 4, !tbaa !717 + %124 = and i32 %88, 31 + %125 = icmp eq i32 %124, 0 + br i1 %125, label %158, label %126 + +126: ; preds = %87 + %127 = sub nuw nsw i32 32, %124 + %128 = load volatile i32, ptr addrspace(4) %93, align 4, !tbaa !717 + %129 = shl i32 %128, %124 + %130 = load volatile i32, ptr addrspace(4) %98, align 4, !tbaa !717 + %131 = lshr i32 %130, %127 + %132 = or i32 %129, %131 + store volatile i32 %132, ptr addrspace(4) %93, align 4, !tbaa !717 + %133 = load volatile i32, ptr addrspace(4) %98, align 4, !tbaa !717 + %134 = shl i32 %133, %124 + %135 = load volatile i32, ptr addrspace(4) %103, align 4, !tbaa !717 + %136 = lshr i32 %135, %127 + %137 = or i32 %134, %136 + store volatile i32 %137, ptr addrspace(4) %98, align 4, !tbaa !717 + %138 = load volatile i32, ptr addrspace(4) %103, align 4, !tbaa !717 + %139 = shl i32 %138, %124 + %140 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %141 = lshr i32 %140, %127 + %142 = or i32 %139, %141 + store volatile i32 %142, ptr addrspace(4) %103, align 4, !tbaa !717 + %143 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %144 = shl i32 %143, %124 + %145 = load volatile i32, ptr addrspace(4) %113, align 4, !tbaa !717 + %146 = lshr i32 %145, %127 + %147 = or i32 %144, %146 + store volatile i32 %147, ptr addrspace(4) %108, align 4, !tbaa !717 + %148 = load volatile i32, ptr addrspace(4) %113, align 4, !tbaa !717 + %149 = shl i32 %148, %124 + %150 = load volatile i32, ptr addrspace(4) %118, align 4, !tbaa !717 + %151 = lshr i32 %150, %127 + %152 = or i32 %149, %151 + store volatile i32 %152, ptr addrspace(4) %113, align 4, !tbaa !717 + %153 = load volatile i32, ptr addrspace(4) %118, align 4, !tbaa !717 + %154 = shl i32 %153, %124 + %155 = load volatile i32, ptr addrspace(4) %123, align 4, !tbaa !717 + %156 = lshr i32 %155, %127 + %157 = or i32 %154, %156 + store volatile i32 %157, ptr addrspace(4) %118, align 4, !tbaa !717 + br label %158 + +158: ; preds = %126, %87 + %159 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %160 = zext i32 %159 to i64 + %161 = and i64 %77, 4294967295 + %162 = mul nuw i64 %161, %160 + %163 = load volatile i32, ptr addrspace(4) %113, align 4, !tbaa !717 + %164 = zext i32 %163 to i64 + %165 = zext nneg i32 %84 to i64 + %166 = mul nuw nsw i64 %164, %165 + %167 = load volatile i32, ptr addrspace(4) %113, align 4, !tbaa !717 + %168 = zext i32 %167 to i64 + %169 = mul nuw i64 %161, %168 + %170 = load volatile i32, ptr addrspace(4) %118, align 4, !tbaa !717 + %171 = zext i32 %170 to i64 + %172 = mul nuw nsw i64 %171, %165 + %173 = add i64 %169, %172 + %174 = icmp ult i64 %173, %172 + %175 = add nuw i64 %162, 4294967296 + %176 = select i1 %174, i64 %175, i64 %162 + %177 = load volatile i32, ptr addrspace(4) %103, align 4, !tbaa !717 + %178 = zext i32 %177 to i64 + %179 = mul nuw i64 %161, %178 + %180 = load volatile i32, ptr addrspace(4) %98, align 4, !tbaa !717 + %181 = zext i32 %180 to i64 + %182 = mul nuw i64 %161, %181 + %183 = load volatile i32, ptr addrspace(4) %93, align 4, !tbaa !717 + %184 = mul i32 %183, %82 + %185 = zext i32 %184 to i64 + %186 = shl nuw i64 %185, 32 + %187 = add i64 %182, %186 + %188 = add i64 %176, %166 + %189 = icmp ult i64 %188, %166 + %190 = zext i1 %189 to i64 + %191 = add i64 %187, %190 + %192 = lshr i64 %173, 32 + %193 = shl i64 %173, 34 + %194 = add i64 %188, %192 + %195 = icmp ult i64 %194, %192 + %196 = zext i1 %195 to i64 + %197 = add i64 %191, %196 + %198 = load volatile i32, ptr addrspace(4) %108, align 4, !tbaa !717 + %199 = zext i32 %198 to i64 + %200 = mul nuw nsw i64 %199, %165 + %201 = load volatile i32, ptr addrspace(4) %103, align 4, !tbaa !717 + %202 = zext i32 %201 to i64 + %203 = mul nuw nsw i64 %202, %165 + %204 = add i64 %197, %203 + %205 = load volatile i32, ptr addrspace(4) %98, align 4, !tbaa !717 + %206 = mul i32 %205, %84 + %207 = zext i32 %206 to i64 + %208 = shl nuw i64 %207, 32 + %209 = add i64 %204, %208 + %210 = add i64 %179, %200 + %211 = icmp ult i64 %210, %200 + %212 = add i64 %209, 4294967296 + %213 = select i1 %211, i64 %212, i64 %209 + %214 = lshr i64 %210, 32 + %215 = add i64 %213, %214 + %216 = shl i64 %210, 32 + %217 = add i64 %194, %216 + %218 = icmp ult i64 %217, %216 + %219 = zext i1 %218 to i64 + %220 = add i64 %215, %219 + %221 = shl i64 %217, 2 + %222 = lshr i64 %173, 30 + %223 = and i64 %222, 3 + %224 = or i64 %221, %223 + %225 = tail call i64 @llvm.fshl.i64(i64 %220, i64 %217, i64 2) + %226 = lshr i64 %220, 62 + %227 = trunc i64 %226 to i32 + %228 = ashr i64 %225, 63 + %229 = trunc i64 %228 to i32 + %230 = sub nsw i32 %227, %229 + %231 = xor i64 %225, %228 + %232 = xor i64 %224, %228 + %233 = xor i64 %193, %228 + %234 = ashr i64 %78, 63 + %235 = trunc i64 %234 to i32 + %236 = xor i32 %230, %235 + %237 = sub nsw i32 %236, %235 + %238 = xor i64 %234, %228 + %239 = and i64 %238, -9223372036854775808 + br label %240 + +240: ; preds = %246, %158 + %241 = phi i64 [ %233, %158 ], [ %250, %246 ] + %242 = phi i64 [ %232, %158 ], [ %249, %246 ] + %243 = phi i32 [ -66, %158 ], [ %247, %246 ] + %244 = phi i64 [ %231, %158 ], [ %248, %246 ] + %245 = icmp sgt i64 %244, 0 + br i1 %245, label %246, label %251 + +246: ; preds = %240 + %247 = add nsw i32 %243, -1 + %248 = tail call i64 @llvm.fshl.i64(i64 %244, i64 %242, i64 1) + %249 = tail call i64 @llvm.fshl.i64(i64 %242, i64 %241, i64 1) + %250 = shl i64 %241, 1 + br label %240, !llvm.loop !1455 + +251: ; preds = %240 + %252 = lshr i64 %244, 32 + %253 = mul nuw i64 %252, 3373259426 + %254 = mul nuw nsw i64 %252, 560513589 + %255 = and i64 %244, 4294967295 + %256 = mul nuw i64 %255, 3373259426 + %257 = add nuw i64 %254, %256 + %258 = lshr i64 %257, 32 + %259 = add nuw i64 %253, %258 + %260 = icmp slt i64 %259, 0 + %261 = select i1 %260, i32 4, i32 3 + %262 = add nsw i32 %243, %261 + %263 = lshr i64 %259, 63 + %264 = lshr i64 %259, %263 + %265 = trunc i64 %264 to i32 + %266 = add nuw i64 %264, 512 + %267 = shl i32 %265, 22 + %268 = ashr exact i32 %267, 22 + %269 = sitofp i32 %268 to double + %270 = zext i32 %262 to i64 + %271 = shl i64 %270, 52 + %272 = add i64 %271, 4607182418800017408 + %273 = or i64 %272, %239 + %274 = bitcast i64 %273 to double + %275 = fmul double %269, %274 + %276 = add nsw i32 %262, 1084 + %277 = zext i32 %276 to i64 + %278 = shl i64 %277, 52 + %279 = lshr i64 %266, 10 + %280 = add i64 %278, %279 + %281 = xor i64 %239, %280 + %282 = bitcast i64 %281 to double + br label %283 + +283: ; preds = %251, %75 + %284 = phi i32 [ %237, %251 ], [ 0, %75 ] + %285 = phi double [ %275, %251 ], [ 0.000000e+00, %75 ] + %286 = phi double [ %282, %251 ], [ %10, %75 ] + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) + %287 = fmul double %286, %286 + %288 = lshr i32 %284, 1 + %289 = zext nneg i32 %288 to i64 + %290 = shl i64 %289, 63 + %291 = and i32 %284, 1 + %292 = zext nneg i32 %291 to i64 + %293 = fmul double %287, %286 + %294 = fmul double %286, %285 + %295 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef 0xBDA8F9F637C8424C, double noundef 0x3E21EE9CCB7C6DBF) #56 + %296 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef 0x3DE5D877CBBE8DAA, double noundef 0xBE5AE5E382F0F31C) #56 + %297 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %295, double noundef 0xBE927E4F7D8E4BF3) #56 + %298 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %296, double noundef 0x3EC71DE35310C44B) #56 + %299 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %297, double noundef 0x3EFA01A019C687A9) #56 + %300 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %298, double noundef 0xBF2A01A019BA9D47) #56 + %301 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %299, double noundef 0xBF56C16C16C14E4A) #56 + %302 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %300, double noundef 0x3F8111111110F3E0) #56 + %303 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %301, double noundef 0x3FA555555555554B) #56 + %304 = fmul double %303, %287 + %305 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %302, double noundef 0xBFC5555555555543) #56 + %306 = fneg double %286 + %307 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %306, double noundef %286, double noundef 2.000000e+00) #56 + %308 = fadd double %307, -2.000000e+00 + %309 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %286, double noundef %286, double noundef %308) #56 + %310 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %309, double noundef 5.000000e-01, double noundef %294) #56 + %311 = fneg double %310 + %312 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %287, double noundef %304, double noundef %311) #56 + %313 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %307, double noundef 5.000000e-01, double noundef %312) #56 + %314 = bitcast double %313 to i64 + %315 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %293, double noundef %305, double noundef %285) #56 + %316 = fadd double %315, %286 + %317 = bitcast double %316 to i64 + %318 = sub nsw i64 0, %292 + %319 = xor i64 %317, %314 + %320 = and i64 %319, %318 + %321 = xor i64 %290, %320 + %322 = xor i64 %321, %12 + %323 = xor i64 %322, %317 + %324 = bitcast i64 %323 to double + br label %325 + +325: ; preds = %283, %69, %16 + %326 = phi double [ %324, %283 ], [ %66, %16 ], [ %74, %69 ] + ret double %326 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_exp(double noundef %0) local_unnamed_addr #43 !srcloc !1456 { + %2 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef 0x3FF71547652B82FE, double noundef 0x43280000000007FE) #56 + %3 = fadd double %2, 0xC3280000000007FE + %4 = bitcast double %2 to i64 + %5 = trunc i64 %4 to i32 + %6 = shl i32 %5, 19 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFE62E42FEFA39EF, double noundef %3, double noundef %0) #56 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBC7ABC9E3B39803F, double noundef %3, double noundef %7) #56 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EC722BCCC270959, double noundef %8, double noundef 0x3EFA072E44B58159) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef %8, double noundef 0x3F2A019F7560FBA3) #56 + %11 = and i32 %5, 1 + %12 = sub nsw i32 0, %11 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %8, double noundef 0x3F56C16B8144BD5B) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %8, double noundef 0x3F811111111AC486) #56 + %15 = and i32 %12, 958622 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %8, double noundef 0x3FA55555556228CE) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %8, double noundef 0x3FC5555555555462) #56 + %18 = xor i32 %6, %15 + %19 = and i32 %12, 1719614413 + %20 = zext nneg i32 %19 to i64 + %21 = and i32 %12, -2132704597 + %22 = xor i32 %21, 1013862853 + %23 = zext i32 %22 to i64 + %24 = shl nuw i64 %23, 32 + %25 = bitcast i64 %24 to double + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %8, double noundef 0x3FDFFFFFFFFFFE76) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %8, double noundef 1.000000e+00) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %8, double noundef %25) #56 + %29 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %30 = fcmp ult double %29, 0x4086232A00000000 + br i1 %30, label %31, label %37 + +31: ; preds = %1 + %32 = zext i32 %18 to i64 + %33 = shl nuw i64 %32, 32 + %34 = or i64 %33, %20 + %35 = bitcast i64 %34 to double + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %28, double noundef %35) #56 + br label %63 + +37: ; preds = %1 + %38 = bitcast double %0 to i64 + %39 = lshr i64 %38, 32 + %40 = trunc i64 %39 to i32 + %41 = and i32 %40, 2147483647 + %42 = and i32 %40, -2147483648 + %43 = icmp ult i32 %41, 1082626343 + br i1 %43, label %44, label %55 + +44: ; preds = %37 + %45 = icmp eq i32 %42, 0 + %46 = select i1 %45, i32 -134217728, i32 134217728 + %47 = add i32 %18, %46 + %48 = zext i32 %47 to i64 + %49 = shl nuw i64 %48, 32 + %50 = or i64 %49, %20 + %51 = bitcast i64 %50 to double + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %28, double noundef %51) #56 + %53 = select i1 %45, double 0x47F0000000000000, double 0x37F0000000000000 + %54 = fmul double %52, %53 + br label %63 + +55: ; preds = %37 + %56 = icmp eq i32 %42, 0 + %57 = tail call double @llvm.fabs.f64(double %0) + %58 = bitcast double %57 to i64 + %59 = icmp ult i64 %58, 9218868437227405313 + %60 = select i1 %56, double 0x7FF0000000000000, double 0.000000e+00 + %61 = select i1 %59, double %60, double %0 + %62 = fadd double %61, 0.000000e+00 + br label %63 + +63: ; preds = %55, %44, %31 + %64 = phi double [ %36, %31 ], [ %54, %44 ], [ %62, %55 ] + ret double %64 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_exp10(double noundef %0) local_unnamed_addr #43 !srcloc !1457 { + %2 = alloca double, align 8 + %3 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef 0x407A934F0979A371, double noundef 0x4338800000000000) #56 + %4 = fadd double %3, 0xC338800000000000 + %5 = bitcast double %0 to i64 + %6 = and i64 %5, 9223372032559808512 + %7 = icmp ugt i64 %6, 4644119893459861504 + %8 = bitcast double %3 to i64 + %9 = and i64 %8, 127 + %10 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_136__devicelib_imf_internal_dexp10_dataE, i64 %9 + %11 = load double, ptr addrspace(1) %10, align 8, !tbaa !719 + %12 = shl i64 %8, 45 + %13 = and i64 %12, -4503599627370496 + %14 = fneg double %4 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef 0x3F63441350A00000, double noundef %0) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef 0xBD10C0219DC1DA99, double noundef %15) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FE144C03EFAFB54, double noundef %16, double noundef 0x3FF2BD767584DB59) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %16, double noundef 0x4000470591CCEA8B) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %16, double noundef 0x40053524C73CE8E3) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %16, double noundef 0x40026BB1BBB55516) #56 + %21 = fmul double %20, %16 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %11, double noundef %11) #56 + %23 = bitcast double %22 to i64 + %24 = add i64 %13, %23 + %25 = bitcast i64 %24 to double + br i1 %7, label %26, label %29, !prof !1176 + +26: ; preds = %1 + %27 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store i64 %24, ptr %2, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_131__devicelib_imf_internal_dexp10EPKdPd(double %0, ptr addrspace(4) noundef %27) #55 + %28 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %29 + +29: ; preds = %26, %1 + %30 = phi double [ %28, %26 ], [ %25, %1 ] + ret double %30 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_131__devicelib_imf_internal_dexp10EPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1458 !sycl_kernel_omit_args !1186 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = lshr i32 %5, 20 + %7 = and i32 %6, 2047 + %8 = icmp eq i32 %7, 2047 + br i1 %8, label %88, label %9 + +9: ; preds = %2 + %10 = icmp ugt i32 %7, 970 + br i1 %10, label %11, label %86 + +11: ; preds = %9 + %12 = fcmp ugt double %0, 0x40734413509F79FE + br i1 %12, label %85, label %13 + +13: ; preds = %11 + %14 = fcmp ult double %0, 0xC07439B746E36B52 + br i1 %14, label %84, label %15 + +15: ; preds = %13 + %16 = fmul double %0, 0x406A934F0979A371 + %17 = fadd double %16, 0x4338000000000000 + %18 = fadd double %17, 0xC338000000000000 + %19 = fmul double %18, 0x3F734413509F0000 + %20 = fmul double %18, 0x3D1E7FBCC47C4ACD + %21 = fsub double %0, %19 + %22 = fsub double %21, %20 + %23 = tail call double @llvm.fmuladd.f64(double %22, double 0x3FE1427C87C70A85, double 0x3FF2BD77B840F0BF) + %24 = tail call double @llvm.fmuladd.f64(double %23, double %22, double 0x4000470591E2BC10) + %25 = tail call double @llvm.fmuladd.f64(double %24, double %22, double 0x40053524C73CD20A) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %22, double 0x40026BB1BBB55515) + %27 = fmul double %26, %22 + %28 = bitcast double %17 to i64 + %29 = trunc i64 %28 to i32 + %30 = lshr i32 %29, 6 + %31 = shl i32 %29, 1 + %32 = and i32 %31, 126 + %33 = or i32 %32, 1 + %34 = zext nneg i32 %33 to i64 + %35 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_125__dexp10_la__imldExp10TabE, i64 %34 + %36 = load double, ptr addrspace(1) %35, align 8, !tbaa !760 + %37 = fadd double %27, %36 + %38 = zext nneg i32 %32 to i64 + %39 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_exp10_d_la12_GLOBAL__N_125__dexp10_la__imldExp10TabE, i64 %38 + %40 = load double, ptr addrspace(1) %39, align 8, !tbaa !760 + %41 = fmul double %37, %40 + %42 = fcmp ult double %0, 0xC0733A7146F72A41 + br i1 %42, label %57, label %43 + +43: ; preds = %15 + %44 = add nuw nsw i32 %30, 1023 + %45 = fadd double %41, %40 + %46 = and i32 %44, 2047 + %47 = icmp eq i32 %46, 2047 + br i1 %47, label %54, label %48 + +48: ; preds = %43 + %49 = shl nuw nsw i32 %46, 20 + %50 = zext nneg i32 %49 to i64 + %51 = shl nuw nsw i64 %50, 32 + %52 = bitcast i64 %51 to double + %53 = fmul double %45, %52 + store double %53, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +54: ; preds = %43 + %55 = fmul double %45, 0x7FE0000000000000 + %56 = fmul double %55, 2.000000e+00 + store double %56, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +57: ; preds = %15 + %58 = add nuw nsw i32 %30, 1083 + %59 = and i32 %58, 2047 + %60 = shl nuw nsw i32 %59, 20 + %61 = zext nneg i32 %60 to i64 + %62 = shl nuw nsw i64 %61, 32 + %63 = bitcast i64 %62 to double + %64 = fmul double %41, %63 + %65 = fmul double %40, %63 + %66 = icmp ult i32 %59, 51 + br i1 %66, label %67, label %70 + +67: ; preds = %57 + %68 = fadd double %64, %65 + %69 = fmul double %68, 0x3C30000000000000 + br label %82 + +70: ; preds = %57 + %71 = fadd double %64, %65 + %72 = fsub double %65, %71 + %73 = fadd double %72, %64 + %74 = fmul double %71, 0x41F8000000000000 + %75 = fadd double %71, %74 + %76 = fsub double %75, %74 + %77 = fsub double %71, %76 + %78 = fadd double %77, %73 + %79 = fmul double %76, 0x3C30000000000000 + %80 = fmul double %78, 0x3C30000000000000 + %81 = fadd double %79, %80 + br label %82 + +82: ; preds = %70, %67 + %83 = phi double [ %81, %70 ], [ %69, %67 ] + store double %83, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +84: ; preds = %13 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +85: ; preds = %11 + store double 0x7FF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +86: ; preds = %9 + %87 = fadd double %0, 1.000000e+00 + store double %87, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +88: ; preds = %2 + %89 = icmp sgt i64 %3, -1 + br i1 %89, label %96, label %90 + +90: ; preds = %88 + %91 = and i32 %5, 1048575 + %92 = trunc i64 %3 to i32 + %93 = or i32 %91, %92 + %94 = icmp eq i32 %93, 0 + br i1 %94, label %95, label %96 + +95: ; preds = %90 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +96: ; preds = %90, %88 + %97 = fmul double %0, %0 + store double %97, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %98 + +98: ; preds = %96, %95, %86, %85, %84, %82, %54, %48 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_exp2(double noundef %0) local_unnamed_addr #43 !srcloc !1459 { + %2 = fadd double %0, 0x43380000000003FF + %3 = fadd double %2, 0xC3380000000003FF + %4 = fsub double %0, %3 + %5 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3DFEA1C678DED0EF, double noundef %4, double noundef 0x3E3E6228BE5A9FFD) #56 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %5, double noundef %4, double noundef 0x3E7B524CA9FF39CC) #56 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %4, double noundef 0x3EB62BFC2C7BE078) #56 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %4, double noundef 0x3EEFFCBFC7E3F872) #56 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %8, double noundef %4, double noundef 0x3F2430913112CAE8) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef %4, double noundef 0x3F55D87FE78A0586) #56 + %11 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 5.000000e-01, double noundef 1.000000e+00) #56 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %4, double noundef 0x3F83B2AB6FB9F1A3) #56 + %13 = fadd double %11, -1.000000e+00 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef %4, double noundef 0x3FAC6B08D704A0DB) #56 + %15 = fneg double %13 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 5.000000e-01, double noundef %15) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %4, double noundef 0x3FCEBFBDFF82C5AE) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %4, double noundef 0x3FC8B90BFBE8E7BC) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %4, double noundef %16) #56 + %20 = fadd double %11, %19 + %21 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %22 = fcmp ult double %21, 1.022000e+03 + br i1 %22, label %23, label %28 + +23: ; preds = %1 + %24 = bitcast double %2 to i64 + %25 = shl i64 %24, 52 + %26 = bitcast i64 %25 to double + %27 = fmul double %20, %26 + br label %54 + +28: ; preds = %1 + %29 = bitcast double %0 to i64 + %30 = and i64 %29, 9218868437227405312 + %31 = icmp eq i64 %30, 9218868437227405312 + br i1 %31, label %32, label %36 + +32: ; preds = %28 + %33 = icmp eq i64 %29, -4503599627370496 + %34 = fadd double %0, %0 + %35 = select i1 %33, double 0.000000e+00, double %34 + br label %54 + +36: ; preds = %28 + %37 = tail call spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef %0, double noundef 1.536000e+03) #56 + %38 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %37, double noundef -1.536000e+03) #56 + %39 = fadd double %38, 0x43380000000007FE + %40 = bitcast double %39 to i64 + %41 = trunc i64 %40 to i32 + %42 = tail call spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef %20, double noundef 2.000000e+00) #56 + %43 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %42, double noundef 5.000000e-01) #56 + %44 = ashr i32 %41, 1 + %45 = sub nsw i32 %41, %44 + %46 = zext i32 %45 to i64 + %47 = shl i64 %46, 52 + %48 = zext i32 %44 to i64 + %49 = shl i64 %48, 52 + %50 = bitcast i64 %47 to double + %51 = fmul double %43, %50 + %52 = bitcast i64 %49 to double + %53 = fmul double %51, %52 + br label %54 + +54: ; preds = %36, %32, %23 + %55 = phi double [ %27, %23 ], [ %53, %36 ], [ %35, %32 ] + ret double %55 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef, double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_log(double noundef %0) local_unnamed_addr #43 !srcloc !1460 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = and i64 %4, 4503599627370495 + %6 = or i64 %5, 4562146422526312448 + %7 = bitcast i64 %6 to double + %8 = fptrunc double %7 to float + %9 = fdiv float 1.000000e+00, %8 + %10 = lshr i64 %4, 52 + %11 = trunc i64 %10 to i32 + %12 = fcmp uge double %0, 0x10000000000000 + %13 = fcmp ole double %0, 0x7FEFFFFFFFFFFFFF + %14 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %9) #56 + %15 = fpext float %14 to double + %16 = sitofp i32 %11 to double + %17 = and i1 %12, %13 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %15, double noundef -1.000000e+00) #56 + %19 = bitcast double %15 to i64 + %20 = lshr i64 %19, 42 + %21 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_133__devicelib_imf_internal_dln_dataE, i64 -8454144), i64 %20 + %22 = load double, ptr addrspace(1) %21, align 8, !tbaa !719 + %23 = getelementptr double, ptr addrspace(1) %21, i64 1 + %24 = load double, ptr addrspace(1) %23, align 8, !tbaa !719 + %25 = fmul double %16, 0x3FE62E42FEFA0000 + %26 = fmul double %16, 0x3D7CF79ABC9E0000 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FC9999CACDB4D0A, double noundef %18, double noundef 0xBFD0000148058EE1) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FD55555555543C5, double noundef %18, double noundef 0xBFDFFFFFFFFFF81F) #56 + %29 = fmul double %18, %18 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %29, double noundef %28) #56 + %31 = fmul double %30, %29 + %32 = fadd double %25, %22 + %33 = fadd double %26, %24 + %34 = fadd double %32, %18 + %35 = fsub double %34, %32 + %36 = fsub double %18, %35 + %37 = fadd double %33, %36 + %38 = fadd double %37, %31 + %39 = fadd double %38, %34 + br i1 %17, label %44, label %40, !prof !1189 + +40: ; preds = %1 + %41 = addrspacecast ptr %3 to ptr addrspace(4) + %42 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %39, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_128__devicelib_imf_internal_dlnEPKdPd(ptr addrspace(4) noundef %42, ptr addrspace(4) noundef %41) #55 + %43 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %44 + +44: ; preds = %40, %1 + %45 = phi double [ %43, %40 ], [ %39, %1 ] + ret double %45 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_128__devicelib_imf_internal_dlnEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1461 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %83, label %7 + +7: ; preds = %2 + %8 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %9 = bitcast double %8 to i64 + %10 = and i64 %9, 9218868437227405312 + %11 = icmp eq i64 %10, 0 + %12 = fmul double %8, 0x43B0000000000000 + %13 = select i1 %11, i32 -60, i32 0 + %14 = select i1 %11, double %12, double %8 + %15 = fcmp ogt double %14, 0.000000e+00 + br i1 %15, label %16, label %79 + +16: ; preds = %7 + %17 = fadd double %14, -1.000000e+00 + %18 = tail call double @llvm.fabs.f64(double %17) + %19 = fcmp ogt double %18, 0x3F84000000000000 + br i1 %19, label %20, label %69 + +20: ; preds = %16 + %21 = bitcast double %14 to i64 + %22 = lshr i64 %21, 52 + %23 = trunc i64 %22 to i32 + %24 = and i32 %23, 2047 + %25 = add nsw i32 %24, -1023 + %26 = add nsw i32 %13, %25 + %27 = sitofp i32 %26 to double + %28 = fmul double %27, 0x3FE62E42FEFA3800 + %29 = fmul double %27, 0x3D2EF35793C76730 + %30 = and i64 %21, -9218868437227405313 + %31 = or i64 %30, 4607182418800017408 + %32 = bitcast i64 %31 to double + %33 = fadd double %32, 0x42D0000000000040 + %34 = bitcast double %33 to i64 + %35 = trunc i64 %34 to i32 + %36 = and i32 %35, 127 + %37 = mul nuw nsw i32 %36, 3 + %38 = zext nneg i32 %37 to i64 + %39 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_116__dln_ha_CoutTabE, i64 %38 + %40 = load double, ptr addrspace(1) %39, align 8, !tbaa !760 + %41 = add nuw nsw i32 %37, 1 + %42 = zext nneg i32 %41 to i64 + %43 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_116__dln_ha_CoutTabE, i64 %42 + %44 = load double, ptr addrspace(1) %43, align 8, !tbaa !760 + %45 = add nuw nsw i32 %37, 2 + %46 = zext nneg i32 %45 to i64 + %47 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_ln_d_ha12_GLOBAL__N_116__dln_ha_CoutTabE, i64 %46 + %48 = load double, ptr addrspace(1) %47, align 8, !tbaa !760 + %49 = fadd double %28, %44 + %50 = fadd double %29, %48 + %51 = fadd double %32, 0x4140000000000000 + %52 = fadd double %51, 0xC140000000000000 + %53 = fsub double %32, %52 + %54 = tail call double @llvm.fmuladd.f64(double %40, double %52, double -1.000000e+00) + %55 = fmul double %40, %53 + %56 = fadd double %54, %55 + %57 = tail call double @llvm.fmuladd.f64(double %56, double 0xBFC000B405A2836D, double 0x3FC249C02481059D) + %58 = tail call double @llvm.fmuladd.f64(double %57, double %56, double 0xBFC555555228B38F) + %59 = tail call double @llvm.fmuladd.f64(double %58, double %56, double 0x3FC9999997B36C81) + %60 = tail call double @llvm.fmuladd.f64(double %59, double %56, double 0xBFD0000000000262) + %61 = tail call double @llvm.fmuladd.f64(double %60, double %56, double 0x3FD5555555555613) + %62 = tail call double @llvm.fmuladd.f64(double %61, double %56, double -5.000000e-01) + %63 = fmul double %62, %56 + %64 = fmul double %63, %56 + %65 = fadd double %49, %54 + %66 = fadd double %50, %55 + %67 = fadd double %66, %64 + %68 = fadd double %65, %67 + store double %68, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +69: ; preds = %16 + %70 = tail call double @llvm.fmuladd.f64(double %17, double 0xBFC000B405A2836D, double 0x3FC249C02481059D) + %71 = tail call double @llvm.fmuladd.f64(double %70, double %17, double 0xBFC555555228B38F) + %72 = tail call double @llvm.fmuladd.f64(double %71, double %17, double 0x3FC9999997B36C81) + %73 = tail call double @llvm.fmuladd.f64(double %72, double %17, double 0xBFD0000000000262) + %74 = tail call double @llvm.fmuladd.f64(double %73, double %17, double 0x3FD5555555555613) + %75 = tail call double @llvm.fmuladd.f64(double %74, double %17, double -5.000000e-01) + %76 = fmul double %75, %17 + %77 = fmul double %76, %17 + %78 = fadd double %77, %17 + store double %78, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +79: ; preds = %7 + %80 = fcmp oeq double %14, 0.000000e+00 + br i1 %80, label %81, label %82 + +81: ; preds = %79 + store double 0xFFF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +82: ; preds = %79 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +83: ; preds = %2 + %84 = and i32 %4, -2146435073 + %85 = icmp eq i32 %84, -2147483648 + br i1 %85, label %86, label %90 + +86: ; preds = %83 + %87 = load i32, ptr addrspace(4) %0, align 8 + %88 = icmp eq i32 %87, 0 + br i1 %88, label %89, label %90 + +89: ; preds = %86 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +90: ; preds = %86, %83 + %91 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %92 = fmul double %91, %91 + store double %92, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %93 + +93: ; preds = %90, %89, %82, %81, %69, %20 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_log10(double noundef %0) local_unnamed_addr #43 !srcloc !1462 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = and i64 %4, 4503599627370495 + %6 = or i64 %5, 4562146422526312448 + %7 = bitcast i64 %6 to double + %8 = fptrunc double %7 to float + %9 = fdiv float 1.000000e+00, %8 + %10 = fpext float %9 to double + %11 = lshr i64 %4, 52 + %12 = trunc i64 %11 to i32 + %13 = fcmp uge double %0, 0x10000000000000 + %14 = fcmp ole double %0, 0x7FEFFFFFFFFFFFFF + %15 = fmul double %10, 0x3FDBC00000000000 + %16 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %15) #56 + %17 = sitofp i32 %12 to double + %18 = and i1 %13, %14 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %16, double noundef 0xBFDBC00000000000) #56 + %20 = bitcast double %16 to i64 + %21 = lshr i64 %20, 43 + %22 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_136__devicelib_imf_internal_dlog10_dataE, i64 -4221888), i64 %21 + %23 = load double, ptr addrspace(1) %22, align 8, !tbaa !719 + %24 = getelementptr double, ptr addrspace(1) %22, i64 1 + %25 = load double, ptr addrspace(1) %24, align 8, !tbaa !719 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0x3FD34413509F0000, double noundef %23) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0x3D7E7FBCC47C0000, double noundef %25) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xC025C91A15F7EB9F, double noundef %19, double noundef 0x4016ABA863A166DB) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xC008930964D2FA9B, double noundef %19, double noundef 0x3FFC6A02DC954978) #56 + %30 = fmul double %19, %19 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFF27AF2DC77B115, double noundef %19, double noundef 0x3F5A7A6CBF2E410C) #56 + %32 = fadd double %26, %19 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %30, double noundef %29) #56 + %34 = fsub double %32, %26 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %30, double noundef %31) #56 + %36 = fmul double %35, %19 + %37 = fsub double %19, %34 + %38 = fadd double %27, %37 + %39 = fadd double %38, %36 + %40 = fadd double %39, %32 + br i1 %18, label %45, label %41, !prof !1189 + +41: ; preds = %1 + %42 = addrspacecast ptr %3 to ptr addrspace(4) + %43 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %40, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_131__devicelib_imf_internal_dlog10EPKdPd(ptr addrspace(4) noundef %43, ptr addrspace(4) noundef %42) #55 + %44 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %45 + +45: ; preds = %41, %1 + %46 = phi double [ %44, %41 ], [ %40, %1 ] + ret double %46 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef) local_unnamed_addr #22 + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_131__devicelib_imf_internal_dlog10EPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1463 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %84, label %7 + +7: ; preds = %2 + %8 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %9 = bitcast double %8 to i64 + %10 = and i64 %9, 9218868437227405312 + %11 = icmp eq i64 %10, 0 + %12 = fmul double %8, 0x43B0000000000000 + %13 = select i1 %11, i32 -60, i32 0 + %14 = select i1 %11, double %12, double %8 + %15 = fcmp ogt double %14, 0.000000e+00 + br i1 %15, label %16, label %80 + +16: ; preds = %7 + %17 = fadd double %14, -1.000000e+00 + %18 = tail call double @llvm.fabs.f64(double %17) + %19 = fcmp ogt double %18, 0x3F78000000000000 + br i1 %19, label %20, label %69 + +20: ; preds = %16 + %21 = bitcast double %14 to i64 + %22 = lshr i64 %21, 52 + %23 = trunc i64 %22 to i32 + %24 = and i32 %23, 2047 + %25 = add nsw i32 %13, %24 + %26 = add nsw i32 %25, -1023 + %27 = sitofp i32 %26 to double + %28 = fmul double %27, 0x3FD34413509F8000 + %29 = fmul double %27, 0xBD380433B83B532A + %30 = and i64 %21, -9218868437227405313 + %31 = or i64 %30, 4607182418800017408 + %32 = bitcast i64 %31 to double + %33 = fadd double %32, 0x42D0000000000040 + %34 = bitcast double %33 to i64 + %35 = trunc i64 %34 to i32 + %36 = and i32 %35, 127 + %37 = mul nuw nsw i32 %36, 3 + %38 = zext nneg i32 %37 to i64 + %39 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_119__dlog10_ha_CoutTabE, i64 %38 + %40 = load double, ptr addrspace(1) %39, align 8, !tbaa !760 + %41 = add nuw nsw i32 %37, 1 + %42 = zext nneg i32 %41 to i64 + %43 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_119__dlog10_ha_CoutTabE, i64 %42 + %44 = load double, ptr addrspace(1) %43, align 8, !tbaa !760 + %45 = add nuw nsw i32 %37, 2 + %46 = zext nneg i32 %45 to i64 + %47 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log10_d_ha12_GLOBAL__N_119__dlog10_ha_CoutTabE, i64 %46 + %48 = load double, ptr addrspace(1) %47, align 8, !tbaa !760 + %49 = fadd double %28, %44 + %50 = fadd double %29, %48 + %51 = fadd double %32, 0x4160000000000000 + %52 = fadd double %51, 0xC160000000000000 + %53 = fsub double %32, %52 + %54 = tail call double @llvm.fmuladd.f64(double %40, double %52, double 0xBFDBC00000000000) + %55 = fmul double %40, %53 + %56 = fadd double %54, %55 + %57 = tail call double @llvm.fmuladd.f64(double %56, double 0xC045B3214E75EEA2, double 0x40358992E1B1AA78) + %58 = tail call double @llvm.fmuladd.f64(double %57, double %56, double 0xC025C90E698CFB68) + %59 = tail call double @llvm.fmuladd.f64(double %58, double %56, double 0x4016AB9F7B1EFE5C) + %60 = tail call double @llvm.fmuladd.f64(double %59, double %56, double 0xC008930964D42479) + %61 = tail call double @llvm.fmuladd.f64(double %60, double %56, double 0x3FFC6A02DC963A31) + %62 = tail call double @llvm.fmuladd.f64(double %61, double %56, double 0xBFF27AF2DC77B115) + %63 = tail call double @llvm.fmuladd.f64(double %62, double %56, double 0x3F5A7A6CBF2E4107) + %64 = fadd double %49, %54 + %65 = tail call double @llvm.fmuladd.f64(double %63, double %55, double %50) + %66 = fadd double %65, %55 + %67 = tail call double @llvm.fmuladd.f64(double %63, double %54, double %66) + %68 = fadd double %64, %67 + store double %68, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +69: ; preds = %16 + %70 = fmul double %17, 0x3FDBC00000000000 + %71 = tail call double @llvm.fmuladd.f64(double %70, double 0xC045B3214E75EEA2, double 0x40358992E1B1AA78) + %72 = tail call double @llvm.fmuladd.f64(double %71, double %70, double 0xC025C90E698CFB68) + %73 = tail call double @llvm.fmuladd.f64(double %72, double %70, double 0x4016AB9F7B1EFE5C) + %74 = tail call double @llvm.fmuladd.f64(double %73, double %70, double 0xC008930964D42479) + %75 = tail call double @llvm.fmuladd.f64(double %74, double %70, double 0x3FFC6A02DC963A31) + %76 = tail call double @llvm.fmuladd.f64(double %75, double %70, double 0xBFF27AF2DC77B115) + %77 = tail call double @llvm.fmuladd.f64(double %76, double %70, double 0x3F5A7A6CBF2E4107) + %78 = fmul double %77, %70 + %79 = fadd double %78, %70 + store double %79, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +80: ; preds = %7 + %81 = fcmp oeq double %14, 0.000000e+00 + br i1 %81, label %82, label %83 + +82: ; preds = %80 + store double 0xFFF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +83: ; preds = %80 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +84: ; preds = %2 + %85 = and i32 %4, -2146435073 + %86 = icmp eq i32 %85, -2147483648 + br i1 %86, label %87, label %91 + +87: ; preds = %84 + %88 = load i32, ptr addrspace(4) %0, align 8 + %89 = icmp eq i32 %88, 0 + br i1 %89, label %90, label %91 + +90: ; preds = %87 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +91: ; preds = %87, %84 + %92 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %93 = fmul double %92, %92 + store double %93, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %94 + +94: ; preds = %91, %90, %83, %82, %69, %20 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_log1p(double noundef %0) local_unnamed_addr #43 !srcloc !1464 { + %2 = alloca double, align 8 + %3 = fmul double %0, 1.250000e-01 + %4 = fadd double %3, 1.250000e-01 + %5 = bitcast double %4 to i64 + %6 = and i64 %5, 9218868437227405312 + %7 = sub nsw i64 9214364837600034816, %6 + %8 = bitcast i64 %7 to double + %9 = fmul double %4, %8 + %10 = fadd double %9, 5.000000e-01 + %11 = fmul double %8, 1.250000e-01 + %12 = bitcast double %10 to i64 + %13 = and i64 %12, 9218868437227405312 + %14 = sub nsw i64 9214364837600034816, %13 + %15 = bitcast i64 %14 to double + %16 = fmul double %11, %15 + %17 = fmul double %16, 8.000000e+00 + %18 = bitcast double %17 to i64 + %19 = lshr i64 %18, 20 + %20 = or i64 %19, 4699506211161112576 + %21 = bitcast i64 %20 to double + %22 = fsub double 1.573890e+06, %21 + %23 = fsub double 1.000000e+00, %16 + %24 = fneg double %23 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %0, double noundef %24) #56 + %26 = fadd double %25, 0x4308000000000000 + %27 = fadd double %26, 0xC308000000000000 + %28 = fmul double %27, 7.500000e-01 + %29 = fsub double %28, %25 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %28, double noundef %29) #56 + %31 = fneg double %30 + %32 = fsub double 1.000000e+00, %28 + %33 = fmul double %25, %32 + %34 = fneg double %33 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %32, double noundef %34) #56 + %36 = fmul double %30, %30 + %37 = fmul double %36, %36 + %38 = fmul double %28, %28 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x3FD2D69F78622232, double noundef 0x3FC8C588CE05A097) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x3FC2896FF3F66BBD, double noundef 0x3FD013265A806008) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %39, double noundef 0x3FD55613246DD7CF) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %40, double noundef 0x3FDFFFDC599639E8) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %41, double noundef %42) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0xBFBABC3280883F85, double noundef 0xBFC00011B12EC07F) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x3FB7569B705CCF22, double noundef 0x3FC2492404508EB2) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0xBFB98321C986C73F, double noundef 0xBFC5555548C81DA2) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x3FBC725277FD96BE, double noundef 0x3FC9999999F242C7) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %44, double noundef 0xBFD000000001DD61) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %45, double noundef 0x3FD5555555554D65) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %46, double noundef 0xBFDFFFFFFFFFFFD9) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %48, double noundef %50) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %47, double noundef %49) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %52, double noundef %51) #56 + %54 = fmul double %22, 0x3FE62E42FEFA4000 + %55 = fmul double %22, 0xBD48432A1B0E2000 + %56 = fadd double %54, %33 + %57 = fsub double %56, %54 + %58 = fsub double %33, %57 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %36, double noundef %55) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %38, double noundef %35) #56 + %61 = fadd double %59, %60 + %62 = fadd double %58, %61 + %63 = fadd double %56, %62 + %64 = fcmp uge double %0, 0xBFEFFFFFFFFFFFFF + %65 = fcmp ole double %0, 0x7FEFFFFFFFFFFFFF + %66 = and i1 %64, %65 + br i1 %66, label %70, label %67, !prof !1189 + +67: ; preds = %1 + %68 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store double %63, ptr %2, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_131__devicelib_imf_internal_dlog1pEPKdPd(double %0, ptr addrspace(4) noundef %68) #55 + %69 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %70 + +70: ; preds = %67, %1 + %71 = phi double [ %69, %67 ], [ %63, %1 ] + ret double %71 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_131__devicelib_imf_internal_dlog1pEPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1465 !sycl_kernel_omit_args !1186 { + %3 = fadd double %0, 1.000000e+00 + %4 = bitcast double %3 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = lshr i32 %6, 20 + %8 = and i32 %7, 2047 + switch i32 %8, label %11 [ + i32 2047, label %82 + i32 0, label %9 + ] + +9: ; preds = %2 + %10 = fmul double %3, 0x43B0000000000000 + br label %11 + +11: ; preds = %9, %2 + %12 = phi i32 [ -60, %9 ], [ 0, %2 ] + %13 = phi double [ %10, %9 ], [ %3, %2 ] + %14 = fcmp ogt double %13, 0.000000e+00 + br i1 %14, label %15, label %78 + +15: ; preds = %11 + %16 = fadd double %13, -1.000000e+00 + %17 = tail call double @llvm.fabs.f64(double %16) + %18 = fcmp ogt double %17, 0x3F84000000000000 + br i1 %18, label %19, label %68 + +19: ; preds = %15 + %20 = bitcast double %13 to i64 + %21 = lshr i64 %20, 52 + %22 = trunc i64 %21 to i32 + %23 = and i32 %22, 2047 + %24 = add nsw i32 %23, -1023 + %25 = add nsw i32 %12, %24 + %26 = sitofp i32 %25 to double + %27 = fmul double %26, 0x3FE62E42FEFA3800 + %28 = fmul double %26, 0x3D2EF35793C76730 + %29 = and i64 %20, -9218868437227405313 + %30 = or i64 %29, 4607182418800017408 + %31 = bitcast i64 %30 to double + %32 = fadd double %31, 0x42D0000000000040 + %33 = bitcast double %32 to i64 + %34 = trunc i64 %33 to i32 + %35 = and i32 %34, 127 + %36 = mul nuw nsw i32 %35, 3 + %37 = zext nneg i32 %36 to i64 + %38 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_119__dlog1p_ha_CoutTabE, i64 %37 + %39 = load double, ptr addrspace(1) %38, align 8, !tbaa !760 + %40 = add nuw nsw i32 %36, 1 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_119__dlog1p_ha_CoutTabE, i64 %41 + %43 = load double, ptr addrspace(1) %42, align 8, !tbaa !760 + %44 = add nuw nsw i32 %36, 2 + %45 = zext nneg i32 %44 to i64 + %46 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_log1p_d_ha12_GLOBAL__N_119__dlog1p_ha_CoutTabE, i64 %45 + %47 = load double, ptr addrspace(1) %46, align 8, !tbaa !760 + %48 = fadd double %27, %43 + %49 = fadd double %28, %47 + %50 = fadd double %31, 0x4140000000000000 + %51 = fadd double %50, 0xC140000000000000 + %52 = fsub double %31, %51 + %53 = tail call double @llvm.fmuladd.f64(double %39, double %51, double -1.000000e+00) + %54 = fmul double %39, %52 + %55 = fadd double %53, %54 + %56 = tail call double @llvm.fmuladd.f64(double %55, double 0xBFC000B405A2836D, double 0x3FC249C02481059D) + %57 = tail call double @llvm.fmuladd.f64(double %56, double %55, double 0xBFC555555228B38F) + %58 = tail call double @llvm.fmuladd.f64(double %57, double %55, double 0x3FC9999997B36C81) + %59 = tail call double @llvm.fmuladd.f64(double %58, double %55, double 0xBFD0000000000262) + %60 = tail call double @llvm.fmuladd.f64(double %59, double %55, double 0x3FD5555555555613) + %61 = tail call double @llvm.fmuladd.f64(double %60, double %55, double -5.000000e-01) + %62 = fmul double %61, %55 + %63 = fmul double %62, %55 + %64 = fadd double %48, %53 + %65 = fadd double %49, %54 + %66 = fadd double %65, %63 + %67 = fadd double %64, %66 + store double %67, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +68: ; preds = %15 + %69 = tail call double @llvm.fmuladd.f64(double %16, double 0xBFC000B405A2836D, double 0x3FC249C02481059D) + %70 = tail call double @llvm.fmuladd.f64(double %69, double %16, double 0xBFC555555228B38F) + %71 = tail call double @llvm.fmuladd.f64(double %70, double %16, double 0x3FC9999997B36C81) + %72 = tail call double @llvm.fmuladd.f64(double %71, double %16, double 0xBFD0000000000262) + %73 = tail call double @llvm.fmuladd.f64(double %72, double %16, double 0x3FD5555555555613) + %74 = tail call double @llvm.fmuladd.f64(double %73, double %16, double -5.000000e-01) + %75 = fmul double %74, %16 + %76 = fmul double %75, %16 + %77 = fadd double %76, %16 + store double %77, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +78: ; preds = %11 + %79 = fcmp oeq double %13, 0.000000e+00 + br i1 %79, label %80, label %81 + +80: ; preds = %78 + store double 0xFFF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +81: ; preds = %78 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +82: ; preds = %2 + %83 = icmp slt i64 %4, 0 + %84 = and i32 %6, 1048575 + %85 = trunc i64 %4 to i32 + %86 = or i32 %84, %85 + %87 = icmp eq i32 %86, 0 + %88 = and i1 %83, %87 + br i1 %88, label %89, label %90 + +89: ; preds = %82 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +90: ; preds = %82 + %91 = fmul double %3, %3 + store double %91, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %92 + +92: ; preds = %90, %89, %81, %80, %68, %19 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_log2(double noundef %0) local_unnamed_addr #43 !srcloc !1466 { + %2 = alloca double, align 8 + %3 = bitcast double %0 to i64 + %4 = and i64 %3, 4503599627370495 + %5 = or i64 %4, 4566650022153682944 + %6 = bitcast i64 %5 to double + %7 = fptrunc double %6 to float + %8 = fdiv float 1.000000e+00, %7 + %9 = fpext float %8 to double + %10 = lshr i64 %3, 52 + %11 = trunc i64 %10 to i32 + %12 = fcmp uge double %0, 0x10000000000000 + %13 = fcmp ole double %0, 0x7FEFFFFFFFFFFFFF + %14 = fmul double %9, 0x3FF7100000000000 + %15 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %14) #56 + %16 = sitofp i32 %11 to double + %17 = and i1 %12, %13 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %15, double noundef 0xBFF7100000000000) #56 + %19 = bitcast double %15 to i64 + %20 = lshr i64 %19, 42 + %21 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dlog2_dataE, i64 -8449568), i64 %20 + %22 = load double, ptr addrspace(1) %21, align 8, !tbaa !719 + %23 = getelementptr double, ptr addrspace(1) %21, i64 1 + %24 = load double, ptr addrspace(1) %23, align 8, !tbaa !719 + %25 = fadd double %22, %16 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF9B743CA0B38EEB, double noundef %18, double noundef 0x3FA7BE52039FB7CE) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFB563D0FCE18810, double noundef %18, double noundef 0x3FC48DEAD300E7BF) #56 + %28 = fmul double %18, %18 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFD6386B9B9B5D42, double noundef %18, double noundef 0x3F4D4C6D2BC5AEA6) #56 + %30 = fadd double %25, %18 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %28, double noundef %27) #56 + %32 = fsub double %30, %25 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %28, double noundef %29) #56 + %34 = fmul double %33, %18 + %35 = fsub double %18, %32 + %36 = fadd double %24, %35 + %37 = fadd double %36, %34 + %38 = fadd double %37, %30 + br i1 %17, label %42, label %39, !prof !1189 + +39: ; preds = %1 + %40 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store double %38, ptr %2, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dlog2EPKdPd(double %0, ptr addrspace(4) noundef %40) #55 + %41 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %42 + +42: ; preds = %39, %1 + %43 = phi double [ %41, %39 ], [ %38, %1 ] + ret double %43 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dlog2EPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1467 !sycl_kernel_omit_args !1186 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = icmp ult i32 %5, 2146435072 + br i1 %6, label %7, label %148 + +7: ; preds = %2 + %8 = add nsw i32 %5, -1072660480 + %9 = icmp ult i32 %8, 53248 + br i1 %9, label %10, label %85 + +10: ; preds = %7 + %11 = add nsw i32 %5, -1072693232 + %12 = icmp ult i32 %11, 24 + br i1 %12, label %13, label %43 + +13: ; preds = %10 + %14 = trunc i64 %3 to i32 + %15 = tail call i32 @llvm.fshl.i32(i32 %5, i32 %14, i32 11) + %16 = add i32 %15, -2147483646 + %17 = icmp ult i32 %16, 3 + br i1 %17, label %18, label %29 + +18: ; preds = %13 + %19 = add nsw i32 %5, -1072693248 + %20 = or i32 %19, %14 + %21 = icmp eq i32 %20, 0 + br i1 %21, label %22, label %23 + +22: ; preds = %18 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +23: ; preds = %18 + %24 = fadd double %0, -1.000000e+00 + %25 = tail call double @llvm.fmuladd.f64(double %24, double 0x3FDEC709DC3A03FD, double 0xBFE71547652B82FE) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %24, double 0x3E994AE0BF85DDF4) + %27 = fmul double %24, 0x3FF7154700000000 + %28 = tail call double @llvm.fmuladd.f64(double %26, double %24, double %27) + store double %28, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +29: ; preds = %13 + %30 = fadd double %0, -1.000000e+00 + %31 = fmul double %30, %30 + %32 = tail call double @llvm.fmuladd.f64(double %31, double 0xBFD7154765323FFE, double 0xBFE71547652B82FE) + %33 = tail call double @llvm.fmuladd.f64(double %31, double 0x3FDEC709DC3FC94F, double 0x3E994AE0BF85DDEE) + %34 = fmul double %33, %30 + %35 = tail call double @llvm.fmuladd.f64(double %32, double %31, double %34) + %36 = bitcast double %30 to i64 + %37 = and i64 %36, -4294967296 + %38 = bitcast i64 %37 to double + %39 = fsub double %30, %38 + %40 = tail call double @llvm.fmuladd.f64(double %39, double 0x3FF7154700000000, double %35) + %41 = fmul double %38, 0x3FF7154700000000 + %42 = fadd double %41, %40 + store double %42, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +43: ; preds = %10 + %44 = fadd double %0, -1.000000e+00 + %45 = fmul double %44, %44 + %46 = tail call double @llvm.fmuladd.f64(double %45, double 0xBFC227E173413B57, double 0xBFC7155343F9EBF8) + %47 = tail call double @llvm.fmuladd.f64(double %46, double %45, double 0xBFCEC709DBA4BEDB) + %48 = tail call double @llvm.fmuladd.f64(double %47, double %45, double 0xBFD71547652B8457) + %49 = tail call double @llvm.fmuladd.f64(double %45, double 0x3FC487489B5898B9, double 0x3FCA617605C58A46) + %50 = tail call double @llvm.fmuladd.f64(double %49, double %45, double 0x3FD2776C50F00ABA) + %51 = tail call double @llvm.fmuladd.f64(double %50, double %45, double 0x3FDEC709DC3A03FC) + %52 = fmul double %51, %44 + %53 = tail call double @llvm.fmuladd.f64(double %48, double %45, double %52) + %54 = fmul double %44, 0x41F0000000100000 + %55 = fmul double %44, 0x41F0000000000000 + %56 = fsub double %54, %55 + %57 = fsub double %44, %56 + %58 = fmul double %53, 0x41F0000000100000 + %59 = fmul double %53, 0x41F0000000000000 + %60 = fsub double %58, %59 + %61 = fsub double %53, %60 + %62 = fadd double %60, 0xBFE7154700000000 + %63 = fadd double %61, 0xBE894AE0BF85A8B6 + %64 = fmul double %63, %44 + %65 = tail call double @llvm.fmuladd.f64(double %62, double %57, double %64) + %66 = fmul double %62, %56 + %67 = fadd double %66, %65 + %68 = fmul double %67, 0x41F0000000100000 + %69 = fneg double %67 + %70 = tail call double @llvm.fmuladd.f64(double %69, double 0x41F0000000000000, double %68) + %71 = fsub double %66, %70 + %72 = fadd double %65, %71 + %73 = fadd double %70, 0x3FF7154700000000 + %74 = fadd double %72, 0x3E994AE0BF85DDFA + %75 = fadd double %73, %74 + %76 = fmul double %75, 0x41F0000000100000 + %77 = fneg double %75 + %78 = tail call double @llvm.fmuladd.f64(double %77, double 0x41F0000000000000, double %76) + %79 = fsub double %73, %78 + %80 = fadd double %74, %79 + %81 = fmul double %80, %44 + %82 = tail call double @llvm.fmuladd.f64(double %78, double %57, double %81) + %83 = fmul double %78, %56 + %84 = fadd double %83, %82 + store double %84, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +85: ; preds = %7 + %86 = lshr i32 %5, 20 + %87 = add nsw i32 %86, -1023 + %88 = and i64 %3, 4503599627370495 + %89 = bitcast i64 %88 to double + %90 = icmp ult i32 %5, 1048576 + br i1 %90, label %91, label %103 + +91: ; preds = %85 + %92 = or i64 %4, %3 + %93 = trunc i64 %92 to i32 + %94 = icmp eq i32 %93, 0 + br i1 %94, label %95, label %96 + +95: ; preds = %91 + store double 0xFFF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +96: ; preds = %91 + %97 = fmul double %89, 0x4360000000000000 + %98 = bitcast double %97 to i64 + %99 = lshr i64 %98, 32 + %100 = trunc i64 %99 to i32 + %101 = lshr i32 %100, 20 + %102 = add nsw i32 %101, -1078 + br label %103 + +103: ; preds = %96, %85 + %104 = phi i64 [ %98, %96 ], [ %88, %85 ] + %105 = phi i32 [ %100, %96 ], [ %5, %85 ] + %106 = phi i32 [ %102, %96 ], [ %87, %85 ] + %107 = lshr i32 %105, 12 + %108 = and i32 %107, 255 + %109 = and i64 %104, -4607182423094984704 + %110 = or i64 %109, 4607182418800017408 + %111 = and i64 %104, 4294967295 + %112 = or i64 %111, %110 + %113 = bitcast i64 %112 to double + %114 = zext nneg i32 %108 to i64 + %115 = getelementptr inbounds [256 x float], ptr addrspace(1) @_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_131__dlog2_ha___libm_rcp_table_256E, i64 0, i64 %114 + %116 = load float, ptr addrspace(1) %115, align 4, !tbaa !731 + %117 = fpext float %116 to double + %118 = bitcast i64 %110 to double + %119 = fsub double %113, %118 + %120 = fmul double %118, %117 + %121 = fmul double %119, %117 + %122 = fadd double %120, -1.000000e+00 + %123 = fadd double %122, %121 + %124 = fmul double %123, %123 + %125 = shl nuw nsw i32 %108, 1 + %126 = zext nneg i32 %125 to i64 + %127 = getelementptr inbounds [512 x double], ptr addrspace(1) @_ZN20__imf_impl_log2_d_ha12_GLOBAL__N_132__dlog2_ha___libm_log2_table_256E, i64 0, i64 %126 + %128 = tail call double @llvm.fmuladd.f64(double %124, double 0xBFCEC718810D0357, double 0xBFD71547652A21F9) + %129 = tail call double @llvm.fmuladd.f64(double %128, double %124, double 0xBFE71547652B82FE) + %130 = tail call double @llvm.fmuladd.f64(double %124, double 0x3FD27772978FF6BC, double 0x3FDEC709DC3944E3) + %131 = tail call double @llvm.fmuladd.f64(double %130, double %124, double 0x3E994AE0BF8613D6) + %132 = fmul double %131, %123 + %133 = tail call double @llvm.fmuladd.f64(double %129, double %124, double %132) + %134 = tail call double @llvm.fmuladd.f64(double %121, double 0x3FF7154700000000, double %133) + %135 = fmul double %122, 0x3FF7154700000000 + %136 = fadd double %135, 0x41F0000000000000 + %137 = fadd double %136, 0xC1F0000000000000 + %138 = fsub double %135, %137 + %139 = fadd double %134, %138 + %140 = load double, ptr addrspace(1) %127, align 8, !tbaa !760 + %141 = fadd double %139, %140 + %142 = getelementptr inbounds double, ptr addrspace(1) %127, i64 1 + %143 = load double, ptr addrspace(1) %142, align 8, !tbaa !760 + %144 = sitofp i32 %106 to double + %145 = fadd double %143, %144 + %146 = fadd double %137, %145 + %147 = fadd double %146, %141 + store double %147, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +148: ; preds = %2 + %149 = and i32 %5, 2147483647 + %150 = icmp ugt i32 %149, 2146435072 + br i1 %150, label %156, label %151 + +151: ; preds = %148 + %152 = icmp ne i32 %149, 2146435072 + %153 = trunc i64 %3 to i32 + %154 = icmp eq i32 %153, 0 + %155 = or i1 %152, %154 + br i1 %155, label %157, label %156 + +156: ; preds = %151, %148 + store double %0, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +157: ; preds = %151 + %158 = icmp sgt i64 %3, -1 + br i1 %158, label %164, label %159 + +159: ; preds = %157 + %160 = or i32 %149, %153 + %161 = icmp eq i32 %160, 0 + br i1 %161, label %162, label %163 + +162: ; preds = %159 + store double 0xFFF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +163: ; preds = %159 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +164: ; preds = %157 + store double %0, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %165 + +165: ; preds = %164, %163, %162, %156, %103, %95, %43, %29, %23, %22 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_logb(double noundef %0) local_unnamed_addr #44 !srcloc !1468 { + %2 = bitcast double %0 to i64 + %3 = lshr i64 %2, 32 + %4 = trunc i64 %3 to i32 + %5 = and i32 %4, 2146435072 + %6 = lshr exact i32 %5, 20 + %7 = add nsw i32 %6, -1023 + %8 = sitofp i32 %7 to double + switch i32 %5, label %32 [ + i32 2146435072, label %9 + i32 0, label %9 + ] + +9: ; preds = %1, %1 + %10 = tail call double @llvm.fabs.f64(double %0) + %11 = bitcast double %10 to i64 + %12 = icmp eq i64 %11, 0 + br i1 %12, label %32, label %13 + +13: ; preds = %9 + %14 = lshr i32 %4, 20 + %15 = and i32 %14, 2047 + %16 = icmp eq i32 %15, 2047 + br i1 %16, label %32, label %17 + +17: ; preds = %13 + %18 = and i32 %4, 1048575 + %19 = trunc i64 %2 to i32 + %20 = or i32 %18, %19 + %21 = icmp ne i32 %20, 0 + %22 = icmp eq i32 %15, 0 + %23 = and i1 %21, %22 + br i1 %23, label %24, label %32 + +24: ; preds = %17 + %25 = fmul double %0, 0x4360000000000000 + %26 = bitcast double %25 to i64 + %27 = lshr i64 %26, 52 + %28 = trunc i64 %27 to i32 + %29 = and i32 %28, 2047 + %30 = add nsw i32 %29, -1078 + %31 = sitofp i32 %30 to double + br label %32 + +32: ; preds = %24, %17, %13, %9, %1 + %33 = phi double [ %8, %1 ], [ %31, %24 ], [ %8, %17 ], [ 0xFFF0000000000000, %9 ], [ %10, %13 ] + ret double %33 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_pow(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1469 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 52 + %5 = trunc i64 %4 to i32 + %6 = uitofp i32 %5 to double + %7 = and i64 %3, 4503599627370495 + %8 = or i64 %7, 4593671619917905920 + %9 = bitcast i64 %8 to double + %10 = fptrunc double %9 to float + %11 = fdiv float 1.000000e+00, %10 + %12 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %11) #56 + %13 = bitcast float %12 to i32 + %14 = fpext float %12 to double + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %9, double noundef -1.000000e+00) #56 + %16 = lshr i32 %13, 21 + %17 = and i32 %16, 7 + %18 = xor i32 %17, 4 + %19 = and i32 %13, 2097152 + %20 = icmp eq i32 %19, 0 + %21 = select i1 %20, i64 -4573929700241786140, i64 -4573927737450351475 + %22 = select i1 %20, i64 -4769624413119347636, i64 -4769613273380987797 + %23 = select i1 %20, i64 -4573923603254707854, i64 -4573924777809258764 + %24 = select i1 %20, i64 -4769615905495550426, i64 -4769620835550958876 + %25 = icmp ult i32 %18, 2 + %26 = select i1 %25, i64 %21, i64 -4573926133732977961 + %27 = select i1 %25, i64 %22, i64 -4769623760730153159 + %28 = icmp ugt i32 %18, 2 + %29 = select i1 %28, i64 %23, i64 %26 + %30 = select i1 %28, i64 %24, i64 %27 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFC0EB775ED0D53F, double noundef %15, double noundef 0x3FC1EA5C772D0F69) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %15, double noundef 0xBFC243278B687C88) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %15, double noundef 0x3FC3AC83F2E91ADF) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %15, double noundef 0xBFC55569367812BF) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %15, double noundef 0x3FC745DE6106C97E) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %15, double noundef 0xBFC99999760C1F82) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %15, double noundef 0x3FCC71C70A4BB945) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %15, double noundef 0xBFD00000001076DA) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %15, double noundef 0x3FD24924924F345D) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %15, double noundef 0xBFD5555555554E88) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %15, double noundef 0x3FD9999999999815) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %15, double noundef -5.000000e-01) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %15, double noundef 0x3C8751507E77D245) #56 + %44 = fmul double %15, 5.000000e-01 + %45 = fneg double %15 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %44, double noundef %15) #56 + %47 = fsub double %15, %46 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %44, double noundef %47) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FE5555555555555, double noundef %15, double noundef 0.000000e+00) #56 + %50 = fneg double %49 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FE5555555555555, double noundef %15, double noundef %50) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %15, double noundef %51) #56 + %53 = fneg double %48 + %54 = bitcast i64 %30 to double + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %52, double noundef %54) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x3D2EF35793C76800, double noundef %55) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %49, double noundef %47, double noundef %46) #56 + %58 = fsub double %57, %46 + %59 = fneg double %58 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %49, double noundef %47, double noundef %59) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %48, double noundef %60) #56 + %62 = fadd double %48, %61 + %63 = bitcast i64 %29 to double + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x3FE62E42FEFA3800, double noundef %63) #56 + %65 = fadd double %64, %57 + %66 = fsub double %65, %64 + %67 = fsub double %57, %66 + %68 = fadd double %62, %67 + %69 = fadd double %56, %68 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %52, double noundef %69) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1, double noundef %65, double noundef 0.000000e+00) #56 + %72 = fneg double %71 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1, double noundef %65, double noundef %72) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1, double noundef %70, double noundef %73) #56 + %75 = fadd double %71, %74 + %76 = fsub double %75, %71 + %77 = fsub double %74, %76 + %78 = add nsw i32 %5, -2047 + %79 = icmp ult i32 %78, -2046 + br i1 %79, label %84, label %80 + +80: ; preds = %2 + %81 = bitcast double %75 to i64 + %82 = and i64 %81, 9223372032559808512 + %83 = icmp ugt i64 %82, 4649442328602214400 + br i1 %83, label %84, label %454 + +84: ; preds = %80, %2 + %85 = lshr i64 %3, 32 + %86 = trunc i64 %85 to i32 + %87 = lshr i32 %86, 20 + %88 = and i32 %87, 2047 + %89 = bitcast double %1 to i64 + %90 = lshr i64 %89, 32 + %91 = trunc i64 %90 to i32 + %92 = lshr i32 %91, 20 + %93 = and i32 %92, 2047 + %94 = lshr i32 %86, 31 + %95 = and i32 %86, 1048575 + %96 = trunc i64 %3 to i32 + %97 = or i32 %95, %96 + %98 = icmp eq i32 %97, 0 + %99 = and i32 %91, 1048575 + %100 = trunc i64 %89 to i32 + %101 = or i32 %99, %100 + %102 = icmp eq i32 %101, 0 + %103 = shl nuw nsw i32 %93, 20 + %104 = or i32 %103, %99 + %105 = icmp ne i32 %93, 2047 + %106 = or i32 %104, %100 + %107 = icmp eq i32 %106, 0 + br i1 %107, label %134, label %108 + +108: ; preds = %84 + %109 = add nsw i32 %93, -1023 + %110 = icmp ugt i32 %93, 1022 + %111 = and i1 %110, %105 + br i1 %111, label %112, label %134 + +112: ; preds = %108 + %113 = icmp ult i32 %93, 1044 + br i1 %113, label %114, label %124 + +114: ; preds = %112 + %115 = shl i32 %91, %109 + %116 = shl i32 %115, 12 + %117 = or i32 %116, %100 + %118 = icmp eq i32 %117, 0 + br i1 %118, label %119, label %134 + +119: ; preds = %114 + %120 = add nsw i32 %93, -1012 + %121 = shl i32 %104, %120 + %122 = icmp sgt i32 %121, -1 + %123 = select i1 %122, i32 2, i32 1 + br label %134 + +124: ; preds = %112 + %125 = icmp ult i32 %93, 1076 + br i1 %125, label %126, label %134 + +126: ; preds = %124 + %127 = add nsw i32 %93, -1044 + %128 = shl i32 %100, %127 + %129 = and i32 %128, 2147483647 + %130 = icmp eq i32 %129, 0 + br i1 %130, label %131, label %134 + +131: ; preds = %126 + %132 = icmp sgt i32 %128, -1 + %133 = select i1 %132, i32 2, i32 1 + br label %134 + +134: ; preds = %131, %126, %124, %119, %114, %108, %84 + %135 = phi i1 [ true, %114 ], [ false, %119 ], [ true, %126 ], [ false, %131 ], [ false, %124 ], [ true, %108 ], [ false, %84 ] + %136 = phi i1 [ false, %114 ], [ true, %119 ], [ false, %126 ], [ true, %131 ], [ true, %124 ], [ false, %108 ], [ true, %84 ] + %137 = phi i32 [ 0, %114 ], [ %123, %119 ], [ 0, %126 ], [ %133, %131 ], [ 2, %124 ], [ 0, %108 ], [ 2, %84 ] + %138 = icmp sgt i64 %3, -1 + %139 = icmp eq i32 %88, 1023 + %140 = and i1 %138, %139 + %141 = and i1 %140, %98 + %142 = or i32 %93, %101 + %143 = icmp eq i32 %142, 0 + %144 = or i1 %141, %143 + br i1 %144, label %447, label %145 + +145: ; preds = %134 + %146 = icmp ne i32 %88, 2047 + %147 = or i1 %146, %98 + %148 = or i1 %105, %102 + %149 = and i1 %147, %148 + br i1 %149, label %150, label %445 + +150: ; preds = %145 + %151 = fcmp une double %0, 0.000000e+00 + br i1 %151, label %152, label %428 + +152: ; preds = %150 + %153 = fcmp une double %0, -1.000000e+00 + %154 = and i1 %135, %105 + %155 = or i1 %153, %154 + br i1 %155, label %156, label %422 + +156: ; preds = %152 + %157 = and i1 %146, %105 + br i1 %157, label %158, label %398 + +158: ; preds = %156 + %159 = fcmp ogt double %0, 0.000000e+00 + %160 = or i1 %159, %136 + br i1 %160, label %161, label %488 + +161: ; preds = %158 + %162 = and i32 %94, %137 + %163 = add nuw nsw i32 %162, 853 + %164 = zext nneg i32 %163 to i64 + %165 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %164 + %166 = load double, ptr addrspace(1) %165, align 8, !tbaa !760 + %167 = tail call double @llvm.fabs.f64(double %0) + %168 = icmp eq i32 %88, 0 + %169 = fmul double %167, 0x4C70000000000000 + %170 = select i1 %168, i32 -200, i32 0 + %171 = select i1 %168, double %169, double %167 + %172 = bitcast double %171 to i64 + %173 = lshr i64 %172, 32 + %174 = trunc i64 %173 to i32 + %175 = and i64 %172, -9218868437227405313 + %176 = or i64 %175, 4607182418800017408 + %177 = bitcast i64 %176 to double + %178 = and i32 %174, 2147467264 + %179 = add nsw i32 %178, -1072152576 + %180 = ashr i32 %179, 20 + %181 = add nsw i32 %180, %170 + %182 = and i32 %174, 1032192 + %183 = add nuw nsw i32 %182, 16384 + %184 = lshr i32 %183, 15 + %185 = zext nneg i32 %184 to i64 + %186 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %185 + %187 = load double, ptr addrspace(1) %186, align 8, !tbaa !760 + %188 = shl nuw nsw i32 %184, 1 + %189 = add nuw nsw i32 %188, 33 + %190 = zext nneg i32 %189 to i64 + %191 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %190 + %192 = load double, ptr addrspace(1) %191, align 8, !tbaa !760 + %193 = add nuw nsw i32 %188, 34 + %194 = zext nneg i32 %193 to i64 + %195 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %194 + %196 = load double, ptr addrspace(1) %195, align 8, !tbaa !760 + %197 = fmul double %187, %177 + %198 = bitcast double %197 to i64 + %199 = lshr i64 %198, 32 + %200 = trunc i64 %199 to i32 + %201 = and i32 %200, 64512 + %202 = add nuw nsw i32 %201, 1024 + %203 = lshr i32 %202, 11 + %204 = add nuw nsw i32 %203, 99 + %205 = zext nneg i32 %204 to i64 + %206 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %205 + %207 = load double, ptr addrspace(1) %206, align 8, !tbaa !760 + %208 = shl nuw nsw i32 %203, 1 + %209 = add nuw nsw i32 %208, 132 + %210 = zext nneg i32 %209 to i64 + %211 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %210 + %212 = load double, ptr addrspace(1) %211, align 8, !tbaa !760 + %213 = add nuw nsw i32 %208, 133 + %214 = zext nneg i32 %213 to i64 + %215 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %214 + %216 = load double, ptr addrspace(1) %215, align 8, !tbaa !760 + %217 = fmul double %197, %207 + %218 = bitcast double %217 to i64 + %219 = lshr i64 %218, 32 + %220 = trunc i64 %219 to i32 + %221 = and i32 %220, 4080 + %222 = add nuw nsw i32 %221, 16 + %223 = lshr i32 %222, 5 + %224 = add nuw nsw i32 %223, 198 + %225 = zext nneg i32 %224 to i64 + %226 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %225 + %227 = load double, ptr addrspace(1) %226, align 8, !tbaa !760 + %228 = shl nuw nsw i32 %223, 1 + %229 = add nuw nsw i32 %228, 327 + %230 = zext nneg i32 %229 to i64 + %231 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %230 + %232 = load double, ptr addrspace(1) %231, align 8, !tbaa !760 + %233 = add nuw nsw i32 %228, 328 + %234 = zext nneg i32 %233 to i64 + %235 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %234 + %236 = load double, ptr addrspace(1) %235, align 8, !tbaa !760 + %237 = sitofp i32 %181 to double + %238 = fadd double %192, %237 + %239 = fadd double %238, %212 + %240 = fadd double %239, %232 + %241 = fadd double %216, %236 + %242 = fadd double %241, %196 + %243 = fmul double %217, %227 + %244 = fadd double %243, 0xBFF7154740000000 + %245 = fmul double %187, %207 + %246 = fmul double %245, %227 + %247 = fmul double %177, 0x41A0000002000000 + %248 = fsub double %247, %177 + %249 = fsub double %247, %248 + %250 = fsub double %177, %249 + %251 = fmul double %246, 0x41A0000002000000 + %252 = fsub double %251, %246 + %253 = fsub double %251, %252 + %254 = fsub double %246, %253 + %255 = fmul double %249, %253 + %256 = fsub double %255, %243 + %257 = fmul double %250, %253 + %258 = fadd double %256, %257 + %259 = fmul double %249, %254 + %260 = fadd double %258, %259 + %261 = fmul double %250, %254 + %262 = fadd double %260, %261 + %263 = fadd double %240, %244 + %264 = fsub double %240, %263 + %265 = fadd double %264, %244 + %266 = bitcast double %263 to i64 + %267 = lshr i64 %266, 32 + %268 = trunc i64 %267 to i32 + %269 = lshr i32 %268, 20 + %270 = and i32 %269, 2047 + %271 = add nuw nsw i32 %270, %93 + %272 = icmp ult i32 %271, 2057 + br i1 %272, label %273, label %389 + +273: ; preds = %161 + %274 = icmp ugt i32 %271, 1984 + br i1 %274, label %275, label %488 + +275: ; preds = %273 + %276 = fadd double %244, %262 + %277 = tail call double @llvm.fmuladd.f64(double %276, double 0xBFB550472A9012D8, double 0x3FC47FD462B6DEE1) + %278 = tail call double @llvm.fmuladd.f64(double %277, double %276, double 0xBFD62E4346694107) + %279 = tail call double @llvm.fmuladd.f64(double %278, double %276, double 0x3E79C3A6966457E8) + %280 = fmul double %279, %276 + %281 = fadd double %265, %262 + %282 = fadd double %242, %281 + %283 = fadd double %263, %280 + %284 = fsub double %263, %283 + %285 = fadd double %284, %280 + %286 = fadd double %283, %282 + %287 = fsub double %283, %286 + %288 = fadd double %287, %282 + %289 = fadd double %288, %285 + %290 = fmul double %286, 0x41A0000002000000 + %291 = fsub double %290, %286 + %292 = fsub double %290, %291 + %293 = fsub double %286, %292 + %294 = fmul double %1, 0x41A0000002000000 + %295 = fsub double %294, %1 + %296 = fsub double %294, %295 + %297 = fsub double %1, %296 + %298 = fmul double %296, %292 + %299 = fmul double %297, %293 + %300 = tail call double @llvm.fmuladd.f64(double %296, double %293, double %299) + %301 = tail call double @llvm.fmuladd.f64(double %297, double %292, double %300) + %302 = fmul double %289, %1 + %303 = fadd double %298, 0x42C8000000000000 + %304 = bitcast double %303 to i64 + %305 = trunc i64 %304 to i32 + %306 = ashr i32 %305, 7 + %307 = fadd double %303, 0xC2C8000000000000 + %308 = fsub double %298, %307 + %309 = fadd double %302, %301 + %310 = fadd double %309, %308 + %311 = tail call double @llvm.fmuladd.f64(double %310, double 0x3F55D87FE78A6731, double 0x3F83B2AB6FBA4E77) + %312 = tail call double @llvm.fmuladd.f64(double %311, double %310, double 0x3FAC6B08D704A0C0) + %313 = tail call double @llvm.fmuladd.f64(double %312, double %310, double 0x3FCEBFBDFF82C58F) + %314 = tail call double @llvm.fmuladd.f64(double %313, double %310, double 0x3FE62E42FEFA39EF) + %315 = fmul double %314, %310 + %316 = shl i32 %305, 1 + %317 = and i32 %316, 254 + %318 = add nuw nsw i32 %317, 585 + %319 = zext nneg i32 %318 to i64 + %320 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %319 + %321 = load double, ptr addrspace(1) %320, align 8, !tbaa !760 + %322 = fmul double %315, %321 + %323 = add nuw nsw i32 %317, 586 + %324 = zext nneg i32 %323 to i64 + %325 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %324 + %326 = load double, ptr addrspace(1) %325, align 8, !tbaa !760 + %327 = fadd double %322, %326 + %328 = fadd double %321, %327 + %329 = bitcast double %328 to i64 + %330 = lshr i64 %329, 32 + %331 = trunc i64 %330 to i32 + %332 = lshr i32 %331, 20 + %333 = and i32 %332, 2047 + %334 = add nsw i32 %333, -1023 + %335 = add nsw i32 %334, %306 + %336 = icmp slt i32 %335, 1024 + br i1 %336, label %337, label %387 + +337: ; preds = %275 + %338 = icmp sgt i32 %335, -1023 + br i1 %338, label %339, label %351 + +339: ; preds = %337 + %340 = add nsw i32 %332, %306 + %341 = shl i32 %340, 20 + %342 = and i32 %341, 2146435072 + %343 = and i32 %331, -2146435073 + %344 = or i32 %343, %342 + %345 = zext i32 %344 to i64 + %346 = shl nuw i64 %345, 32 + %347 = and i64 %329, 4294967295 + %348 = or i64 %347, %346 + %349 = bitcast i64 %348 to double + %350 = fmul double %166, %349 + br label %488 + +351: ; preds = %337 + %352 = icmp ugt i32 %335, -1033 + br i1 %352, label %353, label %373 + +353: ; preds = %351 + %354 = fsub double %321, %328 + %355 = fadd double %354, %327 + %356 = fmul double %328, 0x41A0000002000000 + %357 = fsub double %356, %328 + %358 = fsub double %356, %357 + %359 = fsub double %328, %358 + %360 = fadd double %355, %359 + %361 = fmul double %166, 0x3370000000000000 + %362 = shl i32 %306, 20 + %363 = add i32 %362, 1282408448 + %364 = and i32 %363, 2146435072 + %365 = zext nneg i32 %364 to i64 + %366 = shl nuw nsw i64 %365, 32 + %367 = bitcast i64 %366 to double + %368 = fmul double %358, %367 + %369 = fmul double %360, %367 + %370 = fadd double %368, %369 + %371 = fmul double %370, %361 + %372 = fadd double %371, 0.000000e+00 + br label %488 + +373: ; preds = %351 + %374 = icmp ugt i32 %335, -1085 + br i1 %374, label %375, label %385 + +375: ; preds = %373 + %376 = fmul double %166, 0x3370000000000000 + %377 = shl i32 %306, 20 + %378 = add i32 %377, 1282408448 + %379 = and i32 %378, 2146435072 + %380 = zext nneg i32 %379 to i64 + %381 = shl nuw nsw i64 %380, 32 + %382 = bitcast i64 %381 to double + %383 = fmul double %328, %382 + %384 = fmul double %383, %376 + br label %488 + +385: ; preds = %373 + %386 = fmul double %166, 0.000000e+00 + br label %488 + +387: ; preds = %275 + %388 = fmul double %166, 0x7FF0000000000000 + br label %488 + +389: ; preds = %161 + %390 = xor i32 %91, %268 + %391 = lshr i32 %390, 31 + %392 = or i32 %391, 850 + %393 = zext nneg i32 %392 to i64 + %394 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %393 + %395 = load double, ptr addrspace(1) %394, align 8, !tbaa !760 + %396 = fmul double %395, %395 + %397 = fmul double %396, %166 + br label %488 + +398: ; preds = %156 + %399 = icmp ult i32 %88, 1023 + br i1 %399, label %400, label %404 + +400: ; preds = %398 + %401 = icmp sgt i64 %89, -1 + %402 = fmul double %1, %1 + %403 = select i1 %401, double 0.000000e+00, double %402 + br label %488 + +404: ; preds = %398 + %405 = icmp sgt i64 %89, -1 + br i1 %405, label %413, label %406 + +406: ; preds = %404 + %407 = and i32 %137, %94 + %408 = add nuw nsw i32 %407, 853 + %409 = zext nneg i32 %408 to i64 + %410 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %409 + %411 = load double, ptr addrspace(1) %410, align 8, !tbaa !760 + %412 = fmul double %411, 0.000000e+00 + br label %488 + +413: ; preds = %404 + %414 = fmul double %0, %0 + %415 = fmul double %414, %1 + %416 = and i32 %137, %94 + %417 = add nuw nsw i32 %416, 853 + %418 = zext nneg i32 %417 to i64 + %419 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %418 + %420 = load double, ptr addrspace(1) %419, align 8, !tbaa !760 + %421 = fmul double %415, %420 + br label %488 + +422: ; preds = %152 + %423 = and i32 %137, 1 + %424 = add nuw nsw i32 %423, 853 + %425 = zext nneg i32 %424 to i64 + %426 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %425 + %427 = load double, ptr addrspace(1) %426, align 8, !tbaa !760 + br label %488 + +428: ; preds = %150 + %429 = fmul double %0, %0 + %430 = icmp sgt i64 %89, -1 + br i1 %430, label %438, label %431 + +431: ; preds = %428 + %432 = and i32 %137, %94 + %433 = add nuw nsw i32 %432, 853 + %434 = zext nneg i32 %433 to i64 + %435 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %434 + %436 = load double, ptr addrspace(1) %435, align 8, !tbaa !760 + %437 = fdiv double %436, %429 + br label %488 + +438: ; preds = %428 + %439 = and i32 %137, %94 + %440 = add nuw nsw i32 %439, 853 + %441 = zext nneg i32 %440 to i64 + %442 = getelementptr inbounds double, ptr addrspace(1) @_ZN19__imf_impl_pow_d_la12_GLOBAL__N_117__dpow_la_CoutTabE, i64 %441 + %443 = load double, ptr addrspace(1) %442, align 8, !tbaa !760 + %444 = fmul double %443, %429 + br label %488 + +445: ; preds = %145 + %446 = fadd double %0, %1 + br label %488 + +447: ; preds = %134 + %448 = fadd double %0, %1 + %449 = bitcast double %448 to i64 + %450 = and i64 %449, -9223372036854775808 + %451 = or i64 %450, 4607182418800017408 + %452 = bitcast i64 %451 to double + %453 = fmul double %452, %452 + br label %488 + +454: ; preds = %80 + %455 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %75, double noundef 0x3FF71547652B82FE, double noundef 0x43280000000007FE) #56 + %456 = fadd double %455, 0xC3280000000007FE + %457 = bitcast double %455 to i64 + %458 = trunc i64 %457 to i32 + %459 = shl i32 %458, 19 + %460 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFE62E42FEFA39EF, double noundef %456, double noundef %75) #56 + %461 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBC7ABC9E3B39803F, double noundef %456, double noundef %460) #56 + %462 = fadd double %461, %77 + %463 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EC722BCCC270959, double noundef %462, double noundef 0x3EFA072E44B58159) #56 + %464 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %463, double noundef %462, double noundef 0x3F2A019F7560FBA3) #56 + %465 = and i32 %458, 1 + %466 = sub nsw i32 0, %465 + %467 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %464, double noundef %462, double noundef 0x3F56C16B8144BD5B) #56 + %468 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %467, double noundef %462, double noundef 0x3F811111111AC486) #56 + %469 = and i32 %466, 958622 + %470 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %468, double noundef %462, double noundef 0x3FA55555556228CE) #56 + %471 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %470, double noundef %462, double noundef 0x3FC5555555555462) #56 + %472 = xor i32 %459, %469 + %473 = zext i32 %472 to i64 + %474 = shl nuw i64 %473, 32 + %475 = and i32 %466, 1719614413 + %476 = zext nneg i32 %475 to i64 + %477 = or i64 %474, %476 + %478 = bitcast i64 %477 to double + %479 = and i32 %466, -2132704597 + %480 = xor i32 %479, 1013862853 + %481 = zext i32 %480 to i64 + %482 = shl nuw i64 %481, 32 + %483 = bitcast i64 %482 to double + %484 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %471, double noundef %462, double noundef 0x3FDFFFFFFFFFFE76) #56 + %485 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %484, double noundef %462, double noundef 1.000000e+00) #56 + %486 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %485, double noundef %462, double noundef %483) #56 + %487 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %478, double noundef %486, double noundef %478) #56 + br label %488 + +488: ; preds = %454, %447, %445, %438, %431, %422, %413, %406, %400, %389, %387, %385, %375, %353, %339, %273, %158 + %489 = phi double [ %487, %454 ], [ %453, %447 ], [ %350, %339 ], [ %372, %353 ], [ %384, %375 ], [ %386, %385 ], [ %388, %387 ], [ %397, %389 ], [ %412, %406 ], [ %421, %413 ], [ %427, %422 ], [ %437, %431 ], [ %444, %438 ], [ %446, %445 ], [ %166, %273 ], [ 0x7FF8000000000000, %158 ], [ %403, %400 ] + ret double %489 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_erfinv(double noundef %0) local_unnamed_addr #43 !srcloc !1470 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = fcmp uge double %5, 1.000000e+00 + %7 = fcmp olt double %5, 0x3DC0000000000000 + %8 = fcmp une double %0, 0.000000e+00 + %9 = or i1 %6, %7 + %10 = select i1 %9, double 0x3DC0000000000000, double %5 + %11 = and i1 %9, %8 + %12 = fcmp oge double %10, 5.000000e-01 + %13 = fsub double 1.000000e+00, %10 + %14 = select i1 %12, double %13, double %10 + %15 = bitcast double %14 to i64 + %16 = and i64 %15, 9223301668110598144 + %17 = and i64 %15, -9223301668110598145 + %18 = bitcast i64 %17 to double + %19 = fcmp une double %18, 0.000000e+00 + %20 = and i1 %12, %19 + %21 = add nuw i64 %16, 70368744177664 + %22 = select i1 %20, i64 %21, i64 %16 + %23 = bitcast i64 %22 to double + %24 = fsub double 1.000000e+00, %23 + %25 = select i1 %12, double %24, double %23 + %26 = add i64 %22, -4449556431842050048 + %27 = ashr exact i64 %26, 42 + %28 = sub nsw i64 69632, %27 + %29 = select i1 %12, i64 %28, i64 %27 + %30 = lshr i64 %29, 3 + %31 = getelementptr inbounds i64, ptr addrspace(1) @_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_144__devicelib_imf_internal_derfinv_data_avx512E, i64 %30 + %32 = load double, ptr addrspace(1) %31, align 8, !tbaa !719 + %33 = getelementptr double, ptr addrspace(1) %31, i64 1 + %34 = load double, ptr addrspace(1) %33, align 8, !tbaa !719 + %35 = fsub double %10, %25 + %36 = fmul double %35, %34 + %37 = fmul double %32, %32 + %38 = fmul double %32, 0x3FE921FB54442D18 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x3FEDB29FB2FEE5E4, double noundef 0x3FCDB29FB2FEE5E4) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x3FF3BD3CC9BE45DE, double noundef 0x3FE707719608A6D9) #56 + %41 = fmul double %40, %32 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x3FFBFD4DDC93D552, double noundef 0x3FFAD2BFF36301C4) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %42, double noundef 0x3FC053C2C0AB91C5) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x4004ABBCE625BE53, double noundef 0x400C13F1A78CDE41) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %44, double noundef 0x3FE5E06C2F4E585C) #56 + %46 = fmul double %32, %45 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef 0x400F6773D3F8ECCE, double noundef 0x401BDF0398ECEBC4) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %47, double noundef 0x4002F92B50110F12) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %48, double noundef 0x3FB62847C47DDA48) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %49, double noundef %46) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %50, double noundef %43) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %51, double noundef %41) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %52, double noundef %39) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %53, double noundef %38) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %54, double noundef 0x3FEC5BF891B4EF6B) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %55, double noundef %32) #56 + %57 = and i64 %4, -9223372036854775808 + %58 = select i1 %7, double 0.000000e+00, double %56 + %59 = bitcast double %58 to i64 + %60 = or i64 %57, %59 + %61 = bitcast i64 %60 to double + br i1 %11, label %62, label %66, !prof !1176 + +62: ; preds = %1 + %63 = addrspacecast ptr %3 to ptr addrspace(4) + %64 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store i64 %60, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_132__devicelib_imf_internal_derfinvEPKdPd(ptr addrspace(4) noundef %64, ptr addrspace(4) noundef %63) #55 + %65 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %66 + +66: ; preds = %62, %1 + %67 = phi double [ %65, %62 ], [ %61, %1 ] + ret double %67 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nounwind memory(argmem: readwrite, inaccessiblemem: readwrite) +define internal spir_func void @_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_132__devicelib_imf_internal_derfinvEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #38 !srcloc !1471 !sycl_kernel_omit_args !1186 { + %3 = alloca double, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) + %4 = addrspacecast ptr %3 to ptr addrspace(4) + store volatile double 1.000000e+00, ptr addrspace(4) %4, align 8, !tbaa !760 + %5 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + %6 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %7 = fmul double %5, %6 + store volatile double %7, ptr addrspace(4) %4, align 8, !tbaa !760 + %8 = bitcast double %7 to i64 + %9 = lshr i64 %8, 32 + %10 = trunc i64 %9 to i32 + %11 = and i32 %10, 2146435072 + %12 = icmp eq i32 %11, 2146435072 + br i1 %12, label %59, label %13 + +13: ; preds = %2 + %14 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + %15 = tail call double @llvm.fabs.f64(double %14) + %16 = lshr i32 %10, 31 + %17 = fcmp olt double %15, 0x3DC0000000000000 + br i1 %17, label %18, label %53 + +18: ; preds = %13 + %19 = fcmp oeq double %14, 0.000000e+00 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + store double %21, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +22: ; preds = %18 + %23 = fmul double %14, 0x4FF0000000000000 + %24 = fmul double %23, 0x4238000000010000 + %25 = fmul double %23, 0x4238000000000000 + %26 = fsub double %24, %25 + %27 = fsub double %23, %26 + %28 = fmul double %26, 0x3FEC5C0000000000 + %29 = fmul double %27, 0x3FEC5C0000000000 + %30 = fmul double %23, 0xBECDB92C4255618F + %31 = fadd double %29, %30 + %32 = fadd double %28, %31 + %33 = tail call double @llvm.fabs.f64(double %32) + %34 = fcmp ult double %33, 0x1010000000000000 + br i1 %34, label %37, label %35 + +35: ; preds = %22 + %36 = fmul double %32, 0x2FF0000000000000 + store double %36, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +37: ; preds = %22 + %38 = or i32 %16, 12 + %39 = zext nneg i32 %38 to i64 + %40 = getelementptr inbounds double, ptr addrspace(1) @_ZN22__imf_impl_erfinv_d_la12_GLOBAL__N_127__derfinv_la__vmldErfInvTabE, i64 %39 + %41 = load double, ptr addrspace(1) %40, align 8, !tbaa !760 + %42 = fadd double %41, 0.000000e+00 + %43 = fadd double %32, %42 + %44 = fmul double %43, 0x4238000000010000 + %45 = fmul double %43, 0x4238000000000000 + %46 = fsub double %44, %45 + %47 = fsub double %46, %42 + %48 = fsub double %28, %47 + %49 = fadd double %48, %31 + %50 = fadd double %46, %49 + %51 = bitcast double %50 to i64 + %52 = and i64 %51, -9218868437227405313 + store i64 %52, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +53: ; preds = %13 + %54 = fcmp oeq double %15, 1.000000e+00 + br i1 %54, label %55, label %58 + +55: ; preds = %53 + %56 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + %57 = fdiv double %56, 0.000000e+00 + store double %57, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +58: ; preds = %53 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +59: ; preds = %2 + %60 = trunc i64 %8 to i32 + %61 = and i32 %10, 1048575 + %62 = or i32 %61, %60 + %63 = icmp eq i32 %62, 0 + br i1 %63, label %64, label %65 + +64: ; preds = %59 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +65: ; preds = %59 + %66 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + %67 = load volatile double, ptr addrspace(4) %4, align 8, !tbaa !760 + %68 = fadd double %66, %67 + store double %68, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %69 + +69: ; preds = %65, %64, %58, %55, %37, %35, %20 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_acos(double noundef %0) local_unnamed_addr #43 !srcloc !1472 { + %2 = bitcast double %0 to i64 + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %4 = bitcast double %3 to i64 + %5 = xor i64 %2, %4 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef -5.000000e-01, double noundef %3, double noundef 5.000000e-01) #56 + %7 = fmul double %0, %0 + %8 = tail call spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef %7, double noundef %6) #56 + %9 = icmp eq i64 %5, 0 + %10 = select i1 %9, double 0.000000e+00, double 0x400921FB54442D18 + %11 = select i1 %9, double 0.000000e+00, double 0x3CA1A62633145C07 + %12 = fcmp ole double %3, 5.000000e-01 + %13 = select i1 %12, double 0x3FF921FB54442D18, double %10 + %14 = select i1 %12, double 0x3C91A62633145C07, double %11 + %15 = fptrunc double %6 to float + %16 = select i1 %12, float 0x7FF0000000000000, float 0.000000e+00 + %17 = fadd float %16, %15 + %18 = fadd float %17, 0x3830000000000000 + %19 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %18) #56 + %20 = fdiv float 1.000000e+00, %19 + %21 = fpext float %20 to double + %22 = bitcast double %21 to i64 + %23 = or i64 %5, %22 + %24 = bitcast i64 %23 to double + %25 = fmul double %6, %24 + %26 = fmul double %25, -2.000000e+00 + %27 = fneg double %24 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %25, double noundef 1.000000e+00) #56 + %29 = fneg double %25 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %28, double noundef %26) #56 + %31 = fmul double %30, 5.000000e-01 + %32 = fneg double %31 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %31, double noundef %6) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %24, double noundef %14) #56 + %35 = select i1 %12, double %0, double %30 + %36 = fneg double %33 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %24, double noundef %35) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FA07520C559A401, double noundef %8, double noundef 0xBF90FB17F2824AA0) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %8, double noundef 0x3F943F44BC0C21F0) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %8, double noundef 0x3F7A58339BB6F20C) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %8, double noundef 0x3F88F8DC2A3C76D7) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %8, double noundef 0x3F8C6DBBCBA98E67) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %8, double noundef 0x3F91C6DCF536C796) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %8, double noundef 0x3F96E89CEBDF209C) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %8, double noundef 0x3F9F1C72E13AD6D3) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %8, double noundef 0x3FA6DB6DB3B44600) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %8, double noundef 0x3FB333333337E0DE) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %8, double noundef 0x3FC555555555529C) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %48, double noundef %8, double noundef 0x3C70D208999DC313) #56 + %50 = fneg double %49 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %37, double noundef %34) #56 + %52 = fsub double %51, %35 + %53 = fadd double %13, %52 + ret double %53 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_acosh(double noundef %0) local_unnamed_addr #43 !srcloc !1473 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = fcmp ole double %0, 0x7FEFFFFFFFFFFFFF + %5 = fcmp ogt double %0, 1.000000e+00 + %6 = and i1 %4, %5 + %7 = fcmp olt double %0, 0x41D0000000000000 + %8 = sext i1 %7 to i64 + %9 = fadd double %0, -1.000000e+00 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef -1.000000e+00) #56 + %11 = bitcast double %10 to i64 + %12 = and i64 %11, -16777216 + %13 = bitcast i64 %12 to double + %14 = fsub double %10, %13 + %15 = fptrunc double %13 to float + %16 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %15) #56 + %17 = fdiv float 1.000000e+00, %16 + %18 = fpext float %17 to double + %19 = bitcast double %18 to i64 + %20 = and i64 %19, -2199023255552 + %21 = bitcast i64 %20 to double + %22 = fmul double %13, %21 + %23 = fmul double %14, %21 + %24 = fneg double %22 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %21, double noundef 1.000000e+00) #56 + %26 = fneg double %23 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %21, double noundef %25) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FCF800025DE102F, double noundef %27, double noundef 0x3FD1800013D9D428) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %27, double noundef 0x3FD3FFFFFFFFFFFA) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %27, double noundef 0x3FD7FFFFFFFFFFFA) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %27, double noundef 5.000000e-01) #56 + %32 = fmul double %31, %27 + %33 = fadd double %22, %23 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %32, double noundef %33) #56 + %35 = fadd double %9, %34 + %36 = fcmp olt double %35, 1.000000e+00 + %37 = select i1 %36, double 1.000000e+00, double %35 + %38 = fcmp ogt double %35, 1.000000e+00 + %39 = select i1 %38, double 1.000000e+00, double %35 + %40 = tail call double @llvm.fabs.f64(double %35) + %41 = fcmp olt double %40, 0x3E00000000000000 + %42 = select i1 %41, i64 -1, i64 -1024 + %43 = fadd double %37, %39 + %44 = bitcast double %43 to i64 + %45 = and i64 %42, %44 + %46 = bitcast i64 %45 to double + %47 = fsub double %37, %46 + %48 = fadd double %47, %39 + %49 = fmul double %0, 0x3E10000000000000 + %50 = bitcast double %49 to i64 + %51 = select i1 %7, i64 0, i64 %50 + %52 = and i64 %45, %8 + %53 = or i64 %51, %52 + %54 = bitcast i64 %53 to double + %55 = bitcast double %48 to i64 + %56 = and i64 %55, %8 + %57 = bitcast i64 %56 to double + %58 = and i64 %53, 4503599627370495 + %59 = or i64 %58, 4562146422526312448 + %60 = bitcast i64 %59 to double + %61 = fptrunc double %60 to float + %62 = fdiv float 1.000000e+00, %61 + %63 = fpext float %62 to double + %64 = and i64 %53, 9218868437227405312 + %65 = sub nsw i64 9169328841326329856, %64 + %66 = lshr i64 %53, 52 + %67 = trunc i64 %66 to i32 + %68 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %63) #56 + %69 = bitcast i64 %65 to double + %70 = fmul double %68, %69 + %71 = sitofp i32 %67 to double + %72 = fadd double %71, 3.100000e+01 + %73 = bitcast double %72 to i64 + %74 = select i1 %7, i64 0, i64 %73 + %75 = bitcast double %71 to i64 + %76 = and i64 %8, %75 + %77 = or i64 %74, %76 + %78 = bitcast i64 %77 to double + %79 = bitcast double %68 to i64 + %80 = lshr i64 %79, 43 + %81 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_acosh_d_la12_GLOBAL__N_136__devicelib_imf_internal_dacosh_dataE, i64 -4218864), i64 %80 + %82 = load double, ptr addrspace(1) %81, align 8, !tbaa !719 + %83 = fcmp ogt double %68, 7.240000e+02 + %84 = select i1 %83, double 1.023000e+03, double 1.022000e+03 + %85 = fsub double %78, %84 + %86 = fmul double %85, 0x3FE62E42FEFA39EF + %87 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %70, double noundef -1.000000e+00) #56 + %88 = fmul double %70, %57 + %89 = fadd double %87, %88 + %90 = fsub double %89, %87 + %91 = fsub double %88, %90 + %92 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FC9999CACDB4D0A, double noundef %89, double noundef 0xBFD0000148058EE1) #56 + %93 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FD55555555543C5, double noundef %89, double noundef 0xBFDFFFFFFFFFF81F) #56 + %94 = fmul double %89, %89 + %95 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %92, double noundef %94, double noundef %93) #56 + %96 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %95, double noundef %94, double noundef %91) #56 + %97 = fadd double %89, %96 + %98 = fadd double %97, %82 + %99 = fadd double %98, %86 + br i1 %6, label %104, label %100, !prof !1189 + +100: ; preds = %1 + %101 = addrspacecast ptr %3 to ptr addrspace(4) + %102 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %99, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_acosh_d_la12_GLOBAL__N_131__devicelib_imf_internal_dacoshEPKdPd(ptr addrspace(4) noundef %102, ptr addrspace(4) noundef %101) #55 + %103 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %104 + +104: ; preds = %100, %1 + %105 = phi double [ %103, %100 ], [ %99, %1 ] + ret double %105 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN21__imf_impl_acosh_d_la12_GLOBAL__N_131__devicelib_imf_internal_dacoshEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1474 !sycl_kernel_omit_args !1186 { + %3 = load double, ptr addrspace(4) %0, align 8 + %4 = bitcast double %3 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = and i32 %6, 2146435072 + %8 = icmp eq i32 %7, 2146435072 + %9 = trunc i64 %4 to i32 + br i1 %8, label %10, label %16 + +10: ; preds = %2 + %11 = and i32 %6, 1048575 + %12 = or i32 %11, %9 + %13 = icmp eq i32 %12, 0 + br i1 %13, label %16, label %14 + +14: ; preds = %10 + %15 = fmul double %3, %3 + store double %15, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %27 + +16: ; preds = %10, %2 + %17 = icmp eq i32 %9, 0 + %18 = and i64 %4, -4294967296 + %19 = icmp eq i64 %18, 4607182418800017408 + %20 = and i1 %17, %19 + br i1 %20, label %21, label %22 + +21: ; preds = %16 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %27 + +22: ; preds = %16 + %23 = icmp eq i64 %18, 9218868437227405312 + %24 = and i1 %17, %23 + br i1 %24, label %25, label %26 + +25: ; preds = %22 + store double %3, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %27 + +26: ; preds = %22 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %27 + +27: ; preds = %26, %25, %21, %14 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_asin(double noundef %0) local_unnamed_addr #43 !srcloc !1475 { + %2 = bitcast double %0 to i64 + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %4 = bitcast double %3 to i64 + %5 = xor i64 %2, %4 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef -5.000000e-01, double noundef %3, double noundef 5.000000e-01) #56 + %7 = fmul double %0, %0 + %8 = tail call spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef %7, double noundef %6) #56 + %9 = fptrunc double %6 to float + %10 = fadd float %9, 0x3830000000000000 + %11 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %10) #56 + %12 = fdiv float 1.000000e+00, %11 + %13 = fpext float %12 to double + %14 = fmul double %6, %13 + %15 = fmul double %13, -5.000000e-01 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %14, double noundef 5.000000e-01) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %16, double noundef %14) #56 + %18 = fneg double %17 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef 2.000000e+00, double noundef 0x3FF921FB54442D18) #56 + %20 = fadd double %19, 0xBFF921FB54442D18 + %21 = fmul double %20, 5.000000e-01 + %22 = fneg double %21 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %21, double noundef %6) #56 + %24 = fneg double %23 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %13, double noundef 0x3C91A62633145C07) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %13, double noundef %20) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FA07520C559A401, double noundef %8, double noundef 0xBF90FB17F2824AA0) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %8, double noundef 0x3F943F44BC0C21F0) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %8, double noundef 0x3F7A58339BB6F20C) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %8, double noundef 0x3F88F8DC2A3C76D7) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %8, double noundef 0x3F8C6DBBCBA98E67) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %8, double noundef 0x3F91C6DCF536C796) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %8, double noundef 0x3F96E89CEBDF209C) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %8, double noundef 0x3F9F1C72E13AD6D3) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %8, double noundef 0x3FA6DB6DB3B44600) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %8, double noundef 0x3FB333333337E0DE) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %8, double noundef 0x3FC555555555529C) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %8, double noundef 0x3C70D208999DC313) #56 + %39 = fcmp ole double %3, 5.000000e-01 + %40 = select i1 %39, double %3, double %26 + %41 = select i1 %39, double %3, double %19 + %42 = select i1 %39, double 0.000000e+00, double %25 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %40, double noundef %42) #56 + %44 = fadd double %41, %43 + %45 = bitcast double %44 to i64 + %46 = or i64 %5, %45 + %47 = bitcast i64 %46 to double + ret double %47 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_asinh(double noundef %0) local_unnamed_addr #43 !srcloc !1476 { + %2 = bitcast double %0 to i64 + %3 = tail call double @llvm.fabs.f64(double %0) + %4 = fcmp ugt double %3, 0x7FEFFFFFFFFFFFFF + %5 = fcmp olt double %3, 0x41D0000000000000 + %6 = sext i1 %5 to i64 + %7 = fmul double %0, %0 + %8 = fneg double %7 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef %8) #56 + %10 = fadd double %7, 1.000000e+00 + %11 = fsub double 1.000000e+00, %10 + %12 = fadd double %11, %7 + %13 = fadd double %12, %9 + %14 = bitcast double %10 to i64 + %15 = and i64 %14, -16777216 + %16 = bitcast i64 %15 to double + %17 = fsub double %10, %16 + %18 = fadd double %17, %13 + %19 = fptrunc double %16 to float + %20 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %19) #56 + %21 = fdiv float 1.000000e+00, %20 + %22 = fpext float %21 to double + %23 = bitcast double %22 to i64 + %24 = and i64 %23, -2199023255552 + %25 = bitcast i64 %24 to double + %26 = fmul double %16, %25 + %27 = fmul double %18, %25 + %28 = fneg double %26 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %25, double noundef 1.000000e+00) #56 + %30 = fneg double %27 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %25, double noundef %29) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FCF800000000000, double noundef %31, double noundef 0x3FD1800000000000) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %31, double noundef 3.125000e-01) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %31, double noundef 3.750000e-01) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %31, double noundef 5.000000e-01) #56 + %36 = fmul double %35, %31 + %37 = fadd double %26, %27 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %37, double noundef %27) #56 + %39 = fadd double %26, -1.000000e+00 + %40 = fadd double %38, %39 + %41 = fadd double %7, %9 + %42 = fmul double %41, 5.000000e-01 + %43 = fmul double %42, %42 + %44 = fneg double %43 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %43, double noundef %44) #56 + %46 = fmul double %45, 5.000000e-01 + %47 = fadd double %42, %46 + %48 = fcmp ole double %3, 0x3F60000000000000 + %49 = select i1 %48, double %47, double %40 + %50 = fadd double %3, %49 + %51 = fcmp olt double %50, 1.000000e+00 + %52 = select i1 %51, double 1.000000e+00, double %50 + %53 = fcmp ogt double %50, 1.000000e+00 + %54 = select i1 %53, double 1.000000e+00, double %50 + %55 = tail call double @llvm.fabs.f64(double %50) + %56 = fcmp olt double %55, 0x3E00000000000000 + %57 = select i1 %56, i64 -1, i64 -1024 + %58 = fadd double %52, %54 + %59 = bitcast double %58 to i64 + %60 = and i64 %57, %59 + %61 = bitcast i64 %60 to double + %62 = fsub double %52, %61 + %63 = fadd double %62, %54 + %64 = fmul double %3, 0x3E10000000000000 + %65 = bitcast double %64 to i64 + %66 = select i1 %5, i64 0, i64 %65 + %67 = and i64 %60, %6 + %68 = or i64 %66, %67 + %69 = bitcast i64 %68 to double + %70 = bitcast double %63 to i64 + %71 = and i64 %70, %6 + %72 = bitcast i64 %71 to double + %73 = and i64 %68, 4503599627370495 + %74 = or i64 %73, 4562146422526312448 + %75 = bitcast i64 %74 to double + %76 = fptrunc double %75 to float + %77 = fdiv float 1.000000e+00, %76 + %78 = fpext float %77 to double + %79 = and i64 %68, 9218868437227405312 + %80 = sub nsw i64 9169328841326329856, %79 + %81 = lshr i64 %68, 52 + %82 = trunc i64 %81 to i32 + %83 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %78) #56 + %84 = bitcast i64 %80 to double + %85 = fmul double %83, %84 + %86 = sitofp i32 %82 to double + %87 = fadd double %86, 3.100000e+01 + %88 = bitcast double %87 to i64 + %89 = select i1 %5, i64 0, i64 %88 + %90 = bitcast double %86 to i64 + %91 = and i64 %6, %90 + %92 = or i64 %89, %91 + %93 = bitcast i64 %92 to double + %94 = bitcast double %83 to i64 + %95 = lshr i64 %94, 43 + %96 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_asinh_d_la12_GLOBAL__N_136__devicelib_imf_internal_dasinh_dataE, i64 -4218864), i64 %95 + %97 = load double, ptr addrspace(1) %96, align 8, !tbaa !719 + %98 = fcmp ogt double %83, 7.240000e+02 + %99 = select i1 %98, double 1.023000e+03, double 1.022000e+03 + %100 = fsub double %93, %99 + %101 = fmul double %100, 0x3FE62E42FEFA39EF + %102 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %85, double noundef -1.000000e+00) #56 + %103 = fmul double %85, %72 + %104 = fadd double %102, %103 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FC9999CACDB4D0A, double noundef %104, double noundef 0xBFD0000148058EE1) #56 + %106 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FD55555555543C5, double noundef %104, double noundef 0xBFDFFFFFFFFFF81F) #56 + %107 = fmul double %104, %104 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %105, double noundef %107, double noundef %106) #56 + %109 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef %107, double noundef %104) #56 + %110 = fadd double %109, %97 + %111 = fadd double %110, %101 + %112 = and i64 %2, -9223372036854775808 + %113 = bitcast double %111 to i64 + %114 = xor i64 %112, %113 + %115 = bitcast i64 %114 to double + br i1 %4, label %116, label %128, !prof !1176 + +116: ; preds = %1 + %117 = lshr i64 %2, 32 + %118 = trunc i64 %117 to i32 + %119 = and i32 %118, 2146435072 + %120 = icmp eq i32 %119, 2146435072 + br i1 %120, label %121, label %128 + +121: ; preds = %116 + %122 = trunc i64 %2 to i32 + %123 = and i32 %118, 1048575 + %124 = or i32 %123, %122 + %125 = icmp eq i32 %124, 0 + %126 = select i1 %125, double 1.000000e+00, double %0 + %127 = fmul double %126, %0 + br label %128 + +128: ; preds = %121, %116, %1 + %129 = phi double [ %115, %1 ], [ %0, %116 ], [ %127, %121 ] + ret double %129 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_atan2(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1477 { + %3 = alloca double, align 8 + %4 = addrspacecast ptr %3 to ptr addrspace(4) + %5 = bitcast double %1 to i64 + %6 = tail call double @llvm.fabs.f64(double %1) + %7 = bitcast double %6 to i64 + %8 = bitcast double %0 to i64 + %9 = tail call double @llvm.fabs.f64(double %0) + %10 = bitcast double %9 to i64 + %11 = xor i64 %5, %7 + %12 = xor i64 %8, %10 + %13 = fcmp olt double %1, 0.000000e+00 + %14 = select i1 %13, i64 4368955907334209536, i64 0 + %15 = select i1 %13, double 0x400921FB54442D18, double 0.000000e+00 + %16 = lshr i64 %7, 32 + %17 = trunc i64 %16 to i32 + %18 = lshr i64 %10, 32 + %19 = trunc i64 %18 to i32 + %20 = add nuw i32 %17, 2144337920 + %21 = add nuw i32 %19, 2144337920 + %22 = icmp sgt i32 %20, -36700161 + %23 = icmp sgt i32 %21, -36700161 + %24 = or i1 %22, %23 + %25 = fmul double %6, 4.375000e-01 + %26 = fmul double %6, 6.875000e-01 + %27 = fmul double %6, 1.187500e+00 + %28 = fmul double %6, 2.437500e+00 + %29 = bitcast double %25 to i64 + %30 = bitcast double %26 to i64 + %31 = bitcast double %27 to i64 + %32 = bitcast double %28 to i64 + %33 = lshr i64 %29, 32 + %34 = trunc i64 %33 to i32 + %35 = lshr i64 %30, 32 + %36 = trunc i64 %35 to i32 + %37 = lshr i64 %31, 32 + %38 = trunc i64 %37 to i32 + %39 = lshr i64 %32, 32 + %40 = trunc i64 %39 to i32 + %41 = sub i32 %34, %19 + %42 = sub i32 %36, %19 + %43 = sub i32 %38, %19 + %44 = sub i32 %40, %19 + %45 = ashr i32 %41, 31 + %46 = ashr i32 %42, 31 + %47 = ashr i32 %43, 31 + %48 = ashr i32 %44, 31 + %49 = add nsw i32 %45, %46 + %50 = add nsw i32 %47, %48 + %51 = add nsw i32 %49, %50 + %52 = shl nsw i32 %51, 5 + %53 = add nsw i32 %52, 128 + %54 = lshr exact i32 %53, 3 + %55 = zext nneg i32 %54 to i64 + %56 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datan2_dataE, i64 %55 + %57 = load double, ptr addrspace(1) %56, align 8, !tbaa !719 + %58 = or i32 %54, 1 + %59 = zext nneg i32 %58 to i64 + %60 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datan2_dataE, i64 %59 + %61 = load double, ptr addrspace(1) %60, align 8, !tbaa !719 + %62 = or i32 %54, 2 + %63 = zext nneg i32 %62 to i64 + %64 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datan2_dataE, i64 %63 + %65 = load double, ptr addrspace(1) %64, align 8, !tbaa !719 + %66 = or i32 %54, 3 + %67 = zext nneg i32 %66 to i64 + %68 = getelementptr inbounds i64, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datan2_dataE, i64 %67 + %69 = load i64, ptr addrspace(1) %68, align 8, !tbaa !719 + %70 = and i64 %69, %10 + %71 = bitcast i64 %70 to double + %72 = fneg double %57 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %6, double noundef %71) #56 + %74 = and i64 %69, %7 + %75 = bitcast i64 %74 to double + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %57, double noundef %9, double noundef %75) #56 + %77 = bitcast double %76 to i64 + %78 = lshr i64 %77, 32 + %79 = trunc i64 %78 to i32 + %80 = and i32 %79, -1048576 + %81 = shl i32 %79, 3 + %82 = and i32 %81, 8388600 + %83 = or i32 %82, 1065353216 + %84 = bitcast i32 %83 to float + %85 = fdiv float 1.000000e+00, %84 + %86 = bitcast float %85 to i32 + %87 = lshr i32 %86, 3 + %88 = sub i32 %87, %80 + %89 = add i32 %88, 2012217344 + %90 = zext i32 %89 to i64 + %91 = shl nuw i64 %90, 32 + %92 = bitcast i64 %91 to double + %93 = fneg double %76 + %94 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %93, double noundef %92, double noundef 1.000000e+00) #56 + %95 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %94, double noundef %94, double noundef %94) #56 + %96 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %92, double noundef %95, double noundef %92) #56 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %93, double noundef %96, double noundef 1.000000e+00) #56 + %98 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %97, double noundef %96) #56 + %99 = fmul double %98, %73 + %100 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %93, double noundef %99, double noundef %73) #56 + %101 = fmul double %100, %98 + %102 = fmul double %99, %99 + %103 = fmul double %102, %102 + %104 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3F8BE4FBE6733718, double noundef %103, double noundef 0x3FA6AD5558FE19C9) #56 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFA04CD71F92185E, double noundef %103, double noundef 0xBFAA9E755CA13D23) #56 + %106 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %104, double noundef %103, double noundef 0x3FAE12F1EDF7C393) #56 + %107 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %105, double noundef %103, double noundef 0xBFB1108D326C68ED) #56 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %106, double noundef %103, double noundef 0x3FB3B132B731E73A) #56 + %109 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef %103, double noundef 0xBFB745D119677A4F) #56 + %110 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef %103, double noundef 0x3FBC71C719F99F96) #56 + %111 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %109, double noundef %103, double noundef 0xBFC2492492441A21) #56 + %112 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %110, double noundef %103, double noundef 0x3FC9999999998F43) #56 + %113 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %111, double noundef %103, double noundef 0xBFD5555555555552) #56 + %114 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %112, double noundef %102, double noundef %113) #56 + %115 = fmul double %114, %102 + %116 = xor i64 %14, %11 + %117 = bitcast i64 %116 to double + %118 = fadd double %101, %65 + %119 = fadd double %118, %117 + %120 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %115, double noundef %99, double noundef %119) #56 + %121 = fadd double %99, %120 + %122 = fadd double %121, %61 + %123 = bitcast double %122 to i64 + %124 = xor i64 %11, %123 + %125 = bitcast i64 %124 to double + %126 = fadd double %15, %125 + %127 = bitcast double %126 to i64 + %128 = or i64 %12, %127 + %129 = bitcast i64 %128 to double + br i1 %24, label %130, label %159, !prof !1176 + +130: ; preds = %2 + %131 = and i64 %5, -9223372036854775808 + %132 = and i64 %8, -9223372036854775808 + %133 = fcmp uge double %9, %6 + %134 = select i1 %133, i64 %10, i64 %7 + %135 = bitcast i64 %134 to double + %136 = fcmp ord double %1, %0 + %137 = fcmp oeq double %1, 0.000000e+00 + %138 = fcmp oeq double %0, 0.000000e+00 + %139 = or i1 %137, %138 + %140 = and i1 %139, %136 + %141 = fcmp une double %135, 0.000000e+00 + %142 = and i1 %141, %133 + %143 = select i1 %142, i64 4609753056924675352, i64 0 + %144 = or i64 %143, %131 + %145 = bitcast i64 %144 to double + %146 = icmp slt i64 %5, 0 + %147 = select i1 %146, i64 4294967295, i64 0 + %148 = shl nuw i64 %147, 32 + %149 = or i64 %148, %147 + %150 = and i64 %149, 4614256656552045848 + %151 = bitcast i64 %150 to double + %152 = fadd double %145, %151 + %153 = bitcast double %152 to i64 + %154 = or i64 %132, %153 + %155 = select i1 %140, i64 %154, i64 %128 + %156 = bitcast i64 %155 to double + br i1 %140, label %159, label %157, !prof !1478 + +157: ; preds = %130 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 %128, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_131__devicelib_imf_internal_datan2EPKdS2_Pd(double %0, double %1, ptr addrspace(4) noundef %4) #55 + %158 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %159 + +159: ; preds = %157, %130, %2 + %160 = phi double [ %158, %157 ], [ %156, %130 ], [ %129, %2 ] + ret double %160 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_131__devicelib_imf_internal_datan2EPKdS2_Pd(double %0, double %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #35 !srcloc !1479 !sycl_kernel_omit_args !1235 { + %4 = bitcast double %0 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = bitcast double %1 to i64 + %8 = lshr i64 %7, 32 + %9 = trunc i64 %8 to i32 + %10 = lshr i32 %6, 20 + %11 = and i32 %10, 2047 + %12 = lshr i32 %9, 20 + %13 = and i32 %12, 2047 + %14 = icmp eq i32 %11, 2047 + %15 = icmp eq i32 %13, 2047 + %16 = select i1 %14, i1 true, i1 %15 + br i1 %16, label %337, label %17 + +17: ; preds = %3 + %18 = icmp eq i32 %11, 0 + br i1 %18, label %19, label %24 + +19: ; preds = %17 + %20 = and i32 %6, 1048575 + %21 = trunc i64 %4 to i32 + %22 = or i32 %20, %21 + %23 = icmp eq i32 %22, 0 + br i1 %23, label %330, label %24 + +24: ; preds = %19, %17 + %25 = icmp eq i32 %13, 0 + br i1 %25, label %26, label %32 + +26: ; preds = %24 + %27 = and i32 %9, 1048575 + %28 = icmp eq i32 %27, 0 + %29 = trunc i64 %7 to i32 + %30 = icmp eq i32 %29, 0 + %31 = select i1 %28, i1 %30, i1 false + br i1 %31, label %321, label %32 + +32: ; preds = %26, %24 + %33 = tail call double @llvm.fabs.f64(double %0) + %34 = bitcast double %33 to i64 + %35 = tail call double @llvm.fabs.f64(double %1) + %36 = sub nsw i32 %11, %13 + %37 = icmp sgt i32 %36, -54 + br i1 %37, label %38, label %299 + +38: ; preds = %32 + %39 = icmp slt i32 %36, 54 + br i1 %39, label %40, label %286 + +40: ; preds = %38 + %41 = icmp sgt i64 %7, -1 + %42 = select i1 %41, double 0.000000e+00, double 0x3CA1A62633145C07 + %43 = select i1 %41, double 0.000000e+00, double 0x400921FB54442D18 + %44 = fdiv double %33, %35 + br i1 %18, label %57, label %45 + +45: ; preds = %40 + %46 = icmp ult i32 %11, 2046 + br i1 %46, label %47, label %55 + +47: ; preds = %45 + %48 = and i64 %34, -9218868437227405313 + %49 = or i64 %48, 4607182418800017408 + %50 = bitcast i64 %49 to double + %51 = and i64 %4, 9218868437227405312 + %52 = sub nsw i64 9214364837600034816, %51 + %53 = and i64 %52, 9218868437227405312 + %54 = bitcast i64 %53 to double + br label %59 + +55: ; preds = %45 + %56 = fmul double %33, 0x10000000000000 + br label %59 + +57: ; preds = %40 + %58 = fmul double %33, 0x7FD0000000000000 + br label %59 + +59: ; preds = %57, %55, %47 + %60 = phi double [ %50, %47 ], [ %56, %55 ], [ %58, %57 ] + %61 = phi double [ %54, %47 ], [ 0x10000000000000, %55 ], [ 0x7FD0000000000000, %57 ] + %62 = fmul double %35, %61 + %63 = fcmp ult double %44, 1.250000e-01 + br i1 %63, label %206, label %64 + +64: ; preds = %59 + %65 = bitcast double %44 to i64 + %66 = lshr i64 %65, 32 + %67 = trunc i64 %66 to i32 + %68 = and i32 %67, 2146959360 + %69 = add nsw i32 %68, -1069547520 + %70 = ashr exact i32 %69, 19 + %71 = tail call i32 @llvm.smin.i32(i32 %70, i32 113) + %72 = and i64 %65, -2251799813685248 + %73 = or i64 %72, 1125899906842624 + %74 = bitcast i64 %73 to double + %75 = fmul double %62, 0x41A0000002000000 + %76 = fsub double %75, %62 + %77 = fsub double %75, %76 + %78 = fsub double %62, %77 + %79 = fneg double %77 + %80 = fmul double %79, %74 + %81 = fneg double %78 + %82 = fmul double %81, %74 + %83 = fadd double %80, %82 + %84 = fsub double %80, %83 + %85 = fadd double %84, %82 + %86 = fadd double %60, %83 + %87 = fsub double %60, %86 + %88 = fadd double %86, %87 + %89 = fadd double %83, %87 + %90 = fsub double %60, %88 + %91 = fadd double %89, %90 + %92 = fadd double %91, %85 + %93 = fmul double %86, 0x41A0000002000000 + %94 = fsub double %93, %86 + %95 = fsub double %93, %94 + %96 = fsub double %86, %95 + %97 = fadd double %92, %96 + %98 = fmul double %60, 0x41A0000002000000 + %99 = fsub double %98, %60 + %100 = fsub double %98, %99 + %101 = fsub double %60, %100 + %102 = fmul double %100, %74 + %103 = fmul double %101, %74 + %104 = fadd double %102, %103 + %105 = fsub double %102, %104 + %106 = fadd double %105, %103 + %107 = fadd double %62, %104 + %108 = fsub double %62, %107 + %109 = fadd double %107, %108 + %110 = fadd double %104, %108 + %111 = fsub double %62, %109 + %112 = fadd double %110, %111 + %113 = fadd double %112, %106 + %114 = fmul double %107, 0x41A0000002000000 + %115 = fsub double %114, %107 + %116 = fsub double %114, %115 + %117 = fsub double %107, %116 + %118 = fadd double %113, %117 + %119 = fdiv double 1.000000e+00, %116 + %120 = fmul double %119, 0x41A0000002000000 + %121 = fsub double %120, %119 + %122 = fsub double %120, %121 + %123 = fmul double %116, %122 + %124 = fsub double 1.000000e+00, %123 + %125 = fmul double %118, %122 + %126 = fsub double %124, %125 + %127 = fadd double %126, 1.000000e+00 + %128 = fmul double %127, %126 + %129 = fmul double %128, %122 + %130 = fmul double %95, %122 + %131 = fmul double %97, %129 + %132 = tail call double @llvm.fmuladd.f64(double %95, double %129, double %131) + %133 = tail call double @llvm.fmuladd.f64(double %97, double %122, double %132) + %134 = fadd double %130, %133 + %135 = fsub double %130, %134 + %136 = fadd double %135, %133 + %137 = fmul double %134, %134 + %138 = tail call double @llvm.fmuladd.f64(double %137, double 0xBFB029BD34239994, double 0x3FB3AB7C1048AFD1) + %139 = tail call double @llvm.fmuladd.f64(double %138, double %137, double 0xBFB745BE69CCA475) + %140 = tail call double @llvm.fmuladd.f64(double %139, double %137, double 0x3FBC71C6F9B157D3) + %141 = tail call double @llvm.fmuladd.f64(double %140, double %137, double 0xBFC2492492382A27) + %142 = tail call double @llvm.fmuladd.f64(double %141, double %137, double 0x3FC99999999991BB) + %143 = tail call double @llvm.fmuladd.f64(double %142, double %137, double 0xBFD5555555555555) + %144 = fmul double %143, %137 + %145 = fmul double %134, 0x41A0000002000000 + %146 = fsub double %145, %134 + %147 = fsub double %145, %146 + %148 = fsub double %134, %147 + %149 = fadd double %136, %148 + %150 = fmul double %144, 0x41A0000002000000 + %151 = fsub double %150, %144 + %152 = fsub double %150, %151 + %153 = fsub double %144, %152 + %154 = fmul double %152, %147 + %155 = fmul double %153, %149 + %156 = tail call double @llvm.fmuladd.f64(double %152, double %149, double %155) + %157 = tail call double @llvm.fmuladd.f64(double %153, double %147, double %156) + %158 = fadd double %154, %147 + %159 = fsub double %154, %158 + %160 = fadd double %158, %159 + %161 = fadd double %147, %159 + %162 = fsub double %154, %160 + %163 = fadd double %161, %162 + %164 = fadd double %163, %149 + %165 = fadd double %164, %157 + %166 = shl nsw i32 %71, 1 + %167 = sext i32 %166 to i64 + %168 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_119__datan2_ha_CoutTabE, i64 %167 + %169 = load double, ptr addrspace(1) %168, align 8, !tbaa !760 + %170 = fadd double %158, %169 + %171 = fsub double %158, %170 + %172 = fadd double %170, %171 + %173 = fadd double %169, %171 + %174 = fsub double %158, %172 + %175 = fadd double %173, %174 + %176 = fadd double %165, %175 + %177 = or i32 %166, 1 + %178 = sext i32 %177 to i64 + %179 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_atan2_d_ha12_GLOBAL__N_119__datan2_ha_CoutTabE, i64 %178 + %180 = load double, ptr addrspace(1) %179, align 8, !tbaa !760 + %181 = fadd double %176, %180 + %182 = and i64 %7, -9223372036854775808 + %183 = tail call double @llvm.fabs.f64(double %170) + %184 = bitcast double %183 to i64 + %185 = or i64 %182, %184 + %186 = bitcast i64 %185 to double + %187 = bitcast double %181 to i64 + %188 = and i64 %187, -4294967296 + %189 = xor i64 %182, %188 + %190 = and i64 %187, 4294967295 + %191 = or i64 %190, %189 + %192 = bitcast i64 %191 to double + %193 = fadd double %43, %186 + %194 = fsub double %186, %193 + %195 = fadd double %193, %194 + %196 = fadd double %43, %194 + %197 = fsub double %186, %195 + %198 = fadd double %196, %197 + %199 = fadd double %198, %192 + %200 = fadd double %199, %42 + %201 = fadd double %193, %200 + %202 = and i64 %4, -9223372036854775808 + %203 = tail call double @llvm.fabs.f64(double %201) + %204 = bitcast double %203 to i64 + %205 = or i64 %202, %204 + store i64 %205, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +206: ; preds = %59 + %207 = fmul double %60, 0x41A0000002000000 + %208 = fsub double %207, %60 + %209 = fsub double %207, %208 + %210 = fsub double %60, %209 + %211 = fmul double %62, 0x41A0000002000000 + %212 = fsub double %211, %62 + %213 = fsub double %211, %212 + %214 = fsub double %62, %213 + %215 = fdiv double 1.000000e+00, %213 + %216 = fmul double %215, 0x41A0000002000000 + %217 = fsub double %216, %215 + %218 = fsub double %216, %217 + %219 = fmul double %213, %218 + %220 = fsub double 1.000000e+00, %219 + %221 = fmul double %214, %218 + %222 = fsub double %220, %221 + %223 = fadd double %222, 1.000000e+00 + %224 = fmul double %223, %222 + %225 = fmul double %224, %218 + %226 = fmul double %209, %218 + %227 = fmul double %210, %225 + %228 = tail call double @llvm.fmuladd.f64(double %209, double %225, double %227) + %229 = tail call double @llvm.fmuladd.f64(double %210, double %218, double %228) + %230 = fadd double %226, %229 + %231 = fsub double %226, %230 + %232 = fadd double %231, %229 + %233 = fmul double %44, %44 + %234 = tail call double @llvm.fmuladd.f64(double %233, double 0xBFB029BD34239994, double 0x3FB3AB7C1048AFD1) + %235 = tail call double @llvm.fmuladd.f64(double %234, double %233, double 0xBFB745BE69CCA475) + %236 = tail call double @llvm.fmuladd.f64(double %235, double %233, double 0x3FBC71C6F9B157D3) + %237 = tail call double @llvm.fmuladd.f64(double %236, double %233, double 0xBFC2492492382A27) + %238 = tail call double @llvm.fmuladd.f64(double %237, double %233, double 0x3FC99999999991BB) + %239 = tail call double @llvm.fmuladd.f64(double %238, double %233, double 0xBFD5555555555555) + %240 = fmul double %239, %233 + %241 = fmul double %230, 0x41A0000002000000 + %242 = fsub double %241, %230 + %243 = fsub double %241, %242 + %244 = fsub double %230, %243 + %245 = fadd double %232, %244 + %246 = fmul double %240, 0x41A0000002000000 + %247 = fsub double %246, %240 + %248 = fsub double %246, %247 + %249 = fsub double %240, %248 + %250 = fmul double %248, %243 + %251 = fmul double %249, %245 + %252 = tail call double @llvm.fmuladd.f64(double %248, double %245, double %251) + %253 = tail call double @llvm.fmuladd.f64(double %249, double %243, double %252) + %254 = fadd double %250, %243 + %255 = fsub double %250, %254 + %256 = fadd double %254, %255 + %257 = fadd double %243, %255 + %258 = fsub double %250, %256 + %259 = fadd double %257, %258 + %260 = fadd double %259, %245 + %261 = fadd double %260, %253 + %262 = and i64 %7, -9223372036854775808 + %263 = tail call double @llvm.fabs.f64(double %254) + %264 = bitcast double %263 to i64 + %265 = or i64 %262, %264 + %266 = bitcast i64 %265 to double + %267 = bitcast double %261 to i64 + %268 = and i64 %267, -4294967296 + %269 = xor i64 %262, %268 + %270 = and i64 %267, 4294967295 + %271 = or i64 %270, %269 + %272 = bitcast i64 %271 to double + %273 = fadd double %43, %266 + %274 = fsub double %266, %273 + %275 = fadd double %273, %274 + %276 = fadd double %43, %274 + %277 = fsub double %266, %275 + %278 = fadd double %276, %277 + %279 = fadd double %278, %272 + %280 = fadd double %279, %42 + %281 = fadd double %273, %280 + %282 = and i64 %4, -9223372036854775808 + %283 = tail call double @llvm.fabs.f64(double %281) + %284 = bitcast double %283 to i64 + %285 = or i64 %282, %284 + store i64 %285, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +286: ; preds = %38 + %287 = icmp ult i32 %36, 74 + br i1 %287, label %288, label %296 + +288: ; preds = %286 + %289 = fdiv double %1, %33 + %290 = fsub double 0x3C91A62633145C07, %289 + %291 = fadd double %290, 0x3FF921FB54442D18 + %292 = and i64 %4, -9223372036854775808 + %293 = tail call double @llvm.fabs.f64(double %291) + %294 = bitcast double %293 to i64 + %295 = or i64 %292, %294 + store i64 %295, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +296: ; preds = %286 + %297 = and i64 %4, -9223372036854775808 + %298 = or i64 %297, 4609753056924675352 + store i64 %298, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +299: ; preds = %32 + %300 = icmp sgt i64 %7, -1 + br i1 %300, label %301, label %318 + +301: ; preds = %299 + %302 = fdiv double %33, %35 + %303 = bitcast double %302 to i64 + %304 = and i64 %303, 9218868437227405312 + %305 = icmp eq i64 %304, 0 + br i1 %305, label %312, label %306 + +306: ; preds = %301 + %307 = fadd double %302, 1.000000e+00 + %308 = fmul double %302, %307 + %309 = and i64 %4, -9223372036854775808 + %310 = bitcast double %308 to i64 + %311 = or i64 %309, %310 + store i64 %311, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +312: ; preds = %301 + %313 = fmul double %302, %302 + %314 = fadd double %302, %313 + %315 = and i64 %4, -9223372036854775808 + %316 = bitcast double %314 to i64 + %317 = or i64 %315, %316 + store i64 %317, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +318: ; preds = %299 + %319 = and i64 %4, -9223372036854775808 + %320 = or i64 %319, 4614256656552045848 + store i64 %320, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +321: ; preds = %26 + br i1 %18, label %322, label %327 + +322: ; preds = %321 + %323 = and i32 %6, 1048575 + %324 = trunc i64 %4 to i32 + %325 = or i32 %323, %324 + %326 = icmp eq i32 %325, 0 + br i1 %326, label %330, label %327 + +327: ; preds = %322, %321 + %328 = and i64 %4, -9223372036854775808 + %329 = or i64 %328, 4609753056924675352 + store i64 %329, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +330: ; preds = %322, %19 + %331 = icmp sgt i64 %7, -1 + br i1 %331, label %332, label %334 + +332: ; preds = %330 + %333 = and i64 %4, -9223372036854775808 + store i64 %333, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +334: ; preds = %330 + %335 = and i64 %4, -9223372036854775808 + %336 = or i64 %335, 4614256656552045848 + store i64 %336, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +337: ; preds = %3 + br i1 %14, label %338, label %343 + +338: ; preds = %337 + %339 = and i32 %6, 1048575 + %340 = trunc i64 %4 to i32 + %341 = or i32 %339, %340 + %342 = icmp eq i32 %341, 0 + br i1 %342, label %343, label %350 + +343: ; preds = %338, %337 + br i1 %15, label %344, label %352 + +344: ; preds = %343 + %345 = and i32 %9, 1048575 + %346 = icmp eq i32 %345, 0 + %347 = trunc i64 %7 to i32 + %348 = icmp eq i32 %347, 0 + %349 = select i1 %346, i1 %348, i1 false + br i1 %349, label %355, label %350 + +350: ; preds = %344, %338 + %351 = fadd double %0, %1 + store double %351, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +352: ; preds = %343 + %353 = and i64 %4, -9223372036854775808 + %354 = or i64 %353, 4609753056924675352 + store i64 %354, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +355: ; preds = %344 + br i1 %14, label %363, label %356 + +356: ; preds = %355 + %357 = icmp sgt i64 %7, -1 + br i1 %357, label %358, label %360 + +358: ; preds = %356 + %359 = and i64 %4, -9223372036854775808 + store i64 %359, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +360: ; preds = %356 + %361 = and i64 %4, -9223372036854775808 + %362 = or i64 %361, 4614256656552045848 + store i64 %362, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +363: ; preds = %355 + %364 = icmp sgt i64 %7, -1 + br i1 %364, label %365, label %368 + +365: ; preds = %363 + %366 = and i64 %4, -9223372036854775808 + %367 = or i64 %366, 4605249457297304856 + store i64 %367, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +368: ; preds = %363 + %369 = and i64 %4, -9223372036854775808 + %370 = or i64 %369, 4612488097114038738 + store i64 %370, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %371 + +371: ; preds = %368, %365, %360, %358, %352, %350, %334, %332, %327, %318, %312, %306, %296, %288, %206, %64 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_atan(double noundef %0) local_unnamed_addr #43 !srcloc !1480 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = xor i64 %4, %6 + %8 = lshr i64 %6, 32 + %9 = trunc i64 %8 to i32 + %10 = add nuw i32 %9, 2144337920 + %11 = icmp sgt i32 %10, -36700161 + %12 = icmp sgt i32 %9, 1071382528 + %13 = sext i1 %12 to i32 + %14 = icmp sgt i32 %9, 1072037888 + %15 = sext i1 %14 to i32 + %16 = icmp sgt i32 %9, 1072889856 + %17 = sext i1 %16 to i32 + %18 = icmp sgt i32 %9, 1073971200 + %19 = sext i1 %18 to i32 + %20 = add nsw i32 %13, %15 + %21 = add nsw i32 %17, %19 + %22 = add nsw i32 %20, %21 + %23 = shl nsw i32 %22, 5 + %24 = add nsw i32 %23, 128 + %25 = lshr exact i32 %24, 3 + %26 = zext nneg i32 %25 to i64 + %27 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_135__devicelib_imf_internal_datan_dataE, i64 %26 + %28 = load double, ptr addrspace(1) %27, align 8, !tbaa !719 + %29 = or i32 %25, 1 + %30 = zext nneg i32 %29 to i64 + %31 = getelementptr inbounds i64, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_135__devicelib_imf_internal_datan_dataE, i64 %30 + %32 = load i64, ptr addrspace(1) %31, align 8, !tbaa !719 + %33 = or i32 %25, 2 + %34 = zext nneg i32 %33 to i64 + %35 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_135__devicelib_imf_internal_datan_dataE, i64 %34 + %36 = load double, ptr addrspace(1) %35, align 8, !tbaa !719 + %37 = or i32 %25, 3 + %38 = zext nneg i32 %37 to i64 + %39 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_135__devicelib_imf_internal_datan_dataE, i64 %38 + %40 = load double, ptr addrspace(1) %39, align 8, !tbaa !719 + %41 = and i64 %32, %6 + %42 = bitcast i64 %41 to double + %43 = fsub double %42, %28 + %44 = and i64 %32, 4607182418800017408 + %45 = bitcast i64 %44 to double + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %5, double noundef %45) #56 + %47 = fptrunc double %46 to float + %48 = fdiv float 1.000000e+00, %47 + %49 = fpext float %48 to double + %50 = fneg double %46 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %49, double noundef 1.000000e+00) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %51, double noundef %51) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %49, double noundef %52, double noundef %49) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %53, double noundef 1.000000e+00) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %54, double noundef %53) #56 + %56 = fmul double %55, %43 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %56, double noundef %43) #56 + %58 = fmul double %57, %55 + %59 = fmul double %56, %56 + %60 = fmul double %59, %59 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3F8BE4FBE6733718, double noundef %60, double noundef 0x3FA6AD5558FE19C9) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFA04CD71F92185E, double noundef %60, double noundef 0xBFAA9E755CA13D23) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef %60, double noundef 0x3FAE12F1EDF7C393) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %62, double noundef %60, double noundef 0xBFB1108D326C68ED) #56 + %65 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %60, double noundef 0x3FB3B132B731E73A) #56 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef %60, double noundef 0xBFB745D119677A4F) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %65, double noundef %60, double noundef 0x3FBC71C719F99F96) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %60, double noundef 0xBFC2492492441A21) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef %60, double noundef 0x3FC9999999998F43) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %60, double noundef 0xBFD5555555555552) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %59, double noundef %70) #56 + %72 = fmul double %71, %59 + %73 = fadd double %58, %40 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %56, double noundef %73) #56 + %75 = fadd double %56, %74 + %76 = fadd double %75, %36 + %77 = bitcast double %76 to i64 + %78 = or i64 %7, %77 + %79 = bitcast i64 %78 to double + br i1 %11, label %80, label %84, !prof !1176 + +80: ; preds = %1 + %81 = addrspacecast ptr %3 to ptr addrspace(4) + %82 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store i64 %78, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_130__devicelib_imf_internal_datanEPKdPd(ptr addrspace(4) noundef %82, ptr addrspace(4) noundef %81) #55 + %83 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %84 + +84: ; preds = %80, %1 + %85 = phi double [ %83, %80 ], [ %79, %1 ] + ret double %85 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_130__devicelib_imf_internal_datanEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1481 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = lshr i32 %4, 20 + %6 = and i32 %5, 2047 + %7 = icmp eq i32 %6, 2047 + br i1 %7, label %155, label %8 + +8: ; preds = %2 + %9 = and i32 %4, -2147483648 + %10 = load i64, ptr addrspace(4) %0, align 8, !tbaa !760 + %11 = and i64 %10, 9223372036854775807 + %12 = bitcast i64 %11 to double + %13 = fcmp ult double %12, 1.250000e-01 + br i1 %13, label %106, label %14 + +14: ; preds = %8 + %15 = fcmp olt double %12, 0x4350000000000000 + br i1 %15, label %16, label %101 + +16: ; preds = %14 + %17 = shl nuw nsw i32 %6, 20 + %18 = and i32 %4, 524288 + %19 = or i32 %17, %18 + %20 = add nsw i32 %19, -1069547520 + %21 = and i64 %10, 9221120237041090560 + %22 = or i64 %21, 1125899906842624 + %23 = bitcast i64 %22 to double + %24 = fsub double %12, %23 + %25 = fmul double %24, 0x41A0000002000000 + %26 = fsub double %25, %24 + %27 = fsub double %25, %26 + %28 = fsub double %24, %27 + %29 = fmul double %12, 0x41A0000002000000 + %30 = fsub double %29, %12 + %31 = fsub double %29, %30 + %32 = fsub double %12, %31 + %33 = fmul double %31, %23 + %34 = fmul double %32, %23 + %35 = fadd double %33, %34 + %36 = fsub double %33, %35 + %37 = fadd double %36, %34 + %38 = fadd double %35, 1.000000e+00 + %39 = fsub double 1.000000e+00, %38 + %40 = fadd double %38, %39 + %41 = fadd double %35, %39 + %42 = fsub double 1.000000e+00, %40 + %43 = fadd double %41, %42 + %44 = fadd double %43, %37 + %45 = fmul double %38, 0x41A0000002000000 + %46 = fsub double %45, %38 + %47 = fsub double %45, %46 + %48 = fsub double %38, %47 + %49 = fadd double %48, %44 + %50 = fdiv double 1.000000e+00, %47 + %51 = fmul double %50, 0x41A0000002000000 + %52 = fsub double %51, %50 + %53 = fsub double %51, %52 + %54 = fmul double %47, %53 + %55 = fsub double 1.000000e+00, %54 + %56 = fmul double %49, %53 + %57 = fsub double %55, %56 + %58 = fadd double %57, 1.000000e+00 + %59 = fmul double %58, %57 + %60 = fmul double %59, %53 + %61 = fmul double %53, %27 + %62 = fmul double %60, %28 + %63 = tail call double @llvm.fmuladd.f64(double %53, double %28, double %62) + %64 = tail call double @llvm.fmuladd.f64(double %60, double %27, double %63) + %65 = fadd double %61, %64 + %66 = fsub double %61, %65 + %67 = fadd double %66, %64 + %68 = fmul double %65, %65 + %69 = tail call double @llvm.fmuladd.f64(double %68, double 0xBFB029BD34239994, double 0x3FB3AB7C1048AFD1) + %70 = tail call double @llvm.fmuladd.f64(double %69, double %68, double 0xBFB745BE69CCA475) + %71 = tail call double @llvm.fmuladd.f64(double %70, double %68, double 0x3FBC71C6F9B157D3) + %72 = tail call double @llvm.fmuladd.f64(double %71, double %68, double 0xBFC2492492382A27) + %73 = tail call double @llvm.fmuladd.f64(double %72, double %68, double 0x3FC99999999991BB) + %74 = tail call double @llvm.fmuladd.f64(double %73, double %68, double 0xBFD5555555555555) + %75 = ashr exact i32 %20, 18 + %76 = sext i32 %75 to i64 + %77 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_118__datan_ha_CoutTabE, i64 %76 + %78 = load double, ptr addrspace(1) %77, align 8, !tbaa !760 + %79 = fadd double %78, %65 + %80 = fsub double %78, %79 + %81 = fadd double %80, %65 + %82 = fmul double %74, %68 + %83 = fmul double %82, %65 + %84 = fadd double %83, %67 + %85 = or i32 %75, 1 + %86 = sext i32 %85 to i64 + %87 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_atan_d_ha12_GLOBAL__N_118__datan_ha_CoutTabE, i64 %86 + %88 = load double, ptr addrspace(1) %87, align 8, !tbaa !760 + %89 = fadd double %84, %88 + %90 = fadd double %89, %81 + %91 = fadd double %79, %90 + %92 = bitcast double %91 to i64 + %93 = lshr i64 %92, 32 + %94 = trunc i64 %93 to i32 + %95 = and i32 %94, 2147483647 + %96 = or i32 %95, %9 + %97 = zext i32 %96 to i64 + %98 = shl nuw i64 %97, 32 + %99 = and i64 %92, 4294967295 + %100 = or i64 %99, %98 + store i64 %100, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +101: ; preds = %14 + %102 = or i32 %9, 1073291771 + %103 = zext i32 %102 to i64 + %104 = shl nuw i64 %103, 32 + %105 = or i64 %104, 1413754136 + store i64 %105, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +106: ; preds = %8 + %107 = fcmp ult double %12, 0x3CA0000000000000 + br i1 %107, label %128, label %108 + +108: ; preds = %106 + %109 = fmul double %12, %12 + %110 = tail call double @llvm.fmuladd.f64(double %109, double 0xBFB029BD34239994, double 0x3FB3AB7C1048AFD1) + %111 = tail call double @llvm.fmuladd.f64(double %110, double %109, double 0xBFB745BE69CCA475) + %112 = tail call double @llvm.fmuladd.f64(double %111, double %109, double 0x3FBC71C6F9B157D3) + %113 = tail call double @llvm.fmuladd.f64(double %112, double %109, double 0xBFC2492492382A27) + %114 = tail call double @llvm.fmuladd.f64(double %113, double %109, double 0x3FC99999999991BB) + %115 = tail call double @llvm.fmuladd.f64(double %114, double %109, double 0xBFD5555555555555) + %116 = fmul double %115, %109 + %117 = fmul double %116, %12 + %118 = fadd double %117, %12 + %119 = bitcast double %118 to i64 + %120 = lshr i64 %119, 32 + %121 = trunc i64 %120 to i32 + %122 = and i32 %121, 2147483647 + %123 = or i32 %122, %9 + %124 = zext i32 %123 to i64 + %125 = shl nuw i64 %124, 32 + %126 = and i64 %119, 4294967295 + %127 = or i64 %126, %125 + store i64 %127, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +128: ; preds = %106 + %129 = and i64 %10, 9218868437227405312 + %130 = icmp eq i64 %129, 0 + br i1 %130, label %143, label %131 + +131: ; preds = %128 + %132 = fadd double %12, 1.000000e+00 + %133 = fmul double %132, %12 + %134 = bitcast double %133 to i64 + %135 = lshr i64 %134, 32 + %136 = trunc i64 %135 to i32 + %137 = and i32 %136, 2147483647 + %138 = or i32 %137, %9 + %139 = zext i32 %138 to i64 + %140 = shl nuw i64 %139, 32 + %141 = and i64 %134, 4294967295 + %142 = or i64 %141, %140 + store i64 %142, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +143: ; preds = %128 + %144 = fmul double %12, %12 + %145 = fadd double %144, %12 + %146 = bitcast double %145 to i64 + %147 = lshr i64 %146, 32 + %148 = trunc i64 %147 to i32 + %149 = and i32 %148, 2147483647 + %150 = or i32 %149, %9 + %151 = zext i32 %150 to i64 + %152 = shl nuw i64 %151, 32 + %153 = and i64 %146, 4294967295 + %154 = or i64 %153, %152 + store i64 %154, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +155: ; preds = %2 + %156 = and i32 %4, 1048575 + %157 = icmp eq i32 %156, 0 + br i1 %157, label %158, label %167 + +158: ; preds = %155 + %159 = load i32, ptr addrspace(4) %0, align 8 + %160 = icmp eq i32 %159, 0 + br i1 %160, label %161, label %167 + +161: ; preds = %158 + %162 = and i32 %4, -2147483648 + %163 = or i32 %162, 1073291771 + %164 = zext i32 %163 to i64 + %165 = shl nuw i64 %164, 32 + %166 = or i64 %165, 1413754136 + store i64 %166, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +167: ; preds = %158, %155 + %168 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %169 = fadd double %168, %168 + store double %169, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %170 + +170: ; preds = %167, %161, %143, %131, %108, %101, %16 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_atanh(double noundef %0) local_unnamed_addr #43 !srcloc !1482 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = fcmp olt double %5, 1.000000e+00 + %7 = fcmp olt double %5, 0x350000000000000 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef %0) #56 + %9 = and i64 %4, -9223372036854775808 + %10 = bitcast double %8 to i64 + %11 = or i64 %9, %10 + %12 = fadd double %5, %5 + %13 = fsub double 1.000000e+00, %5 + %14 = fsub double 1.000000e+00, %13 + %15 = fsub double %14, %5 + %16 = fptrunc double %13 to float + %17 = fdiv float 1.000000e+00, %16 + %18 = fpext float %17 to double + %19 = bitcast double %18 to i64 + %20 = and i64 %19, -2199023255552 + %21 = bitcast i64 %20 to double + %22 = fneg double %21 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %13, double noundef 1.000000e+00) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %15, double noundef %23) #56 + %25 = bitcast double %12 to i64 + %26 = and i64 %25, -4096 + %27 = bitcast i64 %26 to double + %28 = fsub double %12, %27 + %29 = fmul double %21, %27 + %30 = fmul double %28, %21 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %24, double noundef 1.000000e+00) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %24, double noundef %24) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %31, double noundef 1.000000e+00) #56 + %34 = fmul double %24, %33 + %35 = fmul double %34, %29 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %30, double noundef %30) #56 + %37 = fadd double %35, %36 + %38 = fadd double %29, %37 + %39 = fsub double %29, %38 + %40 = fadd double %39, %37 + %41 = fcmp olt double %38, 1.000000e+00 + %42 = select i1 %41, double 1.000000e+00, double %38 + %43 = fcmp ogt double %38, 1.000000e+00 + %44 = select i1 %43, double 1.000000e+00, double %38 + %45 = tail call double @llvm.fabs.f64(double %38) + %46 = fcmp olt double %45, 0x3E00000000000000 + %47 = select i1 %46, i64 -1, i64 -1024 + %48 = fadd double %42, %44 + %49 = bitcast double %48 to i64 + %50 = and i64 %47, %49 + %51 = bitcast i64 %50 to double + %52 = fsub double %42, %51 + %53 = fadd double %52, %44 + %54 = and i64 %50, 4503599627370495 + %55 = or i64 %54, 4562146422526312448 + %56 = bitcast i64 %55 to double + %57 = fptrunc double %56 to float + %58 = fdiv float 1.000000e+00, %57 + %59 = fpext float %58 to double + %60 = and i64 %49, 9218868437227405312 + %61 = sub nsw i64 9169328841326329856, %60 + %62 = lshr i64 %49, 52 + %63 = trunc i64 %62 to i32 + %64 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %59) #56 + %65 = bitcast i64 %61 to double + %66 = fmul double %64, %65 + %67 = sitofp i32 %63 to double + %68 = bitcast double %64 to i64 + %69 = lshr i64 %68, 42 + %70 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN21__imf_impl_atanh_d_ha12_GLOBAL__N_136__devicelib_imf_internal_datanh_dataE, i64 -8454144), i64 %69 + %71 = load double, ptr addrspace(1) %70, align 8, !tbaa !719 + %72 = getelementptr double, ptr addrspace(1) %70, i64 1 + %73 = load double, ptr addrspace(1) %72, align 8, !tbaa !719 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef 0x3FE62E42FEFA0000, double noundef %71) #56 + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef 0x3D7CF79ABC9E0000, double noundef %73) #56 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %66, double noundef -1.000000e+00) #56 + %77 = fmul double %53, %66 + %78 = fadd double %76, %77 + %79 = fsub double %78, %76 + %80 = fsub double %77, %79 + %81 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %66, double noundef %80) #56 + %82 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FC9999CACDB4D0A, double noundef %78, double noundef 0xBFD0000148058EE1) #56 + %83 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FD55555555543C5, double noundef %78, double noundef 0xBFDFFFFFFFFFF81F) #56 + %84 = fmul double %78, %78 + %85 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %82, double noundef %84, double noundef %83) #56 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %84, double noundef %81) #56 + %87 = fadd double %74, %78 + %88 = fsub double %87, %74 + %89 = fsub double %78, %88 + %90 = fadd double %75, %89 + %91 = fadd double %90, %86 + %92 = fadd double %91, %87 + %93 = or i64 %9, 4602678819172646912 + %94 = bitcast i64 %93 to double + %95 = fmul double %92, %94 + %96 = bitcast i64 %11 to double + %97 = select i1 %7, double %96, double %95 + br i1 %6, label %102, label %98, !prof !1189 + +98: ; preds = %1 + %99 = addrspacecast ptr %3 to ptr addrspace(4) + %100 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %97, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_atanh_d_ha12_GLOBAL__N_131__devicelib_imf_internal_datanhEPKdPd(ptr addrspace(4) noundef %100, ptr addrspace(4) noundef %99) #55 + %101 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %102 + +102: ; preds = %98, %1 + %103 = phi double [ %101, %98 ], [ %97, %1 ] + ret double %103 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN21__imf_impl_atanh_d_ha12_GLOBAL__N_131__devicelib_imf_internal_datanhEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1483 !sycl_kernel_omit_args !1186 { + %3 = load i64, ptr addrspace(4) %0, align 8 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = and i32 %5, 2146435072 + %7 = icmp eq i32 %6, 2146435072 + %8 = bitcast i64 %3 to double + br i1 %7, label %9, label %16 + +9: ; preds = %2 + %10 = trunc i64 %3 to i32 + %11 = and i32 %5, 1048575 + %12 = or i32 %11, %10 + %13 = icmp eq i32 %12, 0 + br i1 %13, label %16, label %14 + +14: ; preds = %9 + %15 = fmul double %8, %8 + store double %15, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %22 + +16: ; preds = %9, %2 + %17 = and i64 %3, 9223372036854775807 + %18 = icmp eq i64 %17, 4607182418800017408 + br i1 %18, label %19, label %21 + +19: ; preds = %16 + %20 = fdiv double %8, 0.000000e+00 + store double %20, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %22 + +21: ; preds = %16 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %22 + +22: ; preds = %21, %19, %14 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cbrt(double noundef %0) local_unnamed_addr #43 !srcloc !1484 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, -9223372036854775808 + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = bitcast double %4 to i64 + %6 = icmp ult i64 %5, 4503599627370496 + %7 = select i1 %6, i64 4917930793088581632, i64 4607182418800017408 + %8 = select i1 %6, i64 659, i64 682 + %9 = bitcast i64 %7 to double + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %9, double noundef 0.000000e+00) #56 + %11 = bitcast double %10 to i64 + %12 = add i64 %11, 2251799813685248 + %13 = lshr i64 %12, 52 + %14 = mul nuw nsw i64 %13, 1431655766 + %15 = lshr i64 %14, 32 + %16 = mul nsw i64 %15, -3 + %17 = add nsw i64 %16, %13 + %18 = add nuw nsw i64 %15, %8 + %19 = shl nuw nsw i64 %18, 52 + %20 = icmp eq i64 %11, 0 + %21 = select i1 %20, i64 0, i64 %19 + %22 = and i64 %12, -4503599627370496 + %23 = sub i64 %11, %22 + %24 = add i64 %23, 4607182418800017408 + %25 = bitcast i64 %24 to double + %26 = fadd double %25, -1.000000e+00 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF4AAB4475C7EF1D, double noundef %26, double noundef 0x3F6845D681374289) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %26, double noundef 0xBF750D677402621A) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %26, double noundef 0x3F7919308CCDE911) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %26, double noundef 0xBF7A28CF5604DB64) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %26, double noundef 0x3F7BA63C9B8E020D) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %26, double noundef 0xBF7E454BB3957ABA) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %26, double noundef 0x3F80C67D884EFE94) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %26, double noundef 0xBF82B43F401B165D) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %26, double noundef 0x3F850A3BD549B4DA) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %26, double noundef 0xBF87F0EC417B8C4C) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %26, double noundef 0x3F8B9FD77D05593F) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %26, double noundef 0xBF9036DE5B78AF16) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %26, double noundef 0x3F93750ADBCC9F27) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %26, double noundef 0xBF98090D625599C1) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %26, double noundef 0x3F9EE71134F3A579) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %26, double noundef 0xBFA511E8D2B2BC58) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %26, double noundef 0x3FAF9ADD3C0CB194) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %26, double noundef 0xBFBC71C71C71C74C) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %26, double noundef 0x3FD5555555555555) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %26, double noundef 0x3C1C5F9B7EB4A982) #56 + %47 = icmp eq i64 %17, 0 + %48 = select i1 %47, i64 4607182418800017408, i64 4608352999143469707 + %49 = icmp ult i64 %17, 2 + %50 = select i1 %49, i64 %48, i64 4609827837958778429 + %51 = select i1 %47, i64 0, i64 -4866223891260164836 + %52 = select i1 %49, i64 %51, i64 -4858332613810897673 + %53 = bitcast i64 %50 to double + %54 = bitcast i64 %21 to double + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %54, double noundef 0.000000e+00) #56 + %56 = bitcast i64 %52 to double + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %56, double noundef %46, double noundef %56) #56 + %58 = fadd double %46, %57 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef %58, double noundef %55) #56 + %60 = fcmp ole double %10, 0x7FEFFFFFFFFFFFFF + %61 = fadd double %10, %10 + %62 = select i1 %60, double %59, double %61 + %63 = bitcast double %62 to i64 + %64 = xor i64 %3, %63 + %65 = bitcast i64 %64 to double + ret double %65 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cdfnorm(double noundef %0) local_unnamed_addr #43 !srcloc !1485 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = fneg double %0 + %5 = bitcast double %4 to i64 + %6 = tail call double @llvm.fabs.f64(double %4) + %7 = fcmp olt double %6, 0x40433F0000000000 + %8 = select i1 %7, double %6, double 0x40433F0000000000 + %9 = and i64 %5, -9223372036854775808 + %10 = or i64 %9, 4602678819172646912 + %11 = bitcast i64 %10 to double + %12 = fsub double 5.000000e-01, %11 + %13 = fadd double %8, 0x42C0000000000000 + %14 = fcmp ogt double %8, 0x37F0000000000000 + %15 = select i1 %14, double %8, double 0x37F0000000000000 + %16 = fadd double %13, 0xC2C0000000000000 + %17 = fsub double %15, %16 + %18 = fmul double %16, %17 + %19 = bitcast double %13 to i64 + %20 = or i64 %9, 4030721666496593920 + %21 = bitcast i64 %20 to double + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBE9282C89A04C65F, double noundef %18, double noundef 0x3EC72360BAC04E70) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF1441DF86900A46, double noundef %18, double noundef 0x3F4117ABF1FEA28C) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF656433674BA5C2, double noundef %18, double noundef 0x3F8256E8E6045CDF) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %18, double noundef 0xBEFA019F4F234617) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %23, double noundef %18, double noundef 0xBF68618412BC79EC) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %18, double noundef 0xBF95554E249FF4A7) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %18, double noundef 0x3F2A019F5AEED25F) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %18, double noundef 0x3F8C71C4B73B20B6) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %18, double noundef 0x3F99998F9D0729DA) #56 + %31 = shl i64 %19, 1 + %32 = and i64 %31, 536870910 + %33 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_138__devicelib_imf_internal_dcdfnorm_dataE, i64 %32 + %34 = load double, ptr addrspace(1) %33, align 8, !tbaa !719 + %35 = or i64 %32, 1 + %36 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_138__devicelib_imf_internal_dcdfnorm_dataE, i64 %35 + %37 = load double, ptr addrspace(1) %36, align 8, !tbaa !719 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %18, double noundef 0xBF56C16C16D06420) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %18, double noundef 0xBFA9999999F3D838) #56 + %40 = fmul double %17, %17 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %18, double noundef 0x3F811111111AB082) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %18, double noundef 0x3FC0000000379730) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %30, double noundef 0xBFC5555555554ADD) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %18, double noundef 0xBFA555555555548A) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %18, double noundef %43) #56 + %46 = fmul double %18, %18 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %18, double noundef 0x3FC55555555554CF) #56 + %48 = fmul double %18, -5.000000e-01 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %40, double noundef %48) #56 + %50 = fmul double %37, %17 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %46, double noundef %49) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %50, double noundef %50) #56 + %53 = fcmp ule double %0, 0xC0433E21DC3F3BD7 + %54 = fsub double %34, %52 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %21, double noundef %12) #56 + br i1 %53, label %56, label %60, !prof !1176 + +56: ; preds = %1 + %57 = addrspacecast ptr %3 to ptr addrspace(4) + %58 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %55, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_133__devicelib_imf_internal_dcdfnormEPKdPd(ptr addrspace(4) noundef %58, ptr addrspace(4) noundef %57) #55 + %59 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %60 + +60: ; preds = %56, %1 + %61 = phi double [ %59, %56 ], [ %55, %1 ] + ret double %61 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_133__devicelib_imf_internal_dcdfnormEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1486 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = lshr i32 %4, 20 + %6 = and i32 %5, 2047 + %7 = icmp eq i32 %6, 2047 + br i1 %7, label %364, label %8 + +8: ; preds = %2 + %9 = icmp ugt i32 %6, 952 + br i1 %9, label %10, label %361 + +10: ; preds = %8 + %11 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %12 = fcmp ugt double %11, 0x402095B059D67C4C + br i1 %12, label %360, label %13 + +13: ; preds = %10 + %14 = fcmp ult double %11, 0xC0433E21DC3F3BD7 + br i1 %14, label %359, label %15 + +15: ; preds = %13 + %16 = tail call double @llvm.fabs.f64(double %11) + %17 = fadd double %16, 1.000000e+00 + %18 = fmul double %17, %17 + %19 = fmul double %18, %18 + %20 = bitcast double %19 to i64 + %21 = lshr i64 %20, 52 + %22 = trunc i64 %21 to i32 + %23 = and i32 %22, 2047 + %24 = add nsw i32 %23, -1023 + %25 = mul nsw i32 %24, 23 + %26 = zext i32 %25 to i64 + %27 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %26 + %28 = load double, ptr addrspace(1) %27, align 8, !tbaa !760 + %29 = fadd double %16, %28 + %30 = fsub double %16, %29 + %31 = fadd double %29, %30 + %32 = fadd double %28, %30 + %33 = fsub double %16, %31 + %34 = fadd double %32, %33 + %35 = add nsw i32 %25, 22 + %36 = zext i32 %35 to i64 + %37 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %36 + %38 = load double, ptr addrspace(1) %37, align 8, !tbaa !760 + %39 = add nsw i32 %25, 21 + %40 = zext i32 %39 to i64 + %41 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %40 + %42 = load double, ptr addrspace(1) %41, align 8, !tbaa !760 + %43 = tail call double @llvm.fmuladd.f64(double %38, double %29, double %42) + %44 = add nsw i32 %25, 20 + %45 = zext i32 %44 to i64 + %46 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %45 + %47 = load double, ptr addrspace(1) %46, align 8, !tbaa !760 + %48 = tail call double @llvm.fmuladd.f64(double %43, double %29, double %47) + %49 = add nsw i32 %25, 19 + %50 = zext i32 %49 to i64 + %51 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %50 + %52 = load double, ptr addrspace(1) %51, align 8, !tbaa !760 + %53 = tail call double @llvm.fmuladd.f64(double %48, double %29, double %52) + %54 = add nsw i32 %25, 18 + %55 = zext i32 %54 to i64 + %56 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %55 + %57 = load double, ptr addrspace(1) %56, align 8, !tbaa !760 + %58 = tail call double @llvm.fmuladd.f64(double %53, double %29, double %57) + %59 = add nsw i32 %25, 17 + %60 = zext i32 %59 to i64 + %61 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %60 + %62 = load double, ptr addrspace(1) %61, align 8, !tbaa !760 + %63 = tail call double @llvm.fmuladd.f64(double %58, double %29, double %62) + %64 = add nsw i32 %25, 16 + %65 = zext i32 %64 to i64 + %66 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %65 + %67 = load double, ptr addrspace(1) %66, align 8, !tbaa !760 + %68 = tail call double @llvm.fmuladd.f64(double %63, double %29, double %67) + %69 = add nsw i32 %25, 15 + %70 = zext i32 %69 to i64 + %71 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %70 + %72 = load double, ptr addrspace(1) %71, align 8, !tbaa !760 + %73 = tail call double @llvm.fmuladd.f64(double %68, double %29, double %72) + %74 = add nsw i32 %25, 14 + %75 = zext i32 %74 to i64 + %76 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %75 + %77 = load double, ptr addrspace(1) %76, align 8, !tbaa !760 + %78 = tail call double @llvm.fmuladd.f64(double %73, double %29, double %77) + %79 = add nsw i32 %25, 13 + %80 = zext i32 %79 to i64 + %81 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %80 + %82 = load double, ptr addrspace(1) %81, align 8, !tbaa !760 + %83 = tail call double @llvm.fmuladd.f64(double %78, double %29, double %82) + %84 = fmul double %83, %29 + %85 = fmul double %29, 0x41A0000002000000 + %86 = fsub double %85, %29 + %87 = fsub double %85, %86 + %88 = fsub double %29, %87 + %89 = fadd double %88, %34 + %90 = add nsw i32 %25, 11 + %91 = zext i32 %90 to i64 + %92 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %91 + %93 = load double, ptr addrspace(1) %92, align 8, !tbaa !760 + %94 = fadd double %93, %84 + %95 = fsub double %93, %94 + %96 = fadd double %95, %84 + %97 = add nsw i32 %25, 12 + %98 = zext i32 %97 to i64 + %99 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %98 + %100 = load double, ptr addrspace(1) %99, align 8, !tbaa !760 + %101 = fadd double %96, %100 + %102 = fmul double %94, 0x41A0000002000000 + %103 = fsub double %102, %94 + %104 = fsub double %102, %103 + %105 = fsub double %94, %104 + %106 = fadd double %105, %101 + %107 = fmul double %104, %87 + %108 = fmul double %106, %89 + %109 = tail call double @llvm.fmuladd.f64(double %104, double %89, double %108) + %110 = tail call double @llvm.fmuladd.f64(double %106, double %87, double %109) + %111 = add nsw i32 %25, 9 + %112 = zext i32 %111 to i64 + %113 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %112 + %114 = load double, ptr addrspace(1) %113, align 8, !tbaa !760 + %115 = fadd double %114, %107 + %116 = fsub double %114, %115 + %117 = fadd double %116, %107 + %118 = fadd double %117, %110 + %119 = add nsw i32 %25, 10 + %120 = zext i32 %119 to i64 + %121 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %120 + %122 = load double, ptr addrspace(1) %121, align 8, !tbaa !760 + %123 = fadd double %118, %122 + %124 = fmul double %115, 0x41A0000002000000 + %125 = fsub double %124, %115 + %126 = fsub double %124, %125 + %127 = fsub double %115, %126 + %128 = fadd double %127, %123 + %129 = fmul double %126, %87 + %130 = fmul double %128, %89 + %131 = tail call double @llvm.fmuladd.f64(double %126, double %89, double %130) + %132 = tail call double @llvm.fmuladd.f64(double %128, double %87, double %131) + %133 = add nsw i32 %25, 7 + %134 = zext i32 %133 to i64 + %135 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %134 + %136 = load double, ptr addrspace(1) %135, align 8, !tbaa !760 + %137 = fadd double %136, %129 + %138 = fsub double %136, %137 + %139 = fadd double %138, %129 + %140 = fadd double %139, %132 + %141 = add nsw i32 %25, 8 + %142 = zext i32 %141 to i64 + %143 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %142 + %144 = load double, ptr addrspace(1) %143, align 8, !tbaa !760 + %145 = fadd double %140, %144 + %146 = fmul double %137, 0x41A0000002000000 + %147 = fsub double %146, %137 + %148 = fsub double %146, %147 + %149 = fsub double %137, %148 + %150 = fadd double %149, %145 + %151 = fmul double %148, %87 + %152 = fmul double %150, %89 + %153 = tail call double @llvm.fmuladd.f64(double %148, double %89, double %152) + %154 = tail call double @llvm.fmuladd.f64(double %150, double %87, double %153) + %155 = add nsw i32 %25, 5 + %156 = zext i32 %155 to i64 + %157 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %156 + %158 = load double, ptr addrspace(1) %157, align 8, !tbaa !760 + %159 = fadd double %158, %151 + %160 = fsub double %158, %159 + %161 = fadd double %160, %151 + %162 = fadd double %161, %154 + %163 = add nsw i32 %25, 6 + %164 = zext i32 %163 to i64 + %165 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %164 + %166 = load double, ptr addrspace(1) %165, align 8, !tbaa !760 + %167 = fadd double %162, %166 + %168 = fmul double %159, 0x41A0000002000000 + %169 = fsub double %168, %159 + %170 = fsub double %168, %169 + %171 = fsub double %159, %170 + %172 = fadd double %171, %167 + %173 = fmul double %170, %87 + %174 = fmul double %172, %89 + %175 = tail call double @llvm.fmuladd.f64(double %170, double %89, double %174) + %176 = tail call double @llvm.fmuladd.f64(double %172, double %87, double %175) + %177 = add nsw i32 %25, 3 + %178 = zext i32 %177 to i64 + %179 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %178 + %180 = load double, ptr addrspace(1) %179, align 8, !tbaa !760 + %181 = fadd double %180, %173 + %182 = fsub double %180, %181 + %183 = fadd double %182, %173 + %184 = fadd double %183, %176 + %185 = add nsw i32 %25, 4 + %186 = zext i32 %185 to i64 + %187 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %186 + %188 = load double, ptr addrspace(1) %187, align 8, !tbaa !760 + %189 = fadd double %184, %188 + %190 = fmul double %181, 0x41A0000002000000 + %191 = fsub double %190, %181 + %192 = fsub double %190, %191 + %193 = fsub double %181, %192 + %194 = fadd double %193, %189 + %195 = fmul double %192, %87 + %196 = fmul double %194, %89 + %197 = tail call double @llvm.fmuladd.f64(double %192, double %89, double %196) + %198 = tail call double @llvm.fmuladd.f64(double %194, double %87, double %197) + %199 = add nsw i32 %25, 1 + %200 = zext i32 %199 to i64 + %201 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %200 + %202 = load double, ptr addrspace(1) %201, align 8, !tbaa !760 + %203 = fadd double %202, %195 + %204 = fsub double %202, %203 + %205 = fadd double %204, %195 + %206 = fadd double %205, %198 + %207 = add nsw i32 %25, 2 + %208 = zext i32 %207 to i64 + %209 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %208 + %210 = load double, ptr addrspace(1) %209, align 8, !tbaa !760 + %211 = fadd double %206, %210 + %212 = fadd double %203, %211 + %213 = fsub double %203, %212 + %214 = fadd double %213, %211 + %215 = icmp ult i32 %24, 6 + br i1 %215, label %310, label %216 + +216: ; preds = %15 + %217 = fmul double %212, 0x41A0000002000000 + %218 = fsub double %217, %212 + %219 = fsub double %217, %218 + %220 = fsub double %212, %219 + %221 = fadd double %214, %220 + %222 = fmul double %11, 0x41A0000002000000 + %223 = fsub double %222, %11 + %224 = fsub double %222, %223 + %225 = fsub double %11, %224 + %226 = fmul double %224, %224 + %227 = fmul double %225, %225 + %228 = tail call double @llvm.fmuladd.f64(double %224, double %225, double %227) + %229 = tail call double @llvm.fmuladd.f64(double %225, double %224, double %228) + %230 = fmul double %226, -5.000000e-01 + %231 = fmul double %229, -5.000000e-01 + %232 = fmul double %230, 0x40571547652B82FE + %233 = fadd double %232, 0x4338000000000000 + %234 = fadd double %233, 0xC338000000000000 + %235 = fneg double %234 + %236 = tail call double @llvm.fmuladd.f64(double %235, double 0x3F862E42FEFA0000, double %230) + %237 = fmul double %234, 0xBD1CF79ABC9E3B3A + %238 = fadd double %236, %237 + %239 = fsub double %236, %238 + %240 = fadd double %238, %239 + %241 = fadd double %237, %239 + %242 = fsub double %236, %240 + %243 = fadd double %241, %242 + %244 = fadd double %238, %231 + %245 = fsub double %238, %244 + %246 = fadd double %244, %245 + %247 = fadd double %231, %245 + %248 = fsub double %238, %246 + %249 = fadd double %247, %248 + %250 = fadd double %243, %249 + %251 = bitcast double %233 to i64 + %252 = trunc i64 %251 to i32 + %253 = tail call double @llvm.fmuladd.f64(double %244, double 0x3F56C16A1C2A3FFD, double 0x3F8111123AAF20D3) + %254 = tail call double @llvm.fmuladd.f64(double %253, double %244, double 0x3FA5555555558FCC) + %255 = tail call double @llvm.fmuladd.f64(double %254, double %244, double 0x3FC55555555548F8) + %256 = tail call double @llvm.fmuladd.f64(double %255, double %244, double 5.000000e-01) + %257 = fmul double %256, %244 + %258 = fmul double %257, %244 + %259 = fadd double %258, %244 + %260 = fsub double %258, %259 + %261 = fadd double %260, %244 + %262 = fmul double %259, 0x41A0000002000000 + %263 = fsub double %262, %259 + %264 = fsub double %262, %263 + %265 = fsub double %259, %264 + %266 = fadd double %261, %265 + %267 = fadd double %266, %250 + %268 = shl i32 %252, 1 + %269 = and i32 %268, 126 + %270 = add nuw nsw i32 %269, 511 + %271 = zext nneg i32 %270 to i64 + %272 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %271 + %273 = load double, ptr addrspace(1) %272, align 8, !tbaa !760 + %274 = fmul double %273, %264 + %275 = or i32 %269, 512 + %276 = zext nneg i32 %275 to i64 + %277 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_cdfnorm_d_la12_GLOBAL__N_117_imldCdfNormHATabE, i64 %276 + %278 = load double, ptr addrspace(1) %277, align 8, !tbaa !760 + %279 = fmul double %278, %267 + %280 = tail call double @llvm.fmuladd.f64(double %273, double %267, double %279) + %281 = tail call double @llvm.fmuladd.f64(double %278, double %264, double %280) + %282 = fadd double %274, %273 + %283 = fsub double %274, %282 + %284 = fadd double %282, %283 + %285 = fadd double %273, %283 + %286 = fsub double %274, %284 + %287 = fadd double %285, %286 + %288 = fadd double %287, %278 + %289 = fadd double %281, %288 + %290 = fmul double %282, 0x41A0000002000000 + %291 = fsub double %290, %282 + %292 = fsub double %290, %291 + %293 = fsub double %282, %292 + %294 = fadd double %289, %293 + %295 = fmul double %219, %292 + %296 = fmul double %221, %294 + %297 = tail call double @llvm.fmuladd.f64(double %219, double %294, double %296) + %298 = tail call double @llvm.fmuladd.f64(double %221, double %292, double %297) + %299 = shl i32 %252, 14 + %300 = add i32 %299, 1072693248 + %301 = and i32 %300, 2146435072 + %302 = zext nneg i32 %301 to i64 + %303 = shl nuw nsw i64 %302, 32 + %304 = bitcast i64 %303 to double + %305 = add i32 %299, 1282408448 + %306 = and i32 %305, 2146435072 + %307 = zext nneg i32 %306 to i64 + %308 = shl nuw nsw i64 %307, 32 + %309 = bitcast i64 %308 to double + br label %310 + +310: ; preds = %216, %15 + %311 = phi double [ %304, %216 ], [ 1.000000e+00, %15 ] + %312 = phi double [ %298, %216 ], [ %214, %15 ] + %313 = phi double [ %295, %216 ], [ %212, %15 ] + %314 = phi double [ %309, %216 ], [ 0xC80000000000000, %15 ] + %315 = icmp sgt i32 %4, -1 + br i1 %315, label %342, label %316 + +316: ; preds = %310 + %317 = fcmp ult double %11, 0xC042C27B05BF1A0B + br i1 %317, label %321, label %318 + +318: ; preds = %316 + %319 = fadd double %313, %312 + %320 = fmul double %319, %311 + br label %357 + +321: ; preds = %316 + %322 = fmul double %313, %314 + %323 = fmul double %312, %314 + %324 = fcmp olt double %11, 0xC042DEC104973DDC + br i1 %324, label %325, label %330 + +325: ; preds = %321 + %326 = fadd double %322, %323 + %327 = fmul double %326, 0x3370000000000000 + %328 = fmul double %327, %327 + %329 = fadd double %327, %328 + br label %357 + +330: ; preds = %321 + %331 = fadd double %322, %323 + %332 = fsub double %322, %331 + %333 = fadd double %332, %323 + %334 = fmul double %331, 0x41A0000002000000 + %335 = fsub double %334, %331 + %336 = fsub double %334, %335 + %337 = fsub double %331, %336 + %338 = fadd double %333, %337 + %339 = fmul double %336, 0x3370000000000000 + %340 = fmul double %338, 0x3370000000000000 + %341 = fadd double %339, %340 + br label %357 + +342: ; preds = %310 + %343 = fneg double %311 + %344 = fmul double %313, %343 + %345 = fmul double %312, %343 + %346 = fadd double %344, 1.000000e+00 + %347 = fsub double 1.000000e+00, %346 + %348 = fadd double %347, %344 + %349 = fadd double %346, %345 + %350 = fsub double %346, %349 + %351 = fadd double %349, %350 + %352 = fadd double %345, %350 + %353 = fsub double %346, %351 + %354 = fadd double %352, %353 + %355 = fadd double %354, %348 + %356 = fadd double %349, %355 + br label %357 + +357: ; preds = %342, %330, %325, %318 + %358 = phi double [ %320, %318 ], [ %329, %325 ], [ %341, %330 ], [ %356, %342 ] + store double %358, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +359: ; preds = %13 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +360: ; preds = %10 + store double 1.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +361: ; preds = %8 + %362 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %363 = fadd double %362, 5.000000e-01 + store double %363, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +364: ; preds = %2 + %365 = and i32 %4, 1048575 + %366 = icmp eq i32 %365, 0 + br i1 %366, label %367, label %370 + +367: ; preds = %364 + %368 = load i32, ptr addrspace(4) %0, align 8 + %369 = icmp eq i32 %368, 0 + br i1 %369, label %373, label %370 + +370: ; preds = %367, %364 + %371 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %372 = fmul double %371, %371 + store double %372, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +373: ; preds = %367 + %374 = icmp sgt i32 %4, -1 + br i1 %374, label %376, label %375 + +375: ; preds = %373 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +376: ; preds = %373 + store double 1.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %377 + +377: ; preds = %376, %375, %370, %361, %360, %359, %357 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cdfnorminv(double noundef %0) local_unnamed_addr #43 !srcloc !1487 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = fcmp uge double %0, 1.000000e+00 + %5 = fcmp ogt double %0, 5.000000e-01 + %6 = fcmp oeq double %0, 5.000000e-01 + %7 = fsub double 1.000000e+00, %0 + %8 = select i1 %5, double %7, double %0 + %9 = fcmp olt double %8, 0x3DC0000000000000 + %10 = or i1 %4, %9 + %11 = or i1 %10, %6 + %12 = select i1 %11, double 2.500000e-01, double %8 + %13 = fcmp oge double %12, 2.500000e-01 + %14 = fsub double 5.000000e-01, %12 + %15 = select i1 %13, double %14, double %12 + %16 = bitcast double %15 to i64 + %17 = and i64 %16, 9223336852482686976 + %18 = and i64 %16, -9223336852482686977 + %19 = bitcast i64 %18 to double + %20 = fcmp une double %19, 0.000000e+00 + %21 = and i1 %13, %20 + %22 = add nuw i64 %17, 35184372088832 + %23 = select i1 %21, i64 %22, i64 %17 + %24 = bitcast i64 %23 to double + %25 = fsub double 5.000000e-01, %24 + %26 = select i1 %13, double %25, double %24 + %27 = add i64 %23, -4449556431842050048 + %28 = ashr exact i64 %27, 41 + %29 = sub nsw i64 135168, %28 + %30 = select i1 %13, i64 %29, i64 %28 + %31 = lshr i64 %30, 3 + %32 = getelementptr inbounds i64, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_148__devicelib_imf_internal_dcdfnorminv_data_avx512E, i64 %31 + %33 = load double, ptr addrspace(1) %32, align 8, !tbaa !719 + %34 = getelementptr double, ptr addrspace(1) %32, i64 1 + %35 = load double, ptr addrspace(1) %34, align 8, !tbaa !719 + %36 = fsub double %12, %26 + %37 = fmul double %36, %35 + %38 = fmul double %33, %33 + %39 = fmul double %33, 0xC011C5831ADD62E4 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x4024FFDDEAA22DC8, double noundef 0x4004FFDDEAA22DC8) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0xC03BEA5B6072B262, double noundef 0xC03048B54D983D64) #56 + %42 = fmul double %41, %33 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x4053CAA2994BA8B7, double noundef 0x4052F7867D932C5A) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %43, double noundef 0x40171713082D9A2B) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0xC06D3BA5C1C5F47E, double noundef 0xC073DAA4D7DEFA51) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %45, double noundef 0xC04EF0318F35C4E3) #56 + %47 = fmul double %33, %46 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %47, double noundef %44) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %48, double noundef %42) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %49, double noundef %40) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %50, double noundef %39) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %51, double noundef 0x40040D931FF62706) #56 + %53 = fmul double %37, %52 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef 0xBFF6A09E667F3BCD, double noundef %53) #56 + %55 = select i1 %6, double 0.000000e+00, double %54 + %56 = tail call double @llvm.fabs.f64(double %55) + %57 = select i1 %5, double %56, double %55 + br i1 %10, label %58, label %62, !prof !1176 + +58: ; preds = %1 + %59 = addrspacecast ptr %3 to ptr addrspace(4) + %60 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %57, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_136__devicelib_imf_internal_dcdfnorminvEPKdPd(ptr addrspace(4) noundef %60, ptr addrspace(4) noundef %59) #55 + %61 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %62 + +62: ; preds = %58, %1 + %63 = phi double [ %61, %58 ], [ %57, %1 ] + ret double %63 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_136__devicelib_imf_internal_dcdfnorminvEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1488 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %1896, label %7 + +7: ; preds = %2 + %8 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %9 = fcmp ogt double %8, 0.000000e+00 + %10 = fcmp olt double %8, 1.000000e+00 + %11 = and i1 %9, %10 + br i1 %11, label %12, label %1887 + +12: ; preds = %7 + %13 = fadd double %8, %8 + %14 = fadd double %13, -1.000000e+00 + %15 = fadd double %14, 1.000000e+00 + %16 = fsub double %13, %15 + %17 = tail call double @llvm.fabs.f64(double %14) + %18 = fcmp olt double %17, 8.750000e-01 + br i1 %18, label %19, label %876 + +19: ; preds = %12 + %20 = fcmp olt double %17, 1.250000e-01 + br i1 %20, label %21, label %270 + +21: ; preds = %19 + %22 = fcmp oeq double %8, 5.000000e-01 + br i1 %22, label %23, label %24 + +23: ; preds = %21 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +24: ; preds = %21 + %25 = fmul double %14, 0x41A0000002000000 + %26 = fsub double %25, %14 + %27 = fsub double %25, %26 + %28 = fsub double %14, %27 + %29 = fmul double %14, %14 + %30 = fmul double %27, %27 + %31 = fmul double %27, %28 + %32 = fmul double %28, %28 + %33 = fsub double %30, %29 + %34 = fadd double %31, %33 + %35 = fadd double %31, %34 + %36 = fadd double %32, %35 + %37 = fmul double %29, 0x41A0000002000000 + %38 = fsub double %37, %29 + %39 = fsub double %37, %38 + %40 = fsub double %29, %39 + %41 = fmul double %29, 0x3FA1453877604FE5 + %42 = fmul double %39, 0x3FA1453878000000 + %43 = fmul double %40, 0x3FA1453878000000 + %44 = fmul double %39, 0xBDD3F60360000000 + %45 = fmul double %40, 0xBDD3F60360000000 + %46 = fsub double %42, %41 + %47 = fadd double %43, %46 + %48 = fadd double %44, %47 + %49 = fadd double %45, %48 + %50 = fmul double %36, 0x3FA1453877604FE5 + %51 = fmul double %29, 0xBC4ED8760D890367 + %52 = fadd double %50, %51 + %53 = fadd double %49, %52 + %54 = fadd double %41, 0x3FA2A3B8EFFE372B + %55 = fsub double 0x3FA2A3B8EFFE372B, %54 + %56 = fadd double %54, %55 + %57 = fadd double %41, %55 + %58 = fsub double 0x3FA2A3B8EFFE372B, %56 + %59 = fadd double %57, %58 + %60 = fadd double %53, 0xBC2C9179048B7813 + %61 = fadd double %59, %60 + %62 = fmul double %54, 0x41A0000002000000 + %63 = fsub double %62, %54 + %64 = fsub double %62, %63 + %65 = fsub double %54, %64 + %66 = fmul double %54, %29 + %67 = fmul double %64, %39 + %68 = fmul double %64, %40 + %69 = fmul double %65, %39 + %70 = fmul double %65, %40 + %71 = fsub double %67, %66 + %72 = fadd double %68, %71 + %73 = fadd double %69, %72 + %74 = fadd double %70, %73 + %75 = fmul double %54, %36 + %76 = fmul double %61, %29 + %77 = fadd double %75, %76 + %78 = fadd double %74, %77 + %79 = fadd double %66, 0x3FA5EED224D0DE5D + %80 = fsub double 0x3FA5EED224D0DE5D, %79 + %81 = fadd double %79, %80 + %82 = fadd double %66, %80 + %83 = fsub double 0x3FA5EED224D0DE5D, %81 + %84 = fadd double %82, %83 + %85 = fadd double %78, 0xBC4D901D2D53F24A + %86 = fadd double %84, %85 + %87 = fmul double %79, 0x41A0000002000000 + %88 = fsub double %87, %79 + %89 = fsub double %87, %88 + %90 = fsub double %79, %89 + %91 = fmul double %79, %29 + %92 = fmul double %89, %39 + %93 = fmul double %89, %40 + %94 = fmul double %90, %39 + %95 = fmul double %90, %40 + %96 = fsub double %92, %91 + %97 = fadd double %93, %96 + %98 = fadd double %94, %97 + %99 = fadd double %95, %98 + %100 = fmul double %79, %36 + %101 = fmul double %86, %29 + %102 = fadd double %100, %101 + %103 = fadd double %99, %102 + %104 = fadd double %91, 0x3FAA7C857C26535C + %105 = fsub double 0x3FAA7C857C26535C, %104 + %106 = fadd double %104, %105 + %107 = fadd double %91, %105 + %108 = fsub double 0x3FAA7C857C26535C, %106 + %109 = fadd double %107, %108 + %110 = fadd double %103, 0xBC4483DD5F32CA5C + %111 = fadd double %109, %110 + %112 = fmul double %104, 0x41A0000002000000 + %113 = fsub double %112, %104 + %114 = fsub double %112, %113 + %115 = fsub double %104, %114 + %116 = fmul double %104, %29 + %117 = fmul double %114, %39 + %118 = fmul double %114, %40 + %119 = fmul double %115, %39 + %120 = fmul double %115, %40 + %121 = fsub double %117, %116 + %122 = fadd double %118, %121 + %123 = fadd double %119, %122 + %124 = fadd double %120, %123 + %125 = fmul double %104, %36 + %126 = fmul double %111, %29 + %127 = fadd double %125, %126 + %128 = fadd double %124, %127 + %129 = fadd double %116, 0x3FB0A13189FC0194 + %130 = fsub double 0x3FB0A13189FC0194, %129 + %131 = fadd double %129, %130 + %132 = fadd double %116, %130 + %133 = fsub double 0x3FB0A13189FC0194, %131 + %134 = fadd double %132, %133 + %135 = fadd double %128, 0x3BF238E461C8D1F8 + %136 = fadd double %134, %135 + %137 = fmul double %129, 0x41A0000002000000 + %138 = fsub double %137, %129 + %139 = fsub double %137, %138 + %140 = fsub double %129, %139 + %141 = fmul double %129, %29 + %142 = fmul double %139, %39 + %143 = fmul double %139, %40 + %144 = fmul double %140, %39 + %145 = fmul double %140, %40 + %146 = fsub double %142, %141 + %147 = fadd double %143, %146 + %148 = fadd double %144, %147 + %149 = fadd double %145, %148 + %150 = fmul double %129, %36 + %151 = fmul double %136, %29 + %152 = fadd double %150, %151 + %153 = fadd double %149, %152 + %154 = fadd double %141, 0x3FB62847C47DB0EC + %155 = fsub double 0x3FB62847C47DB0EC, %154 + %156 = fadd double %154, %155 + %157 = fadd double %141, %155 + %158 = fsub double 0x3FB62847C47DB0EC, %156 + %159 = fadd double %157, %158 + %160 = fadd double %153, 0x3C58D304E354BC8B + %161 = fadd double %159, %160 + %162 = fmul double %154, 0x41A0000002000000 + %163 = fsub double %162, %154 + %164 = fsub double %162, %163 + %165 = fsub double %154, %164 + %166 = fmul double %154, %29 + %167 = fmul double %164, %39 + %168 = fmul double %164, %40 + %169 = fmul double %165, %39 + %170 = fmul double %165, %40 + %171 = fsub double %167, %166 + %172 = fadd double %168, %171 + %173 = fadd double %169, %172 + %174 = fadd double %170, %173 + %175 = fmul double %154, %36 + %176 = fmul double %161, %29 + %177 = fadd double %175, %176 + %178 = fadd double %174, %177 + %179 = fadd double %166, 0x3FC053C2C0AB91CD + %180 = fsub double 0x3FC053C2C0AB91CD, %179 + %181 = fadd double %179, %180 + %182 = fadd double %166, %180 + %183 = fsub double 0x3FC053C2C0AB91CD, %181 + %184 = fadd double %182, %183 + %185 = fadd double %178, 0x3C48D7557EAF826B + %186 = fadd double %184, %185 + %187 = fmul double %179, 0x41A0000002000000 + %188 = fsub double %187, %179 + %189 = fsub double %187, %188 + %190 = fsub double %179, %189 + %191 = fmul double %179, %29 + %192 = fmul double %189, %39 + %193 = fmul double %189, %40 + %194 = fmul double %190, %39 + %195 = fmul double %190, %40 + %196 = fsub double %192, %191 + %197 = fadd double %193, %196 + %198 = fadd double %194, %197 + %199 = fadd double %195, %198 + %200 = fmul double %179, %36 + %201 = fmul double %186, %29 + %202 = fadd double %200, %201 + %203 = fadd double %199, %202 + %204 = fadd double %191, 0x3FCDB29FB2FEE5E4 + %205 = fsub double 0x3FCDB29FB2FEE5E4, %204 + %206 = fadd double %204, %205 + %207 = fadd double %191, %205 + %208 = fsub double 0x3FCDB29FB2FEE5E4, %206 + %209 = fadd double %207, %208 + %210 = fadd double %203, 0xBC3656A7E5AE189D + %211 = fadd double %209, %210 + %212 = fmul double %204, 0x41A0000002000000 + %213 = fsub double %212, %204 + %214 = fsub double %212, %213 + %215 = fsub double %204, %214 + %216 = fmul double %204, %29 + %217 = fmul double %214, %39 + %218 = fmul double %214, %40 + %219 = fmul double %215, %39 + %220 = fmul double %215, %40 + %221 = fsub double %217, %216 + %222 = fadd double %218, %221 + %223 = fadd double %219, %222 + %224 = fadd double %220, %223 + %225 = fmul double %204, %36 + %226 = fmul double %211, %29 + %227 = fadd double %225, %226 + %228 = fadd double %224, %227 + %229 = fadd double %216, 0x3FEC5BF891B4EF6B + %230 = fsub double 0x3FEC5BF891B4EF6B, %229 + %231 = fadd double %229, %230 + %232 = fadd double %216, %230 + %233 = fsub double 0x3FEC5BF891B4EF6B, %231 + %234 = fadd double %232, %233 + %235 = fadd double %228, 0xBC8618F0C4045EF1 + %236 = fadd double %234, %235 + %237 = fmul double %229, 0x41A0000002000000 + %238 = fsub double %237, %229 + %239 = fsub double %237, %238 + %240 = fsub double %229, %239 + %241 = fmul double %229, %14 + %242 = fmul double %239, %27 + %243 = fmul double %239, %28 + %244 = fmul double %240, %27 + %245 = fmul double %240, %28 + %246 = fsub double %242, %241 + %247 = fadd double %243, %246 + %248 = fadd double %244, %247 + %249 = fadd double %245, %248 + %250 = fmul double %236, %14 + %251 = fadd double %249, %250 + %252 = fmul double %241, 0x41A0000002000000 + %253 = fsub double %252, %241 + %254 = fsub double %252, %253 + %255 = fsub double %241, %254 + %256 = fmul double %241, 0x3FF6A09E667F3BCD + %257 = fmul double %254, 0x3FF6A09E68000000 + %258 = fmul double %254, 0xBE380C4330000000 + %259 = fmul double %255, 0x3FF6A09E68000000 + %260 = fmul double %255, 0xBE380C4330000000 + %261 = fsub double %257, %256 + %262 = fadd double %258, %261 + %263 = fadd double %259, %262 + %264 = fadd double %260, %263 + %265 = fmul double %241, 0xBC9BDD3413B26456 + %266 = fmul double %251, 0x3FF6A09E667F3BCD + %267 = fadd double %265, %266 + %268 = fadd double %264, %267 + %269 = fadd double %256, %268 + store double %269, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +270: ; preds = %19 + %271 = fadd double %14, 8.750000e-01 + %272 = fsub double 8.750000e-01, %271 + %273 = fadd double %272, %14 + %274 = fadd double %14, -8.750000e-01 + %275 = fsub double -8.750000e-01, %274 + %276 = fadd double %275, %14 + %277 = fadd double %273, %16 + %278 = fadd double %276, %16 + %279 = fmul double %271, 0x41A0000002000000 + %280 = fsub double %279, %271 + %281 = fsub double %279, %280 + %282 = fsub double %271, %281 + %283 = fmul double %274, 0x41A0000002000000 + %284 = fsub double %283, %274 + %285 = fsub double %283, %284 + %286 = fsub double %274, %285 + %287 = fmul double %271, %274 + %288 = fmul double %281, %285 + %289 = fmul double %281, %286 + %290 = fmul double %282, %285 + %291 = fmul double %282, %286 + %292 = fsub double %288, %287 + %293 = fadd double %289, %292 + %294 = fadd double %290, %293 + %295 = fadd double %291, %294 + %296 = fmul double %271, %278 + %297 = fmul double %277, %274 + %298 = fadd double %296, %297 + %299 = fadd double %295, %298 + %300 = fmul double %287, 0x41A0000002000000 + %301 = fsub double %300, %287 + %302 = fsub double %300, %301 + %303 = fsub double %287, %302 + %304 = fmul double %14, 0x41A0000002000000 + %305 = fsub double %304, %14 + %306 = fsub double %304, %305 + %307 = fsub double %14, %306 + %308 = fmul double %287, 0x3FA8220B8B203C29 + %309 = fmul double %302, 0x3FA8220B88000000 + %310 = fmul double %303, 0x3FA8220B88000000 + %311 = fmul double %302, 0x3DF901E148000000 + %312 = fmul double %303, 0x3DF901E148000000 + %313 = fsub double %309, %308 + %314 = fadd double %310, %313 + %315 = fadd double %311, %314 + %316 = fadd double %312, %315 + %317 = fmul double %299, 0x3FA8220B8B203C29 + %318 = fmul double %287, 0x3C4C6DC9F5E71917 + %319 = fadd double %317, %318 + %320 = fadd double %316, %319 + %321 = fadd double %308, 0xC01278BBE9284837 + %322 = fsub double 0xC01278BBE9284837, %321 + %323 = fadd double %321, %322 + %324 = fadd double %308, %322 + %325 = fsub double 0xC01278BBE9284837, %323 + %326 = fadd double %324, %325 + %327 = fadd double %320, 0xBCB1228CCA79E297 + %328 = fadd double %326, %327 + %329 = fmul double %321, 0x41A0000002000000 + %330 = fsub double %329, %321 + %331 = fsub double %329, %330 + %332 = fsub double %321, %331 + %333 = fmul double %321, %287 + %334 = fmul double %331, %302 + %335 = fmul double %331, %303 + %336 = fmul double %332, %302 + %337 = fmul double %332, %303 + %338 = fsub double %334, %333 + %339 = fadd double %335, %338 + %340 = fadd double %336, %339 + %341 = fadd double %337, %340 + %342 = fmul double %321, %299 + %343 = fmul double %328, %287 + %344 = fadd double %342, %343 + %345 = fadd double %341, %344 + %346 = fadd double %333, 0x4051C1F63CC5AF00 + %347 = fsub double 0x4051C1F63CC5AF00, %346 + %348 = fadd double %346, %347 + %349 = fadd double %333, %347 + %350 = fsub double 0x4051C1F63CC5AF00, %348 + %351 = fadd double %349, %350 + %352 = fadd double %345, 0x3CFA2D2521CA3856 + %353 = fadd double %351, %352 + %354 = fmul double %346, 0x41A0000002000000 + %355 = fsub double %354, %346 + %356 = fsub double %354, %355 + %357 = fsub double %346, %356 + %358 = fmul double %346, %287 + %359 = fmul double %356, %302 + %360 = fmul double %356, %303 + %361 = fmul double %357, %302 + %362 = fmul double %357, %303 + %363 = fsub double %359, %358 + %364 = fadd double %360, %363 + %365 = fadd double %361, %364 + %366 = fadd double %362, %365 + %367 = fmul double %346, %299 + %368 = fmul double %353, %287 + %369 = fadd double %367, %368 + %370 = fadd double %366, %369 + %371 = fadd double %358, 0xC0785B5A2CC9556C + %372 = fsub double 0xC0785B5A2CC9556C, %371 + %373 = fadd double %371, %372 + %374 = fadd double %358, %372 + %375 = fsub double 0xC0785B5A2CC9556C, %373 + %376 = fadd double %374, %375 + %377 = fadd double %370, 0xBD1CA585DB17334C + %378 = fadd double %376, %377 + %379 = fmul double %371, 0x41A0000002000000 + %380 = fsub double %379, %371 + %381 = fsub double %379, %380 + %382 = fsub double %371, %381 + %383 = fmul double %371, %287 + %384 = fmul double %381, %302 + %385 = fmul double %381, %303 + %386 = fmul double %382, %302 + %387 = fmul double %382, %303 + %388 = fsub double %384, %383 + %389 = fadd double %385, %388 + %390 = fadd double %386, %389 + %391 = fadd double %387, %390 + %392 = fmul double %371, %299 + %393 = fmul double %378, %287 + %394 = fadd double %392, %393 + %395 = fadd double %391, %394 + %396 = fadd double %383, 0x408F692EB6797941 + %397 = fsub double 0x408F692EB6797941, %396 + %398 = fadd double %396, %397 + %399 = fadd double %383, %397 + %400 = fsub double 0x408F692EB6797941, %398 + %401 = fadd double %399, %400 + %402 = fadd double %395, 0x3D2F714B1467C0E3 + %403 = fadd double %401, %402 + %404 = fmul double %396, 0x41A0000002000000 + %405 = fsub double %404, %396 + %406 = fsub double %404, %405 + %407 = fsub double %396, %406 + %408 = fmul double %396, %287 + %409 = fmul double %406, %302 + %410 = fmul double %406, %303 + %411 = fmul double %407, %302 + %412 = fmul double %407, %303 + %413 = fsub double %409, %408 + %414 = fadd double %410, %413 + %415 = fadd double %411, %414 + %416 = fadd double %412, %415 + %417 = fmul double %396, %299 + %418 = fmul double %403, %287 + %419 = fadd double %417, %418 + %420 = fadd double %416, %419 + %421 = fadd double %408, 0xC095C18A27CEC8E8 + %422 = fsub double 0xC095C18A27CEC8E8, %421 + %423 = fadd double %421, %422 + %424 = fadd double %408, %422 + %425 = fsub double 0xC095C18A27CEC8E8, %423 + %426 = fadd double %424, %425 + %427 = fadd double %420, 0xBD10E2B852779012 + %428 = fadd double %426, %427 + %429 = fmul double %421, 0x41A0000002000000 + %430 = fsub double %429, %421 + %431 = fsub double %429, %430 + %432 = fsub double %421, %431 + %433 = fmul double %421, %287 + %434 = fmul double %431, %302 + %435 = fmul double %431, %303 + %436 = fmul double %432, %302 + %437 = fmul double %432, %303 + %438 = fsub double %434, %433 + %439 = fadd double %435, %438 + %440 = fadd double %436, %439 + %441 = fadd double %437, %440 + %442 = fmul double %421, %299 + %443 = fmul double %428, %287 + %444 = fadd double %442, %443 + %445 = fadd double %441, %444 + %446 = fadd double %433, 0x4091532E970B7749 + %447 = fsub double 0x4091532E970B7749, %446 + %448 = fadd double %446, %447 + %449 = fadd double %433, %447 + %450 = fsub double 0x4091532E970B7749, %448 + %451 = fadd double %449, %450 + %452 = fadd double %445, 0x3D1B6CCA93966491 + %453 = fadd double %451, %452 + %454 = fmul double %446, 0x41A0000002000000 + %455 = fsub double %454, %446 + %456 = fsub double %454, %455 + %457 = fsub double %446, %456 + %458 = fmul double %446, %287 + %459 = fmul double %456, %302 + %460 = fmul double %456, %303 + %461 = fmul double %457, %302 + %462 = fmul double %457, %303 + %463 = fsub double %459, %458 + %464 = fadd double %460, %463 + %465 = fadd double %461, %464 + %466 = fadd double %462, %465 + %467 = fmul double %446, %299 + %468 = fmul double %453, %287 + %469 = fadd double %467, %468 + %470 = fadd double %466, %469 + %471 = fadd double %458, 0xC0804473B3396B50 + %472 = fsub double 0xC0804473B3396B50, %471 + %473 = fadd double %471, %472 + %474 = fadd double %458, %472 + %475 = fsub double 0xC0804473B3396B50, %473 + %476 = fadd double %474, %475 + %477 = fadd double %470, 0xBD2556514AEDEEF8 + %478 = fadd double %476, %477 + %479 = fmul double %471, 0x41A0000002000000 + %480 = fsub double %479, %471 + %481 = fsub double %479, %480 + %482 = fsub double %471, %481 + %483 = fmul double %471, %287 + %484 = fmul double %481, %302 + %485 = fmul double %481, %303 + %486 = fmul double %482, %302 + %487 = fmul double %482, %303 + %488 = fsub double %484, %483 + %489 = fadd double %485, %488 + %490 = fadd double %486, %489 + %491 = fadd double %487, %490 + %492 = fmul double %471, %299 + %493 = fmul double %478, %287 + %494 = fadd double %492, %493 + %495 = fadd double %491, %494 + %496 = fadd double %483, 0x4061B7AA8884C3C7 + %497 = fsub double 0x4061B7AA8884C3C7, %496 + %498 = fadd double %496, %497 + %499 = fadd double %483, %497 + %500 = fsub double 0x4061B7AA8884C3C7, %498 + %501 = fadd double %499, %500 + %502 = fadd double %495, 0xBCFB43000AB13BCA + %503 = fadd double %501, %502 + %504 = fmul double %496, 0x41A0000002000000 + %505 = fsub double %504, %496 + %506 = fsub double %504, %505 + %507 = fsub double %496, %506 + %508 = fmul double %496, %287 + %509 = fmul double %506, %302 + %510 = fmul double %506, %303 + %511 = fmul double %507, %302 + %512 = fmul double %507, %303 + %513 = fsub double %509, %508 + %514 = fadd double %510, %513 + %515 = fadd double %511, %514 + %516 = fadd double %512, %515 + %517 = fmul double %496, %299 + %518 = fmul double %503, %287 + %519 = fadd double %517, %518 + %520 = fadd double %516, %519 + %521 = fadd double %508, 0xC034A2E2F8AF851C + %522 = fsub double 0xC034A2E2F8AF851C, %521 + %523 = fadd double %521, %522 + %524 = fadd double %508, %522 + %525 = fsub double 0xC034A2E2F8AF851C, %523 + %526 = fadd double %524, %525 + %527 = fadd double %520, 0xBCD5C3927A1580B3 + %528 = fadd double %526, %527 + %529 = fmul double %521, 0x41A0000002000000 + %530 = fsub double %529, %521 + %531 = fsub double %529, %530 + %532 = fsub double %521, %531 + %533 = fmul double %521, %287 + %534 = fmul double %531, %302 + %535 = fmul double %531, %303 + %536 = fmul double %532, %302 + %537 = fmul double %532, %303 + %538 = fsub double %534, %533 + %539 = fadd double %535, %538 + %540 = fadd double %536, %539 + %541 = fadd double %537, %540 + %542 = fmul double %521, %299 + %543 = fmul double %528, %287 + %544 = fadd double %542, %543 + %545 = fadd double %541, %544 + %546 = fadd double %533, 0x3FF3D60B08DF7DEC + %547 = fsub double 0x3FF3D60B08DF7DEC, %546 + %548 = fadd double %546, %547 + %549 = fadd double %533, %547 + %550 = fsub double 0x3FF3D60B08DF7DEC, %548 + %551 = fadd double %549, %550 + %552 = fadd double %545, 0x3C9AF4D4BFD5C4C0 + %553 = fadd double %551, %552 + %554 = fmul double %546, 0x41A0000002000000 + %555 = fsub double %554, %546 + %556 = fsub double %554, %555 + %557 = fsub double %546, %556 + %558 = fmul double %546, %14 + %559 = fmul double %556, %306 + %560 = fmul double %556, %307 + %561 = fmul double %557, %306 + %562 = fmul double %557, %307 + %563 = fsub double %559, %558 + %564 = fadd double %560, %563 + %565 = fadd double %561, %564 + %566 = fadd double %562, %565 + %567 = fmul double %546, %16 + %568 = fmul double %553, %14 + %569 = fadd double %567, %568 + %570 = fadd double %566, %569 + %571 = fmul double %287, 0x3FD6C3E088408F61 + %572 = fmul double %302, 0x3FD6C3E088000000 + %573 = fmul double %303, 0x3FD6C3E088000000 + %574 = fmul double %302, 0x3DF023D840000000 + %575 = fmul double %303, 0x3DF023D840000000 + %576 = fsub double %572, %571 + %577 = fadd double %573, %576 + %578 = fadd double %574, %577 + %579 = fadd double %575, %578 + %580 = fmul double %299, 0x3FD6C3E088408F61 + %581 = fmul double %287, 0x3C689DE06E902D94 + %582 = fadd double %580, %581 + %583 = fadd double %579, %582 + %584 = fadd double %571, 0xC02C38506933B00D + %585 = fsub double 0xC02C38506933B00D, %584 + %586 = fadd double %584, %585 + %587 = fadd double %571, %585 + %588 = fsub double 0xC02C38506933B00D, %586 + %589 = fadd double %587, %588 + %590 = fadd double %583, 0x3CCEEAD255786AAB + %591 = fadd double %589, %590 + %592 = fmul double %584, 0x41A0000002000000 + %593 = fsub double %592, %584 + %594 = fsub double %592, %593 + %595 = fsub double %584, %594 + %596 = fmul double %584, %287 + %597 = fmul double %594, %302 + %598 = fmul double %594, %303 + %599 = fmul double %595, %302 + %600 = fmul double %595, %303 + %601 = fsub double %597, %596 + %602 = fadd double %598, %601 + %603 = fadd double %599, %602 + %604 = fadd double %600, %603 + %605 = fmul double %584, %299 + %606 = fmul double %591, %287 + %607 = fadd double %605, %606 + %608 = fadd double %604, %607 + %609 = fadd double %596, 0x4062261ACF1B5CAE + %610 = fsub double 0x4062261ACF1B5CAE, %609 + %611 = fadd double %609, %610 + %612 = fadd double %596, %610 + %613 = fsub double 0x4062261ACF1B5CAE, %611 + %614 = fadd double %612, %613 + %615 = fadd double %608, 0x3CE301A04E7E2609 + %616 = fadd double %614, %615 + %617 = fmul double %609, 0x41A0000002000000 + %618 = fsub double %617, %609 + %619 = fsub double %617, %618 + %620 = fsub double %609, %619 + %621 = fmul double %609, %287 + %622 = fmul double %619, %302 + %623 = fmul double %619, %303 + %624 = fmul double %620, %302 + %625 = fmul double %620, %303 + %626 = fsub double %622, %621 + %627 = fadd double %623, %626 + %628 = fadd double %624, %627 + %629 = fadd double %625, %628 + %630 = fmul double %609, %299 + %631 = fmul double %616, %287 + %632 = fadd double %630, %631 + %633 = fadd double %629, %632 + %634 = fadd double %621, 0xC0835F60847C9795 + %635 = fsub double 0xC0835F60847C9795, %634 + %636 = fadd double %634, %635 + %637 = fadd double %621, %635 + %638 = fsub double 0xC0835F60847C9795, %636 + %639 = fadd double %637, %638 + %640 = fadd double %633, 0xBD2B64E8FD95167E + %641 = fadd double %639, %640 + %642 = fmul double %634, 0x41A0000002000000 + %643 = fsub double %642, %634 + %644 = fsub double %642, %643 + %645 = fsub double %634, %644 + %646 = fmul double %634, %287 + %647 = fmul double %644, %302 + %648 = fmul double %644, %303 + %649 = fmul double %645, %302 + %650 = fmul double %645, %303 + %651 = fsub double %647, %646 + %652 = fadd double %648, %651 + %653 = fadd double %649, %652 + %654 = fadd double %650, %653 + %655 = fmul double %634, %299 + %656 = fmul double %641, %287 + %657 = fadd double %655, %656 + %658 = fadd double %654, %657 + %659 = fadd double %646, 0x4094EE807BCD9592 + %660 = fsub double 0x4094EE807BCD9592, %659 + %661 = fadd double %659, %660 + %662 = fadd double %646, %660 + %663 = fsub double 0x4094EE807BCD9592, %661 + %664 = fadd double %662, %663 + %665 = fadd double %658, 0xBD2E80A6679DCD6D + %666 = fadd double %664, %665 + %667 = fmul double %659, 0x41A0000002000000 + %668 = fsub double %667, %659 + %669 = fsub double %667, %668 + %670 = fsub double %659, %669 + %671 = fmul double %659, %287 + %672 = fmul double %669, %302 + %673 = fmul double %669, %303 + %674 = fmul double %670, %302 + %675 = fmul double %670, %303 + %676 = fsub double %672, %671 + %677 = fadd double %673, %676 + %678 = fadd double %674, %677 + %679 = fadd double %675, %678 + %680 = fmul double %659, %299 + %681 = fmul double %666, %287 + %682 = fadd double %680, %681 + %683 = fadd double %679, %682 + %684 = fadd double %671, 0xC0996078973D022C + %685 = fsub double 0xC0996078973D022C, %684 + %686 = fadd double %684, %685 + %687 = fadd double %671, %685 + %688 = fsub double 0xC0996078973D022C, %686 + %689 = fadd double %687, %688 + %690 = fadd double %683, 0x3D33077F31B19CA5 + %691 = fadd double %689, %690 + %692 = fmul double %684, 0x41A0000002000000 + %693 = fsub double %692, %684 + %694 = fsub double %692, %693 + %695 = fsub double %684, %694 + %696 = fmul double %684, %287 + %697 = fmul double %694, %302 + %698 = fmul double %694, %303 + %699 = fmul double %695, %302 + %700 = fmul double %695, %303 + %701 = fsub double %697, %696 + %702 = fadd double %698, %701 + %703 = fadd double %699, %702 + %704 = fadd double %700, %703 + %705 = fmul double %684, %299 + %706 = fmul double %691, %287 + %707 = fadd double %705, %706 + %708 = fadd double %704, %707 + %709 = fadd double %696, 0x40923317B686F4B8 + %710 = fsub double 0x40923317B686F4B8, %709 + %711 = fadd double %709, %710 + %712 = fadd double %696, %710 + %713 = fsub double 0x40923317B686F4B8, %711 + %714 = fadd double %712, %713 + %715 = fadd double %708, 0x3D24E20075E803AC + %716 = fadd double %714, %715 + %717 = fmul double %709, 0x41A0000002000000 + %718 = fsub double %717, %709 + %719 = fsub double %717, %718 + %720 = fsub double %709, %719 + %721 = fmul double %709, %287 + %722 = fmul double %719, %302 + %723 = fmul double %719, %303 + %724 = fmul double %720, %302 + %725 = fmul double %720, %303 + %726 = fsub double %722, %721 + %727 = fadd double %723, %726 + %728 = fadd double %724, %727 + %729 = fadd double %725, %728 + %730 = fmul double %709, %299 + %731 = fmul double %716, %287 + %732 = fadd double %730, %731 + %733 = fadd double %729, %732 + %734 = fadd double %721, 0xC07F670568746FC6 + %735 = fsub double 0xC07F670568746FC6, %734 + %736 = fadd double %734, %735 + %737 = fadd double %721, %735 + %738 = fsub double 0xC07F670568746FC6, %736 + %739 = fadd double %737, %738 + %740 = fadd double %733, 0x3CFAE0B0DAF6481C + %741 = fadd double %739, %740 + %742 = fmul double %734, 0x41A0000002000000 + %743 = fsub double %742, %734 + %744 = fsub double %742, %743 + %745 = fsub double %734, %744 + %746 = fmul double %734, %287 + %747 = fmul double %744, %302 + %748 = fmul double %744, %303 + %749 = fmul double %745, %302 + %750 = fmul double %745, %303 + %751 = fsub double %747, %746 + %752 = fadd double %748, %751 + %753 = fadd double %749, %752 + %754 = fadd double %750, %753 + %755 = fmul double %734, %299 + %756 = fmul double %741, %287 + %757 = fadd double %755, %756 + %758 = fadd double %754, %757 + %759 = fadd double %746, 0x405FE35180F24C72 + %760 = fsub double 0x405FE35180F24C72, %759 + %761 = fadd double %759, %760 + %762 = fadd double %746, %760 + %763 = fsub double 0x405FE35180F24C72, %761 + %764 = fadd double %762, %763 + %765 = fadd double %758, 0xBCD92F5C3653A3E0 + %766 = fadd double %764, %765 + %767 = fmul double %759, 0x41A0000002000000 + %768 = fsub double %767, %759 + %769 = fsub double %767, %768 + %770 = fsub double %759, %769 + %771 = fmul double %759, %287 + %772 = fmul double %769, %302 + %773 = fmul double %769, %303 + %774 = fmul double %770, %302 + %775 = fmul double %770, %303 + %776 = fsub double %772, %771 + %777 = fadd double %773, %776 + %778 = fadd double %774, %777 + %779 = fadd double %775, %778 + %780 = fmul double %759, %299 + %781 = fmul double %766, %287 + %782 = fadd double %780, %781 + %783 = fadd double %779, %782 + %784 = fadd double %771, 0xC03181B77D2E77EE + %785 = fsub double 0xC03181B77D2E77EE, %784 + %786 = fadd double %784, %785 + %787 = fadd double %771, %785 + %788 = fsub double 0xC03181B77D2E77EE, %786 + %789 = fadd double %787, %788 + %790 = fadd double %783, 0x3CC539F49D174003 + %791 = fadd double %789, %790 + %792 = fmul double %784, 0x41A0000002000000 + %793 = fsub double %792, %784 + %794 = fsub double %792, %793 + %795 = fsub double %784, %794 + %796 = fmul double %784, %287 + %797 = fmul double %794, %302 + %798 = fmul double %794, %303 + %799 = fmul double %795, %302 + %800 = fmul double %795, %303 + %801 = fsub double %797, %796 + %802 = fadd double %798, %801 + %803 = fadd double %799, %802 + %804 = fadd double %800, %803 + %805 = fmul double %784, %299 + %806 = fmul double %791, %287 + %807 = fadd double %805, %806 + %808 = fadd double %804, %807 + %809 = fadd double %796, 1.000000e+00 + %810 = fsub double 1.000000e+00, %809 + %811 = fadd double %809, %810 + %812 = fadd double %796, %810 + %813 = fsub double 1.000000e+00, %811 + %814 = fadd double %812, %813 + %815 = fadd double %808, 0.000000e+00 + %816 = fadd double %814, %815 + %817 = fdiv double 1.000000e+00, %809 + %818 = fmul double %809, 0x41A0000002000000 + %819 = fsub double %818, %809 + %820 = fsub double %818, %819 + %821 = fsub double %809, %820 + %822 = fmul double %817, 0x41A0000002000000 + %823 = fsub double %822, %817 + %824 = fsub double %822, %823 + %825 = fsub double %817, %824 + %826 = fmul double %809, %817 + %827 = fmul double %820, %824 + %828 = fmul double %820, %825 + %829 = fmul double %821, %824 + %830 = fmul double %821, %825 + %831 = fsub double %827, %826 + %832 = fadd double %828, %831 + %833 = fadd double %829, %832 + %834 = fadd double %830, %833 + %835 = fmul double %816, %817 + %836 = fadd double %834, %835 + %837 = fadd double %826, -1.000000e+00 + %838 = fneg double %817 + %839 = fadd double %837, %836 + %840 = fmul double %839, %838 + %841 = fmul double %558, 0x41A0000002000000 + %842 = fsub double %841, %558 + %843 = fsub double %841, %842 + %844 = fsub double %558, %843 + %845 = fmul double %558, %817 + %846 = fmul double %843, %824 + %847 = fmul double %843, %825 + %848 = fmul double %844, %824 + %849 = fmul double %844, %825 + %850 = fsub double %846, %845 + %851 = fadd double %847, %850 + %852 = fadd double %848, %851 + %853 = fadd double %849, %852 + %854 = fmul double %558, %840 + %855 = fmul double %570, %817 + %856 = fadd double %854, %855 + %857 = fadd double %853, %856 + %858 = fmul double %845, 0x41A0000002000000 + %859 = fsub double %858, %845 + %860 = fsub double %858, %859 + %861 = fsub double %845, %860 + %862 = fmul double %845, 0x3FF6A09E667F3BCD + %863 = fmul double %860, 0x3FF6A09E68000000 + %864 = fmul double %860, 0xBE380C4330000000 + %865 = fmul double %861, 0x3FF6A09E68000000 + %866 = fmul double %861, 0xBE380C4330000000 + %867 = fsub double %863, %862 + %868 = fadd double %864, %867 + %869 = fadd double %865, %868 + %870 = fadd double %866, %869 + %871 = fmul double %845, 0xBC9BDD3413B26456 + %872 = fmul double %857, 0x3FF6A09E667F3BCD + %873 = fadd double %871, %872 + %874 = fadd double %870, %873 + %875 = fadd double %862, %874 + store double %875, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +876: ; preds = %12 + %877 = fcmp olt double %8, 5.000000e-01 + %878 = fsub double 2.000000e+00, %13 + %879 = select i1 %877, double %13, double %878 + %880 = bitcast double %879 to i64 + %881 = lshr i64 %880, 52 + %882 = trunc i64 %881 to i32 + %883 = and i32 %882, 2047 + %884 = icmp ult i32 %883, 970 + %885 = icmp eq i32 %883, 0 + %886 = and i64 %880, -9218868437227405313 + %887 = or i64 %886, 4607182418800017408 + %888 = bitcast i64 %887 to double + %889 = fadd double %888, -1.000000e+00 + %890 = select i1 %885, double %889, double %879 + %891 = select i1 %885, i32 -1022, i32 0 + %892 = bitcast double %890 to i64 + %893 = lshr i64 %892, 52 + %894 = trunc i64 %893 to i32 + %895 = and i32 %894, 2047 + %896 = add nsw i32 %895, -1023 + %897 = add nsw i32 %891, %896 + %898 = and i64 %892, -9218868437227405313 + %899 = or i64 %898, 4607182418800017408 + %900 = bitcast i64 %899 to double + %901 = lshr i64 %892, 44 + %902 = trunc i64 %901 to i32 + %903 = and i32 %902, 255 + %904 = fmul double %900, 0x41F0000000100000 + %905 = fsub double %904, %900 + %906 = fsub double %904, %905 + %907 = fsub double %900, %906 + %908 = add nuw nsw i32 %903, 172 + %909 = zext nneg i32 %908 to i64 + %910 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %909 + %911 = load double, ptr addrspace(1) %910, align 8, !tbaa !760 + %912 = tail call double @llvm.fmuladd.f64(double %911, double %906, double -1.000000e+00) + %913 = fmul double %911, %907 + %914 = fadd double %912, %913 + %915 = fmul double %914, 0x41F0000000100000 + %916 = fsub double %915, %914 + %917 = fsub double %915, %916 + %918 = fsub double %914, %917 + %919 = fsub double %912, %914 + %920 = fadd double %919, %913 + %921 = fadd double %920, %918 + %922 = fmul double %914, %914 + %923 = tail call double @llvm.fmuladd.f64(double %914, double 0xBFC5555B76AD7FA4, double 0x3FC9999FF151CD6B) + %924 = tail call double @llvm.fmuladd.f64(double %923, double %914, double 0xBFCFFFFFFFFF71AB) + %925 = tail call double @llvm.fmuladd.f64(double %914, double 0x3FD55555555516C2, double -5.000000e-01) + %926 = tail call double @llvm.fmuladd.f64(double %924, double %922, double %925) + %927 = tail call double @llvm.fmuladd.f64(double %926, double %922, double %921) + %928 = sitofp i32 %897 to double + %929 = shl nuw nsw i32 %903, 1 + %930 = add nuw nsw i32 %929, 684 + %931 = zext nneg i32 %930 to i64 + %932 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %931 + %933 = load double, ptr addrspace(1) %932, align 8, !tbaa !760 + %934 = tail call double @llvm.fmuladd.f64(double %928, double 0x3FE62E4300000000, double %933) + %935 = add nuw nsw i32 %929, 685 + %936 = zext nneg i32 %935 to i64 + %937 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %936 + %938 = load double, ptr addrspace(1) %937, align 8, !tbaa !760 + %939 = tail call double @llvm.fmuladd.f64(double %928, double 0xBE205C610CA86C39, double %938) + %940 = fadd double %934, %917 + %941 = fsub double %934, %940 + %942 = fadd double %941, %917 + %943 = fadd double %939, %927 + %944 = fadd double %942, %943 + %945 = fneg double %940 + %946 = fneg double %944 + %947 = bitcast double %945 to i64 + %948 = lshr i64 %947, 32 + %949 = trunc i64 %948 to i32 + %950 = lshr i32 %949, 20 + %951 = and i32 %950, 2047 + %952 = add nsw i32 %951, -1023 + %953 = shl nsw i32 %952, 19 + %954 = add i32 %953, 1072693248 + %955 = and i32 %954, 2146435072 + %956 = zext nneg i32 %955 to i64 + %957 = shl nuw nsw i64 %956, 32 + %958 = bitcast i64 %957 to double + %959 = add i32 %953, 1071644672 + %960 = and i32 %959, 2146435072 + %961 = zext nneg i32 %960 to i64 + %962 = shl nuw nsw i64 %961, 32 + %963 = bitcast i64 %962 to double + %964 = shl nsw i32 %952, 20 + %965 = and i32 %964, 2145386496 + %966 = sub nsw i32 1072693248, %965 + %967 = and i32 %966, 2146435072 + %968 = zext nneg i32 %967 to i64 + %969 = shl nuw nsw i64 %968, 32 + %970 = bitcast i64 %969 to double + %971 = shl nsw i32 %952, 8 + %972 = and i32 %971, 256 + %973 = lshr i32 %949, 12 + %974 = and i32 %973, 255 + %975 = or i32 %972, %974 + %976 = fmul double %945, %970 + %977 = fmul double %946, %970 + %978 = fadd double %976, %977 + %979 = fmul double %978, 0x41F0000000100000 + %980 = fsub double %979, %978 + %981 = fsub double %979, %980 + %982 = fsub double %976, %981 + %983 = fadd double %982, %977 + %984 = fmul double %983, 0x41F0000000100000 + %985 = fsub double %984, %983 + %986 = fsub double %984, %985 + %987 = fsub double %983, %986 + %988 = add nuw nsw i32 %975, 172 + %989 = zext nneg i32 %988 to i64 + %990 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %989 + %991 = load double, ptr addrspace(1) %990, align 8, !tbaa !760 + %992 = tail call double @llvm.fmuladd.f64(double %991, double %981, double -1.000000e+00) + %993 = fmul double %991, %986 + %994 = fmul double %991, %987 + %995 = fadd double %992, %993 + %996 = fsub double %992, %995 + %997 = fadd double %996, %993 + %998 = fadd double %995, %994 + %999 = fadd double %997, %994 + %1000 = fmul double %995, 0x41F0000000100000 + %1001 = fsub double %1000, %995 + %1002 = fsub double %1000, %1001 + %1003 = fsub double %995, %1002 + %1004 = fadd double %1003, %999 + %1005 = fmul double %998, %998 + %1006 = tail call double @llvm.fmuladd.f64(double %998, double 0xBF95000812C497D6, double 0x3F9C00061EB82F5C) + %1007 = tail call double @llvm.fmuladd.f64(double %1006, double %998, double 0xBFA3FFFFFFFF44CD) + %1008 = tail call double @llvm.fmuladd.f64(double %998, double 0x3FAFFFFFFFFFBC81, double -1.250000e-01) + %1009 = tail call double @llvm.fmuladd.f64(double %1007, double %1005, double %1008) + %1010 = fmul double %1009, %998 + %1011 = fmul double %1010, %958 + %1012 = fmul double %1011, 0x41F0000000100000 + %1013 = fsub double %1012, %1011 + %1014 = fsub double %1012, %1013 + %1015 = fsub double %1011, %1014 + %1016 = fmul double %1002, %963 + %1017 = fmul double %1004, %963 + %1018 = fadd double %1016, %958 + %1019 = fsub double %958, %1018 + %1020 = fadd double %1019, %1016 + %1021 = fadd double %1020, %1017 + %1022 = fmul double %1014, %1002 + %1023 = fmul double %1015, %998 + %1024 = tail call double @llvm.fmuladd.f64(double %1014, double %1004, double %1023) + %1025 = fadd double %1018, %1022 + %1026 = fsub double %1018, %1025 + %1027 = fadd double %1026, %1022 + %1028 = fadd double %1021, %1024 + %1029 = fadd double %1027, %1028 + %1030 = fadd double %1025, %1029 + %1031 = fmul double %1025, 0x41F0000000100000 + %1032 = fsub double %1031, %1025 + %1033 = fsub double %1031, %1032 + %1034 = fsub double %1025, %1033 + %1035 = fadd double %1029, %1034 + %1036 = shl nuw nsw i32 %975, 1 + %1037 = add nuw nsw i32 %1036, 1196 + %1038 = zext nneg i32 %1037 to i64 + %1039 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1038 + %1040 = load double, ptr addrspace(1) %1039, align 8, !tbaa !760 + %1041 = add nuw nsw i32 %1036, 1197 + %1042 = zext nneg i32 %1041 to i64 + %1043 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1042 + %1044 = load double, ptr addrspace(1) %1043, align 8, !tbaa !760 + %1045 = fmul double %1040, %1033 + %1046 = fmul double %1044, %1030 + %1047 = tail call double @llvm.fmuladd.f64(double %1040, double %1035, double %1046) + %1048 = fadd double %1045, %1047 + %1049 = fsub double %1045, %1048 + %1050 = fadd double %1049, %1047 + %1051 = fmul double %1048, 0x41A0000002000000 + %1052 = fsub double %1051, %1048 + %1053 = fsub double %1051, %1052 + %1054 = fsub double %1048, %1053 + %1055 = select i1 %884, i32 26, i32 0 + %1056 = add nuw nsw i32 %1055, 92 + %1057 = zext nneg i32 %1056 to i64 + %1058 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1057 + %1059 = load double, ptr addrspace(1) %1058, align 8, !tbaa !760 + %1060 = add nuw nsw i32 %1055, 93 + %1061 = zext nneg i32 %1060 to i64 + %1062 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1061 + %1063 = load double, ptr addrspace(1) %1062, align 8, !tbaa !760 + %1064 = add nuw nsw i32 %1055, 90 + %1065 = zext nneg i32 %1064 to i64 + %1066 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1065 + %1067 = load double, ptr addrspace(1) %1066, align 8, !tbaa !760 + %1068 = add nuw nsw i32 %1055, 91 + %1069 = zext nneg i32 %1068 to i64 + %1070 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1069 + %1071 = load double, ptr addrspace(1) %1070, align 8, !tbaa !760 + %1072 = fmul double %1067, %1048 + %1073 = fmul double %1059, %1053 + %1074 = fmul double %1059, %1054 + %1075 = fmul double %1063, %1053 + %1076 = fmul double %1063, %1054 + %1077 = fsub double %1073, %1072 + %1078 = fadd double %1074, %1077 + %1079 = fadd double %1075, %1078 + %1080 = fadd double %1076, %1079 + %1081 = fmul double %1067, %1050 + %1082 = fmul double %1071, %1048 + %1083 = fadd double %1081, %1082 + %1084 = fadd double %1080, %1083 + %1085 = add nuw nsw i32 %1055, 88 + %1086 = zext nneg i32 %1085 to i64 + %1087 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1086 + %1088 = load double, ptr addrspace(1) %1087, align 8, !tbaa !760 + %1089 = fadd double %1088, %1072 + %1090 = fsub double %1088, %1089 + %1091 = fadd double %1089, %1090 + %1092 = fadd double %1072, %1090 + %1093 = fsub double %1088, %1091 + %1094 = fadd double %1092, %1093 + %1095 = add nuw nsw i32 %1055, 89 + %1096 = zext nneg i32 %1095 to i64 + %1097 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1096 + %1098 = load double, ptr addrspace(1) %1097, align 8, !tbaa !760 + %1099 = fadd double %1098, %1084 + %1100 = fadd double %1094, %1099 + %1101 = fmul double %1089, 0x41A0000002000000 + %1102 = fsub double %1101, %1089 + %1103 = fsub double %1101, %1102 + %1104 = fsub double %1089, %1103 + %1105 = fmul double %1089, %1048 + %1106 = fmul double %1103, %1053 + %1107 = fmul double %1103, %1054 + %1108 = fmul double %1104, %1053 + %1109 = fmul double %1104, %1054 + %1110 = fsub double %1106, %1105 + %1111 = fadd double %1107, %1110 + %1112 = fadd double %1108, %1111 + %1113 = fadd double %1109, %1112 + %1114 = fmul double %1089, %1050 + %1115 = fmul double %1100, %1048 + %1116 = fadd double %1114, %1115 + %1117 = fadd double %1113, %1116 + %1118 = add nuw nsw i32 %1055, 86 + %1119 = zext nneg i32 %1118 to i64 + %1120 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1119 + %1121 = load double, ptr addrspace(1) %1120, align 8, !tbaa !760 + %1122 = fadd double %1121, %1105 + %1123 = fsub double %1121, %1122 + %1124 = fadd double %1122, %1123 + %1125 = fadd double %1105, %1123 + %1126 = fsub double %1121, %1124 + %1127 = fadd double %1125, %1126 + %1128 = add nuw nsw i32 %1055, 87 + %1129 = zext nneg i32 %1128 to i64 + %1130 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1129 + %1131 = load double, ptr addrspace(1) %1130, align 8, !tbaa !760 + %1132 = fadd double %1131, %1117 + %1133 = fadd double %1127, %1132 + %1134 = fmul double %1122, 0x41A0000002000000 + %1135 = fsub double %1134, %1122 + %1136 = fsub double %1134, %1135 + %1137 = fsub double %1122, %1136 + %1138 = fmul double %1122, %1048 + %1139 = fmul double %1136, %1053 + %1140 = fmul double %1136, %1054 + %1141 = fmul double %1137, %1053 + %1142 = fmul double %1137, %1054 + %1143 = fsub double %1139, %1138 + %1144 = fadd double %1140, %1143 + %1145 = fadd double %1141, %1144 + %1146 = fadd double %1142, %1145 + %1147 = fmul double %1122, %1050 + %1148 = fmul double %1133, %1048 + %1149 = fadd double %1147, %1148 + %1150 = fadd double %1146, %1149 + %1151 = add nuw nsw i32 %1055, 84 + %1152 = zext nneg i32 %1151 to i64 + %1153 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1152 + %1154 = load double, ptr addrspace(1) %1153, align 8, !tbaa !760 + %1155 = fadd double %1154, %1138 + %1156 = fsub double %1154, %1155 + %1157 = fadd double %1155, %1156 + %1158 = fadd double %1138, %1156 + %1159 = fsub double %1154, %1157 + %1160 = fadd double %1158, %1159 + %1161 = add nuw nsw i32 %1055, 85 + %1162 = zext nneg i32 %1161 to i64 + %1163 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1162 + %1164 = load double, ptr addrspace(1) %1163, align 8, !tbaa !760 + %1165 = fadd double %1164, %1150 + %1166 = fadd double %1160, %1165 + %1167 = fmul double %1155, 0x41A0000002000000 + %1168 = fsub double %1167, %1155 + %1169 = fsub double %1167, %1168 + %1170 = fsub double %1155, %1169 + %1171 = fmul double %1155, %1048 + %1172 = fmul double %1169, %1053 + %1173 = fmul double %1169, %1054 + %1174 = fmul double %1170, %1053 + %1175 = fmul double %1170, %1054 + %1176 = fsub double %1172, %1171 + %1177 = fadd double %1173, %1176 + %1178 = fadd double %1174, %1177 + %1179 = fadd double %1175, %1178 + %1180 = fmul double %1155, %1050 + %1181 = fmul double %1166, %1048 + %1182 = fadd double %1180, %1181 + %1183 = fadd double %1179, %1182 + %1184 = add nuw nsw i32 %1055, 82 + %1185 = zext nneg i32 %1184 to i64 + %1186 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1185 + %1187 = load double, ptr addrspace(1) %1186, align 8, !tbaa !760 + %1188 = fadd double %1187, %1171 + %1189 = fsub double %1187, %1188 + %1190 = fadd double %1188, %1189 + %1191 = fadd double %1171, %1189 + %1192 = fsub double %1187, %1190 + %1193 = fadd double %1191, %1192 + %1194 = add nuw nsw i32 %1055, 83 + %1195 = zext nneg i32 %1194 to i64 + %1196 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1195 + %1197 = load double, ptr addrspace(1) %1196, align 8, !tbaa !760 + %1198 = fadd double %1197, %1183 + %1199 = fadd double %1193, %1198 + %1200 = fmul double %1188, 0x41A0000002000000 + %1201 = fsub double %1200, %1188 + %1202 = fsub double %1200, %1201 + %1203 = fsub double %1188, %1202 + %1204 = fmul double %1188, %1048 + %1205 = fmul double %1202, %1053 + %1206 = fmul double %1202, %1054 + %1207 = fmul double %1203, %1053 + %1208 = fmul double %1203, %1054 + %1209 = fsub double %1205, %1204 + %1210 = fadd double %1206, %1209 + %1211 = fadd double %1207, %1210 + %1212 = fadd double %1208, %1211 + %1213 = fmul double %1188, %1050 + %1214 = fmul double %1199, %1048 + %1215 = fadd double %1213, %1214 + %1216 = fadd double %1212, %1215 + %1217 = add nuw nsw i32 %1055, 80 + %1218 = zext nneg i32 %1217 to i64 + %1219 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1218 + %1220 = load double, ptr addrspace(1) %1219, align 8, !tbaa !760 + %1221 = fadd double %1220, %1204 + %1222 = fsub double %1220, %1221 + %1223 = fadd double %1221, %1222 + %1224 = fadd double %1204, %1222 + %1225 = fsub double %1220, %1223 + %1226 = fadd double %1224, %1225 + %1227 = add nuw nsw i32 %1055, 81 + %1228 = zext nneg i32 %1227 to i64 + %1229 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1228 + %1230 = load double, ptr addrspace(1) %1229, align 8, !tbaa !760 + %1231 = fadd double %1230, %1216 + %1232 = fadd double %1226, %1231 + %1233 = fmul double %1221, 0x41A0000002000000 + %1234 = fsub double %1233, %1221 + %1235 = fsub double %1233, %1234 + %1236 = fsub double %1221, %1235 + %1237 = fmul double %1221, %1048 + %1238 = fmul double %1235, %1053 + %1239 = fmul double %1235, %1054 + %1240 = fmul double %1236, %1053 + %1241 = fmul double %1236, %1054 + %1242 = fsub double %1238, %1237 + %1243 = fadd double %1239, %1242 + %1244 = fadd double %1240, %1243 + %1245 = fadd double %1241, %1244 + %1246 = fmul double %1221, %1050 + %1247 = fmul double %1232, %1048 + %1248 = fadd double %1246, %1247 + %1249 = fadd double %1245, %1248 + %1250 = add nuw nsw i32 %1055, 78 + %1251 = zext nneg i32 %1250 to i64 + %1252 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1251 + %1253 = load double, ptr addrspace(1) %1252, align 8, !tbaa !760 + %1254 = fadd double %1253, %1237 + %1255 = fsub double %1253, %1254 + %1256 = fadd double %1254, %1255 + %1257 = fadd double %1237, %1255 + %1258 = fsub double %1253, %1256 + %1259 = fadd double %1257, %1258 + %1260 = add nuw nsw i32 %1055, 79 + %1261 = zext nneg i32 %1260 to i64 + %1262 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1261 + %1263 = load double, ptr addrspace(1) %1262, align 8, !tbaa !760 + %1264 = fadd double %1263, %1249 + %1265 = fadd double %1259, %1264 + %1266 = fmul double %1254, 0x41A0000002000000 + %1267 = fsub double %1266, %1254 + %1268 = fsub double %1266, %1267 + %1269 = fsub double %1254, %1268 + %1270 = fmul double %1254, %1048 + %1271 = fmul double %1268, %1053 + %1272 = fmul double %1268, %1054 + %1273 = fmul double %1269, %1053 + %1274 = fmul double %1269, %1054 + %1275 = fsub double %1271, %1270 + %1276 = fadd double %1272, %1275 + %1277 = fadd double %1273, %1276 + %1278 = fadd double %1274, %1277 + %1279 = fmul double %1254, %1050 + %1280 = fmul double %1265, %1048 + %1281 = fadd double %1279, %1280 + %1282 = fadd double %1278, %1281 + %1283 = add nuw nsw i32 %1055, 76 + %1284 = zext nneg i32 %1283 to i64 + %1285 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1284 + %1286 = load double, ptr addrspace(1) %1285, align 8, !tbaa !760 + %1287 = fadd double %1286, %1270 + %1288 = fsub double %1286, %1287 + %1289 = fadd double %1287, %1288 + %1290 = fadd double %1270, %1288 + %1291 = fsub double %1286, %1289 + %1292 = fadd double %1290, %1291 + %1293 = add nuw nsw i32 %1055, 77 + %1294 = zext nneg i32 %1293 to i64 + %1295 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1294 + %1296 = load double, ptr addrspace(1) %1295, align 8, !tbaa !760 + %1297 = fadd double %1296, %1282 + %1298 = fadd double %1292, %1297 + %1299 = fmul double %1287, 0x41A0000002000000 + %1300 = fsub double %1299, %1287 + %1301 = fsub double %1299, %1300 + %1302 = fsub double %1287, %1301 + %1303 = fmul double %1287, %1048 + %1304 = fmul double %1301, %1053 + %1305 = fmul double %1301, %1054 + %1306 = fmul double %1302, %1053 + %1307 = fmul double %1302, %1054 + %1308 = fsub double %1304, %1303 + %1309 = fadd double %1305, %1308 + %1310 = fadd double %1306, %1309 + %1311 = fadd double %1307, %1310 + %1312 = fmul double %1287, %1050 + %1313 = fmul double %1298, %1048 + %1314 = fadd double %1312, %1313 + %1315 = fadd double %1311, %1314 + %1316 = add nuw nsw i32 %1055, 74 + %1317 = zext nneg i32 %1316 to i64 + %1318 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1317 + %1319 = load double, ptr addrspace(1) %1318, align 8, !tbaa !760 + %1320 = fadd double %1319, %1303 + %1321 = fsub double %1319, %1320 + %1322 = fadd double %1320, %1321 + %1323 = fadd double %1303, %1321 + %1324 = fsub double %1319, %1322 + %1325 = fadd double %1323, %1324 + %1326 = add nuw nsw i32 %1055, 75 + %1327 = zext nneg i32 %1326 to i64 + %1328 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1327 + %1329 = load double, ptr addrspace(1) %1328, align 8, !tbaa !760 + %1330 = fadd double %1329, %1315 + %1331 = fadd double %1325, %1330 + %1332 = fmul double %1320, 0x41A0000002000000 + %1333 = fsub double %1332, %1320 + %1334 = fsub double %1332, %1333 + %1335 = fsub double %1320, %1334 + %1336 = fmul double %1320, %1048 + %1337 = fmul double %1334, %1053 + %1338 = fmul double %1334, %1054 + %1339 = fmul double %1335, %1053 + %1340 = fmul double %1335, %1054 + %1341 = fsub double %1337, %1336 + %1342 = fadd double %1338, %1341 + %1343 = fadd double %1339, %1342 + %1344 = fadd double %1340, %1343 + %1345 = fmul double %1320, %1050 + %1346 = fmul double %1331, %1048 + %1347 = fadd double %1345, %1346 + %1348 = fadd double %1344, %1347 + %1349 = add nuw nsw i32 %1055, 72 + %1350 = zext nneg i32 %1349 to i64 + %1351 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1350 + %1352 = load double, ptr addrspace(1) %1351, align 8, !tbaa !760 + %1353 = fadd double %1352, %1336 + %1354 = fsub double %1352, %1353 + %1355 = fadd double %1353, %1354 + %1356 = fadd double %1336, %1354 + %1357 = fsub double %1352, %1355 + %1358 = fadd double %1356, %1357 + %1359 = add nuw nsw i32 %1055, 73 + %1360 = zext nneg i32 %1359 to i64 + %1361 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1360 + %1362 = load double, ptr addrspace(1) %1361, align 8, !tbaa !760 + %1363 = fadd double %1362, %1348 + %1364 = fadd double %1358, %1363 + %1365 = fmul double %1353, 0x41A0000002000000 + %1366 = fsub double %1365, %1353 + %1367 = fsub double %1365, %1366 + %1368 = fsub double %1353, %1367 + %1369 = fmul double %1353, %1048 + %1370 = fmul double %1367, %1053 + %1371 = fmul double %1367, %1054 + %1372 = fmul double %1368, %1053 + %1373 = fmul double %1368, %1054 + %1374 = fsub double %1370, %1369 + %1375 = fadd double %1371, %1374 + %1376 = fadd double %1372, %1375 + %1377 = fadd double %1373, %1376 + %1378 = fmul double %1353, %1050 + %1379 = fmul double %1364, %1048 + %1380 = fadd double %1378, %1379 + %1381 = fadd double %1377, %1380 + %1382 = add nuw nsw i32 %1055, 70 + %1383 = zext nneg i32 %1382 to i64 + %1384 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1383 + %1385 = load double, ptr addrspace(1) %1384, align 8, !tbaa !760 + %1386 = fadd double %1385, %1369 + %1387 = fsub double %1385, %1386 + %1388 = fadd double %1386, %1387 + %1389 = fadd double %1369, %1387 + %1390 = fsub double %1385, %1388 + %1391 = fadd double %1389, %1390 + %1392 = add nuw nsw i32 %1055, 71 + %1393 = zext nneg i32 %1392 to i64 + %1394 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1393 + %1395 = load double, ptr addrspace(1) %1394, align 8, !tbaa !760 + %1396 = fadd double %1395, %1381 + %1397 = fadd double %1391, %1396 + %1398 = fmul double %1386, 0x41A0000002000000 + %1399 = fsub double %1398, %1386 + %1400 = fsub double %1398, %1399 + %1401 = fsub double %1386, %1400 + %1402 = fmul double %1386, %1048 + %1403 = fmul double %1400, %1053 + %1404 = fmul double %1400, %1054 + %1405 = fmul double %1401, %1053 + %1406 = fmul double %1401, %1054 + %1407 = fsub double %1403, %1402 + %1408 = fadd double %1404, %1407 + %1409 = fadd double %1405, %1408 + %1410 = fadd double %1406, %1409 + %1411 = fmul double %1386, %1050 + %1412 = fmul double %1397, %1048 + %1413 = fadd double %1411, %1412 + %1414 = fadd double %1410, %1413 + %1415 = or i32 %1055, 68 + %1416 = zext nneg i32 %1415 to i64 + %1417 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1416 + %1418 = load double, ptr addrspace(1) %1417, align 8, !tbaa !760 + %1419 = fadd double %1418, %1402 + %1420 = fsub double %1418, %1419 + %1421 = fadd double %1419, %1420 + %1422 = fadd double %1402, %1420 + %1423 = fsub double %1418, %1421 + %1424 = fadd double %1422, %1423 + %1425 = or i32 %1055, 69 + %1426 = zext nneg i32 %1425 to i64 + %1427 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1426 + %1428 = load double, ptr addrspace(1) %1427, align 8, !tbaa !760 + %1429 = fadd double %1428, %1414 + %1430 = fadd double %1424, %1429 + %1431 = fmul double %1419, 0x41A0000002000000 + %1432 = fsub double %1431, %1419 + %1433 = fsub double %1431, %1432 + %1434 = fsub double %1419, %1433 + %1435 = fmul double %1419, %1048 + %1436 = fmul double %1433, %1053 + %1437 = fmul double %1433, %1054 + %1438 = fmul double %1434, %1053 + %1439 = fmul double %1434, %1054 + %1440 = fsub double %1436, %1435 + %1441 = fadd double %1437, %1440 + %1442 = fadd double %1438, %1441 + %1443 = fadd double %1439, %1442 + %1444 = fmul double %1419, %1050 + %1445 = fmul double %1430, %1048 + %1446 = fadd double %1444, %1445 + %1447 = fadd double %1443, %1446 + %1448 = select i1 %877, i64 2243, i64 2242 + %1449 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1448 + %1450 = load double, ptr addrspace(1) %1449, align 8, !tbaa !760 + %1451 = fmul double %1435, %1450 + %1452 = fmul double %1447, %1450 + %1453 = add nuw nsw i32 %1055, 144 + %1454 = zext nneg i32 %1453 to i64 + %1455 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1454 + %1456 = load double, ptr addrspace(1) %1455, align 8, !tbaa !760 + %1457 = add nuw nsw i32 %1055, 145 + %1458 = zext nneg i32 %1457 to i64 + %1459 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1458 + %1460 = load double, ptr addrspace(1) %1459, align 8, !tbaa !760 + %1461 = add nuw nsw i32 %1055, 142 + %1462 = zext nneg i32 %1461 to i64 + %1463 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1462 + %1464 = load double, ptr addrspace(1) %1463, align 8, !tbaa !760 + %1465 = add nuw nsw i32 %1055, 143 + %1466 = zext nneg i32 %1465 to i64 + %1467 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1466 + %1468 = load double, ptr addrspace(1) %1467, align 8, !tbaa !760 + %1469 = fmul double %1464, %1048 + %1470 = fmul double %1456, %1053 + %1471 = fmul double %1456, %1054 + %1472 = fmul double %1460, %1053 + %1473 = fmul double %1460, %1054 + %1474 = fsub double %1470, %1469 + %1475 = fadd double %1471, %1474 + %1476 = fadd double %1472, %1475 + %1477 = fadd double %1473, %1476 + %1478 = fmul double %1464, %1050 + %1479 = fmul double %1468, %1048 + %1480 = fadd double %1478, %1479 + %1481 = fadd double %1477, %1480 + %1482 = add nuw nsw i32 %1055, 140 + %1483 = zext nneg i32 %1482 to i64 + %1484 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1483 + %1485 = load double, ptr addrspace(1) %1484, align 8, !tbaa !760 + %1486 = fadd double %1485, %1469 + %1487 = fsub double %1485, %1486 + %1488 = fadd double %1486, %1487 + %1489 = fadd double %1469, %1487 + %1490 = fsub double %1485, %1488 + %1491 = fadd double %1489, %1490 + %1492 = add nuw nsw i32 %1055, 141 + %1493 = zext nneg i32 %1492 to i64 + %1494 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1493 + %1495 = load double, ptr addrspace(1) %1494, align 8, !tbaa !760 + %1496 = fadd double %1495, %1481 + %1497 = fadd double %1491, %1496 + %1498 = fmul double %1486, 0x41A0000002000000 + %1499 = fsub double %1498, %1486 + %1500 = fsub double %1498, %1499 + %1501 = fsub double %1486, %1500 + %1502 = fmul double %1486, %1048 + %1503 = fmul double %1500, %1053 + %1504 = fmul double %1500, %1054 + %1505 = fmul double %1501, %1053 + %1506 = fmul double %1501, %1054 + %1507 = fsub double %1503, %1502 + %1508 = fadd double %1504, %1507 + %1509 = fadd double %1505, %1508 + %1510 = fadd double %1506, %1509 + %1511 = fmul double %1486, %1050 + %1512 = fmul double %1497, %1048 + %1513 = fadd double %1511, %1512 + %1514 = fadd double %1510, %1513 + %1515 = add nuw nsw i32 %1055, 138 + %1516 = zext nneg i32 %1515 to i64 + %1517 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1516 + %1518 = load double, ptr addrspace(1) %1517, align 8, !tbaa !760 + %1519 = fadd double %1518, %1502 + %1520 = fsub double %1518, %1519 + %1521 = fadd double %1519, %1520 + %1522 = fadd double %1502, %1520 + %1523 = fsub double %1518, %1521 + %1524 = fadd double %1522, %1523 + %1525 = add nuw nsw i32 %1055, 139 + %1526 = zext nneg i32 %1525 to i64 + %1527 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1526 + %1528 = load double, ptr addrspace(1) %1527, align 8, !tbaa !760 + %1529 = fadd double %1528, %1514 + %1530 = fadd double %1524, %1529 + %1531 = fmul double %1519, 0x41A0000002000000 + %1532 = fsub double %1531, %1519 + %1533 = fsub double %1531, %1532 + %1534 = fsub double %1519, %1533 + %1535 = fmul double %1519, %1048 + %1536 = fmul double %1533, %1053 + %1537 = fmul double %1533, %1054 + %1538 = fmul double %1534, %1053 + %1539 = fmul double %1534, %1054 + %1540 = fsub double %1536, %1535 + %1541 = fadd double %1537, %1540 + %1542 = fadd double %1538, %1541 + %1543 = fadd double %1539, %1542 + %1544 = fmul double %1519, %1050 + %1545 = fmul double %1530, %1048 + %1546 = fadd double %1544, %1545 + %1547 = fadd double %1543, %1546 + %1548 = add nuw nsw i32 %1055, 136 + %1549 = zext nneg i32 %1548 to i64 + %1550 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1549 + %1551 = load double, ptr addrspace(1) %1550, align 8, !tbaa !760 + %1552 = fadd double %1551, %1535 + %1553 = fsub double %1551, %1552 + %1554 = fadd double %1552, %1553 + %1555 = fadd double %1535, %1553 + %1556 = fsub double %1551, %1554 + %1557 = fadd double %1555, %1556 + %1558 = add nuw nsw i32 %1055, 137 + %1559 = zext nneg i32 %1558 to i64 + %1560 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1559 + %1561 = load double, ptr addrspace(1) %1560, align 8, !tbaa !760 + %1562 = fadd double %1561, %1547 + %1563 = fadd double %1557, %1562 + %1564 = fmul double %1552, 0x41A0000002000000 + %1565 = fsub double %1564, %1552 + %1566 = fsub double %1564, %1565 + %1567 = fsub double %1552, %1566 + %1568 = fmul double %1552, %1048 + %1569 = fmul double %1566, %1053 + %1570 = fmul double %1566, %1054 + %1571 = fmul double %1567, %1053 + %1572 = fmul double %1567, %1054 + %1573 = fsub double %1569, %1568 + %1574 = fadd double %1570, %1573 + %1575 = fadd double %1571, %1574 + %1576 = fadd double %1572, %1575 + %1577 = fmul double %1552, %1050 + %1578 = fmul double %1563, %1048 + %1579 = fadd double %1577, %1578 + %1580 = fadd double %1576, %1579 + %1581 = add nuw nsw i32 %1055, 134 + %1582 = zext nneg i32 %1581 to i64 + %1583 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1582 + %1584 = load double, ptr addrspace(1) %1583, align 8, !tbaa !760 + %1585 = fadd double %1584, %1568 + %1586 = fsub double %1584, %1585 + %1587 = fadd double %1585, %1586 + %1588 = fadd double %1568, %1586 + %1589 = fsub double %1584, %1587 + %1590 = fadd double %1588, %1589 + %1591 = add nuw nsw i32 %1055, 135 + %1592 = zext nneg i32 %1591 to i64 + %1593 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1592 + %1594 = load double, ptr addrspace(1) %1593, align 8, !tbaa !760 + %1595 = fadd double %1594, %1580 + %1596 = fadd double %1590, %1595 + %1597 = fmul double %1585, 0x41A0000002000000 + %1598 = fsub double %1597, %1585 + %1599 = fsub double %1597, %1598 + %1600 = fsub double %1585, %1599 + %1601 = fmul double %1585, %1048 + %1602 = fmul double %1599, %1053 + %1603 = fmul double %1599, %1054 + %1604 = fmul double %1600, %1053 + %1605 = fmul double %1600, %1054 + %1606 = fsub double %1602, %1601 + %1607 = fadd double %1603, %1606 + %1608 = fadd double %1604, %1607 + %1609 = fadd double %1605, %1608 + %1610 = fmul double %1585, %1050 + %1611 = fmul double %1596, %1048 + %1612 = fadd double %1610, %1611 + %1613 = fadd double %1609, %1612 + %1614 = or i32 %1055, 132 + %1615 = zext nneg i32 %1614 to i64 + %1616 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1615 + %1617 = load double, ptr addrspace(1) %1616, align 8, !tbaa !760 + %1618 = fadd double %1617, %1601 + %1619 = fsub double %1617, %1618 + %1620 = fadd double %1618, %1619 + %1621 = fadd double %1601, %1619 + %1622 = fsub double %1617, %1620 + %1623 = fadd double %1621, %1622 + %1624 = or i32 %1055, 133 + %1625 = zext nneg i32 %1624 to i64 + %1626 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1625 + %1627 = load double, ptr addrspace(1) %1626, align 8, !tbaa !760 + %1628 = fadd double %1627, %1613 + %1629 = fadd double %1623, %1628 + %1630 = fmul double %1618, 0x41A0000002000000 + %1631 = fsub double %1630, %1618 + %1632 = fsub double %1630, %1631 + %1633 = fsub double %1618, %1632 + %1634 = fmul double %1618, %1048 + %1635 = fmul double %1632, %1053 + %1636 = fmul double %1632, %1054 + %1637 = fmul double %1633, %1053 + %1638 = fmul double %1633, %1054 + %1639 = fsub double %1635, %1634 + %1640 = fadd double %1636, %1639 + %1641 = fadd double %1637, %1640 + %1642 = fadd double %1638, %1641 + %1643 = fmul double %1618, %1050 + %1644 = fmul double %1629, %1048 + %1645 = fadd double %1643, %1644 + %1646 = fadd double %1642, %1645 + %1647 = add nuw nsw i32 %1055, 130 + %1648 = zext nneg i32 %1647 to i64 + %1649 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1648 + %1650 = load double, ptr addrspace(1) %1649, align 8, !tbaa !760 + %1651 = fadd double %1650, %1634 + %1652 = fsub double %1650, %1651 + %1653 = fadd double %1651, %1652 + %1654 = fadd double %1634, %1652 + %1655 = fsub double %1650, %1653 + %1656 = fadd double %1654, %1655 + %1657 = add nuw nsw i32 %1055, 131 + %1658 = zext nneg i32 %1657 to i64 + %1659 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1658 + %1660 = load double, ptr addrspace(1) %1659, align 8, !tbaa !760 + %1661 = fadd double %1660, %1646 + %1662 = fadd double %1656, %1661 + %1663 = fmul double %1651, 0x41A0000002000000 + %1664 = fsub double %1663, %1651 + %1665 = fsub double %1663, %1664 + %1666 = fsub double %1651, %1665 + %1667 = fmul double %1651, %1048 + %1668 = fmul double %1665, %1053 + %1669 = fmul double %1665, %1054 + %1670 = fmul double %1666, %1053 + %1671 = fmul double %1666, %1054 + %1672 = fsub double %1668, %1667 + %1673 = fadd double %1669, %1672 + %1674 = fadd double %1670, %1673 + %1675 = fadd double %1671, %1674 + %1676 = fmul double %1651, %1050 + %1677 = fmul double %1662, %1048 + %1678 = fadd double %1676, %1677 + %1679 = fadd double %1675, %1678 + %1680 = or i32 %1055, 128 + %1681 = zext nneg i32 %1680 to i64 + %1682 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1681 + %1683 = load double, ptr addrspace(1) %1682, align 8, !tbaa !760 + %1684 = fadd double %1683, %1667 + %1685 = fsub double %1683, %1684 + %1686 = fadd double %1684, %1685 + %1687 = fadd double %1667, %1685 + %1688 = fsub double %1683, %1686 + %1689 = fadd double %1687, %1688 + %1690 = or i32 %1055, 129 + %1691 = zext nneg i32 %1690 to i64 + %1692 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1691 + %1693 = load double, ptr addrspace(1) %1692, align 8, !tbaa !760 + %1694 = fadd double %1693, %1679 + %1695 = fadd double %1689, %1694 + %1696 = fmul double %1684, 0x41A0000002000000 + %1697 = fsub double %1696, %1684 + %1698 = fsub double %1696, %1697 + %1699 = fsub double %1684, %1698 + %1700 = fmul double %1684, %1048 + %1701 = fmul double %1698, %1053 + %1702 = fmul double %1698, %1054 + %1703 = fmul double %1699, %1053 + %1704 = fmul double %1699, %1054 + %1705 = fsub double %1701, %1700 + %1706 = fadd double %1702, %1705 + %1707 = fadd double %1703, %1706 + %1708 = fadd double %1704, %1707 + %1709 = fmul double %1684, %1050 + %1710 = fmul double %1695, %1048 + %1711 = fadd double %1709, %1710 + %1712 = fadd double %1708, %1711 + %1713 = add nuw nsw i32 %1055, 126 + %1714 = zext nneg i32 %1713 to i64 + %1715 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1714 + %1716 = load double, ptr addrspace(1) %1715, align 8, !tbaa !760 + %1717 = fadd double %1716, %1700 + %1718 = fsub double %1716, %1717 + %1719 = fadd double %1717, %1718 + %1720 = fadd double %1700, %1718 + %1721 = fsub double %1716, %1719 + %1722 = fadd double %1720, %1721 + %1723 = add nuw nsw i32 %1055, 127 + %1724 = zext nneg i32 %1723 to i64 + %1725 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1724 + %1726 = load double, ptr addrspace(1) %1725, align 8, !tbaa !760 + %1727 = fadd double %1726, %1712 + %1728 = fadd double %1722, %1727 + %1729 = fmul double %1717, 0x41A0000002000000 + %1730 = fsub double %1729, %1717 + %1731 = fsub double %1729, %1730 + %1732 = fsub double %1717, %1731 + %1733 = fmul double %1717, %1048 + %1734 = fmul double %1731, %1053 + %1735 = fmul double %1731, %1054 + %1736 = fmul double %1732, %1053 + %1737 = fmul double %1732, %1054 + %1738 = fsub double %1734, %1733 + %1739 = fadd double %1735, %1738 + %1740 = fadd double %1736, %1739 + %1741 = fadd double %1737, %1740 + %1742 = fmul double %1717, %1050 + %1743 = fmul double %1728, %1048 + %1744 = fadd double %1742, %1743 + %1745 = fadd double %1741, %1744 + %1746 = add nuw nsw i32 %1055, 124 + %1747 = zext nneg i32 %1746 to i64 + %1748 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1747 + %1749 = load double, ptr addrspace(1) %1748, align 8, !tbaa !760 + %1750 = fadd double %1749, %1733 + %1751 = fsub double %1749, %1750 + %1752 = fadd double %1750, %1751 + %1753 = fadd double %1733, %1751 + %1754 = fsub double %1749, %1752 + %1755 = fadd double %1753, %1754 + %1756 = add nuw nsw i32 %1055, 125 + %1757 = zext nneg i32 %1756 to i64 + %1758 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1757 + %1759 = load double, ptr addrspace(1) %1758, align 8, !tbaa !760 + %1760 = fadd double %1759, %1745 + %1761 = fadd double %1755, %1760 + %1762 = fmul double %1750, 0x41A0000002000000 + %1763 = fsub double %1762, %1750 + %1764 = fsub double %1762, %1763 + %1765 = fsub double %1750, %1764 + %1766 = fmul double %1750, %1048 + %1767 = fmul double %1764, %1053 + %1768 = fmul double %1764, %1054 + %1769 = fmul double %1765, %1053 + %1770 = fmul double %1765, %1054 + %1771 = fsub double %1767, %1766 + %1772 = fadd double %1768, %1771 + %1773 = fadd double %1769, %1772 + %1774 = fadd double %1770, %1773 + %1775 = fmul double %1750, %1050 + %1776 = fmul double %1761, %1048 + %1777 = fadd double %1775, %1776 + %1778 = fadd double %1774, %1777 + %1779 = add nuw nsw i32 %1055, 122 + %1780 = zext nneg i32 %1779 to i64 + %1781 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1780 + %1782 = load double, ptr addrspace(1) %1781, align 8, !tbaa !760 + %1783 = fadd double %1782, %1766 + %1784 = fsub double %1782, %1783 + %1785 = fadd double %1783, %1784 + %1786 = fadd double %1766, %1784 + %1787 = fsub double %1782, %1785 + %1788 = fadd double %1786, %1787 + %1789 = add nuw nsw i32 %1055, 123 + %1790 = zext nneg i32 %1789 to i64 + %1791 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1790 + %1792 = load double, ptr addrspace(1) %1791, align 8, !tbaa !760 + %1793 = fadd double %1792, %1778 + %1794 = fadd double %1788, %1793 + %1795 = fmul double %1783, 0x41A0000002000000 + %1796 = fsub double %1795, %1783 + %1797 = fsub double %1795, %1796 + %1798 = fsub double %1783, %1797 + %1799 = fmul double %1783, %1048 + %1800 = fmul double %1797, %1053 + %1801 = fmul double %1797, %1054 + %1802 = fmul double %1798, %1053 + %1803 = fmul double %1798, %1054 + %1804 = fsub double %1800, %1799 + %1805 = fadd double %1801, %1804 + %1806 = fadd double %1802, %1805 + %1807 = fadd double %1803, %1806 + %1808 = fmul double %1783, %1050 + %1809 = fmul double %1794, %1048 + %1810 = fadd double %1808, %1809 + %1811 = fadd double %1807, %1810 + %1812 = add nuw nsw i32 %1055, 120 + %1813 = zext nneg i32 %1812 to i64 + %1814 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1813 + %1815 = load double, ptr addrspace(1) %1814, align 8, !tbaa !760 + %1816 = fadd double %1815, %1799 + %1817 = fsub double %1815, %1816 + %1818 = fadd double %1816, %1817 + %1819 = fadd double %1799, %1817 + %1820 = fsub double %1815, %1818 + %1821 = fadd double %1819, %1820 + %1822 = add nuw nsw i32 %1055, 121 + %1823 = zext nneg i32 %1822 to i64 + %1824 = getelementptr inbounds double, ptr addrspace(1) @_ZN26__imf_impl_cdfnorminv_d_la12_GLOBAL__N_120_vmldCdfNormInvHATabE, i64 %1823 + %1825 = load double, ptr addrspace(1) %1824, align 8, !tbaa !760 + %1826 = fadd double %1825, %1811 + %1827 = fadd double %1821, %1826 + %1828 = fdiv double 1.000000e+00, %1816 + %1829 = fmul double %1816, 0x41A0000002000000 + %1830 = fsub double %1829, %1816 + %1831 = fsub double %1829, %1830 + %1832 = fsub double %1816, %1831 + %1833 = fmul double %1828, 0x41A0000002000000 + %1834 = fsub double %1833, %1828 + %1835 = fsub double %1833, %1834 + %1836 = fsub double %1828, %1835 + %1837 = fmul double %1816, %1828 + %1838 = fmul double %1831, %1835 + %1839 = fmul double %1831, %1836 + %1840 = fmul double %1832, %1835 + %1841 = fmul double %1832, %1836 + %1842 = fsub double %1838, %1837 + %1843 = fadd double %1839, %1842 + %1844 = fadd double %1840, %1843 + %1845 = fadd double %1841, %1844 + %1846 = fmul double %1827, %1828 + %1847 = fadd double %1845, %1846 + %1848 = fadd double %1837, -1.000000e+00 + %1849 = fneg double %1828 + %1850 = fadd double %1848, %1847 + %1851 = fmul double %1850, %1849 + %1852 = fmul double %1451, 0x41A0000002000000 + %1853 = fsub double %1852, %1451 + %1854 = fsub double %1852, %1853 + %1855 = fsub double %1451, %1854 + %1856 = fmul double %1451, %1828 + %1857 = fmul double %1854, %1835 + %1858 = fmul double %1854, %1836 + %1859 = fmul double %1855, %1835 + %1860 = fmul double %1855, %1836 + %1861 = fsub double %1857, %1856 + %1862 = fadd double %1858, %1861 + %1863 = fadd double %1859, %1862 + %1864 = fadd double %1860, %1863 + %1865 = fmul double %1451, %1851 + %1866 = fmul double %1452, %1828 + %1867 = fadd double %1865, %1866 + %1868 = fadd double %1864, %1867 + %1869 = fmul double %1856, 0x41A0000002000000 + %1870 = fsub double %1869, %1856 + %1871 = fsub double %1869, %1870 + %1872 = fsub double %1856, %1871 + %1873 = fmul double %1856, 0x3FF6A09E667F3BCD + %1874 = fmul double %1871, 0x3FF6A09E68000000 + %1875 = fmul double %1871, 0xBE380C4330000000 + %1876 = fmul double %1872, 0x3FF6A09E68000000 + %1877 = fmul double %1872, 0xBE380C4330000000 + %1878 = fsub double %1874, %1873 + %1879 = fadd double %1875, %1878 + %1880 = fadd double %1876, %1879 + %1881 = fadd double %1877, %1880 + %1882 = fmul double %1856, 0xBC9BDD3413B26456 + %1883 = fmul double %1868, 0x3FF6A09E667F3BCD + %1884 = fadd double %1882, %1883 + %1885 = fadd double %1881, %1884 + %1886 = fadd double %1873, %1885 + store double %1886, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +1887: ; preds = %7 + %1888 = fcmp oeq double %8, 0.000000e+00 + %1889 = fcmp oeq double %8, 1.000000e+00 + %1890 = or i1 %1888, %1889 + br i1 %1890, label %1891, label %1895 + +1891: ; preds = %1887 + %1892 = fadd double %8, %8 + %1893 = fadd double %1892, -1.000000e+00 + %1894 = fdiv double %1893, 0.000000e+00 + store double %1894, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +1895: ; preds = %1887 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +1896: ; preds = %2 + %1897 = and i32 %4, 1048575 + %1898 = icmp eq i32 %1897, 0 + br i1 %1898, label %1899, label %1903 + +1899: ; preds = %1896 + %1900 = load i32, ptr addrspace(4) %0, align 8 + %1901 = icmp eq i32 %1900, 0 + br i1 %1901, label %1902, label %1903 + +1902: ; preds = %1899 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +1903: ; preds = %1899, %1896 + %1904 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %1905 = fmul double %1904, %1904 + store double %1905, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1906 + +1906: ; preds = %1903, %1902, %1895, %1891, %876, %270, %24, %23 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cosh(double noundef %0) local_unnamed_addr #43 !srcloc !1489 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = bitcast double %4 to i64 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 0x3FF71547652B82FE, double noundef 0x42C8000000000000) #56 + %7 = lshr i64 %5, 32 + %8 = trunc i64 %7 to i32 + %9 = icmp ugt i32 %8, 1082531225 + %10 = bitcast double %6 to i64 + %11 = trunc i64 %10 to i32 + %12 = and i32 %11, 127 + %13 = mul nuw nsw i32 %12, 3 + %14 = zext nneg i32 %13 to i64 + %15 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dcosh_dataE, i64 448), i64 %14 + %16 = load i64, ptr addrspace(1) %15, align 8, !tbaa !719 + %17 = add nuw nsw i32 %13, 1 + %18 = zext nneg i32 %17 to i64 + %19 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dcosh_dataE, i64 448), i64 %18 + %20 = load i64, ptr addrspace(1) %19, align 8, !tbaa !719 + %21 = add nuw nsw i32 %13, 2 + %22 = zext nneg i32 %21 to i64 + %23 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dcosh_dataE, i64 448), i64 %22 + %24 = load i64, ptr addrspace(1) %23, align 8, !tbaa !719 + %25 = fadd double %6, 0xC2C8000000000000 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFE62E42FEFA0000, double noundef %25, double noundef %4) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBD7CF79ABC9E3B3A, double noundef %25, double noundef %26) #56 + %28 = shl i64 %10, 45 + %29 = and i64 %28, 9218868437227405312 + %30 = add i64 %16, %29 + %31 = bitcast i64 %30 to double + %32 = add i64 %20, %29 + %33 = bitcast i64 %32 to double + %34 = sub i64 %24, %29 + %35 = bitcast i64 %34 to double + %36 = fsub double %31, %35 + %37 = fadd double %31, %35 + %38 = fmul double %27, %27 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3F81111121A1CF67, double noundef %38, double noundef 0x3FC55555555555E6) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FA55555ACCA171D, double noundef %38, double noundef 0x3FDFFFFFFFFFFF58) #56 + %41 = fmul double %39, %38 + %42 = fmul double %40, %38 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %37, double noundef %33) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %27, double noundef %27) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %36, double noundef %43) #56 + %46 = fadd double %45, %35 + %47 = fadd double %46, %31 + br i1 %9, label %48, label %52, !prof !1176 + +48: ; preds = %1 + %49 = addrspacecast ptr %3 to ptr addrspace(4) + %50 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %47, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dcoshEPKdPd(ptr addrspace(4) noundef %50, ptr addrspace(4) noundef %49) #55 + %51 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %52 + +52: ; preds = %48, %1 + %53 = phi double [ %51, %48 ], [ %47, %1 ] + ret double %53 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dcoshEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1490 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %124, label %7 + +7: ; preds = %2 + %8 = load i64, ptr addrspace(4) %0, align 8, !tbaa !760 + %9 = and i64 %8, 9223372036854775807 + %10 = bitcast i64 %9 to double + %11 = and i64 %8, 9214364837600034816 + %12 = icmp ugt i64 %11, 4363988038922010624 + br i1 %12, label %13, label %122 + +13: ; preds = %7 + %14 = fcmp olt double %10, 0x408633CE8FB9F87E + br i1 %14, label %15, label %121 + +15: ; preds = %13 + %16 = fcmp ult double %10, 0x40357CD0E7026820 + br i1 %16, label %58, label %17 + +17: ; preds = %15 + %18 = fmul double %10, 0x40571547652B82FE + %19 = fadd double %18, 0x4338000000000000 + %20 = fadd double %19, 0xC338000000000000 + %21 = fmul double %20, 0x3F862E42FEFA0000 + %22 = fmul double %20, 0x3D1CF79ABC9E3B3A + %23 = fsub double %10, %21 + %24 = fsub double %23, %22 + %25 = tail call double @llvm.fmuladd.f64(double %24, double 0x3F56C16A1C2A3FFD, double 0x3F8111123AAF20D3) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %24, double 0x3FA5555555558FCC) + %27 = tail call double @llvm.fmuladd.f64(double %26, double %24, double 0x3FC55555555548F8) + %28 = tail call double @llvm.fmuladd.f64(double %27, double %24, double 5.000000e-01) + %29 = fmul double %28, %24 + %30 = tail call double @llvm.fmuladd.f64(double %29, double %24, double %24) + %31 = bitcast double %19 to i64 + %32 = trunc i64 %31 to i32 + %33 = lshr i32 %32, 6 + %34 = shl i32 %32, 1 + %35 = and i32 %34, 126 + %36 = zext nneg i32 %35 to i64 + %37 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %36 + %38 = load double, ptr addrspace(1) %37, align 8, !tbaa !760 + %39 = fmul double %38, %30 + %40 = or i32 %35, 1 + %41 = zext nneg i32 %40 to i64 + %42 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %41 + %43 = load double, ptr addrspace(1) %42, align 8, !tbaa !760 + %44 = fadd double %39, %43 + %45 = fadd double %44, %38 + %46 = add nuw nsw i32 %33, 1022 + %47 = and i32 %46, 2047 + %48 = icmp eq i32 %47, 2047 + br i1 %48, label %55, label %49 + +49: ; preds = %17 + %50 = shl nuw nsw i32 %47, 20 + %51 = zext nneg i32 %50 to i64 + %52 = shl nuw nsw i64 %51, 32 + %53 = bitcast i64 %52 to double + %54 = fmul double %45, %53 + store double %54, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +55: ; preds = %17 + %56 = fmul double %45, 0x7FE0000000000000 + %57 = fmul double %56, 2.000000e+00 + store double %57, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +58: ; preds = %15 + %59 = fmul double %10, 0x40571547652B82FE + %60 = fadd double %59, 0x4338000000000000 + %61 = fadd double %60, 0xC338000000000000 + %62 = fmul double %61, 0x3F862E42FEFA0000 + %63 = fmul double %61, 0x3D1CF79ABC9E3B3A + %64 = fsub double %10, %62 + %65 = fsub double %64, %63 + %66 = fmul double %65, %65 + %67 = tail call double @llvm.fmuladd.f64(double %66, double 0x3F8111123AAF20D3, double 0x3FC55555555548F8) + %68 = fmul double %67, %66 + %69 = fmul double %68, %65 + %70 = tail call double @llvm.fmuladd.f64(double %66, double 0x3F56C16A1C2A3FFD, double 0x3FA5555555558FCC) + %71 = tail call double @llvm.fmuladd.f64(double %70, double %66, double 5.000000e-01) + %72 = fmul double %71, %66 + %73 = bitcast double %60 to i64 + %74 = trunc i64 %73 to i32 + %75 = shl i32 %74, 14 + %76 = and i32 %75, 2146435072 + %77 = add i32 %75, 1071644672 + %78 = and i32 %77, 2146435072 + %79 = zext nneg i32 %78 to i64 + %80 = shl nuw nsw i64 %79, 32 + %81 = bitcast i64 %80 to double + %82 = shl i32 %74, 1 + %83 = and i32 %82, 126 + %84 = zext nneg i32 %83 to i64 + %85 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %84 + %86 = load double, ptr addrspace(1) %85, align 8, !tbaa !760 + %87 = fmul double %86, %81 + %88 = or i32 %83, 1 + %89 = zext nneg i32 %88 to i64 + %90 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %89 + %91 = load double, ptr addrspace(1) %90, align 8, !tbaa !760 + %92 = fmul double %91, %81 + %93 = sub nsw i32 1070596096, %76 + %94 = and i32 %93, 2146435072 + %95 = zext nneg i32 %94 to i64 + %96 = shl nuw nsw i64 %95, 32 + %97 = bitcast i64 %96 to double + %98 = sub nuw nsw i32 128, %83 + %99 = zext nneg i32 %98 to i64 + %100 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %99 + %101 = load double, ptr addrspace(1) %100, align 8, !tbaa !760 + %102 = fmul double %101, %97 + %103 = sub nuw nsw i32 129, %83 + %104 = zext nneg i32 %103 to i64 + %105 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_cosh_d_ha12_GLOBAL__N_118__dcosh_ha_CoutTabE, i64 %104 + %106 = load double, ptr addrspace(1) %105, align 8, !tbaa !760 + %107 = fmul double %106, %97 + %108 = fadd double %87, %102 + %109 = fsub double %87, %108 + %110 = fadd double %109, %102 + %111 = fsub double %87, %102 + %112 = fsub double %92, %107 + %113 = fmul double %65, %112 + %114 = fadd double %113, %107 + %115 = fadd double %114, %92 + %116 = fadd double %115, %110 + %117 = tail call double @llvm.fmuladd.f64(double %69, double %111, double %116) + %118 = tail call double @llvm.fmuladd.f64(double %72, double %108, double %117) + %119 = tail call double @llvm.fmuladd.f64(double %65, double %111, double %118) + %120 = fadd double %119, %108 + store double %120, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +121: ; preds = %13 + store double 0x7FF0000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +122: ; preds = %7 + %123 = fadd double %10, 1.000000e+00 + store double %123, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +124: ; preds = %2 + %125 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %126 = fmul double %125, %125 + store double %126, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %127 + +127: ; preds = %124, %122, %121, %58, %55, %49 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_cospi(double noundef %0) local_unnamed_addr #43 !srcloc !1491 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %3 = fadd double %2, 0x4330000000000000 + %4 = fadd double %3, 0xC330000000000000 + %5 = fcmp olt double %2, 0x4330000000000000 + %6 = select i1 %5, double %4, double %2 + %7 = select i1 %5, double %3, double %2 + %8 = fcmp olt double %2, 0x4340000000000000 + %9 = select i1 %8, double %7, double 0.000000e+00 + %10 = bitcast double %9 to i64 + %11 = shl i64 %10, 63 + %12 = fsub double %2, %6 + %13 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %12) #56 + %14 = fsub double 5.000000e-01, %13 + %15 = fsub double 5.000000e-01, %14 + %16 = fsub double %15, %13 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %14, double noundef 0.000000e+00) #56 + %18 = fneg double %17 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %14, double noundef %18) #56 + %20 = fadd double %16, %16 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %14, double noundef %19) #56 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0x4EA9D46B06CE620E, double noundef 0xCEF6F7AD23B5CD51) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %17, double noundef 0x4F3E8F3677C334D3) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %23, double noundef %17, double noundef 0xCF7E3074DFB5BB14) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %17, double noundef 0x4FB50783485523F4) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %17, double noundef 0xCFE32D2CCE627C9E) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %17, double noundef 0x500466BC6775AA7D) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %17, double noundef 0xCCA15D7C17744D75) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xD014ABBCE625BE52, double noundef %17, double noundef 0x500921FB54442D18) #56 + %30 = fadd double %29, 0xD00921FB54442D18 + %31 = fneg double %30 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef 0xD014ABBCE625BE52, double noundef %31) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %28, double noundef %32) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef 0xD014ABBCE625BE52, double noundef 0x4C918E38E04F47B9) #56 + %35 = fadd double %34, %33 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %17, double noundef %35) #56 + %37 = fadd double %29, %36 + %38 = fsub double %37, %29 + %39 = fsub double %36, %38 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %14, double noundef 0.000000e+00) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %16, double noundef %40) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %14, double noundef %41) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 0x2FF0000000000000, double noundef 0.000000e+00) #56 + %44 = bitcast double %43 to i64 + %45 = xor i64 %11, %44 + %46 = bitcast i64 %45 to double + ret double %46 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_erfc(double noundef %0) local_unnamed_addr #43 !srcloc !1492 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = fcmp olt double %5, 0x403B3E0000000000 + %7 = select i1 %6, double %5, double 0x403B3E0000000000 + %8 = and i64 %4, -9223372036854775808 + %9 = or i64 %8, 4607182418800017408 + %10 = bitcast i64 %9 to double + %11 = fsub double 1.000000e+00, %10 + %12 = fadd double %7, 0x42C0000000000000 + %13 = fcmp ogt double %7, 0x37F0000000000000 + %14 = select i1 %13, double %7, double 0x37F0000000000000 + %15 = fadd double %12, 0xC2C0000000000000 + %16 = fsub double %14, %15 + %17 = fmul double %15, %16 + %18 = bitcast double %12 to i64 + %19 = or i64 %8, 4030721666496593920 + %20 = bitcast i64 %19 to double + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF2282C89A04C65F, double noundef %17, double noundef 0x3F472360BAC04E70) #56 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBF8441DF86900A46, double noundef %17, double noundef 0x3FA117ABF1FEA28C) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFB56433674BA5C2, double noundef %17, double noundef 0x3FC256E8E6045CDF) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %17, double noundef 0xBF6A019F4F234617) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %17, double noundef 0xBFB8618412BC79EC) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %23, double noundef %17, double noundef 0xBFC5554E249FF4A7) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %17, double noundef 0x3F8A019F5AEED25F) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %17, double noundef 0x3FCC71C4B73B20B6) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %17, double noundef 0x3FB9998F9D0729DA) #56 + %30 = shl i64 %18, 1 + %31 = and i64 %30, 536870910 + %32 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_135__devicelib_imf_internal_derfc_dataE, i64 %31 + %33 = load double, ptr addrspace(1) %32, align 8, !tbaa !719 + %34 = or i64 %31, 1 + %35 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_135__devicelib_imf_internal_derfc_dataE, i64 %34 + %36 = load double, ptr addrspace(1) %35, align 8, !tbaa !719 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %17, double noundef 0xBFA6C16C16D06420) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %17, double noundef 0xBFD9999999F3D838) #56 + %39 = fmul double %16, %16 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %17, double noundef 0x3FC11111111AB082) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %17, double noundef 0x3FE0000000379730) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %29, double noundef 0xBFD5555555554ADD) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %17, double noundef 0xBFD555555555548A) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %17, double noundef %42) #56 + %45 = fmul double %17, %17 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %17, double noundef 0x3FE55555555554CF) #56 + %47 = fneg double %17 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %39, double noundef %47) #56 + %49 = fmul double %36, %16 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %45, double noundef %48) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %49, double noundef %49) #56 + %52 = fcmp uge double %0, 0x403B39DC41E48BFD + %53 = fsub double %33, %51 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %20, double noundef %11) #56 + br i1 %52, label %55, label %59, !prof !1176 + +55: ; preds = %1 + %56 = addrspacecast ptr %3 to ptr addrspace(4) + %57 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %54, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_130__devicelib_imf_internal_derfcEPKdPd(ptr addrspace(4) noundef %57, ptr addrspace(4) noundef %56) #55 + %58 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %59 + +59: ; preds = %55, %1 + %60 = phi double [ %58, %55 ], [ %54, %1 ] + ret double %60 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_130__devicelib_imf_internal_derfcEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1493 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = lshr i32 %4, 20 + %6 = and i32 %5, 2047 + %7 = icmp eq i32 %6, 2047 + br i1 %7, label %363, label %8 + +8: ; preds = %2 + %9 = icmp ugt i32 %6, 952 + br i1 %9, label %10, label %360 + +10: ; preds = %8 + %11 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %12 = fcmp ogt double %11, 0xC017744F8F74E94A + br i1 %12, label %13, label %359 + +13: ; preds = %10 + %14 = fcmp olt double %11, 0x403B39DC41E48BFD + br i1 %14, label %15, label %358 + +15: ; preds = %13 + %16 = tail call double @llvm.fabs.f64(double %11) + %17 = fadd double %16, 1.000000e+00 + %18 = fmul double %17, %17 + %19 = fmul double %18, %18 + %20 = bitcast double %19 to i64 + %21 = lshr i64 %20, 52 + %22 = trunc i64 %21 to i32 + %23 = and i32 %22, 2047 + %24 = add nsw i32 %23, -1023 + %25 = mul nsw i32 %24, 23 + %26 = zext i32 %25 to i64 + %27 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %26 + %28 = load double, ptr addrspace(1) %27, align 8, !tbaa !760 + %29 = fadd double %16, %28 + %30 = fsub double %16, %29 + %31 = fadd double %29, %30 + %32 = fadd double %28, %30 + %33 = fsub double %16, %31 + %34 = fadd double %32, %33 + %35 = add nsw i32 %25, 22 + %36 = zext i32 %35 to i64 + %37 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %36 + %38 = load double, ptr addrspace(1) %37, align 8, !tbaa !760 + %39 = add nsw i32 %25, 21 + %40 = zext i32 %39 to i64 + %41 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %40 + %42 = load double, ptr addrspace(1) %41, align 8, !tbaa !760 + %43 = tail call double @llvm.fmuladd.f64(double %38, double %29, double %42) + %44 = add nsw i32 %25, 20 + %45 = zext i32 %44 to i64 + %46 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %45 + %47 = load double, ptr addrspace(1) %46, align 8, !tbaa !760 + %48 = tail call double @llvm.fmuladd.f64(double %43, double %29, double %47) + %49 = add nsw i32 %25, 19 + %50 = zext i32 %49 to i64 + %51 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %50 + %52 = load double, ptr addrspace(1) %51, align 8, !tbaa !760 + %53 = tail call double @llvm.fmuladd.f64(double %48, double %29, double %52) + %54 = add nsw i32 %25, 18 + %55 = zext i32 %54 to i64 + %56 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %55 + %57 = load double, ptr addrspace(1) %56, align 8, !tbaa !760 + %58 = tail call double @llvm.fmuladd.f64(double %53, double %29, double %57) + %59 = add nsw i32 %25, 17 + %60 = zext i32 %59 to i64 + %61 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %60 + %62 = load double, ptr addrspace(1) %61, align 8, !tbaa !760 + %63 = tail call double @llvm.fmuladd.f64(double %58, double %29, double %62) + %64 = add nsw i32 %25, 16 + %65 = zext i32 %64 to i64 + %66 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %65 + %67 = load double, ptr addrspace(1) %66, align 8, !tbaa !760 + %68 = tail call double @llvm.fmuladd.f64(double %63, double %29, double %67) + %69 = add nsw i32 %25, 15 + %70 = zext i32 %69 to i64 + %71 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %70 + %72 = load double, ptr addrspace(1) %71, align 8, !tbaa !760 + %73 = tail call double @llvm.fmuladd.f64(double %68, double %29, double %72) + %74 = add nsw i32 %25, 14 + %75 = zext i32 %74 to i64 + %76 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %75 + %77 = load double, ptr addrspace(1) %76, align 8, !tbaa !760 + %78 = tail call double @llvm.fmuladd.f64(double %73, double %29, double %77) + %79 = add nsw i32 %25, 13 + %80 = zext i32 %79 to i64 + %81 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %80 + %82 = load double, ptr addrspace(1) %81, align 8, !tbaa !760 + %83 = tail call double @llvm.fmuladd.f64(double %78, double %29, double %82) + %84 = fmul double %83, %29 + %85 = fmul double %29, 0x41A0000002000000 + %86 = fsub double %85, %29 + %87 = fsub double %85, %86 + %88 = fsub double %29, %87 + %89 = fadd double %88, %34 + %90 = add nsw i32 %25, 11 + %91 = zext i32 %90 to i64 + %92 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %91 + %93 = load double, ptr addrspace(1) %92, align 8, !tbaa !760 + %94 = fadd double %93, %84 + %95 = fsub double %93, %94 + %96 = fadd double %95, %84 + %97 = add nsw i32 %25, 12 + %98 = zext i32 %97 to i64 + %99 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %98 + %100 = load double, ptr addrspace(1) %99, align 8, !tbaa !760 + %101 = fadd double %96, %100 + %102 = fmul double %94, 0x41A0000002000000 + %103 = fsub double %102, %94 + %104 = fsub double %102, %103 + %105 = fsub double %94, %104 + %106 = fadd double %105, %101 + %107 = fmul double %104, %87 + %108 = fmul double %106, %89 + %109 = tail call double @llvm.fmuladd.f64(double %104, double %89, double %108) + %110 = tail call double @llvm.fmuladd.f64(double %106, double %87, double %109) + %111 = add nsw i32 %25, 9 + %112 = zext i32 %111 to i64 + %113 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %112 + %114 = load double, ptr addrspace(1) %113, align 8, !tbaa !760 + %115 = fadd double %114, %107 + %116 = fsub double %114, %115 + %117 = fadd double %116, %107 + %118 = fadd double %117, %110 + %119 = add nsw i32 %25, 10 + %120 = zext i32 %119 to i64 + %121 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %120 + %122 = load double, ptr addrspace(1) %121, align 8, !tbaa !760 + %123 = fadd double %118, %122 + %124 = fmul double %115, 0x41A0000002000000 + %125 = fsub double %124, %115 + %126 = fsub double %124, %125 + %127 = fsub double %115, %126 + %128 = fadd double %127, %123 + %129 = fmul double %126, %87 + %130 = fmul double %128, %89 + %131 = tail call double @llvm.fmuladd.f64(double %126, double %89, double %130) + %132 = tail call double @llvm.fmuladd.f64(double %128, double %87, double %131) + %133 = add nsw i32 %25, 7 + %134 = zext i32 %133 to i64 + %135 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %134 + %136 = load double, ptr addrspace(1) %135, align 8, !tbaa !760 + %137 = fadd double %136, %129 + %138 = fsub double %136, %137 + %139 = fadd double %138, %129 + %140 = fadd double %139, %132 + %141 = add nsw i32 %25, 8 + %142 = zext i32 %141 to i64 + %143 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %142 + %144 = load double, ptr addrspace(1) %143, align 8, !tbaa !760 + %145 = fadd double %140, %144 + %146 = fmul double %137, 0x41A0000002000000 + %147 = fsub double %146, %137 + %148 = fsub double %146, %147 + %149 = fsub double %137, %148 + %150 = fadd double %149, %145 + %151 = fmul double %148, %87 + %152 = fmul double %150, %89 + %153 = tail call double @llvm.fmuladd.f64(double %148, double %89, double %152) + %154 = tail call double @llvm.fmuladd.f64(double %150, double %87, double %153) + %155 = add nsw i32 %25, 5 + %156 = zext i32 %155 to i64 + %157 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %156 + %158 = load double, ptr addrspace(1) %157, align 8, !tbaa !760 + %159 = fadd double %158, %151 + %160 = fsub double %158, %159 + %161 = fadd double %160, %151 + %162 = fadd double %161, %154 + %163 = add nsw i32 %25, 6 + %164 = zext i32 %163 to i64 + %165 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %164 + %166 = load double, ptr addrspace(1) %165, align 8, !tbaa !760 + %167 = fadd double %162, %166 + %168 = fmul double %159, 0x41A0000002000000 + %169 = fsub double %168, %159 + %170 = fsub double %168, %169 + %171 = fsub double %159, %170 + %172 = fadd double %171, %167 + %173 = fmul double %170, %87 + %174 = fmul double %172, %89 + %175 = tail call double @llvm.fmuladd.f64(double %170, double %89, double %174) + %176 = tail call double @llvm.fmuladd.f64(double %172, double %87, double %175) + %177 = add nsw i32 %25, 3 + %178 = zext i32 %177 to i64 + %179 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %178 + %180 = load double, ptr addrspace(1) %179, align 8, !tbaa !760 + %181 = fadd double %180, %173 + %182 = fsub double %180, %181 + %183 = fadd double %182, %173 + %184 = fadd double %183, %176 + %185 = add nsw i32 %25, 4 + %186 = zext i32 %185 to i64 + %187 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %186 + %188 = load double, ptr addrspace(1) %187, align 8, !tbaa !760 + %189 = fadd double %184, %188 + %190 = fmul double %181, 0x41A0000002000000 + %191 = fsub double %190, %181 + %192 = fsub double %190, %191 + %193 = fsub double %181, %192 + %194 = fadd double %193, %189 + %195 = fmul double %192, %87 + %196 = fmul double %194, %89 + %197 = tail call double @llvm.fmuladd.f64(double %192, double %89, double %196) + %198 = tail call double @llvm.fmuladd.f64(double %194, double %87, double %197) + %199 = add nsw i32 %25, 1 + %200 = zext i32 %199 to i64 + %201 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %200 + %202 = load double, ptr addrspace(1) %201, align 8, !tbaa !760 + %203 = fadd double %202, %195 + %204 = fsub double %202, %203 + %205 = fadd double %204, %195 + %206 = fadd double %205, %198 + %207 = add nsw i32 %25, 2 + %208 = zext i32 %207 to i64 + %209 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %208 + %210 = load double, ptr addrspace(1) %209, align 8, !tbaa !760 + %211 = fadd double %206, %210 + %212 = fadd double %203, %211 + %213 = fsub double %203, %212 + %214 = fadd double %213, %211 + %215 = icmp ult i32 %24, 6 + br i1 %215, label %309, label %216 + +216: ; preds = %15 + %217 = fmul double %212, 0x41A0000002000000 + %218 = fsub double %217, %212 + %219 = fsub double %217, %218 + %220 = fsub double %212, %219 + %221 = fadd double %214, %220 + %222 = fmul double %11, 0x41A0000002000000 + %223 = fsub double %222, %11 + %224 = fsub double %222, %223 + %225 = fsub double %11, %224 + %226 = fmul double %225, %225 + %227 = tail call double @llvm.fmuladd.f64(double %224, double %225, double %226) + %228 = tail call double @llvm.fmuladd.f64(double %225, double %224, double %227) + %229 = fneg double %224 + %230 = fmul double %224, %229 + %231 = fmul double %230, 0x40571547652B82FE + %232 = fadd double %231, 0x4338000000000000 + %233 = fadd double %232, 0xC338000000000000 + %234 = fneg double %233 + %235 = tail call double @llvm.fmuladd.f64(double %234, double 0x3F862E42FEFA0000, double %230) + %236 = fmul double %233, 0xBD1CF79ABC9E3B3A + %237 = fadd double %235, %236 + %238 = fsub double %235, %237 + %239 = fadd double %237, %238 + %240 = fadd double %236, %238 + %241 = fsub double %235, %239 + %242 = fadd double %240, %241 + %243 = fsub double %237, %228 + %244 = fsub double %237, %243 + %245 = fadd double %243, %244 + %246 = fsub double %244, %228 + %247 = fsub double %237, %245 + %248 = fadd double %246, %247 + %249 = fadd double %242, %248 + %250 = bitcast double %232 to i64 + %251 = trunc i64 %250 to i32 + %252 = tail call double @llvm.fmuladd.f64(double %243, double 0x3F56C16A1C2A3FFD, double 0x3F8111123AAF20D3) + %253 = tail call double @llvm.fmuladd.f64(double %252, double %243, double 0x3FA5555555558FCC) + %254 = tail call double @llvm.fmuladd.f64(double %253, double %243, double 0x3FC55555555548F8) + %255 = tail call double @llvm.fmuladd.f64(double %254, double %243, double 5.000000e-01) + %256 = fmul double %255, %243 + %257 = fmul double %256, %243 + %258 = fadd double %257, %243 + %259 = fsub double %257, %258 + %260 = fadd double %259, %243 + %261 = fmul double %258, 0x41A0000002000000 + %262 = fsub double %261, %258 + %263 = fsub double %261, %262 + %264 = fsub double %258, %263 + %265 = fadd double %260, %264 + %266 = fadd double %265, %249 + %267 = shl i32 %251, 1 + %268 = and i32 %267, 126 + %269 = add nuw nsw i32 %268, 465 + %270 = zext nneg i32 %269 to i64 + %271 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %270 + %272 = load double, ptr addrspace(1) %271, align 8, !tbaa !760 + %273 = fmul double %272, %263 + %274 = add nuw nsw i32 %268, 466 + %275 = zext nneg i32 %274 to i64 + %276 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_erfc_d_la12_GLOBAL__N_123__derfc_la__imldErfcTabE, i64 %275 + %277 = load double, ptr addrspace(1) %276, align 8, !tbaa !760 + %278 = fmul double %277, %266 + %279 = tail call double @llvm.fmuladd.f64(double %272, double %266, double %278) + %280 = tail call double @llvm.fmuladd.f64(double %277, double %263, double %279) + %281 = fadd double %273, %272 + %282 = fsub double %273, %281 + %283 = fadd double %281, %282 + %284 = fadd double %272, %282 + %285 = fsub double %273, %283 + %286 = fadd double %284, %285 + %287 = fadd double %286, %277 + %288 = fadd double %280, %287 + %289 = fmul double %281, 0x41A0000002000000 + %290 = fsub double %289, %281 + %291 = fsub double %289, %290 + %292 = fsub double %281, %291 + %293 = fadd double %288, %292 + %294 = fmul double %219, %291 + %295 = fmul double %221, %293 + %296 = tail call double @llvm.fmuladd.f64(double %219, double %293, double %295) + %297 = tail call double @llvm.fmuladd.f64(double %221, double %291, double %296) + %298 = shl i32 %251, 14 + %299 = add i32 %298, 1072693248 + %300 = and i32 %299, 2146435072 + %301 = zext nneg i32 %300 to i64 + %302 = shl nuw nsw i64 %301, 32 + %303 = bitcast i64 %302 to double + %304 = add i32 %298, 1282408448 + %305 = and i32 %304, 2146435072 + %306 = zext nneg i32 %305 to i64 + %307 = shl nuw nsw i64 %306, 32 + %308 = bitcast i64 %307 to double + br label %309 + +309: ; preds = %216, %15 + %310 = phi double [ %303, %216 ], [ 1.000000e+00, %15 ] + %311 = phi double [ %297, %216 ], [ %214, %15 ] + %312 = phi double [ %294, %216 ], [ %212, %15 ] + %313 = phi double [ %308, %216 ], [ 0xC80000000000000, %15 ] + %314 = icmp sgt i32 %4, -1 + br i1 %314, label %315, label %341 + +315: ; preds = %309 + %316 = fcmp olt double %11, 0x403A8B12FC6E4892 + br i1 %316, label %317, label %320 + +317: ; preds = %315 + %318 = fadd double %312, %311 + %319 = fmul double %318, %310 + br label %356 + +320: ; preds = %315 + %321 = fmul double %312, %313 + %322 = fmul double %311, %313 + %323 = fcmp ogt double %11, 0x403AB30A0F9C4611 + br i1 %323, label %324, label %329 + +324: ; preds = %320 + %325 = fadd double %321, %322 + %326 = fmul double %325, 0x3370000000000000 + %327 = fmul double %326, %326 + %328 = fadd double %326, %327 + br label %356 + +329: ; preds = %320 + %330 = fadd double %321, %322 + %331 = fsub double %321, %330 + %332 = fadd double %331, %322 + %333 = fmul double %330, 0x41A0000002000000 + %334 = fsub double %333, %330 + %335 = fsub double %333, %334 + %336 = fsub double %330, %335 + %337 = fadd double %332, %336 + %338 = fmul double %335, 0x3370000000000000 + %339 = fmul double %337, 0x3370000000000000 + %340 = fadd double %338, %339 + br label %356 + +341: ; preds = %309 + %342 = fneg double %310 + %343 = fmul double %312, %342 + %344 = fmul double %311, %342 + %345 = fadd double %343, 2.000000e+00 + %346 = fsub double 2.000000e+00, %345 + %347 = fadd double %346, %343 + %348 = fadd double %345, %344 + %349 = fsub double %345, %348 + %350 = fadd double %348, %349 + %351 = fadd double %344, %349 + %352 = fsub double %345, %350 + %353 = fadd double %351, %352 + %354 = fadd double %353, %347 + %355 = fadd double %348, %354 + br label %356 + +356: ; preds = %341, %329, %324, %317 + %357 = phi double [ %319, %317 ], [ %328, %324 ], [ %340, %329 ], [ %355, %341 ] + store double %357, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +358: ; preds = %13 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +359: ; preds = %10 + store double 2.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +360: ; preds = %8 + %361 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %362 = fadd double %361, 1.000000e+00 + store double %362, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +363: ; preds = %2 + %364 = and i32 %4, 1048575 + %365 = icmp eq i32 %364, 0 + br i1 %365, label %366, label %369 + +366: ; preds = %363 + %367 = load i32, ptr addrspace(4) %0, align 8 + %368 = icmp eq i32 %367, 0 + br i1 %368, label %372, label %369 + +369: ; preds = %366, %363 + %370 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %371 = fmul double %370, %370 + store double %371, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +372: ; preds = %366 + %373 = icmp sgt i32 %4, -1 + br i1 %373, label %375, label %374 + +374: ; preds = %372 + store double 2.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +375: ; preds = %372 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %376 + +376: ; preds = %375, %374, %369, %360, %359, %358, %356 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_erfcinv(double noundef %0) local_unnamed_addr #43 !srcloc !1494 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = fcmp uge double %0, 2.000000e+00 + %5 = fcmp ogt double %0, 1.000000e+00 + %6 = fcmp oeq double %0, 1.000000e+00 + %7 = fsub double 2.000000e+00, %0 + %8 = select i1 %5, double %7, double %0 + %9 = fcmp olt double %8, 0x3DC0000000000000 + %10 = or i1 %4, %9 + %11 = or i1 %10, %6 + %12 = select i1 %11, double 5.000000e-01, double %8 + %13 = fcmp oge double %12, 5.000000e-01 + %14 = fsub double 1.000000e+00, %12 + %15 = select i1 %13, double %14, double %12 + %16 = bitcast double %15 to i64 + %17 = and i64 %16, 9223336852482686976 + %18 = and i64 %16, -9223336852482686977 + %19 = bitcast i64 %18 to double + %20 = fcmp une double %19, 0.000000e+00 + %21 = and i1 %13, %20 + %22 = add nuw i64 %17, 35184372088832 + %23 = select i1 %21, i64 %22, i64 %17 + %24 = bitcast i64 %23 to double + %25 = fsub double 1.000000e+00, %24 + %26 = select i1 %13, double %25, double %24 + %27 = add i64 %23, -4449556431842050048 + %28 = ashr exact i64 %27, 41 + %29 = sub nsw i64 139264, %28 + %30 = select i1 %13, i64 %29, i64 %28 + %31 = lshr i64 %30, 3 + %32 = getelementptr inbounds i64, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_145__devicelib_imf_internal_derfcinv_data_avx512E, i64 %31 + %33 = load double, ptr addrspace(1) %32, align 8, !tbaa !719 + %34 = getelementptr double, ptr addrspace(1) %32, i64 1 + %35 = load double, ptr addrspace(1) %34, align 8, !tbaa !719 + %36 = fsub double %12, %26 + %37 = fmul double %36, %35 + %38 = fmul double %33, %33 + %39 = fmul double %33, 0x3FE921FB54442D18 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0xBFEDB29FB2FEE5E4, double noundef 0xBFCDB29FB2FEE5E4) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x3FF3BD3CC9BE45DE, double noundef 0x3FE707719608A6D9) #56 + %42 = fmul double %41, %33 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0xBFFBFD4DDC93D552, double noundef 0xBFFAD2BFF36301C4) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %43, double noundef 0xBFC053C2C0AB91C5) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 0x4004ABBCE625BE53, double noundef 0x400C13F1A78CDE41) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %45, double noundef 0x3FE5E06C2F4E585C) #56 + %47 = fmul double %33, %46 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %47, double noundef %44) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %48, double noundef %42) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %49, double noundef %40) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %50, double noundef %39) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %51, double noundef 0xBFEC5BF891B4EF6B) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %52, double noundef %33) #56 + %54 = select i1 %6, double 0.000000e+00, double %53 + %55 = tail call double @llvm.fabs.f64(double %54) + %56 = fneg double %55 + %57 = select i1 %5, double %56, double %54 + br i1 %10, label %58, label %62, !prof !1176 + +58: ; preds = %1 + %59 = addrspacecast ptr %3 to ptr addrspace(4) + %60 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %57, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_133__devicelib_imf_internal_derfcinvEPKdPd(ptr addrspace(4) noundef %60, ptr addrspace(4) noundef %59) #55 + %61 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %62 + +62: ; preds = %58, %1 + %63 = phi double [ %61, %58 ], [ %57, %1 ] + ret double %63 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_133__devicelib_imf_internal_derfcinvEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1495 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %1843, label %7 + +7: ; preds = %2 + %8 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %9 = fcmp ogt double %8, 0.000000e+00 + %10 = fcmp olt double %8, 2.000000e+00 + %11 = and i1 %9, %10 + br i1 %11, label %12, label %1835 + +12: ; preds = %7 + %13 = fsub double 1.000000e+00, %8 + %14 = fsub double 1.000000e+00, %13 + %15 = fsub double %14, %8 + %16 = tail call double @llvm.fabs.f64(double %13) + %17 = fcmp olt double %16, 8.750000e-01 + br i1 %17, label %18, label %841 + +18: ; preds = %12 + %19 = fcmp olt double %16, 1.250000e-01 + br i1 %19, label %20, label %252 + +20: ; preds = %18 + %21 = fcmp oeq double %8, 1.000000e+00 + br i1 %21, label %22, label %23 + +22: ; preds = %20 + store double 0.000000e+00, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +23: ; preds = %20 + %24 = fmul double %13, 0x41A0000002000000 + %25 = fsub double %24, %13 + %26 = fsub double %24, %25 + %27 = fsub double %13, %26 + %28 = fmul double %13, %13 + %29 = fmul double %26, %26 + %30 = fmul double %26, %27 + %31 = fmul double %27, %27 + %32 = fsub double %29, %28 + %33 = fadd double %30, %32 + %34 = fadd double %30, %33 + %35 = fadd double %31, %34 + %36 = fmul double %28, 0x41A0000002000000 + %37 = fsub double %36, %28 + %38 = fsub double %36, %37 + %39 = fsub double %28, %38 + %40 = fmul double %28, 0x3FA1453877604FE5 + %41 = fmul double %38, 0x3FA1453878000000 + %42 = fmul double %39, 0x3FA1453878000000 + %43 = fmul double %38, 0xBDD3F60360000000 + %44 = fmul double %39, 0xBDD3F60360000000 + %45 = fsub double %41, %40 + %46 = fadd double %42, %45 + %47 = fadd double %43, %46 + %48 = fadd double %44, %47 + %49 = fmul double %35, 0x3FA1453877604FE5 + %50 = fmul double %28, 0xBC4ED8760D890367 + %51 = fadd double %49, %50 + %52 = fadd double %48, %51 + %53 = fadd double %40, 0x3FA2A3B8EFFE372B + %54 = fsub double 0x3FA2A3B8EFFE372B, %53 + %55 = fadd double %53, %54 + %56 = fadd double %40, %54 + %57 = fsub double 0x3FA2A3B8EFFE372B, %55 + %58 = fadd double %56, %57 + %59 = fadd double %52, 0xBC2C9179048B7813 + %60 = fadd double %58, %59 + %61 = fmul double %53, 0x41A0000002000000 + %62 = fsub double %61, %53 + %63 = fsub double %61, %62 + %64 = fsub double %53, %63 + %65 = fmul double %53, %28 + %66 = fmul double %63, %38 + %67 = fmul double %63, %39 + %68 = fmul double %64, %38 + %69 = fmul double %64, %39 + %70 = fsub double %66, %65 + %71 = fadd double %67, %70 + %72 = fadd double %68, %71 + %73 = fadd double %69, %72 + %74 = fmul double %53, %35 + %75 = fmul double %60, %28 + %76 = fadd double %74, %75 + %77 = fadd double %73, %76 + %78 = fadd double %65, 0x3FA5EED224D0DE5D + %79 = fsub double 0x3FA5EED224D0DE5D, %78 + %80 = fadd double %78, %79 + %81 = fadd double %65, %79 + %82 = fsub double 0x3FA5EED224D0DE5D, %80 + %83 = fadd double %81, %82 + %84 = fadd double %77, 0xBC4D901D2D53F24A + %85 = fadd double %83, %84 + %86 = fmul double %78, 0x41A0000002000000 + %87 = fsub double %86, %78 + %88 = fsub double %86, %87 + %89 = fsub double %78, %88 + %90 = fmul double %78, %28 + %91 = fmul double %88, %38 + %92 = fmul double %88, %39 + %93 = fmul double %89, %38 + %94 = fmul double %89, %39 + %95 = fsub double %91, %90 + %96 = fadd double %92, %95 + %97 = fadd double %93, %96 + %98 = fadd double %94, %97 + %99 = fmul double %78, %35 + %100 = fmul double %85, %28 + %101 = fadd double %99, %100 + %102 = fadd double %98, %101 + %103 = fadd double %90, 0x3FAA7C857C26535C + %104 = fsub double 0x3FAA7C857C26535C, %103 + %105 = fadd double %103, %104 + %106 = fadd double %90, %104 + %107 = fsub double 0x3FAA7C857C26535C, %105 + %108 = fadd double %106, %107 + %109 = fadd double %102, 0xBC4483DD5F32CA5C + %110 = fadd double %108, %109 + %111 = fmul double %103, 0x41A0000002000000 + %112 = fsub double %111, %103 + %113 = fsub double %111, %112 + %114 = fsub double %103, %113 + %115 = fmul double %103, %28 + %116 = fmul double %113, %38 + %117 = fmul double %113, %39 + %118 = fmul double %114, %38 + %119 = fmul double %114, %39 + %120 = fsub double %116, %115 + %121 = fadd double %117, %120 + %122 = fadd double %118, %121 + %123 = fadd double %119, %122 + %124 = fmul double %103, %35 + %125 = fmul double %110, %28 + %126 = fadd double %124, %125 + %127 = fadd double %123, %126 + %128 = fadd double %115, 0x3FB0A13189FC0194 + %129 = fsub double 0x3FB0A13189FC0194, %128 + %130 = fadd double %128, %129 + %131 = fadd double %115, %129 + %132 = fsub double 0x3FB0A13189FC0194, %130 + %133 = fadd double %131, %132 + %134 = fadd double %127, 0x3BF238E461C8D1F8 + %135 = fadd double %133, %134 + %136 = fmul double %128, 0x41A0000002000000 + %137 = fsub double %136, %128 + %138 = fsub double %136, %137 + %139 = fsub double %128, %138 + %140 = fmul double %128, %28 + %141 = fmul double %138, %38 + %142 = fmul double %138, %39 + %143 = fmul double %139, %38 + %144 = fmul double %139, %39 + %145 = fsub double %141, %140 + %146 = fadd double %142, %145 + %147 = fadd double %143, %146 + %148 = fadd double %144, %147 + %149 = fmul double %128, %35 + %150 = fmul double %135, %28 + %151 = fadd double %149, %150 + %152 = fadd double %148, %151 + %153 = fadd double %140, 0x3FB62847C47DB0EC + %154 = fsub double 0x3FB62847C47DB0EC, %153 + %155 = fadd double %153, %154 + %156 = fadd double %140, %154 + %157 = fsub double 0x3FB62847C47DB0EC, %155 + %158 = fadd double %156, %157 + %159 = fadd double %152, 0x3C58D304E354BC8B + %160 = fadd double %158, %159 + %161 = fmul double %153, 0x41A0000002000000 + %162 = fsub double %161, %153 + %163 = fsub double %161, %162 + %164 = fsub double %153, %163 + %165 = fmul double %153, %28 + %166 = fmul double %163, %38 + %167 = fmul double %163, %39 + %168 = fmul double %164, %38 + %169 = fmul double %164, %39 + %170 = fsub double %166, %165 + %171 = fadd double %167, %170 + %172 = fadd double %168, %171 + %173 = fadd double %169, %172 + %174 = fmul double %153, %35 + %175 = fmul double %160, %28 + %176 = fadd double %174, %175 + %177 = fadd double %173, %176 + %178 = fadd double %165, 0x3FC053C2C0AB91CD + %179 = fsub double 0x3FC053C2C0AB91CD, %178 + %180 = fadd double %178, %179 + %181 = fadd double %165, %179 + %182 = fsub double 0x3FC053C2C0AB91CD, %180 + %183 = fadd double %181, %182 + %184 = fadd double %177, 0x3C48D7557EAF826B + %185 = fadd double %183, %184 + %186 = fmul double %178, 0x41A0000002000000 + %187 = fsub double %186, %178 + %188 = fsub double %186, %187 + %189 = fsub double %178, %188 + %190 = fmul double %178, %28 + %191 = fmul double %188, %38 + %192 = fmul double %188, %39 + %193 = fmul double %189, %38 + %194 = fmul double %189, %39 + %195 = fsub double %191, %190 + %196 = fadd double %192, %195 + %197 = fadd double %193, %196 + %198 = fadd double %194, %197 + %199 = fmul double %178, %35 + %200 = fmul double %185, %28 + %201 = fadd double %199, %200 + %202 = fadd double %198, %201 + %203 = fadd double %190, 0x3FCDB29FB2FEE5E4 + %204 = fsub double 0x3FCDB29FB2FEE5E4, %203 + %205 = fadd double %203, %204 + %206 = fadd double %190, %204 + %207 = fsub double 0x3FCDB29FB2FEE5E4, %205 + %208 = fadd double %206, %207 + %209 = fadd double %202, 0xBC3656A7E5AE189D + %210 = fadd double %208, %209 + %211 = fmul double %203, 0x41A0000002000000 + %212 = fsub double %211, %203 + %213 = fsub double %211, %212 + %214 = fsub double %203, %213 + %215 = fmul double %203, %28 + %216 = fmul double %213, %38 + %217 = fmul double %213, %39 + %218 = fmul double %214, %38 + %219 = fmul double %214, %39 + %220 = fsub double %216, %215 + %221 = fadd double %217, %220 + %222 = fadd double %218, %221 + %223 = fadd double %219, %222 + %224 = fmul double %203, %35 + %225 = fmul double %210, %28 + %226 = fadd double %224, %225 + %227 = fadd double %223, %226 + %228 = fadd double %215, 0x3FEC5BF891B4EF6B + %229 = fsub double 0x3FEC5BF891B4EF6B, %228 + %230 = fadd double %228, %229 + %231 = fadd double %215, %229 + %232 = fsub double 0x3FEC5BF891B4EF6B, %230 + %233 = fadd double %231, %232 + %234 = fadd double %227, 0xBC8618F0C4045EF1 + %235 = fadd double %233, %234 + %236 = fmul double %228, 0x41A0000002000000 + %237 = fsub double %236, %228 + %238 = fsub double %236, %237 + %239 = fsub double %228, %238 + %240 = fmul double %228, %13 + %241 = fmul double %238, %26 + %242 = fmul double %238, %27 + %243 = fmul double %239, %26 + %244 = fmul double %239, %27 + %245 = fsub double %241, %240 + %246 = fadd double %242, %245 + %247 = fadd double %243, %246 + %248 = fadd double %244, %247 + %249 = fmul double %235, %13 + %250 = fadd double %248, %249 + %251 = fadd double %240, %250 + store double %251, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +252: ; preds = %18 + %253 = fadd double %13, 8.750000e-01 + %254 = fsub double 8.750000e-01, %253 + %255 = fadd double %254, %13 + %256 = fadd double %13, -8.750000e-01 + %257 = fsub double -8.750000e-01, %256 + %258 = fadd double %257, %13 + %259 = fadd double %255, %15 + %260 = fadd double %258, %15 + %261 = fmul double %253, 0x41A0000002000000 + %262 = fsub double %261, %253 + %263 = fsub double %261, %262 + %264 = fsub double %253, %263 + %265 = fmul double %256, 0x41A0000002000000 + %266 = fsub double %265, %256 + %267 = fsub double %265, %266 + %268 = fsub double %256, %267 + %269 = fmul double %253, %256 + %270 = fmul double %263, %267 + %271 = fmul double %263, %268 + %272 = fmul double %264, %267 + %273 = fmul double %264, %268 + %274 = fsub double %270, %269 + %275 = fadd double %271, %274 + %276 = fadd double %272, %275 + %277 = fadd double %273, %276 + %278 = fmul double %253, %260 + %279 = fmul double %259, %256 + %280 = fadd double %278, %279 + %281 = fadd double %277, %280 + %282 = fmul double %269, 0x41A0000002000000 + %283 = fsub double %282, %269 + %284 = fsub double %282, %283 + %285 = fsub double %269, %284 + %286 = fmul double %13, 0x41A0000002000000 + %287 = fsub double %286, %13 + %288 = fsub double %286, %287 + %289 = fsub double %13, %288 + %290 = fmul double %269, 0x3FA8220B8B203C29 + %291 = fmul double %284, 0x3FA8220B88000000 + %292 = fmul double %285, 0x3FA8220B88000000 + %293 = fmul double %284, 0x3DF901E148000000 + %294 = fmul double %285, 0x3DF901E148000000 + %295 = fsub double %291, %290 + %296 = fadd double %292, %295 + %297 = fadd double %293, %296 + %298 = fadd double %294, %297 + %299 = fmul double %281, 0x3FA8220B8B203C29 + %300 = fmul double %269, 0x3C4C6DC9F5E71917 + %301 = fadd double %299, %300 + %302 = fadd double %298, %301 + %303 = fadd double %290, 0xC01278BBE9284837 + %304 = fsub double 0xC01278BBE9284837, %303 + %305 = fadd double %303, %304 + %306 = fadd double %290, %304 + %307 = fsub double 0xC01278BBE9284837, %305 + %308 = fadd double %306, %307 + %309 = fadd double %302, 0xBCB1228CCA79E297 + %310 = fadd double %308, %309 + %311 = fmul double %303, 0x41A0000002000000 + %312 = fsub double %311, %303 + %313 = fsub double %311, %312 + %314 = fsub double %303, %313 + %315 = fmul double %303, %269 + %316 = fmul double %313, %284 + %317 = fmul double %313, %285 + %318 = fmul double %314, %284 + %319 = fmul double %314, %285 + %320 = fsub double %316, %315 + %321 = fadd double %317, %320 + %322 = fadd double %318, %321 + %323 = fadd double %319, %322 + %324 = fmul double %303, %281 + %325 = fmul double %310, %269 + %326 = fadd double %324, %325 + %327 = fadd double %323, %326 + %328 = fadd double %315, 0x4051C1F63CC5AF00 + %329 = fsub double 0x4051C1F63CC5AF00, %328 + %330 = fadd double %328, %329 + %331 = fadd double %315, %329 + %332 = fsub double 0x4051C1F63CC5AF00, %330 + %333 = fadd double %331, %332 + %334 = fadd double %327, 0x3CFA2D2521CA3856 + %335 = fadd double %333, %334 + %336 = fmul double %328, 0x41A0000002000000 + %337 = fsub double %336, %328 + %338 = fsub double %336, %337 + %339 = fsub double %328, %338 + %340 = fmul double %328, %269 + %341 = fmul double %338, %284 + %342 = fmul double %338, %285 + %343 = fmul double %339, %284 + %344 = fmul double %339, %285 + %345 = fsub double %341, %340 + %346 = fadd double %342, %345 + %347 = fadd double %343, %346 + %348 = fadd double %344, %347 + %349 = fmul double %328, %281 + %350 = fmul double %335, %269 + %351 = fadd double %349, %350 + %352 = fadd double %348, %351 + %353 = fadd double %340, 0xC0785B5A2CC9556C + %354 = fsub double 0xC0785B5A2CC9556C, %353 + %355 = fadd double %353, %354 + %356 = fadd double %340, %354 + %357 = fsub double 0xC0785B5A2CC9556C, %355 + %358 = fadd double %356, %357 + %359 = fadd double %352, 0xBD1CA585DB17334C + %360 = fadd double %358, %359 + %361 = fmul double %353, 0x41A0000002000000 + %362 = fsub double %361, %353 + %363 = fsub double %361, %362 + %364 = fsub double %353, %363 + %365 = fmul double %353, %269 + %366 = fmul double %363, %284 + %367 = fmul double %363, %285 + %368 = fmul double %364, %284 + %369 = fmul double %364, %285 + %370 = fsub double %366, %365 + %371 = fadd double %367, %370 + %372 = fadd double %368, %371 + %373 = fadd double %369, %372 + %374 = fmul double %353, %281 + %375 = fmul double %360, %269 + %376 = fadd double %374, %375 + %377 = fadd double %373, %376 + %378 = fadd double %365, 0x408F692EB6797941 + %379 = fsub double 0x408F692EB6797941, %378 + %380 = fadd double %378, %379 + %381 = fadd double %365, %379 + %382 = fsub double 0x408F692EB6797941, %380 + %383 = fadd double %381, %382 + %384 = fadd double %377, 0x3D2F714B1467C0E3 + %385 = fadd double %383, %384 + %386 = fmul double %378, 0x41A0000002000000 + %387 = fsub double %386, %378 + %388 = fsub double %386, %387 + %389 = fsub double %378, %388 + %390 = fmul double %378, %269 + %391 = fmul double %388, %284 + %392 = fmul double %388, %285 + %393 = fmul double %389, %284 + %394 = fmul double %389, %285 + %395 = fsub double %391, %390 + %396 = fadd double %392, %395 + %397 = fadd double %393, %396 + %398 = fadd double %394, %397 + %399 = fmul double %378, %281 + %400 = fmul double %385, %269 + %401 = fadd double %399, %400 + %402 = fadd double %398, %401 + %403 = fadd double %390, 0xC095C18A27CEC8E8 + %404 = fsub double 0xC095C18A27CEC8E8, %403 + %405 = fadd double %403, %404 + %406 = fadd double %390, %404 + %407 = fsub double 0xC095C18A27CEC8E8, %405 + %408 = fadd double %406, %407 + %409 = fadd double %402, 0xBD10E2B852779012 + %410 = fadd double %408, %409 + %411 = fmul double %403, 0x41A0000002000000 + %412 = fsub double %411, %403 + %413 = fsub double %411, %412 + %414 = fsub double %403, %413 + %415 = fmul double %403, %269 + %416 = fmul double %413, %284 + %417 = fmul double %413, %285 + %418 = fmul double %414, %284 + %419 = fmul double %414, %285 + %420 = fsub double %416, %415 + %421 = fadd double %417, %420 + %422 = fadd double %418, %421 + %423 = fadd double %419, %422 + %424 = fmul double %403, %281 + %425 = fmul double %410, %269 + %426 = fadd double %424, %425 + %427 = fadd double %423, %426 + %428 = fadd double %415, 0x4091532E970B7749 + %429 = fsub double 0x4091532E970B7749, %428 + %430 = fadd double %428, %429 + %431 = fadd double %415, %429 + %432 = fsub double 0x4091532E970B7749, %430 + %433 = fadd double %431, %432 + %434 = fadd double %427, 0x3D1B6CCA93966491 + %435 = fadd double %433, %434 + %436 = fmul double %428, 0x41A0000002000000 + %437 = fsub double %436, %428 + %438 = fsub double %436, %437 + %439 = fsub double %428, %438 + %440 = fmul double %428, %269 + %441 = fmul double %438, %284 + %442 = fmul double %438, %285 + %443 = fmul double %439, %284 + %444 = fmul double %439, %285 + %445 = fsub double %441, %440 + %446 = fadd double %442, %445 + %447 = fadd double %443, %446 + %448 = fadd double %444, %447 + %449 = fmul double %428, %281 + %450 = fmul double %435, %269 + %451 = fadd double %449, %450 + %452 = fadd double %448, %451 + %453 = fadd double %440, 0xC0804473B3396B50 + %454 = fsub double 0xC0804473B3396B50, %453 + %455 = fadd double %453, %454 + %456 = fadd double %440, %454 + %457 = fsub double 0xC0804473B3396B50, %455 + %458 = fadd double %456, %457 + %459 = fadd double %452, 0xBD2556514AEDEEF8 + %460 = fadd double %458, %459 + %461 = fmul double %453, 0x41A0000002000000 + %462 = fsub double %461, %453 + %463 = fsub double %461, %462 + %464 = fsub double %453, %463 + %465 = fmul double %453, %269 + %466 = fmul double %463, %284 + %467 = fmul double %463, %285 + %468 = fmul double %464, %284 + %469 = fmul double %464, %285 + %470 = fsub double %466, %465 + %471 = fadd double %467, %470 + %472 = fadd double %468, %471 + %473 = fadd double %469, %472 + %474 = fmul double %453, %281 + %475 = fmul double %460, %269 + %476 = fadd double %474, %475 + %477 = fadd double %473, %476 + %478 = fadd double %465, 0x4061B7AA8884C3C7 + %479 = fsub double 0x4061B7AA8884C3C7, %478 + %480 = fadd double %478, %479 + %481 = fadd double %465, %479 + %482 = fsub double 0x4061B7AA8884C3C7, %480 + %483 = fadd double %481, %482 + %484 = fadd double %477, 0xBCFB43000AB13BCA + %485 = fadd double %483, %484 + %486 = fmul double %478, 0x41A0000002000000 + %487 = fsub double %486, %478 + %488 = fsub double %486, %487 + %489 = fsub double %478, %488 + %490 = fmul double %478, %269 + %491 = fmul double %488, %284 + %492 = fmul double %488, %285 + %493 = fmul double %489, %284 + %494 = fmul double %489, %285 + %495 = fsub double %491, %490 + %496 = fadd double %492, %495 + %497 = fadd double %493, %496 + %498 = fadd double %494, %497 + %499 = fmul double %478, %281 + %500 = fmul double %485, %269 + %501 = fadd double %499, %500 + %502 = fadd double %498, %501 + %503 = fadd double %490, 0xC034A2E2F8AF851C + %504 = fsub double 0xC034A2E2F8AF851C, %503 + %505 = fadd double %503, %504 + %506 = fadd double %490, %504 + %507 = fsub double 0xC034A2E2F8AF851C, %505 + %508 = fadd double %506, %507 + %509 = fadd double %502, 0xBCD5C3927A1580B3 + %510 = fadd double %508, %509 + %511 = fmul double %503, 0x41A0000002000000 + %512 = fsub double %511, %503 + %513 = fsub double %511, %512 + %514 = fsub double %503, %513 + %515 = fmul double %503, %269 + %516 = fmul double %513, %284 + %517 = fmul double %513, %285 + %518 = fmul double %514, %284 + %519 = fmul double %514, %285 + %520 = fsub double %516, %515 + %521 = fadd double %517, %520 + %522 = fadd double %518, %521 + %523 = fadd double %519, %522 + %524 = fmul double %503, %281 + %525 = fmul double %510, %269 + %526 = fadd double %524, %525 + %527 = fadd double %523, %526 + %528 = fadd double %515, 0x3FF3D60B08DF7DEC + %529 = fsub double 0x3FF3D60B08DF7DEC, %528 + %530 = fadd double %528, %529 + %531 = fadd double %515, %529 + %532 = fsub double 0x3FF3D60B08DF7DEC, %530 + %533 = fadd double %531, %532 + %534 = fadd double %527, 0x3C9AF4D4BFD5C4C0 + %535 = fadd double %533, %534 + %536 = fmul double %528, 0x41A0000002000000 + %537 = fsub double %536, %528 + %538 = fsub double %536, %537 + %539 = fsub double %528, %538 + %540 = fmul double %528, %13 + %541 = fmul double %538, %288 + %542 = fmul double %538, %289 + %543 = fmul double %539, %288 + %544 = fmul double %539, %289 + %545 = fsub double %541, %540 + %546 = fadd double %542, %545 + %547 = fadd double %543, %546 + %548 = fadd double %544, %547 + %549 = fmul double %528, %15 + %550 = fmul double %535, %13 + %551 = fadd double %549, %550 + %552 = fadd double %548, %551 + %553 = fmul double %269, 0x3FD6C3E088408F61 + %554 = fmul double %284, 0x3FD6C3E088000000 + %555 = fmul double %285, 0x3FD6C3E088000000 + %556 = fmul double %284, 0x3DF023D840000000 + %557 = fmul double %285, 0x3DF023D840000000 + %558 = fsub double %554, %553 + %559 = fadd double %555, %558 + %560 = fadd double %556, %559 + %561 = fadd double %557, %560 + %562 = fmul double %281, 0x3FD6C3E088408F61 + %563 = fmul double %269, 0x3C689DE06E902D94 + %564 = fadd double %562, %563 + %565 = fadd double %561, %564 + %566 = fadd double %553, 0xC02C38506933B00D + %567 = fsub double 0xC02C38506933B00D, %566 + %568 = fadd double %566, %567 + %569 = fadd double %553, %567 + %570 = fsub double 0xC02C38506933B00D, %568 + %571 = fadd double %569, %570 + %572 = fadd double %565, 0x3CCEEAD255786AAB + %573 = fadd double %571, %572 + %574 = fmul double %566, 0x41A0000002000000 + %575 = fsub double %574, %566 + %576 = fsub double %574, %575 + %577 = fsub double %566, %576 + %578 = fmul double %566, %269 + %579 = fmul double %576, %284 + %580 = fmul double %576, %285 + %581 = fmul double %577, %284 + %582 = fmul double %577, %285 + %583 = fsub double %579, %578 + %584 = fadd double %580, %583 + %585 = fadd double %581, %584 + %586 = fadd double %582, %585 + %587 = fmul double %566, %281 + %588 = fmul double %573, %269 + %589 = fadd double %587, %588 + %590 = fadd double %586, %589 + %591 = fadd double %578, 0x4062261ACF1B5CAE + %592 = fsub double 0x4062261ACF1B5CAE, %591 + %593 = fadd double %591, %592 + %594 = fadd double %578, %592 + %595 = fsub double 0x4062261ACF1B5CAE, %593 + %596 = fadd double %594, %595 + %597 = fadd double %590, 0x3CE301A04E7E2609 + %598 = fadd double %596, %597 + %599 = fmul double %591, 0x41A0000002000000 + %600 = fsub double %599, %591 + %601 = fsub double %599, %600 + %602 = fsub double %591, %601 + %603 = fmul double %591, %269 + %604 = fmul double %601, %284 + %605 = fmul double %601, %285 + %606 = fmul double %602, %284 + %607 = fmul double %602, %285 + %608 = fsub double %604, %603 + %609 = fadd double %605, %608 + %610 = fadd double %606, %609 + %611 = fadd double %607, %610 + %612 = fmul double %591, %281 + %613 = fmul double %598, %269 + %614 = fadd double %612, %613 + %615 = fadd double %611, %614 + %616 = fadd double %603, 0xC0835F60847C9795 + %617 = fsub double 0xC0835F60847C9795, %616 + %618 = fadd double %616, %617 + %619 = fadd double %603, %617 + %620 = fsub double 0xC0835F60847C9795, %618 + %621 = fadd double %619, %620 + %622 = fadd double %615, 0xBD2B64E8FD95167E + %623 = fadd double %621, %622 + %624 = fmul double %616, 0x41A0000002000000 + %625 = fsub double %624, %616 + %626 = fsub double %624, %625 + %627 = fsub double %616, %626 + %628 = fmul double %616, %269 + %629 = fmul double %626, %284 + %630 = fmul double %626, %285 + %631 = fmul double %627, %284 + %632 = fmul double %627, %285 + %633 = fsub double %629, %628 + %634 = fadd double %630, %633 + %635 = fadd double %631, %634 + %636 = fadd double %632, %635 + %637 = fmul double %616, %281 + %638 = fmul double %623, %269 + %639 = fadd double %637, %638 + %640 = fadd double %636, %639 + %641 = fadd double %628, 0x4094EE807BCD9592 + %642 = fsub double 0x4094EE807BCD9592, %641 + %643 = fadd double %641, %642 + %644 = fadd double %628, %642 + %645 = fsub double 0x4094EE807BCD9592, %643 + %646 = fadd double %644, %645 + %647 = fadd double %640, 0xBD2E80A6679DCD6D + %648 = fadd double %646, %647 + %649 = fmul double %641, 0x41A0000002000000 + %650 = fsub double %649, %641 + %651 = fsub double %649, %650 + %652 = fsub double %641, %651 + %653 = fmul double %641, %269 + %654 = fmul double %651, %284 + %655 = fmul double %651, %285 + %656 = fmul double %652, %284 + %657 = fmul double %652, %285 + %658 = fsub double %654, %653 + %659 = fadd double %655, %658 + %660 = fadd double %656, %659 + %661 = fadd double %657, %660 + %662 = fmul double %641, %281 + %663 = fmul double %648, %269 + %664 = fadd double %662, %663 + %665 = fadd double %661, %664 + %666 = fadd double %653, 0xC0996078973D022C + %667 = fsub double 0xC0996078973D022C, %666 + %668 = fadd double %666, %667 + %669 = fadd double %653, %667 + %670 = fsub double 0xC0996078973D022C, %668 + %671 = fadd double %669, %670 + %672 = fadd double %665, 0x3D33077F31B19CA5 + %673 = fadd double %671, %672 + %674 = fmul double %666, 0x41A0000002000000 + %675 = fsub double %674, %666 + %676 = fsub double %674, %675 + %677 = fsub double %666, %676 + %678 = fmul double %666, %269 + %679 = fmul double %676, %284 + %680 = fmul double %676, %285 + %681 = fmul double %677, %284 + %682 = fmul double %677, %285 + %683 = fsub double %679, %678 + %684 = fadd double %680, %683 + %685 = fadd double %681, %684 + %686 = fadd double %682, %685 + %687 = fmul double %666, %281 + %688 = fmul double %673, %269 + %689 = fadd double %687, %688 + %690 = fadd double %686, %689 + %691 = fadd double %678, 0x40923317B686F4B8 + %692 = fsub double 0x40923317B686F4B8, %691 + %693 = fadd double %691, %692 + %694 = fadd double %678, %692 + %695 = fsub double 0x40923317B686F4B8, %693 + %696 = fadd double %694, %695 + %697 = fadd double %690, 0x3D24E20075E803AC + %698 = fadd double %696, %697 + %699 = fmul double %691, 0x41A0000002000000 + %700 = fsub double %699, %691 + %701 = fsub double %699, %700 + %702 = fsub double %691, %701 + %703 = fmul double %691, %269 + %704 = fmul double %701, %284 + %705 = fmul double %701, %285 + %706 = fmul double %702, %284 + %707 = fmul double %702, %285 + %708 = fsub double %704, %703 + %709 = fadd double %705, %708 + %710 = fadd double %706, %709 + %711 = fadd double %707, %710 + %712 = fmul double %691, %281 + %713 = fmul double %698, %269 + %714 = fadd double %712, %713 + %715 = fadd double %711, %714 + %716 = fadd double %703, 0xC07F670568746FC6 + %717 = fsub double 0xC07F670568746FC6, %716 + %718 = fadd double %716, %717 + %719 = fadd double %703, %717 + %720 = fsub double 0xC07F670568746FC6, %718 + %721 = fadd double %719, %720 + %722 = fadd double %715, 0x3CFAE0B0DAF6481C + %723 = fadd double %721, %722 + %724 = fmul double %716, 0x41A0000002000000 + %725 = fsub double %724, %716 + %726 = fsub double %724, %725 + %727 = fsub double %716, %726 + %728 = fmul double %716, %269 + %729 = fmul double %726, %284 + %730 = fmul double %726, %285 + %731 = fmul double %727, %284 + %732 = fmul double %727, %285 + %733 = fsub double %729, %728 + %734 = fadd double %730, %733 + %735 = fadd double %731, %734 + %736 = fadd double %732, %735 + %737 = fmul double %716, %281 + %738 = fmul double %723, %269 + %739 = fadd double %737, %738 + %740 = fadd double %736, %739 + %741 = fadd double %728, 0x405FE35180F24C72 + %742 = fsub double 0x405FE35180F24C72, %741 + %743 = fadd double %741, %742 + %744 = fadd double %728, %742 + %745 = fsub double 0x405FE35180F24C72, %743 + %746 = fadd double %744, %745 + %747 = fadd double %740, 0xBCD92F5C3653A3E0 + %748 = fadd double %746, %747 + %749 = fmul double %741, 0x41A0000002000000 + %750 = fsub double %749, %741 + %751 = fsub double %749, %750 + %752 = fsub double %741, %751 + %753 = fmul double %741, %269 + %754 = fmul double %751, %284 + %755 = fmul double %751, %285 + %756 = fmul double %752, %284 + %757 = fmul double %752, %285 + %758 = fsub double %754, %753 + %759 = fadd double %755, %758 + %760 = fadd double %756, %759 + %761 = fadd double %757, %760 + %762 = fmul double %741, %281 + %763 = fmul double %748, %269 + %764 = fadd double %762, %763 + %765 = fadd double %761, %764 + %766 = fadd double %753, 0xC03181B77D2E77EE + %767 = fsub double 0xC03181B77D2E77EE, %766 + %768 = fadd double %766, %767 + %769 = fadd double %753, %767 + %770 = fsub double 0xC03181B77D2E77EE, %768 + %771 = fadd double %769, %770 + %772 = fadd double %765, 0x3CC539F49D174003 + %773 = fadd double %771, %772 + %774 = fmul double %766, 0x41A0000002000000 + %775 = fsub double %774, %766 + %776 = fsub double %774, %775 + %777 = fsub double %766, %776 + %778 = fmul double %766, %269 + %779 = fmul double %776, %284 + %780 = fmul double %776, %285 + %781 = fmul double %777, %284 + %782 = fmul double %777, %285 + %783 = fsub double %779, %778 + %784 = fadd double %780, %783 + %785 = fadd double %781, %784 + %786 = fadd double %782, %785 + %787 = fmul double %766, %281 + %788 = fmul double %773, %269 + %789 = fadd double %787, %788 + %790 = fadd double %786, %789 + %791 = fadd double %778, 1.000000e+00 + %792 = fsub double 1.000000e+00, %791 + %793 = fadd double %791, %792 + %794 = fadd double %778, %792 + %795 = fsub double 1.000000e+00, %793 + %796 = fadd double %794, %795 + %797 = fadd double %790, 0.000000e+00 + %798 = fadd double %796, %797 + %799 = fdiv double 1.000000e+00, %791 + %800 = fmul double %791, 0x41A0000002000000 + %801 = fsub double %800, %791 + %802 = fsub double %800, %801 + %803 = fsub double %791, %802 + %804 = fmul double %799, 0x41A0000002000000 + %805 = fsub double %804, %799 + %806 = fsub double %804, %805 + %807 = fsub double %799, %806 + %808 = fmul double %791, %799 + %809 = fmul double %802, %806 + %810 = fmul double %802, %807 + %811 = fmul double %803, %806 + %812 = fmul double %803, %807 + %813 = fsub double %809, %808 + %814 = fadd double %810, %813 + %815 = fadd double %811, %814 + %816 = fadd double %812, %815 + %817 = fmul double %798, %799 + %818 = fadd double %816, %817 + %819 = fadd double %808, -1.000000e+00 + %820 = fneg double %799 + %821 = fadd double %819, %818 + %822 = fmul double %821, %820 + %823 = fmul double %540, 0x41A0000002000000 + %824 = fsub double %823, %540 + %825 = fsub double %823, %824 + %826 = fsub double %540, %825 + %827 = fmul double %540, %799 + %828 = fmul double %825, %806 + %829 = fmul double %825, %807 + %830 = fmul double %826, %806 + %831 = fmul double %826, %807 + %832 = fsub double %828, %827 + %833 = fadd double %829, %832 + %834 = fadd double %830, %833 + %835 = fadd double %831, %834 + %836 = fmul double %540, %822 + %837 = fmul double %552, %799 + %838 = fadd double %836, %837 + %839 = fadd double %835, %838 + %840 = fadd double %827, %839 + store double %840, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +841: ; preds = %12 + %842 = fcmp ogt double %8, 1.000000e+00 + %843 = fsub double 2.000000e+00, %8 + %844 = select i1 %842, double %843, double %8 + %845 = bitcast double %844 to i64 + %846 = lshr i64 %845, 52 + %847 = trunc i64 %846 to i32 + %848 = and i32 %847, 2047 + %849 = icmp ult i32 %848, 970 + %850 = icmp eq i32 %848, 0 + %851 = and i64 %845, -9218868437227405313 + %852 = or i64 %851, 4607182418800017408 + %853 = bitcast i64 %852 to double + %854 = fadd double %853, -1.000000e+00 + %855 = select i1 %850, double %854, double %844 + %856 = select i1 %850, i32 -1022, i32 0 + %857 = bitcast double %855 to i64 + %858 = lshr i64 %857, 52 + %859 = trunc i64 %858 to i32 + %860 = and i32 %859, 2047 + %861 = add nsw i32 %860, -1023 + %862 = add nsw i32 %856, %861 + %863 = and i64 %857, -9218868437227405313 + %864 = or i64 %863, 4607182418800017408 + %865 = bitcast i64 %864 to double + %866 = lshr i64 %857, 44 + %867 = trunc i64 %866 to i32 + %868 = and i32 %867, 255 + %869 = fmul double %865, 0x41F0000000100000 + %870 = fsub double %869, %865 + %871 = fsub double %869, %870 + %872 = fsub double %865, %871 + %873 = add nuw nsw i32 %868, 172 + %874 = zext nneg i32 %873 to i64 + %875 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %874 + %876 = load double, ptr addrspace(1) %875, align 8, !tbaa !760 + %877 = tail call double @llvm.fmuladd.f64(double %876, double %871, double -1.000000e+00) + %878 = fmul double %876, %872 + %879 = fadd double %877, %878 + %880 = fmul double %879, 0x41F0000000100000 + %881 = fsub double %880, %879 + %882 = fsub double %880, %881 + %883 = fsub double %879, %882 + %884 = fsub double %877, %879 + %885 = fadd double %884, %878 + %886 = fadd double %885, %883 + %887 = fmul double %879, %879 + %888 = tail call double @llvm.fmuladd.f64(double %879, double 0xBFC5555B76AD7FA4, double 0x3FC9999FF151CD6B) + %889 = tail call double @llvm.fmuladd.f64(double %888, double %879, double 0xBFCFFFFFFFFF71AB) + %890 = tail call double @llvm.fmuladd.f64(double %879, double 0x3FD55555555516C2, double -5.000000e-01) + %891 = tail call double @llvm.fmuladd.f64(double %889, double %887, double %890) + %892 = tail call double @llvm.fmuladd.f64(double %891, double %887, double %886) + %893 = sitofp i32 %862 to double + %894 = shl nuw nsw i32 %868, 1 + %895 = add nuw nsw i32 %894, 684 + %896 = zext nneg i32 %895 to i64 + %897 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %896 + %898 = load double, ptr addrspace(1) %897, align 8, !tbaa !760 + %899 = tail call double @llvm.fmuladd.f64(double %893, double 0x3FE62E4300000000, double %898) + %900 = add nuw nsw i32 %894, 685 + %901 = zext nneg i32 %900 to i64 + %902 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %901 + %903 = load double, ptr addrspace(1) %902, align 8, !tbaa !760 + %904 = tail call double @llvm.fmuladd.f64(double %893, double 0xBE205C610CA86C39, double %903) + %905 = fadd double %899, %882 + %906 = fsub double %899, %905 + %907 = fadd double %906, %882 + %908 = fadd double %904, %892 + %909 = fadd double %907, %908 + %910 = fneg double %905 + %911 = fneg double %909 + %912 = bitcast double %910 to i64 + %913 = lshr i64 %912, 32 + %914 = trunc i64 %913 to i32 + %915 = lshr i32 %914, 20 + %916 = and i32 %915, 2047 + %917 = add nsw i32 %916, -1023 + %918 = shl nsw i32 %917, 19 + %919 = add i32 %918, 1072693248 + %920 = and i32 %919, 2146435072 + %921 = zext nneg i32 %920 to i64 + %922 = shl nuw nsw i64 %921, 32 + %923 = bitcast i64 %922 to double + %924 = add i32 %918, 1071644672 + %925 = and i32 %924, 2146435072 + %926 = zext nneg i32 %925 to i64 + %927 = shl nuw nsw i64 %926, 32 + %928 = bitcast i64 %927 to double + %929 = shl nsw i32 %917, 20 + %930 = and i32 %929, 2145386496 + %931 = sub nsw i32 1072693248, %930 + %932 = and i32 %931, 2146435072 + %933 = zext nneg i32 %932 to i64 + %934 = shl nuw nsw i64 %933, 32 + %935 = bitcast i64 %934 to double + %936 = shl nsw i32 %917, 8 + %937 = and i32 %936, 256 + %938 = lshr i32 %914, 12 + %939 = and i32 %938, 255 + %940 = or i32 %937, %939 + %941 = fmul double %910, %935 + %942 = fmul double %911, %935 + %943 = fadd double %941, %942 + %944 = fmul double %943, 0x41F0000000100000 + %945 = fsub double %944, %943 + %946 = fsub double %944, %945 + %947 = fsub double %941, %946 + %948 = fadd double %947, %942 + %949 = fmul double %948, 0x41F0000000100000 + %950 = fsub double %949, %948 + %951 = fsub double %949, %950 + %952 = fsub double %948, %951 + %953 = add nuw nsw i32 %940, 172 + %954 = zext nneg i32 %953 to i64 + %955 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %954 + %956 = load double, ptr addrspace(1) %955, align 8, !tbaa !760 + %957 = tail call double @llvm.fmuladd.f64(double %956, double %946, double -1.000000e+00) + %958 = fmul double %956, %951 + %959 = fmul double %956, %952 + %960 = fadd double %957, %958 + %961 = fsub double %957, %960 + %962 = fadd double %961, %958 + %963 = fadd double %960, %959 + %964 = fadd double %962, %959 + %965 = fmul double %960, 0x41F0000000100000 + %966 = fsub double %965, %960 + %967 = fsub double %965, %966 + %968 = fsub double %960, %967 + %969 = fadd double %968, %964 + %970 = fmul double %963, %963 + %971 = tail call double @llvm.fmuladd.f64(double %963, double 0xBF95000812C497D6, double 0x3F9C00061EB82F5C) + %972 = tail call double @llvm.fmuladd.f64(double %971, double %963, double 0xBFA3FFFFFFFF44CD) + %973 = tail call double @llvm.fmuladd.f64(double %963, double 0x3FAFFFFFFFFFBC81, double -1.250000e-01) + %974 = tail call double @llvm.fmuladd.f64(double %972, double %970, double %973) + %975 = fmul double %974, %963 + %976 = fmul double %975, %923 + %977 = fmul double %976, 0x41F0000000100000 + %978 = fsub double %977, %976 + %979 = fsub double %977, %978 + %980 = fsub double %976, %979 + %981 = fmul double %967, %928 + %982 = fmul double %969, %928 + %983 = fadd double %981, %923 + %984 = fsub double %923, %983 + %985 = fadd double %984, %981 + %986 = fadd double %985, %982 + %987 = fmul double %979, %967 + %988 = fmul double %980, %963 + %989 = tail call double @llvm.fmuladd.f64(double %979, double %969, double %988) + %990 = fadd double %983, %987 + %991 = fsub double %983, %990 + %992 = fadd double %991, %987 + %993 = fadd double %986, %989 + %994 = fadd double %992, %993 + %995 = fadd double %990, %994 + %996 = fmul double %990, 0x41F0000000100000 + %997 = fsub double %996, %990 + %998 = fsub double %996, %997 + %999 = fsub double %990, %998 + %1000 = fadd double %994, %999 + %1001 = shl nuw nsw i32 %940, 1 + %1002 = add nuw nsw i32 %1001, 1196 + %1003 = zext nneg i32 %1002 to i64 + %1004 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1003 + %1005 = load double, ptr addrspace(1) %1004, align 8, !tbaa !760 + %1006 = add nuw nsw i32 %1001, 1197 + %1007 = zext nneg i32 %1006 to i64 + %1008 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1007 + %1009 = load double, ptr addrspace(1) %1008, align 8, !tbaa !760 + %1010 = fmul double %1005, %998 + %1011 = fmul double %1009, %995 + %1012 = tail call double @llvm.fmuladd.f64(double %1005, double %1000, double %1011) + %1013 = fadd double %1010, %1012 + %1014 = fsub double %1010, %1013 + %1015 = fadd double %1014, %1012 + %1016 = fmul double %1013, 0x41A0000002000000 + %1017 = fsub double %1016, %1013 + %1018 = fsub double %1016, %1017 + %1019 = fsub double %1013, %1018 + %1020 = select i1 %849, i32 26, i32 0 + %1021 = add nuw nsw i32 %1020, 92 + %1022 = zext nneg i32 %1021 to i64 + %1023 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1022 + %1024 = load double, ptr addrspace(1) %1023, align 8, !tbaa !760 + %1025 = add nuw nsw i32 %1020, 93 + %1026 = zext nneg i32 %1025 to i64 + %1027 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1026 + %1028 = load double, ptr addrspace(1) %1027, align 8, !tbaa !760 + %1029 = add nuw nsw i32 %1020, 90 + %1030 = zext nneg i32 %1029 to i64 + %1031 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1030 + %1032 = load double, ptr addrspace(1) %1031, align 8, !tbaa !760 + %1033 = add nuw nsw i32 %1020, 91 + %1034 = zext nneg i32 %1033 to i64 + %1035 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1034 + %1036 = load double, ptr addrspace(1) %1035, align 8, !tbaa !760 + %1037 = fmul double %1032, %1013 + %1038 = fmul double %1024, %1018 + %1039 = fmul double %1024, %1019 + %1040 = fmul double %1028, %1018 + %1041 = fmul double %1028, %1019 + %1042 = fsub double %1038, %1037 + %1043 = fadd double %1039, %1042 + %1044 = fadd double %1040, %1043 + %1045 = fadd double %1041, %1044 + %1046 = fmul double %1032, %1015 + %1047 = fmul double %1036, %1013 + %1048 = fadd double %1046, %1047 + %1049 = fadd double %1045, %1048 + %1050 = add nuw nsw i32 %1020, 88 + %1051 = zext nneg i32 %1050 to i64 + %1052 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1051 + %1053 = load double, ptr addrspace(1) %1052, align 8, !tbaa !760 + %1054 = fadd double %1053, %1037 + %1055 = fsub double %1053, %1054 + %1056 = fadd double %1054, %1055 + %1057 = fadd double %1037, %1055 + %1058 = fsub double %1053, %1056 + %1059 = fadd double %1057, %1058 + %1060 = add nuw nsw i32 %1020, 89 + %1061 = zext nneg i32 %1060 to i64 + %1062 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1061 + %1063 = load double, ptr addrspace(1) %1062, align 8, !tbaa !760 + %1064 = fadd double %1063, %1049 + %1065 = fadd double %1059, %1064 + %1066 = fmul double %1054, 0x41A0000002000000 + %1067 = fsub double %1066, %1054 + %1068 = fsub double %1066, %1067 + %1069 = fsub double %1054, %1068 + %1070 = fmul double %1054, %1013 + %1071 = fmul double %1068, %1018 + %1072 = fmul double %1068, %1019 + %1073 = fmul double %1069, %1018 + %1074 = fmul double %1069, %1019 + %1075 = fsub double %1071, %1070 + %1076 = fadd double %1072, %1075 + %1077 = fadd double %1073, %1076 + %1078 = fadd double %1074, %1077 + %1079 = fmul double %1054, %1015 + %1080 = fmul double %1065, %1013 + %1081 = fadd double %1079, %1080 + %1082 = fadd double %1078, %1081 + %1083 = add nuw nsw i32 %1020, 86 + %1084 = zext nneg i32 %1083 to i64 + %1085 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1084 + %1086 = load double, ptr addrspace(1) %1085, align 8, !tbaa !760 + %1087 = fadd double %1086, %1070 + %1088 = fsub double %1086, %1087 + %1089 = fadd double %1087, %1088 + %1090 = fadd double %1070, %1088 + %1091 = fsub double %1086, %1089 + %1092 = fadd double %1090, %1091 + %1093 = add nuw nsw i32 %1020, 87 + %1094 = zext nneg i32 %1093 to i64 + %1095 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1094 + %1096 = load double, ptr addrspace(1) %1095, align 8, !tbaa !760 + %1097 = fadd double %1096, %1082 + %1098 = fadd double %1092, %1097 + %1099 = fmul double %1087, 0x41A0000002000000 + %1100 = fsub double %1099, %1087 + %1101 = fsub double %1099, %1100 + %1102 = fsub double %1087, %1101 + %1103 = fmul double %1087, %1013 + %1104 = fmul double %1101, %1018 + %1105 = fmul double %1101, %1019 + %1106 = fmul double %1102, %1018 + %1107 = fmul double %1102, %1019 + %1108 = fsub double %1104, %1103 + %1109 = fadd double %1105, %1108 + %1110 = fadd double %1106, %1109 + %1111 = fadd double %1107, %1110 + %1112 = fmul double %1087, %1015 + %1113 = fmul double %1098, %1013 + %1114 = fadd double %1112, %1113 + %1115 = fadd double %1111, %1114 + %1116 = add nuw nsw i32 %1020, 84 + %1117 = zext nneg i32 %1116 to i64 + %1118 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1117 + %1119 = load double, ptr addrspace(1) %1118, align 8, !tbaa !760 + %1120 = fadd double %1119, %1103 + %1121 = fsub double %1119, %1120 + %1122 = fadd double %1120, %1121 + %1123 = fadd double %1103, %1121 + %1124 = fsub double %1119, %1122 + %1125 = fadd double %1123, %1124 + %1126 = add nuw nsw i32 %1020, 85 + %1127 = zext nneg i32 %1126 to i64 + %1128 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1127 + %1129 = load double, ptr addrspace(1) %1128, align 8, !tbaa !760 + %1130 = fadd double %1129, %1115 + %1131 = fadd double %1125, %1130 + %1132 = fmul double %1120, 0x41A0000002000000 + %1133 = fsub double %1132, %1120 + %1134 = fsub double %1132, %1133 + %1135 = fsub double %1120, %1134 + %1136 = fmul double %1120, %1013 + %1137 = fmul double %1134, %1018 + %1138 = fmul double %1134, %1019 + %1139 = fmul double %1135, %1018 + %1140 = fmul double %1135, %1019 + %1141 = fsub double %1137, %1136 + %1142 = fadd double %1138, %1141 + %1143 = fadd double %1139, %1142 + %1144 = fadd double %1140, %1143 + %1145 = fmul double %1120, %1015 + %1146 = fmul double %1131, %1013 + %1147 = fadd double %1145, %1146 + %1148 = fadd double %1144, %1147 + %1149 = add nuw nsw i32 %1020, 82 + %1150 = zext nneg i32 %1149 to i64 + %1151 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1150 + %1152 = load double, ptr addrspace(1) %1151, align 8, !tbaa !760 + %1153 = fadd double %1152, %1136 + %1154 = fsub double %1152, %1153 + %1155 = fadd double %1153, %1154 + %1156 = fadd double %1136, %1154 + %1157 = fsub double %1152, %1155 + %1158 = fadd double %1156, %1157 + %1159 = add nuw nsw i32 %1020, 83 + %1160 = zext nneg i32 %1159 to i64 + %1161 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1160 + %1162 = load double, ptr addrspace(1) %1161, align 8, !tbaa !760 + %1163 = fadd double %1162, %1148 + %1164 = fadd double %1158, %1163 + %1165 = fmul double %1153, 0x41A0000002000000 + %1166 = fsub double %1165, %1153 + %1167 = fsub double %1165, %1166 + %1168 = fsub double %1153, %1167 + %1169 = fmul double %1153, %1013 + %1170 = fmul double %1167, %1018 + %1171 = fmul double %1167, %1019 + %1172 = fmul double %1168, %1018 + %1173 = fmul double %1168, %1019 + %1174 = fsub double %1170, %1169 + %1175 = fadd double %1171, %1174 + %1176 = fadd double %1172, %1175 + %1177 = fadd double %1173, %1176 + %1178 = fmul double %1153, %1015 + %1179 = fmul double %1164, %1013 + %1180 = fadd double %1178, %1179 + %1181 = fadd double %1177, %1180 + %1182 = add nuw nsw i32 %1020, 80 + %1183 = zext nneg i32 %1182 to i64 + %1184 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1183 + %1185 = load double, ptr addrspace(1) %1184, align 8, !tbaa !760 + %1186 = fadd double %1185, %1169 + %1187 = fsub double %1185, %1186 + %1188 = fadd double %1186, %1187 + %1189 = fadd double %1169, %1187 + %1190 = fsub double %1185, %1188 + %1191 = fadd double %1189, %1190 + %1192 = add nuw nsw i32 %1020, 81 + %1193 = zext nneg i32 %1192 to i64 + %1194 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1193 + %1195 = load double, ptr addrspace(1) %1194, align 8, !tbaa !760 + %1196 = fadd double %1195, %1181 + %1197 = fadd double %1191, %1196 + %1198 = fmul double %1186, 0x41A0000002000000 + %1199 = fsub double %1198, %1186 + %1200 = fsub double %1198, %1199 + %1201 = fsub double %1186, %1200 + %1202 = fmul double %1186, %1013 + %1203 = fmul double %1200, %1018 + %1204 = fmul double %1200, %1019 + %1205 = fmul double %1201, %1018 + %1206 = fmul double %1201, %1019 + %1207 = fsub double %1203, %1202 + %1208 = fadd double %1204, %1207 + %1209 = fadd double %1205, %1208 + %1210 = fadd double %1206, %1209 + %1211 = fmul double %1186, %1015 + %1212 = fmul double %1197, %1013 + %1213 = fadd double %1211, %1212 + %1214 = fadd double %1210, %1213 + %1215 = add nuw nsw i32 %1020, 78 + %1216 = zext nneg i32 %1215 to i64 + %1217 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1216 + %1218 = load double, ptr addrspace(1) %1217, align 8, !tbaa !760 + %1219 = fadd double %1218, %1202 + %1220 = fsub double %1218, %1219 + %1221 = fadd double %1219, %1220 + %1222 = fadd double %1202, %1220 + %1223 = fsub double %1218, %1221 + %1224 = fadd double %1222, %1223 + %1225 = add nuw nsw i32 %1020, 79 + %1226 = zext nneg i32 %1225 to i64 + %1227 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1226 + %1228 = load double, ptr addrspace(1) %1227, align 8, !tbaa !760 + %1229 = fadd double %1228, %1214 + %1230 = fadd double %1224, %1229 + %1231 = fmul double %1219, 0x41A0000002000000 + %1232 = fsub double %1231, %1219 + %1233 = fsub double %1231, %1232 + %1234 = fsub double %1219, %1233 + %1235 = fmul double %1219, %1013 + %1236 = fmul double %1233, %1018 + %1237 = fmul double %1233, %1019 + %1238 = fmul double %1234, %1018 + %1239 = fmul double %1234, %1019 + %1240 = fsub double %1236, %1235 + %1241 = fadd double %1237, %1240 + %1242 = fadd double %1238, %1241 + %1243 = fadd double %1239, %1242 + %1244 = fmul double %1219, %1015 + %1245 = fmul double %1230, %1013 + %1246 = fadd double %1244, %1245 + %1247 = fadd double %1243, %1246 + %1248 = add nuw nsw i32 %1020, 76 + %1249 = zext nneg i32 %1248 to i64 + %1250 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1249 + %1251 = load double, ptr addrspace(1) %1250, align 8, !tbaa !760 + %1252 = fadd double %1251, %1235 + %1253 = fsub double %1251, %1252 + %1254 = fadd double %1252, %1253 + %1255 = fadd double %1235, %1253 + %1256 = fsub double %1251, %1254 + %1257 = fadd double %1255, %1256 + %1258 = add nuw nsw i32 %1020, 77 + %1259 = zext nneg i32 %1258 to i64 + %1260 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1259 + %1261 = load double, ptr addrspace(1) %1260, align 8, !tbaa !760 + %1262 = fadd double %1261, %1247 + %1263 = fadd double %1257, %1262 + %1264 = fmul double %1252, 0x41A0000002000000 + %1265 = fsub double %1264, %1252 + %1266 = fsub double %1264, %1265 + %1267 = fsub double %1252, %1266 + %1268 = fmul double %1252, %1013 + %1269 = fmul double %1266, %1018 + %1270 = fmul double %1266, %1019 + %1271 = fmul double %1267, %1018 + %1272 = fmul double %1267, %1019 + %1273 = fsub double %1269, %1268 + %1274 = fadd double %1270, %1273 + %1275 = fadd double %1271, %1274 + %1276 = fadd double %1272, %1275 + %1277 = fmul double %1252, %1015 + %1278 = fmul double %1263, %1013 + %1279 = fadd double %1277, %1278 + %1280 = fadd double %1276, %1279 + %1281 = add nuw nsw i32 %1020, 74 + %1282 = zext nneg i32 %1281 to i64 + %1283 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1282 + %1284 = load double, ptr addrspace(1) %1283, align 8, !tbaa !760 + %1285 = fadd double %1284, %1268 + %1286 = fsub double %1284, %1285 + %1287 = fadd double %1285, %1286 + %1288 = fadd double %1268, %1286 + %1289 = fsub double %1284, %1287 + %1290 = fadd double %1288, %1289 + %1291 = add nuw nsw i32 %1020, 75 + %1292 = zext nneg i32 %1291 to i64 + %1293 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1292 + %1294 = load double, ptr addrspace(1) %1293, align 8, !tbaa !760 + %1295 = fadd double %1294, %1280 + %1296 = fadd double %1290, %1295 + %1297 = fmul double %1285, 0x41A0000002000000 + %1298 = fsub double %1297, %1285 + %1299 = fsub double %1297, %1298 + %1300 = fsub double %1285, %1299 + %1301 = fmul double %1285, %1013 + %1302 = fmul double %1299, %1018 + %1303 = fmul double %1299, %1019 + %1304 = fmul double %1300, %1018 + %1305 = fmul double %1300, %1019 + %1306 = fsub double %1302, %1301 + %1307 = fadd double %1303, %1306 + %1308 = fadd double %1304, %1307 + %1309 = fadd double %1305, %1308 + %1310 = fmul double %1285, %1015 + %1311 = fmul double %1296, %1013 + %1312 = fadd double %1310, %1311 + %1313 = fadd double %1309, %1312 + %1314 = add nuw nsw i32 %1020, 72 + %1315 = zext nneg i32 %1314 to i64 + %1316 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1315 + %1317 = load double, ptr addrspace(1) %1316, align 8, !tbaa !760 + %1318 = fadd double %1317, %1301 + %1319 = fsub double %1317, %1318 + %1320 = fadd double %1318, %1319 + %1321 = fadd double %1301, %1319 + %1322 = fsub double %1317, %1320 + %1323 = fadd double %1321, %1322 + %1324 = add nuw nsw i32 %1020, 73 + %1325 = zext nneg i32 %1324 to i64 + %1326 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1325 + %1327 = load double, ptr addrspace(1) %1326, align 8, !tbaa !760 + %1328 = fadd double %1327, %1313 + %1329 = fadd double %1323, %1328 + %1330 = fmul double %1318, 0x41A0000002000000 + %1331 = fsub double %1330, %1318 + %1332 = fsub double %1330, %1331 + %1333 = fsub double %1318, %1332 + %1334 = fmul double %1318, %1013 + %1335 = fmul double %1332, %1018 + %1336 = fmul double %1332, %1019 + %1337 = fmul double %1333, %1018 + %1338 = fmul double %1333, %1019 + %1339 = fsub double %1335, %1334 + %1340 = fadd double %1336, %1339 + %1341 = fadd double %1337, %1340 + %1342 = fadd double %1338, %1341 + %1343 = fmul double %1318, %1015 + %1344 = fmul double %1329, %1013 + %1345 = fadd double %1343, %1344 + %1346 = fadd double %1342, %1345 + %1347 = add nuw nsw i32 %1020, 70 + %1348 = zext nneg i32 %1347 to i64 + %1349 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1348 + %1350 = load double, ptr addrspace(1) %1349, align 8, !tbaa !760 + %1351 = fadd double %1350, %1334 + %1352 = fsub double %1350, %1351 + %1353 = fadd double %1351, %1352 + %1354 = fadd double %1334, %1352 + %1355 = fsub double %1350, %1353 + %1356 = fadd double %1354, %1355 + %1357 = add nuw nsw i32 %1020, 71 + %1358 = zext nneg i32 %1357 to i64 + %1359 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1358 + %1360 = load double, ptr addrspace(1) %1359, align 8, !tbaa !760 + %1361 = fadd double %1360, %1346 + %1362 = fadd double %1356, %1361 + %1363 = fmul double %1351, 0x41A0000002000000 + %1364 = fsub double %1363, %1351 + %1365 = fsub double %1363, %1364 + %1366 = fsub double %1351, %1365 + %1367 = fmul double %1351, %1013 + %1368 = fmul double %1365, %1018 + %1369 = fmul double %1365, %1019 + %1370 = fmul double %1366, %1018 + %1371 = fmul double %1366, %1019 + %1372 = fsub double %1368, %1367 + %1373 = fadd double %1369, %1372 + %1374 = fadd double %1370, %1373 + %1375 = fadd double %1371, %1374 + %1376 = fmul double %1351, %1015 + %1377 = fmul double %1362, %1013 + %1378 = fadd double %1376, %1377 + %1379 = fadd double %1375, %1378 + %1380 = or i32 %1020, 68 + %1381 = zext nneg i32 %1380 to i64 + %1382 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1381 + %1383 = load double, ptr addrspace(1) %1382, align 8, !tbaa !760 + %1384 = fadd double %1383, %1367 + %1385 = fsub double %1383, %1384 + %1386 = fadd double %1384, %1385 + %1387 = fadd double %1367, %1385 + %1388 = fsub double %1383, %1386 + %1389 = fadd double %1387, %1388 + %1390 = or i32 %1020, 69 + %1391 = zext nneg i32 %1390 to i64 + %1392 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1391 + %1393 = load double, ptr addrspace(1) %1392, align 8, !tbaa !760 + %1394 = fadd double %1393, %1379 + %1395 = fadd double %1389, %1394 + %1396 = fmul double %1384, 0x41A0000002000000 + %1397 = fsub double %1396, %1384 + %1398 = fsub double %1396, %1397 + %1399 = fsub double %1384, %1398 + %1400 = fmul double %1384, %1013 + %1401 = fmul double %1398, %1018 + %1402 = fmul double %1398, %1019 + %1403 = fmul double %1399, %1018 + %1404 = fmul double %1399, %1019 + %1405 = fsub double %1401, %1400 + %1406 = fadd double %1402, %1405 + %1407 = fadd double %1403, %1406 + %1408 = fadd double %1404, %1407 + %1409 = fmul double %1384, %1015 + %1410 = fmul double %1395, %1013 + %1411 = fadd double %1409, %1410 + %1412 = fadd double %1408, %1411 + %1413 = select i1 %842, i64 2243, i64 2242 + %1414 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1413 + %1415 = load double, ptr addrspace(1) %1414, align 8, !tbaa !760 + %1416 = fmul double %1400, %1415 + %1417 = fmul double %1412, %1415 + %1418 = add nuw nsw i32 %1020, 144 + %1419 = zext nneg i32 %1418 to i64 + %1420 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1419 + %1421 = load double, ptr addrspace(1) %1420, align 8, !tbaa !760 + %1422 = add nuw nsw i32 %1020, 145 + %1423 = zext nneg i32 %1422 to i64 + %1424 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1423 + %1425 = load double, ptr addrspace(1) %1424, align 8, !tbaa !760 + %1426 = add nuw nsw i32 %1020, 142 + %1427 = zext nneg i32 %1426 to i64 + %1428 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1427 + %1429 = load double, ptr addrspace(1) %1428, align 8, !tbaa !760 + %1430 = add nuw nsw i32 %1020, 143 + %1431 = zext nneg i32 %1430 to i64 + %1432 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1431 + %1433 = load double, ptr addrspace(1) %1432, align 8, !tbaa !760 + %1434 = fmul double %1429, %1013 + %1435 = fmul double %1421, %1018 + %1436 = fmul double %1421, %1019 + %1437 = fmul double %1425, %1018 + %1438 = fmul double %1425, %1019 + %1439 = fsub double %1435, %1434 + %1440 = fadd double %1436, %1439 + %1441 = fadd double %1437, %1440 + %1442 = fadd double %1438, %1441 + %1443 = fmul double %1429, %1015 + %1444 = fmul double %1433, %1013 + %1445 = fadd double %1443, %1444 + %1446 = fadd double %1442, %1445 + %1447 = add nuw nsw i32 %1020, 140 + %1448 = zext nneg i32 %1447 to i64 + %1449 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1448 + %1450 = load double, ptr addrspace(1) %1449, align 8, !tbaa !760 + %1451 = fadd double %1450, %1434 + %1452 = fsub double %1450, %1451 + %1453 = fadd double %1451, %1452 + %1454 = fadd double %1434, %1452 + %1455 = fsub double %1450, %1453 + %1456 = fadd double %1454, %1455 + %1457 = add nuw nsw i32 %1020, 141 + %1458 = zext nneg i32 %1457 to i64 + %1459 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1458 + %1460 = load double, ptr addrspace(1) %1459, align 8, !tbaa !760 + %1461 = fadd double %1460, %1446 + %1462 = fadd double %1456, %1461 + %1463 = fmul double %1451, 0x41A0000002000000 + %1464 = fsub double %1463, %1451 + %1465 = fsub double %1463, %1464 + %1466 = fsub double %1451, %1465 + %1467 = fmul double %1451, %1013 + %1468 = fmul double %1465, %1018 + %1469 = fmul double %1465, %1019 + %1470 = fmul double %1466, %1018 + %1471 = fmul double %1466, %1019 + %1472 = fsub double %1468, %1467 + %1473 = fadd double %1469, %1472 + %1474 = fadd double %1470, %1473 + %1475 = fadd double %1471, %1474 + %1476 = fmul double %1451, %1015 + %1477 = fmul double %1462, %1013 + %1478 = fadd double %1476, %1477 + %1479 = fadd double %1475, %1478 + %1480 = add nuw nsw i32 %1020, 138 + %1481 = zext nneg i32 %1480 to i64 + %1482 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1481 + %1483 = load double, ptr addrspace(1) %1482, align 8, !tbaa !760 + %1484 = fadd double %1483, %1467 + %1485 = fsub double %1483, %1484 + %1486 = fadd double %1484, %1485 + %1487 = fadd double %1467, %1485 + %1488 = fsub double %1483, %1486 + %1489 = fadd double %1487, %1488 + %1490 = add nuw nsw i32 %1020, 139 + %1491 = zext nneg i32 %1490 to i64 + %1492 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1491 + %1493 = load double, ptr addrspace(1) %1492, align 8, !tbaa !760 + %1494 = fadd double %1493, %1479 + %1495 = fadd double %1489, %1494 + %1496 = fmul double %1484, 0x41A0000002000000 + %1497 = fsub double %1496, %1484 + %1498 = fsub double %1496, %1497 + %1499 = fsub double %1484, %1498 + %1500 = fmul double %1484, %1013 + %1501 = fmul double %1498, %1018 + %1502 = fmul double %1498, %1019 + %1503 = fmul double %1499, %1018 + %1504 = fmul double %1499, %1019 + %1505 = fsub double %1501, %1500 + %1506 = fadd double %1502, %1505 + %1507 = fadd double %1503, %1506 + %1508 = fadd double %1504, %1507 + %1509 = fmul double %1484, %1015 + %1510 = fmul double %1495, %1013 + %1511 = fadd double %1509, %1510 + %1512 = fadd double %1508, %1511 + %1513 = add nuw nsw i32 %1020, 136 + %1514 = zext nneg i32 %1513 to i64 + %1515 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1514 + %1516 = load double, ptr addrspace(1) %1515, align 8, !tbaa !760 + %1517 = fadd double %1516, %1500 + %1518 = fsub double %1516, %1517 + %1519 = fadd double %1517, %1518 + %1520 = fadd double %1500, %1518 + %1521 = fsub double %1516, %1519 + %1522 = fadd double %1520, %1521 + %1523 = add nuw nsw i32 %1020, 137 + %1524 = zext nneg i32 %1523 to i64 + %1525 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1524 + %1526 = load double, ptr addrspace(1) %1525, align 8, !tbaa !760 + %1527 = fadd double %1526, %1512 + %1528 = fadd double %1522, %1527 + %1529 = fmul double %1517, 0x41A0000002000000 + %1530 = fsub double %1529, %1517 + %1531 = fsub double %1529, %1530 + %1532 = fsub double %1517, %1531 + %1533 = fmul double %1517, %1013 + %1534 = fmul double %1531, %1018 + %1535 = fmul double %1531, %1019 + %1536 = fmul double %1532, %1018 + %1537 = fmul double %1532, %1019 + %1538 = fsub double %1534, %1533 + %1539 = fadd double %1535, %1538 + %1540 = fadd double %1536, %1539 + %1541 = fadd double %1537, %1540 + %1542 = fmul double %1517, %1015 + %1543 = fmul double %1528, %1013 + %1544 = fadd double %1542, %1543 + %1545 = fadd double %1541, %1544 + %1546 = add nuw nsw i32 %1020, 134 + %1547 = zext nneg i32 %1546 to i64 + %1548 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1547 + %1549 = load double, ptr addrspace(1) %1548, align 8, !tbaa !760 + %1550 = fadd double %1549, %1533 + %1551 = fsub double %1549, %1550 + %1552 = fadd double %1550, %1551 + %1553 = fadd double %1533, %1551 + %1554 = fsub double %1549, %1552 + %1555 = fadd double %1553, %1554 + %1556 = add nuw nsw i32 %1020, 135 + %1557 = zext nneg i32 %1556 to i64 + %1558 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1557 + %1559 = load double, ptr addrspace(1) %1558, align 8, !tbaa !760 + %1560 = fadd double %1559, %1545 + %1561 = fadd double %1555, %1560 + %1562 = fmul double %1550, 0x41A0000002000000 + %1563 = fsub double %1562, %1550 + %1564 = fsub double %1562, %1563 + %1565 = fsub double %1550, %1564 + %1566 = fmul double %1550, %1013 + %1567 = fmul double %1564, %1018 + %1568 = fmul double %1564, %1019 + %1569 = fmul double %1565, %1018 + %1570 = fmul double %1565, %1019 + %1571 = fsub double %1567, %1566 + %1572 = fadd double %1568, %1571 + %1573 = fadd double %1569, %1572 + %1574 = fadd double %1570, %1573 + %1575 = fmul double %1550, %1015 + %1576 = fmul double %1561, %1013 + %1577 = fadd double %1575, %1576 + %1578 = fadd double %1574, %1577 + %1579 = or i32 %1020, 132 + %1580 = zext nneg i32 %1579 to i64 + %1581 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1580 + %1582 = load double, ptr addrspace(1) %1581, align 8, !tbaa !760 + %1583 = fadd double %1582, %1566 + %1584 = fsub double %1582, %1583 + %1585 = fadd double %1583, %1584 + %1586 = fadd double %1566, %1584 + %1587 = fsub double %1582, %1585 + %1588 = fadd double %1586, %1587 + %1589 = or i32 %1020, 133 + %1590 = zext nneg i32 %1589 to i64 + %1591 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1590 + %1592 = load double, ptr addrspace(1) %1591, align 8, !tbaa !760 + %1593 = fadd double %1592, %1578 + %1594 = fadd double %1588, %1593 + %1595 = fmul double %1583, 0x41A0000002000000 + %1596 = fsub double %1595, %1583 + %1597 = fsub double %1595, %1596 + %1598 = fsub double %1583, %1597 + %1599 = fmul double %1583, %1013 + %1600 = fmul double %1597, %1018 + %1601 = fmul double %1597, %1019 + %1602 = fmul double %1598, %1018 + %1603 = fmul double %1598, %1019 + %1604 = fsub double %1600, %1599 + %1605 = fadd double %1601, %1604 + %1606 = fadd double %1602, %1605 + %1607 = fadd double %1603, %1606 + %1608 = fmul double %1583, %1015 + %1609 = fmul double %1594, %1013 + %1610 = fadd double %1608, %1609 + %1611 = fadd double %1607, %1610 + %1612 = add nuw nsw i32 %1020, 130 + %1613 = zext nneg i32 %1612 to i64 + %1614 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1613 + %1615 = load double, ptr addrspace(1) %1614, align 8, !tbaa !760 + %1616 = fadd double %1615, %1599 + %1617 = fsub double %1615, %1616 + %1618 = fadd double %1616, %1617 + %1619 = fadd double %1599, %1617 + %1620 = fsub double %1615, %1618 + %1621 = fadd double %1619, %1620 + %1622 = add nuw nsw i32 %1020, 131 + %1623 = zext nneg i32 %1622 to i64 + %1624 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1623 + %1625 = load double, ptr addrspace(1) %1624, align 8, !tbaa !760 + %1626 = fadd double %1625, %1611 + %1627 = fadd double %1621, %1626 + %1628 = fmul double %1616, 0x41A0000002000000 + %1629 = fsub double %1628, %1616 + %1630 = fsub double %1628, %1629 + %1631 = fsub double %1616, %1630 + %1632 = fmul double %1616, %1013 + %1633 = fmul double %1630, %1018 + %1634 = fmul double %1630, %1019 + %1635 = fmul double %1631, %1018 + %1636 = fmul double %1631, %1019 + %1637 = fsub double %1633, %1632 + %1638 = fadd double %1634, %1637 + %1639 = fadd double %1635, %1638 + %1640 = fadd double %1636, %1639 + %1641 = fmul double %1616, %1015 + %1642 = fmul double %1627, %1013 + %1643 = fadd double %1641, %1642 + %1644 = fadd double %1640, %1643 + %1645 = or i32 %1020, 128 + %1646 = zext nneg i32 %1645 to i64 + %1647 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1646 + %1648 = load double, ptr addrspace(1) %1647, align 8, !tbaa !760 + %1649 = fadd double %1648, %1632 + %1650 = fsub double %1648, %1649 + %1651 = fadd double %1649, %1650 + %1652 = fadd double %1632, %1650 + %1653 = fsub double %1648, %1651 + %1654 = fadd double %1652, %1653 + %1655 = or i32 %1020, 129 + %1656 = zext nneg i32 %1655 to i64 + %1657 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1656 + %1658 = load double, ptr addrspace(1) %1657, align 8, !tbaa !760 + %1659 = fadd double %1658, %1644 + %1660 = fadd double %1654, %1659 + %1661 = fmul double %1649, 0x41A0000002000000 + %1662 = fsub double %1661, %1649 + %1663 = fsub double %1661, %1662 + %1664 = fsub double %1649, %1663 + %1665 = fmul double %1649, %1013 + %1666 = fmul double %1663, %1018 + %1667 = fmul double %1663, %1019 + %1668 = fmul double %1664, %1018 + %1669 = fmul double %1664, %1019 + %1670 = fsub double %1666, %1665 + %1671 = fadd double %1667, %1670 + %1672 = fadd double %1668, %1671 + %1673 = fadd double %1669, %1672 + %1674 = fmul double %1649, %1015 + %1675 = fmul double %1660, %1013 + %1676 = fadd double %1674, %1675 + %1677 = fadd double %1673, %1676 + %1678 = add nuw nsw i32 %1020, 126 + %1679 = zext nneg i32 %1678 to i64 + %1680 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1679 + %1681 = load double, ptr addrspace(1) %1680, align 8, !tbaa !760 + %1682 = fadd double %1681, %1665 + %1683 = fsub double %1681, %1682 + %1684 = fadd double %1682, %1683 + %1685 = fadd double %1665, %1683 + %1686 = fsub double %1681, %1684 + %1687 = fadd double %1685, %1686 + %1688 = add nuw nsw i32 %1020, 127 + %1689 = zext nneg i32 %1688 to i64 + %1690 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1689 + %1691 = load double, ptr addrspace(1) %1690, align 8, !tbaa !760 + %1692 = fadd double %1691, %1677 + %1693 = fadd double %1687, %1692 + %1694 = fmul double %1682, 0x41A0000002000000 + %1695 = fsub double %1694, %1682 + %1696 = fsub double %1694, %1695 + %1697 = fsub double %1682, %1696 + %1698 = fmul double %1682, %1013 + %1699 = fmul double %1696, %1018 + %1700 = fmul double %1696, %1019 + %1701 = fmul double %1697, %1018 + %1702 = fmul double %1697, %1019 + %1703 = fsub double %1699, %1698 + %1704 = fadd double %1700, %1703 + %1705 = fadd double %1701, %1704 + %1706 = fadd double %1702, %1705 + %1707 = fmul double %1682, %1015 + %1708 = fmul double %1693, %1013 + %1709 = fadd double %1707, %1708 + %1710 = fadd double %1706, %1709 + %1711 = add nuw nsw i32 %1020, 124 + %1712 = zext nneg i32 %1711 to i64 + %1713 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1712 + %1714 = load double, ptr addrspace(1) %1713, align 8, !tbaa !760 + %1715 = fadd double %1714, %1698 + %1716 = fsub double %1714, %1715 + %1717 = fadd double %1715, %1716 + %1718 = fadd double %1698, %1716 + %1719 = fsub double %1714, %1717 + %1720 = fadd double %1718, %1719 + %1721 = add nuw nsw i32 %1020, 125 + %1722 = zext nneg i32 %1721 to i64 + %1723 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1722 + %1724 = load double, ptr addrspace(1) %1723, align 8, !tbaa !760 + %1725 = fadd double %1724, %1710 + %1726 = fadd double %1720, %1725 + %1727 = fmul double %1715, 0x41A0000002000000 + %1728 = fsub double %1727, %1715 + %1729 = fsub double %1727, %1728 + %1730 = fsub double %1715, %1729 + %1731 = fmul double %1715, %1013 + %1732 = fmul double %1729, %1018 + %1733 = fmul double %1729, %1019 + %1734 = fmul double %1730, %1018 + %1735 = fmul double %1730, %1019 + %1736 = fsub double %1732, %1731 + %1737 = fadd double %1733, %1736 + %1738 = fadd double %1734, %1737 + %1739 = fadd double %1735, %1738 + %1740 = fmul double %1715, %1015 + %1741 = fmul double %1726, %1013 + %1742 = fadd double %1740, %1741 + %1743 = fadd double %1739, %1742 + %1744 = add nuw nsw i32 %1020, 122 + %1745 = zext nneg i32 %1744 to i64 + %1746 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1745 + %1747 = load double, ptr addrspace(1) %1746, align 8, !tbaa !760 + %1748 = fadd double %1747, %1731 + %1749 = fsub double %1747, %1748 + %1750 = fadd double %1748, %1749 + %1751 = fadd double %1731, %1749 + %1752 = fsub double %1747, %1750 + %1753 = fadd double %1751, %1752 + %1754 = add nuw nsw i32 %1020, 123 + %1755 = zext nneg i32 %1754 to i64 + %1756 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1755 + %1757 = load double, ptr addrspace(1) %1756, align 8, !tbaa !760 + %1758 = fadd double %1757, %1743 + %1759 = fadd double %1753, %1758 + %1760 = fmul double %1748, 0x41A0000002000000 + %1761 = fsub double %1760, %1748 + %1762 = fsub double %1760, %1761 + %1763 = fsub double %1748, %1762 + %1764 = fmul double %1748, %1013 + %1765 = fmul double %1762, %1018 + %1766 = fmul double %1762, %1019 + %1767 = fmul double %1763, %1018 + %1768 = fmul double %1763, %1019 + %1769 = fsub double %1765, %1764 + %1770 = fadd double %1766, %1769 + %1771 = fadd double %1767, %1770 + %1772 = fadd double %1768, %1771 + %1773 = fmul double %1748, %1015 + %1774 = fmul double %1759, %1013 + %1775 = fadd double %1773, %1774 + %1776 = fadd double %1772, %1775 + %1777 = add nuw nsw i32 %1020, 120 + %1778 = zext nneg i32 %1777 to i64 + %1779 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1778 + %1780 = load double, ptr addrspace(1) %1779, align 8, !tbaa !760 + %1781 = fadd double %1780, %1764 + %1782 = fsub double %1780, %1781 + %1783 = fadd double %1781, %1782 + %1784 = fadd double %1764, %1782 + %1785 = fsub double %1780, %1783 + %1786 = fadd double %1784, %1785 + %1787 = add nuw nsw i32 %1020, 121 + %1788 = zext nneg i32 %1787 to i64 + %1789 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_erfcinv_d_la12_GLOBAL__N_117_vmldErfcInvHATabE, i64 %1788 + %1790 = load double, ptr addrspace(1) %1789, align 8, !tbaa !760 + %1791 = fadd double %1790, %1776 + %1792 = fadd double %1786, %1791 + %1793 = fdiv double 1.000000e+00, %1781 + %1794 = fmul double %1781, 0x41A0000002000000 + %1795 = fsub double %1794, %1781 + %1796 = fsub double %1794, %1795 + %1797 = fsub double %1781, %1796 + %1798 = fmul double %1793, 0x41A0000002000000 + %1799 = fsub double %1798, %1793 + %1800 = fsub double %1798, %1799 + %1801 = fsub double %1793, %1800 + %1802 = fmul double %1781, %1793 + %1803 = fmul double %1796, %1800 + %1804 = fmul double %1796, %1801 + %1805 = fmul double %1797, %1800 + %1806 = fmul double %1797, %1801 + %1807 = fsub double %1803, %1802 + %1808 = fadd double %1804, %1807 + %1809 = fadd double %1805, %1808 + %1810 = fadd double %1806, %1809 + %1811 = fmul double %1792, %1793 + %1812 = fadd double %1810, %1811 + %1813 = fadd double %1802, -1.000000e+00 + %1814 = fneg double %1793 + %1815 = fadd double %1813, %1812 + %1816 = fmul double %1815, %1814 + %1817 = fmul double %1416, 0x41A0000002000000 + %1818 = fsub double %1817, %1416 + %1819 = fsub double %1817, %1818 + %1820 = fsub double %1416, %1819 + %1821 = fmul double %1416, %1793 + %1822 = fmul double %1819, %1800 + %1823 = fmul double %1819, %1801 + %1824 = fmul double %1820, %1800 + %1825 = fmul double %1820, %1801 + %1826 = fsub double %1822, %1821 + %1827 = fadd double %1823, %1826 + %1828 = fadd double %1824, %1827 + %1829 = fadd double %1825, %1828 + %1830 = fmul double %1416, %1816 + %1831 = fmul double %1417, %1793 + %1832 = fadd double %1830, %1831 + %1833 = fadd double %1829, %1832 + %1834 = fadd double %1821, %1833 + store double %1834, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +1835: ; preds = %7 + %1836 = fcmp oeq double %8, 0.000000e+00 + %1837 = fcmp oeq double %8, 2.000000e+00 + %1838 = or i1 %1836, %1837 + br i1 %1838, label %1839, label %1842 + +1839: ; preds = %1835 + %1840 = fsub double 1.000000e+00, %8 + %1841 = fdiv double %1840, 0.000000e+00 + store double %1841, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +1842: ; preds = %1835 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +1843: ; preds = %2 + %1844 = and i32 %4, 1048575 + %1845 = icmp eq i32 %1844, 0 + br i1 %1845, label %1846, label %1850 + +1846: ; preds = %1843 + %1847 = load i32, ptr addrspace(4) %0, align 8 + %1848 = icmp eq i32 %1847, 0 + br i1 %1848, label %1849, label %1850 + +1849: ; preds = %1846 + store double 0x7FF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +1850: ; preds = %1846, %1843 + %1851 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %1852 = fmul double %1851, %1851 + store double %1852, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1853 + +1853: ; preds = %1850, %1849, %1842, %1839, %841, %252, %23, %22 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_erfcx(double noundef %0) local_unnamed_addr #43 !srcloc !1496 { + %2 = tail call double @llvm.fabs.f64(double %0) + %3 = fadd double %2, -1.000000e+00 + %4 = fdiv double 1.000000e+00, %2 + %5 = fcmp olt double %2, 2.000000e+00 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %3, double noundef 0x3DD246505F3689E0, double noundef 0xBDF2FDA03640B3CD) #56 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 0xC0AC276C3D1DB6C3, double noundef 0x40D4DF49BD7AC3F0) #56 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %3, double noundef 0x3E07C5E45B7BAE89) #56 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %4, double noundef 0xC0ECD227966A1099) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %8, double noundef %3, double noundef 0xBE257E7CA71FA31B) #56 + %11 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef %4, double noundef 0x40F887B9EFD9ED0D) #56 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %3, double noundef 0x3E4592E7C3FDA873) #56 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef %4, double noundef 0xC0FCACA638F55E37) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef %3, double noundef 0xBE63778D35674D2E) #56 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %4, double noundef 0x40F8374D75394B22) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %3, double noundef 0x3E80E9DEB3F56B61) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %4, double noundef 0xC0EE28054DF30E06) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %3, double noundef 0xBE9CEF11C0C7F533) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %4, double noundef 0x40DB9213CFC9A317) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %3, double noundef 0x3EB8274B6F06ADD9) #56 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %4, double noundef 0xC0C1E1DC3C0770C5) #56 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %3, double noundef 0xBED39C76B6915163) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %4, double noundef 0x409E566F466330E8) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %3, double noundef 0x3EEEF08E7EB82100) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %23, double noundef %4, double noundef 0xC06EA09AA733280A) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %3, double noundef 0xBF07AB1AFE5B4A8E) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %4, double noundef 0x4046671557785E22) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %3, double noundef 0x3F2184FC29BD0F13) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %4, double noundef 0xC03530FB954CC684) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %3, double noundef 0xBF39082246483E26) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %4, double noundef 0x3FD5A70649B7FCE4) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %3, double noundef 0x3F5135262EB4AC05) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %4, double noundef 0x400D7ACCA9D7915C) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %3, double noundef 0xBF66AF265490F481) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %4, double noundef 0x3F41522846BB5367) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %3, double noundef 0x3F7C8CB958C5052C) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %4, double noundef 0xBFF0ECFB04E94F14) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %3, double noundef 0xBF910FCF1B5668F7) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %4, double noundef 0xBEA5ED7D5F3B4BED) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %3, double noundef 0x3FA33CAD0EF5F11D) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %4, double noundef 0x3FDB14C316DCD6C9) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %3, double noundef 0xBFB44837F8906DCB) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %4, double noundef 0xBE036213F47795A8) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %3, double noundef 0x3FC3C27283C32CB8) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %4, double noundef 0xBFD20DD750412359) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %3, double noundef 0xBFD17C4E3F17C052) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %4, double noundef 0xBD15A264A54B1E56) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %3, double noundef 0x3FDB5D8780F956B2) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %4, double noundef 0x3C75E79ED14C7A19) #56 + %50 = fmul double %49, %4 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 0x3FE20DD750429B6D, double noundef %50) #56 + %52 = select i1 %5, double %48, double %51 + %53 = fcmp olt double %0, 0.000000e+00 + br i1 %53, label %54, label %83, !prof !1176 + +54: ; preds = %1 + %55 = fmul double %0, %0 + %56 = fneg double %55 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %2, double noundef %2, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef 0x3FF71547652B82FE, double noundef 0x43380000000003FF) #56 + %59 = fadd double %58, 0xC3380000000003FF + %60 = fneg double %59 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef 0x3FE62E42FEFA4000, double noundef %55) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef 0xBD48432A1B0E2634, double noundef %57) #56 + %63 = fadd double %61, %62 + %64 = bitcast double %58 to i64 + %65 = shl i64 %64, 52 + %66 = bitcast i64 %65 to double + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef 0x3E5AF8DA0090DD28, double noundef 0x3E928B4062A7F01F) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef %63, double noundef 0x3EC71DDD95F14ECA) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %63, double noundef 0x3EFA01991ABB9723) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %63, double noundef 0x3F2A01A01BEC1ACE) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %63, double noundef 0x3F56C16C187FC36A) #56 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %71, double noundef %63, double noundef 0x3F8111111110C4C4) #56 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %63, double noundef 0x3FA555555554F0CD) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %73, double noundef %63, double noundef 0x3FC555555555556A) #56 + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %63, double noundef 0x3FE0000000000011) #56 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %75, double noundef %63, double noundef 1.000000e+00) #56 + %77 = fmul double %76, %63 + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %77, double noundef %66, double noundef %66) #56 + %79 = fneg double %52 + %80 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %78, double noundef 2.000000e+00, double noundef %79) #56 + %81 = fcmp ugt double %2, 0x403AA0F4D2E063CE + %82 = select i1 %81, double 0x7FF0000000000000, double %80 + br label %83 + +83: ; preds = %54, %1 + %84 = phi double [ %82, %54 ], [ %52, %1 ] + ret double %84 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_erf(double noundef %0) local_unnamed_addr #43 !srcloc !1497 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, -9223372036854775808 + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = bitcast double %4 to i64 + %6 = fcmp olt double %4, 2.500000e+00 + br i1 %6, label %7, label %52 + +7: ; preds = %1 + %8 = fcmp olt double %4, 8.750000e-01 + br i1 %8, label %9, label %24 + +9: ; preds = %7 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %4, double noundef 0.000000e+00) #56 + %11 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3DD0579AB18BB034, double noundef %10, double noundef 0xBE1386AC0E80F6F6) #56 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef %10, double noundef 0x3E4F7A41239424F0) #56 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef %10, double noundef 0xBE85F1D36C342BDC) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %10, double noundef 0x3EBB9DEF19E10C03) #56 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %10, double noundef 0xBEEF4D1DF394DAD1) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %10, double noundef 0x3F1F9A321A11DF20) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %10, double noundef 0xBF4C02DB3D8ED259) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %10, double noundef 0x3F7565BCD0DB02E5) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %10, double noundef 0xBF9B82CE3128499C) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %10, double noundef 0x3FBCE2F21A042B20) #56 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %10, double noundef 0xBFD812746B0379E6) #56 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %10, double noundef 0x3FC06EBA8214DB69) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %0, double noundef %0) #56 + br label %106 + +24: ; preds = %7 + %25 = fadd double %4, -1.687500e+00 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3E0AEA9D809C0CC0, double noundef %25, double noundef 0xBE1585E5389852A1) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %25, double noundef 0xBE44E3C7BB4E6BAD) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %25, double noundef 0x3E60787BD6C23CDE) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %25, double noundef 0x3E6C4A4F934EC97A) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %25, double noundef 0xBE9AFBF4B1061A86) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %25, double noundef 0x3E8C8F2572501791) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %25, double noundef 0x3ECB5D5D47F87268) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %25, double noundef 0xBEE030574AFFB335) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %25, double noundef 0xBEE9D5C236C6C400) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %25, double noundef 0x3F153FC67D1DAECF) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %25, double noundef 0xBF1037F1525A68BF) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %25, double noundef 0xBF3B88DD5886D772) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %25, double noundef 0x3F5319F780B3F6BB) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %25, double noundef 0x3F23A95AE24531A6) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %25, double noundef 0xBF79BE731FD97EDB) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %25, double noundef 0x3F87E8755DA3FD73) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %25, double noundef 0x3F66981061DF9AC9) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %25, double noundef 0xBFA9647A30B1671D) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %25, double noundef 0x3FBA3687C1EAF1B3) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %25, double noundef 0xBFBC435059D0978A) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %25, double noundef 0x3FB0BF97E95F2A64) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %25, double noundef 0xBF916B24CB8F8F92) #56 + %48 = fadd double %47, 1.000000e+00 + %49 = bitcast double %48 to i64 + %50 = xor i64 %3, %49 + %51 = bitcast i64 %50 to double + br label %106 + +52: ; preds = %1 + %53 = fcmp olt double %4, 4.000000e+00 + br i1 %53, label %54, label %79 + +54: ; preds = %52 + %55 = fadd double %4, -3.250000e+00 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBE0A2F1867E76952, double noundef %55, double noundef 0x3E21198AD6CC5141) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %56, double noundef %55, double noundef 0x3E2958C6CE203B89) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %57, double noundef %55, double noundef 0xBE5DAF579FCB0D86) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %55, double noundef 0x3E71DCA84CC9234C) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %59, double noundef %55, double noundef 0x3E2EC6C1A451CBF6) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef %55, double noundef 0xBEA265E39074A9D0) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef %55, double noundef 0x3EBFF2DD7650FEF1) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %62, double noundef %55, double noundef 0xBEC806FECEF280DC) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %55, double noundef 0xBEC3892B6D2CF282) #56 + %65 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef %55, double noundef 0x3EFB2C31C4D013EA) #56 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %65, double noundef %55, double noundef 0xBF156747A650E49A) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %55, double noundef 0x3F2647F722962588) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef %55, double noundef 0xBF3145464E6E271F) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %55, double noundef 0x3F3490A4D22A7F1A) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %55, double noundef 0xBF32C7D5EF077CE8) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %55, double noundef 0x3F29AA489E3D085B) #56 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %71, double noundef %55, double noundef 0xBF18DE3CD2908194) #56 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %55, double noundef 0x3EFE9B5E8D00C879) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %73, double noundef %55, double noundef 0xBED20C13035510BA) #56 + %75 = fadd double %74, 1.000000e+00 + %76 = bitcast double %75 to i64 + %77 = xor i64 %3, %76 + %78 = bitcast i64 %77 to double + br label %106 + +79: ; preds = %52 + %80 = fcmp ogt double %4, 6.000000e+00 + %81 = icmp ult i64 %5, 9218868437227405313 + %82 = and i1 %81, %80 + %83 = fadd double %4, -5.000000e+00 + %84 = select i1 %82, double 1.000000e+00, double %83 + %85 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3D987B4417EAF36D, double noundef %84, double noundef 0xBDC085B75720C6A6) #56 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %84, double noundef 0x3DD78ECC9429A326) #56 + %87 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %86, double noundef %84, double noundef 0xBDEB70E185E567C1) #56 + %88 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %87, double noundef %84, double noundef 0x3DFD4CD2D3B0ACB6) #56 + %89 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %88, double noundef %84, double noundef 0xBE0B6E867EC36D97) #56 + %90 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %89, double noundef %84, double noundef 0x3E162553731107F0) #56 + %91 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %90, double noundef %84, double noundef 0xBE1F3C344C6247C2) #56 + %92 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef %84, double noundef 0x3E234D95061910EB) #56 + %93 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %92, double noundef %84, double noundef 0xBE24BD9EC47F0FBF) #56 + %94 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %93, double noundef %84, double noundef 0x3E232D1BDA20CFF8) #56 + %95 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %94, double noundef %84, double noundef 0xBE1E231CA9B2D22D) #56 + %96 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %95, double noundef %84, double noundef 0x3E13C4F1DB039226) #56 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %84, double noundef 0xBE0516DDF2B5A8E2) #56 + %98 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %97, double noundef %84, double noundef 0x3DF196E40460A88B) #56 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %98, double noundef %84, double noundef 0xBDD589AF770A029E) #56 + %100 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %99, double noundef %84, double noundef 0x3DB13AF23E58CA63) #56 + %101 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %100, double noundef %84, double noundef 0xBD7B0C1B6D3B24AD) #56 + %102 = fadd double %101, 1.000000e+00 + %103 = bitcast double %102 to i64 + %104 = xor i64 %3, %103 + %105 = bitcast i64 %104 to double + br label %106 + +106: ; preds = %79, %54, %24, %9 + %107 = phi double [ %23, %9 ], [ %51, %24 ], [ %78, %54 ], [ %105, %79 ] + ret double %107 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_expm1(double noundef %0) local_unnamed_addr #43 !srcloc !1498 { + %2 = fptrunc double %0 to float + %3 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %2, float noundef 0x4037154760000000, float noundef 0.000000e+00) #56 + %4 = tail call spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef %3) #56 + %5 = fadd float %4, 0x416807FE00000000 + %6 = bitcast float %5 to i32 + %7 = fpext float %4 to double + %8 = shl i32 %6, 1 + %9 = and i32 %8, 30 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0xBFA62E42FEFA39F0, double noundef %0) #56 + %11 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0x3C5950D871319FF0, double noundef 0.000000e+00) #56 + %12 = fadd double %10, %11 + %13 = shl i32 %6, 16 + %14 = zext nneg i32 %9 to i64 + %15 = getelementptr inbounds [32 x %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int"], ptr addrspace(1) @_ZN21__imf_impl_expm1_d_ha12_GLOBAL__N_119__dexpm1_ha_Tbl_expE, i64 0, i64 %14 + %16 = getelementptr inbounds [2 x i32], ptr addrspace(1) %15, i64 0, i64 1 + %17 = load i32, ptr addrspace(1) %16, align 4, !tbaa !718 + %18 = xor i32 %13, %17 + %19 = zext i32 %18 to i64 + %20 = shl nuw i64 %19, 32 + %21 = getelementptr inbounds [2 x i32], ptr addrspace(1) %15, i64 0, i64 0 + %22 = load i32, ptr addrspace(1) %21, align 8, !tbaa !718 + %23 = zext i32 %22 to i64 + %24 = or i64 %20, %23 + %25 = bitcast i64 %24 to double + %26 = or i32 %9, 1 + %27 = zext nneg i32 %26 to i64 + %28 = getelementptr inbounds [32 x %"union.__imf_impl_jn_s_ep::(anonymous namespace)::dp_int"], ptr addrspace(1) @_ZN21__imf_impl_expm1_d_ha12_GLOBAL__N_119__dexpm1_ha_Tbl_expE, i64 0, i64 %27 + %29 = getelementptr inbounds [2 x i32], ptr addrspace(1) %28, i64 0, i64 1 + %30 = load i32, ptr addrspace(1) %29, align 4, !tbaa !718 + %31 = zext i32 %30 to i64 + %32 = shl nuw i64 %31, 32 + %33 = bitcast i64 %32 to double + %34 = fadd double %11, %33 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EFA01F8F4BE0535, double noundef %12, double noundef 0x3F2A01F8F4B129CC) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %12, double noundef 0x3F56C16C16304601) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %12, double noundef 0x3F81111110A65711) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %12, double noundef 0x3FA555555555560A) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %12, double noundef 0x3FC55555555555F9) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %12, double noundef 5.000000e-01) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %12, double noundef 0xBC13B588106B310F) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %12, double noundef %34) #56 + %43 = fcmp oge double %0, 0.000000e+00 + %44 = select i1 %43, double %25, double -1.000000e+00 + %45 = select i1 %43, double -1.000000e+00, double %25 + %46 = fadd double %25, -1.000000e+00 + %47 = fsub double %46, %44 + %48 = fsub double %45, %47 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %10, double noundef 0.000000e+00) #56 + %50 = fneg double %49 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %10, double noundef %50) #56 + %52 = fadd double %49, %46 + %53 = fsub double %52, %46 + %54 = fsub double %49, %53 + %55 = fadd double %48, %54 + %56 = fadd double %55, %51 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %42, double noundef %56) #56 + %58 = fadd double %57, %52 + %59 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %2) #56 + %60 = fcmp ugt float %59, 7.080000e+02 + br i1 %60, label %61, label %81 + +61: ; preds = %1 + %62 = fcmp olt float %2, 0.000000e+00 + br i1 %62, label %81, label %63 + +63: ; preds = %61 + %64 = fcmp olt float %2, 1.024000e+03 + br i1 %64, label %71, label %65 + +65: ; preds = %63 + %66 = tail call double @llvm.fabs.f64(double %0) + %67 = bitcast double %66 to i64 + %68 = icmp ugt i64 %67, 9218868437227405312 + %69 = fadd double %58, %0 + %70 = select i1 %68, double %69, double 0x7FF0000000000000 + br label %81 + +71: ; preds = %63 + %72 = add i32 %13, -536870912 + %73 = xor i32 %72, %17 + %74 = zext i32 %73 to i64 + %75 = shl nuw i64 %74, 32 + %76 = or i64 %75, %23 + %77 = bitcast i64 %76 to double + %78 = fadd double %42, %10 + %79 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %77, double noundef %78, double noundef %77) #56 + %80 = fmul double %79, 0x5FF0000000000000 + br label %81 + +81: ; preds = %71, %65, %61, %1 + %82 = phi double [ %80, %71 ], [ %58, %1 ], [ -1.000000e+00, %61 ], [ %70, %65 ] + ret double %82 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fdim(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1499 { + %3 = alloca double, align 8 + %4 = alloca double, align 8 + %5 = alloca double, align 8 + %6 = bitcast double %0 to i64 + %7 = bitcast double %1 to i64 + %8 = and i64 %6, 9218868437227405312 + %9 = icmp eq i64 %8, 9218868437227405312 + %10 = and i64 %7, 9218868437227405312 + %11 = icmp eq i64 %10, 9218868437227405312 + %12 = or i1 %9, %11 + %13 = fcmp ogt double %0, %1 + %14 = fsub double %0, %1 + %15 = select i1 %13, double %14, double 0.000000e+00 + br i1 %12, label %16, label %21, !prof !1176 + +16: ; preds = %2 + %17 = addrspacecast ptr %5 to ptr addrspace(4) + %18 = addrspacecast ptr %4 to ptr addrspace(4) + %19 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #55 + store double %0, ptr %3, align 8, !tbaa !760 + store double %1, ptr %4, align 8, !tbaa !760 + store double %15, ptr %5, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_fdim_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dfdimEPKdS2_Pd(ptr addrspace(4) noundef %19, ptr addrspace(4) noundef %18, ptr addrspace(4) noundef %17) #55 + %20 = load double, ptr %5, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %21 + +21: ; preds = %16, %2 + %22 = phi double [ %20, %16 ], [ %15, %2 ] + ret double %22 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN20__imf_impl_fdim_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dfdimEPKdS2_Pd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef readonly %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #34 !srcloc !1500 !sycl_kernel_omit_args !1235 { + %4 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %5 = load i32, ptr addrspace(4) %4, align 4 + %6 = and i32 %5, 2146435072 + %7 = icmp eq i32 %6, 2146435072 + br i1 %7, label %8, label %16 + +8: ; preds = %3 + %9 = and i32 %5, 1048575 + %10 = icmp eq i32 %9, 0 + br i1 %10, label %11, label %14 + +11: ; preds = %8 + %12 = load i32, ptr addrspace(4) %0, align 8 + %13 = icmp eq i32 %12, 0 + br i1 %13, label %16, label %14 + +14: ; preds = %11, %8 + %15 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + store double %15, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %16 + +16: ; preds = %14, %11, %3 + %17 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %1, i64 0, i32 1 + %18 = load i32, ptr addrspace(4) %17, align 4 + %19 = and i32 %18, 2146435072 + %20 = icmp eq i32 %19, 2146435072 + br i1 %20, label %21, label %29 + +21: ; preds = %16 + %22 = and i32 %18, 1048575 + %23 = icmp eq i32 %22, 0 + br i1 %23, label %24, label %27 + +24: ; preds = %21 + %25 = load i32, ptr addrspace(4) %1, align 8 + %26 = icmp eq i32 %25, 0 + br i1 %26, label %29, label %27 + +27: ; preds = %24, %21 + %28 = load double, ptr addrspace(4) %1, align 8, !tbaa !760 + store double %28, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %29 + +29: ; preds = %27, %24, %16 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fmod(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1501 { + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = bitcast double %1 to i64 + %8 = tail call double @llvm.fabs.f64(double %1) + %9 = bitcast double %8 to i64 + %10 = lshr i64 %9, 32 + %11 = trunc i64 %10 to i32 + %12 = add nuw i32 %11, 2094006272 + %13 = icmp sgt i32 %12, -54525953 + %14 = lshr i64 %6, 52 + %15 = trunc i64 %14 to i32 + %16 = lshr i32 %11, 20 + %17 = sub nsw i32 %15, %16 + %18 = icmp sgt i32 %17, 25 + %19 = or i1 %18, %13 + %20 = fdiv double %0, %1 + %21 = and i64 %4, -9223372036854775808 + %22 = xor i64 %21, %7 + %23 = bitcast i64 %22 to double + %24 = tail call spir_func noundef double @_Z17__spirv_ocl_truncd(double noundef %20) #56 + %25 = fneg double %24 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %23, double noundef %5) #56 + %27 = fcmp olt double %26, 0.000000e+00 + %28 = select i1 %27, double %8, double 0.000000e+00 + %29 = fadd double %26, %28 + %30 = bitcast double %29 to i64 + %31 = or i64 %21, %30 + %32 = bitcast i64 %31 to double + br i1 %19, label %33, label %36, !prof !1176 + +33: ; preds = %2 + %34 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 %31, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_fmod_d_xa12_GLOBAL__N_130__devicelib_imf_internal_dfmodEPKdS2_Pd(double %0, double %1, ptr addrspace(4) noundef %34) #55 + %35 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %36 + +36: ; preds = %33, %2 + %37 = phi double [ %35, %33 ], [ %32, %2 ] + ret double %37 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z17__spirv_ocl_truncd(double noundef) local_unnamed_addr #22 + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_fmod_d_xa12_GLOBAL__N_130__devicelib_imf_internal_dfmodEPKdS2_Pd(double %0, double %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #37 !srcloc !1502 !sycl_kernel_omit_args !1235 { + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %1) + %6 = bitcast double %5 to i64 + %7 = and i64 %4, -9223372036854775808 + %8 = tail call double @llvm.fabs.f64(double %0) + %9 = bitcast double %8 to i64 + %10 = icmp eq i64 %6, 4607182418800017408 + br i1 %10, label %11, label %35 + +11: ; preds = %3 + %12 = icmp ult i64 %9, 4607182418800017409 + br i1 %12, label %13, label %18 + +13: ; preds = %11 + %14 = icmp eq i64 %9, 4607182418800017408 + br i1 %14, label %15, label %17 + +15: ; preds = %13 + %16 = fmul double %0, 0.000000e+00 + store double %16, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +17: ; preds = %13 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +18: ; preds = %11 + %19 = icmp ult i64 %9, 4841369599423283200 + br i1 %19, label %20, label %31 + +20: ; preds = %18 + %21 = add nsw i64 %9, -4607182418800017408 + %22 = lshr i64 %21, 52 + %23 = sub nuw nsw i64 52, %22 + %24 = shl nsw i64 -1, %23 + %25 = and i64 %24, %9 + %26 = or i64 %7, %25 + %27 = bitcast i64 %26 to double + %28 = fsub double %0, %27 + %29 = bitcast double %28 to i64 + %30 = or i64 %7, %29 + store i64 %30, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +31: ; preds = %18 + %32 = icmp ult i64 %9, 9218868437227405312 + br i1 %32, label %33, label %37 + +33: ; preds = %31 + %34 = fmul double %0, 0.000000e+00 + store double %34, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +35: ; preds = %3 + %36 = icmp ugt i64 %9, 9218868437227405312 + br i1 %36, label %39, label %41 + +37: ; preds = %31 + %38 = icmp eq i64 %9, 9218868437227405312 + br i1 %38, label %50, label %39 + +39: ; preds = %37, %35 + %40 = fmul double %0, %1 + store double %40, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +41: ; preds = %35 + %42 = icmp ugt i64 %6, 9218868437227405312 + br i1 %42, label %43, label %45 + +43: ; preds = %41 + %44 = fmul double %1, %0 + store double %44, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +45: ; preds = %41 + %46 = icmp eq i64 %6, 0 + br i1 %46, label %47, label %48 + +47: ; preds = %45 + store double 0x7FF8000000000000, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +48: ; preds = %45 + %49 = icmp eq i64 %9, 9218868437227405312 + br i1 %49, label %50, label %51 + +50: ; preds = %48, %37 + store double 0x7FF8000000000000, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +51: ; preds = %48 + %52 = icmp eq i64 %6, 9218868437227405312 + br i1 %52, label %53, label %54 + +53: ; preds = %51 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +54: ; preds = %51 + %55 = icmp ult i64 %9, %6 + br i1 %55, label %56, label %57 + +56: ; preds = %54 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +57: ; preds = %54 + %58 = icmp eq i64 %9, %6 + br i1 %58, label %59, label %61 + +59: ; preds = %57 + %60 = fmul double %0, 0.000000e+00 + store double %60, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +61: ; preds = %57 + %62 = icmp eq i64 %6, 4746794007244308480 + %63 = icmp ult i64 %9, 4841369599423283200 + %64 = select i1 %62, i1 %63, i1 false + br i1 %64, label %65, label %77 + +65: ; preds = %61 + %66 = fmul double %8, 0x3E00000000000000 + %67 = fptoui double %66 to i32 + %68 = uitofp i32 %67 to double + %69 = fneg double %68 + %70 = tail call double @llvm.fmuladd.f64(double %69, double 0x41DFFFFFFFC00000, double %8) + %71 = fcmp ult double %70, %1 + %72 = select i1 %71, double 0.000000e+00, double %1 + %73 = fsub double %70, %72 + %74 = icmp eq i64 %7, 0 + %75 = fneg double %73 + %76 = select i1 %74, double %73, double %75 + store double %76, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +77: ; preds = %61 + %78 = lshr i64 %9, 52 + %79 = trunc i64 %78 to i32 + %80 = lshr i64 %6, 52 + %81 = trunc i64 %80 to i32 + %82 = add nsw i32 %81, -1023 + %83 = and i64 %9, 4503599627370495 + %84 = and i64 %6, 4503599627370495 + %85 = icmp eq i32 %79, 0 + %86 = icmp ne i64 %83, 0 + %87 = select i1 %85, i1 %86, i1 false + br i1 %87, label %88, label %95 + +88: ; preds = %92, %77 + %89 = phi i32 [ %93, %92 ], [ -1022, %77 ] + %90 = phi i64 [ %94, %92 ], [ %83, %77 ] + %91 = icmp ult i64 %90, 4503599627370496 + br i1 %91, label %92, label %98 + +92: ; preds = %88 + %93 = add nsw i32 %89, -1 + %94 = shl nuw nsw i64 %90, 1 + br label %88, !llvm.loop !1503 + +95: ; preds = %77 + %96 = add nsw i32 %79, -1023 + %97 = or i64 %83, 4503599627370496 + br label %98 + +98: ; preds = %95, %88 + %99 = phi i32 [ %96, %95 ], [ %89, %88 ] + %100 = phi i64 [ %97, %95 ], [ %90, %88 ] + %101 = icmp eq i32 %81, 0 + %102 = icmp ne i64 %84, 0 + %103 = and i1 %101, %102 + br i1 %103, label %104, label %111 + +104: ; preds = %108, %98 + %105 = phi i32 [ %109, %108 ], [ -1022, %98 ] + %106 = phi i64 [ %110, %108 ], [ %84, %98 ] + %107 = icmp ult i64 %106, 4503599627370496 + br i1 %107, label %108, label %113 + +108: ; preds = %104 + %109 = add nsw i32 %105, -1 + %110 = shl nuw nsw i64 %106, 1 + br label %104, !llvm.loop !1504 + +111: ; preds = %98 + %112 = or i64 %84, 4503599627370496 + br label %113 + +113: ; preds = %111, %104 + %114 = phi i32 [ %82, %111 ], [ %105, %104 ] + %115 = phi i64 [ %112, %111 ], [ %106, %104 ] + %116 = sub nsw i32 %99, %114 + %117 = add nsw i32 %116, 1 + br label %118 + +118: ; preds = %122, %113 + %119 = phi i32 [ 0, %113 ], [ %127, %122 ] + %120 = phi i64 [ %100, %113 ], [ %126, %122 ] + %121 = icmp ult i32 %119, %117 + br i1 %121, label %122, label %128 + +122: ; preds = %118 + %123 = icmp ult i64 %120, %115 + %124 = select i1 %123, i64 0, i64 %115 + %125 = sub i64 %120, %124 + %126 = shl i64 %125, 1 + %127 = add nuw nsw i32 %119, 1 + br label %118, !llvm.loop !1505 + +128: ; preds = %118 + %129 = icmp eq i64 %120, 0 + br i1 %129, label %130, label %132 + +130: ; preds = %128 + %131 = fmul double %0, 0.000000e+00 + store double %131, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +132: ; preds = %128 + %133 = lshr i64 %120, 1 + br label %134 + +134: ; preds = %138, %132 + %135 = phi i32 [ %114, %132 ], [ %139, %138 ] + %136 = phi i64 [ %133, %132 ], [ %140, %138 ] + %137 = icmp ult i64 %136, 4503599627370496 + br i1 %137, label %138, label %141 + +138: ; preds = %134 + %139 = add nsw i32 %135, -1 + %140 = shl nuw nsw i64 %136, 1 + br label %134, !llvm.loop !1506 + +141: ; preds = %134 + %142 = icmp sgt i32 %135, -1023 + br i1 %142, label %143, label %148 + +143: ; preds = %141 + %144 = and i64 %136, 4503599627370495 + %145 = add nsw i32 %135, 1023 + %146 = zext i32 %145 to i64 + %147 = shl i64 %146, 52 + br label %152 + +148: ; preds = %141 + %149 = sub nuw nsw i32 -1022, %135 + %150 = zext i32 %149 to i64 + %151 = lshr i64 %136, %150 + br label %152 + +152: ; preds = %148, %143 + %153 = phi i64 [ %147, %143 ], [ 0, %148 ] + %154 = phi i64 [ %144, %143 ], [ %151, %148 ] + %155 = or i64 %153, %154 + %156 = bitcast i64 %155 to double + %157 = icmp eq i64 %7, 0 + %158 = fneg double %156 + %159 = select i1 %157, double %156, double %158 + store double %159, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %160 + +160: ; preds = %152, %130, %65, %59, %56, %53, %50, %47, %43, %39, %33, %20, %17, %15 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_frexp(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #44 !srcloc !1507 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = and i32 %5, 2146435072 + %7 = add nsw i32 %6, -1071644672 + %8 = ashr exact i32 %7, 20 + %9 = and i64 %3, -9218868437227405313 + %10 = or i64 %9, 4602678819172646912 + %11 = bitcast i64 %10 to double + switch i32 %6, label %32 [ + i32 2146435072, label %12 + i32 0, label %12 + ] + +12: ; preds = %2, %2 + %13 = lshr i32 %5, 20 + %14 = and i32 %13, 2047 + %15 = icmp eq i32 %14, 2047 + br i1 %15, label %32, label %16 + +16: ; preds = %12 + %17 = and i32 %5, 1048575 + %18 = trunc i64 %3 to i32 + %19 = or i32 %17, %18 + %20 = or i32 %19, %14 + %21 = icmp eq i32 %20, 0 + br i1 %21, label %32, label %22 + +22: ; preds = %16 + %23 = fmul double %0, 0x4360000000000000 + %24 = bitcast double %23 to i64 + %25 = lshr i64 %24, 52 + %26 = trunc i64 %25 to i32 + %27 = and i32 %26, 2047 + %28 = add nsw i32 %27, -1077 + %29 = and i64 %24, -9218868437227405313 + %30 = or i64 %29, 4602678819172646912 + %31 = bitcast i64 %30 to double + br label %32 + +32: ; preds = %22, %16, %12, %2 + %33 = phi i32 [ %8, %2 ], [ %28, %22 ], [ 0, %16 ], [ 0, %12 ] + %34 = phi double [ %11, %2 ], [ %31, %22 ], [ %0, %16 ], [ %0, %12 ] + store i32 %33, ptr addrspace(4) %1, align 4, !tbaa !717 + ret double %34 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_hypot(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1508 { + %3 = alloca double, align 8 + %4 = alloca double, align 8 + %5 = alloca double, align 8 + %6 = fmul double %0, %0 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1, double noundef %1, double noundef %6) #56 + %8 = bitcast double %7 to i64 + %9 = lshr i64 %8, 32 + %10 = trunc i64 %9 to i32 + %11 = add i32 %10, -1141899265 + %12 = icmp ult i32 %11, -139460609 + %13 = fptrunc double %7 to float + %14 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %13) #56 + %15 = fdiv float 1.000000e+00, %14 + %16 = fpext float %15 to double + %17 = fmul double %16, %16 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %17, double noundef -1.000000e+00) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FD1800000000000, double noundef %18, double noundef -3.125000e-01) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %18, double noundef 3.750000e-01) #56 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %18, double noundef -5.000000e-01) #56 + %22 = fmul double %21, %18 + %23 = fmul double %22, %16 + %24 = fmul double %23, %7 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef %16, double noundef %24) #56 + br i1 %12, label %26, label %31, !prof !1176 + +26: ; preds = %2 + %27 = addrspacecast ptr %5 to ptr addrspace(4) + %28 = addrspacecast ptr %4 to ptr addrspace(4) + %29 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #55 + store double %0, ptr %3, align 8, !tbaa !760 + store double %1, ptr %4, align 8, !tbaa !760 + store double %25, ptr %5, align 8, !tbaa !760 + call spir_func void @_ZN21__imf_impl_hypot_d_la12_GLOBAL__N_131__devicelib_imf_internal_dhypotEPKdS2_Pd(ptr addrspace(4) noundef %29, ptr addrspace(4) noundef %28, ptr addrspace(4) noundef %27) #55 + %30 = load double, ptr %5, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %31 + +31: ; preds = %26, %2 + %32 = phi double [ %30, %26 ], [ %25, %2 ] + ret double %32 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN21__imf_impl_hypot_d_la12_GLOBAL__N_131__devicelib_imf_internal_dhypotEPKdS2_Pd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef readonly %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #34 !srcloc !1509 !sycl_kernel_omit_args !1235 { + %4 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %5 = load i32, ptr addrspace(4) %4, align 4 + %6 = and i32 %5, 2146435072 + %7 = icmp eq i32 %6, 2146435072 + br i1 %7, label %143, label %8 + +8: ; preds = %3 + %9 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %1, i64 0, i32 1 + %10 = load i32, ptr addrspace(4) %9, align 4 + %11 = and i32 %10, 2146435072 + %12 = icmp eq i32 %11, 2146435072 + br i1 %12, label %140, label %13 + +13: ; preds = %8 + %14 = load double, ptr addrspace(4) %0, align 8 + %15 = fcmp une double %14, 0.000000e+00 + br i1 %15, label %16, label %18 + +16: ; preds = %13 + %17 = load i64, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %22 + +18: ; preds = %13 + %19 = load double, ptr addrspace(4) %1, align 8 + %20 = fcmp une double %19, 0.000000e+00 + %21 = bitcast double %19 to i64 + br i1 %20, label %22, label %139 + +22: ; preds = %18, %16 + %23 = phi i64 [ %17, %16 ], [ %21, %18 ] + %24 = tail call double @llvm.fabs.f64(double %14) + %25 = and i64 %23, 9223372036854775807 + %26 = bitcast i64 %25 to double + %27 = fcmp olt double %24, %26 + %28 = select i1 %27, double %24, double %26 + %29 = select i1 %27, double %26, double %24 + %30 = bitcast double %29 to i64 + %31 = lshr i64 %30, 52 + %32 = trunc i64 %31 to i32 + %33 = and i32 %32, 2047 + %34 = icmp ult i32 %33, 25 + %35 = select i1 %34, i32 4073, i32 0 + %36 = sub nsw i32 %35, %33 + %37 = shl i32 %36, 20 + %38 = and i32 %37, 2146435072 + %39 = zext nneg i32 %38 to i64 + %40 = shl nuw nsw i64 %39, 32 + %41 = bitcast i64 %40 to double + %42 = fmul double %29, %41 + %43 = fmul double %28, %41 + %44 = fmul double %42, 0x41A0000002000000 + %45 = fsub double %44, %42 + %46 = fsub double %44, %45 + %47 = fsub double %42, %46 + %48 = bitcast double %42 to i64 + %49 = lshr i64 %48, 52 + %50 = trunc i64 %49 to i32 + %51 = and i32 %50, 2047 + %52 = bitcast double %43 to i64 + %53 = lshr i64 %52, 52 + %54 = trunc i64 %53 to i32 + %55 = and i32 %54, 2047 + %56 = sub nsw i32 %51, %55 + %57 = icmp sgt i32 %56, 6 + %58 = fmul double %43, 0x41A0000002000000 + %59 = fsub double %58, %43 + %60 = fsub double %58, %59 + %61 = select i1 %57, double 0.000000e+00, double %60 + %62 = fsub double %43, %61 + %63 = fmul double %61, %61 + %64 = tail call double @llvm.fmuladd.f64(double %46, double %46, double %63) + %65 = fadd double %42, %46 + %66 = fmul double %62, %43 + %67 = tail call double @llvm.fmuladd.f64(double %47, double %65, double %66) + %68 = tail call double @llvm.fmuladd.f64(double %61, double %62, double %67) + %69 = fadd double %64, %68 + %70 = bitcast double %69 to i64 + %71 = lshr i64 %70, 52 + %72 = trunc i64 %71 to i32 + %73 = and i32 %72, 2047 + %74 = add nsw i32 %73, -1023 + %75 = and i64 %70, -9218868437227405313 + %76 = or i64 %75, 4607182418800017408 + %77 = bitcast i64 %76 to double + %78 = and i32 %74, 1 + %79 = or i32 %78, 514 + %80 = zext nneg i32 %79 to i64 + %81 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_hypot_d_la12_GLOBAL__N_115_vmldHypotHATabE, i64 %80 + %82 = load double, ptr addrspace(1) %81, align 8, !tbaa !760 + %83 = fmul double %82, %77 + %84 = shl nsw i32 %74, 19 + %85 = add i32 %84, 1072693248 + %86 = and i32 %85, 2146435072 + %87 = zext nneg i32 %86 to i64 + %88 = shl nuw nsw i64 %87, 32 + %89 = bitcast i64 %88 to double + %90 = shl nsw i32 %74, 20 + %91 = and i32 %90, 2145386496 + %92 = sub nsw i32 1072693248, %91 + %93 = and i32 %92, 2146435072 + %94 = zext nneg i32 %93 to i64 + %95 = shl nuw nsw i64 %94, 32 + %96 = bitcast i64 %95 to double + %97 = sub i32 2145386496, %37 + %98 = and i32 %97, 2146435072 + %99 = zext nneg i32 %98 to i64 + %100 = shl nuw nsw i64 %99, 32 + %101 = bitcast i64 %100 to double + %102 = lshr i64 %70, 44 + %103 = trunc i64 %102 to i32 + %104 = and i32 %103, 255 + %105 = shl nuw nsw i32 %78, 8 + %106 = or i32 %104, %105 + %107 = zext nneg i32 %106 to i64 + %108 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_hypot_d_la12_GLOBAL__N_115_vmldHypotHATabE, i64 %107 + %109 = load double, ptr addrspace(1) %108, align 8, !tbaa !760 + %110 = fmul double %109, 5.000000e-01 + %111 = fmul double %83, %109 + %112 = fneg double %111 + %113 = tail call double @llvm.fmuladd.f64(double %112, double %110, double 5.000000e-01) + %114 = tail call double @llvm.fmuladd.f64(double %113, double %110, double %110) + %115 = tail call double @llvm.fmuladd.f64(double %113, double %111, double %111) + %116 = fneg double %115 + %117 = tail call double @llvm.fmuladd.f64(double %116, double %114, double 5.000000e-01) + %118 = tail call double @llvm.fmuladd.f64(double %117, double %114, double %114) + %119 = tail call double @llvm.fmuladd.f64(double %117, double %115, double %115) + %120 = fneg double %119 + %121 = tail call double @llvm.fmuladd.f64(double %120, double %118, double 5.000000e-01) + %122 = tail call double @llvm.fmuladd.f64(double %121, double %118, double %118) + %123 = tail call double @llvm.fmuladd.f64(double %121, double %119, double %119) + %124 = fmul double %123, 0x41A0000002000000 + %125 = fsub double %124, %123 + %126 = fsub double %124, %125 + %127 = fsub double %123, %126 + %128 = fneg double %126 + %129 = fmul double %126, %128 + %130 = tail call double @llvm.fmuladd.f64(double %64, double %96, double %129) + %131 = fmul double %126, -2.000000e+00 + %132 = tail call double @llvm.fmuladd.f64(double %131, double %127, double %130) + %133 = fneg double %127 + %134 = tail call double @llvm.fmuladd.f64(double %133, double %127, double %132) + %135 = tail call double @llvm.fmuladd.f64(double %68, double %96, double %134) + %136 = tail call double @llvm.fmuladd.f64(double %135, double %122, double %123) + %137 = fmul double %136, %89 + %138 = fmul double %137, %101 + store double %138, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +139: ; preds = %18 + store double 0.000000e+00, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +140: ; preds = %8 + %141 = load double, ptr addrspace(4) %1, align 8, !tbaa !760 + %142 = fmul double %141, %141 + store double %142, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +143: ; preds = %3 + %144 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %1, i64 0, i32 1 + %145 = load i32, ptr addrspace(4) %144, align 4 + %146 = and i32 %145, 2146435072 + %147 = icmp eq i32 %146, 2146435072 + br i1 %147, label %151, label %148 + +148: ; preds = %143 + %149 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %150 = fmul double %149, %149 + store double %150, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +151: ; preds = %143 + %152 = and i32 %5, 1048575 + %153 = icmp eq i32 %152, 0 + br i1 %153, label %154, label %157 + +154: ; preds = %151 + %155 = load i32, ptr addrspace(4) %0, align 8 + %156 = icmp eq i32 %155, 0 + br i1 %156, label %171, label %157 + +157: ; preds = %154, %151 + %158 = and i32 %145, 1048575 + %159 = icmp eq i32 %158, 0 + br i1 %159, label %160, label %163 + +160: ; preds = %157 + %161 = load i32, ptr addrspace(4) %1, align 8 + %162 = icmp eq i32 %161, 0 + br i1 %162, label %167, label %163 + +163: ; preds = %160, %157 + %164 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %165 = load double, ptr addrspace(4) %1, align 8, !tbaa !760 + %166 = fmul double %164, %165 + store double %166, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +167: ; preds = %160 + br i1 %153, label %168, label %174 + +168: ; preds = %167 + %169 = load i32, ptr addrspace(4) %0, align 8 + %170 = icmp eq i32 %169, 0 + br i1 %170, label %171, label %174 + +171: ; preds = %168, %154 + %172 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %173 = fmul double %172, %172 + store double %173, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +174: ; preds = %168, %167 + %175 = load double, ptr addrspace(4) %1, align 8, !tbaa !760 + %176 = fmul double %175, %175 + store double %176, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %177 + +177: ; preds = %174, %171, %163, %148, %140, %139, %22 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_ilogb(double noundef %0) local_unnamed_addr #44 !srcloc !1510 { + %2 = bitcast double %0 to i64 + %3 = lshr i64 %2, 32 + %4 = trunc i64 %3 to i32 + %5 = and i32 %4, 2146435072 + %6 = lshr exact i32 %5, 20 + %7 = add nsw i32 %6, -1023 + switch i32 %5, label %34 [ + i32 2146435072, label %8 + i32 0, label %8 + ] + +8: ; preds = %1, %1 + %9 = lshr i32 %4, 20 + %10 = and i32 %9, 2047 + %11 = icmp eq i32 %10, 2047 + br i1 %11, label %12, label %16 + +12: ; preds = %8 + %13 = and i64 %2, 4503599627370495 + %14 = icmp eq i64 %13, 0 + %15 = select i1 %14, i32 2147483647, i32 -2147483648 + br label %34 + +16: ; preds = %8 + %17 = tail call double @llvm.fabs.f64(double %0) + %18 = bitcast double %17 to i64 + %19 = icmp eq i64 %18, 0 + %20 = select i1 %19, i32 -2147483648, i32 %7 + %21 = and i32 %4, 1048575 + %22 = trunc i64 %2 to i32 + %23 = or i32 %21, %22 + %24 = icmp ne i32 %23, 0 + %25 = icmp eq i32 %10, 0 + %26 = and i1 %24, %25 + br i1 %26, label %27, label %34 + +27: ; preds = %16 + %28 = fmul double %0, 0x4360000000000000 + %29 = bitcast double %28 to i64 + %30 = lshr i64 %29, 52 + %31 = trunc i64 %30 to i32 + %32 = and i32 %31, 2047 + %33 = add nsw i32 %32, -1078 + br label %34 + +34: ; preds = %27, %16, %12, %1 + %35 = phi i32 [ %7, %1 ], [ %33, %27 ], [ %20, %16 ], [ %15, %12 ] + ret i32 %35 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rcbrt(double noundef %0) local_unnamed_addr #43 !srcloc !1511 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = and i32 %6, 2147483647 + %8 = add nuw i32 %7, 2146435072 + %9 = icmp sgt i32 %8, -2097153 + %10 = lshr i32 %6, 12 + %11 = and i32 %10, 248 + %12 = lshr exact i32 %11, 3 + %13 = zext nneg i32 %12 to i64 + %14 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_138__devicelib_imf_internal_dinvcbrt_dataE, i64 %13 + %15 = load double, ptr addrspace(1) %14, align 8, !tbaa !719 + %16 = lshr i64 %4, 52 + %17 = trunc i64 %16 to i32 + %18 = and i32 %17, 2047 + %19 = mul nuw nsw i32 %18, 5462 + %20 = lshr i32 %19, 14 + %21 = mul i32 %20, 8388605 + %22 = add i32 %21, %18 + %23 = shl i32 %22, 9 + %24 = shl nuw nsw i32 %11, 1 + %25 = or i32 %23, %24 + %26 = lshr exact i32 %25, 3 + %27 = zext nneg i32 %26 to i64 + %28 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_138__devicelib_imf_internal_dinvcbrt_dataE, i64 256), i64 %27 + %29 = load double, ptr addrspace(1) %28, align 8, !tbaa !719 + %30 = or i32 %26, 1 + %31 = zext nneg i32 %30 to i64 + %32 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_138__devicelib_imf_internal_dinvcbrt_dataE, i64 256), i64 %31 + %33 = load double, ptr addrspace(1) %32, align 8, !tbaa !719 + %34 = lshr i32 %6, 20 + %35 = and i32 %34, 2048 + %36 = or i32 %35, 1364 + %37 = sub nuw nsw i32 %36, %20 + %38 = shl nuw i32 %37, 20 + %39 = zext i32 %38 to i64 + %40 = shl nuw i64 %39, 32 + %41 = bitcast i64 %40 to double + %42 = and i64 %4, 4503599627370495 + %43 = or i64 %42, -4616189618054758400 + %44 = bitcast i64 %43 to double + %45 = and i64 %4, 4362862139015168 + %46 = or i64 %45, -4616119249310580736 + %47 = bitcast i64 %46 to double + %48 = fsub double %44, %47 + %49 = fmul double %48, %15 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FB791D4F50A7B47, double noundef %49, double noundef 0xBFB9B33CA7A65562) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %49, double noundef 0x3FBC67C9DD3D11BB) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %49, double noundef 0xBFBFF4C33F90EF5F) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %49, double noundef 0x3FC26FABB85D0196) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %49, double noundef 0xBFC61F9ADD3C0CA3) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %49, double noundef 0x3FCC71C71C71C71C) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef %49, double noundef 0xBFD5555555555555) #56 + %57 = fmul double %29, %41 + %58 = fmul double %33, %41 + %59 = fmul double %57, %49 + %60 = fmul double %56, %59 + %61 = fadd double %60, %58 + %62 = fadd double %61, %57 + br i1 %9, label %63, label %67, !prof !1176 + +63: ; preds = %1 + %64 = addrspacecast ptr %3 to ptr addrspace(4) + %65 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store double %62, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_133__devicelib_imf_internal_dinvcbrtEPKdPd(ptr addrspace(4) noundef %65, ptr addrspace(4) noundef %64) #55 + %66 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %67 + +67: ; preds = %63, %1 + %68 = phi double [ %66, %63 ], [ %62, %1 ] + ret double %68 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) +define internal spir_func void @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_133__devicelib_imf_internal_dinvcbrtEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #39 !srcloc !1512 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = and i32 %4, 2146435072 + %6 = icmp eq i32 %5, 2146435072 + br i1 %6, label %99, label %7 + +7: ; preds = %2 + %8 = load i64, ptr addrspace(4) %0, align 8 + %9 = and i64 %8, 9223372036854775807 + %10 = bitcast i64 %9 to double + %11 = and i32 %4, -2147483648 + %12 = and i64 %8, 9218868437227405312 + %13 = icmp eq i64 %12, 0 + %14 = fmul double %10, 0x4590000000000000 + %15 = select i1 %13, double %14, double %10 + %16 = fcmp ogt double %15, 0.000000e+00 + br i1 %16, label %17, label %96 + +17: ; preds = %7 + %18 = select i1 %13, i32 2018, i32 0 + %19 = bitcast double %15 to i64 + %20 = lshr i64 %19, 52 + %21 = trunc i64 %20 to i32 + %22 = and i32 %21, 2047 + %23 = add nsw i32 %22, -1023 + %24 = trunc i32 %23 to i16 + %25 = sdiv i16 %24, 3 + %26 = sext i16 %25 to i32 + %27 = mul nsw i32 %26, -3 + %28 = add nsw i32 %27, %23 + %29 = icmp slt i32 %28, 0 + %30 = add nsw i32 %28, 3 + %31 = ashr i32 %28, 31 + %32 = add nsw i32 %31, %26 + %33 = select i1 %29, i32 %30, i32 %28 + %34 = add nsw i32 %18, %32 + %35 = and i64 %19, -9218868437227405313 + %36 = or i64 %35, 4607182418800017408 + %37 = bitcast i64 %36 to double + br label %38 + +38: ; preds = %42, %17 + %39 = phi double [ %37, %17 ], [ %44, %42 ] + %40 = phi i32 [ %33, %17 ], [ %43, %42 ] + %41 = icmp eq i32 %40, 0 + br i1 %41, label %45, label %42 + +42: ; preds = %38 + %43 = add nsw i32 %40, -1 + %44 = fadd double %39, %39 + br label %38, !llvm.loop !1513 + +45: ; preds = %38 + %46 = fadd double %37, 0x42E0000000000020 + %47 = bitcast double %46 to i64 + %48 = trunc i64 %47 to i32 + %49 = and i32 %48, 63 + %50 = shl nsw i32 %33, 5 + %51 = add nsw i32 %49, %50 + %52 = sext i32 %51 to i64 + %53 = getelementptr inbounds double, ptr addrspace(1) @_ZN23__imf_impl_invcbrt_d_ha12_GLOBAL__N_117_vmldInvCbrtHATabE, i64 %52 + %54 = load double, ptr addrspace(1) %53, align 8, !tbaa !760 + %55 = fmul double %54, %54 + %56 = fmul double %55, %54 + %57 = fmul double %39, 0x4240000000000000 + %58 = fsub double %57, %39 + %59 = fsub double %57, %58 + %60 = fsub double %39, %59 + %61 = fneg double %56 + %62 = tail call double @llvm.fmuladd.f64(double %61, double %59, double 1.000000e+00) + %63 = fmul double %56, %60 + %64 = fsub double %62, %63 + %65 = tail call double @llvm.fmuladd.f64(double %64, double 0x3FB76E1B29541C7A, double 0x3FB9B8DCFA1CBB4B) + %66 = tail call double @llvm.fmuladd.f64(double %65, double %64, double 0x3FBC67D1021ABD48) + %67 = tail call double @llvm.fmuladd.f64(double %66, double %64, double 0x3FBFF4C2CAD96DC0) + %68 = tail call double @llvm.fmuladd.f64(double %67, double %64, double 0x3FC26FABB82A92C1) + %69 = tail call double @llvm.fmuladd.f64(double %68, double %64, double 0x3FC61F9ADD3D926E) + %70 = tail call double @llvm.fmuladd.f64(double %69, double %64, double 0x3FCC71C71C71C7C6) + %71 = fmul double %70, %64 + %72 = fmul double %71, %64 + %73 = fmul double %62, 0x4240000000000000 + %74 = fsub double %73, %62 + %75 = fsub double %73, %74 + %76 = fsub double %62, %75 + %77 = tail call double @llvm.fmuladd.f64(double %64, double 0xBEC555555556EEB1, double %72) + %78 = tail call double @llvm.fmuladd.f64(double %63, double 0xBFD5556000000000, double %77) + %79 = tail call double @llvm.fmuladd.f64(double %76, double 0x3FD5556000000000, double %78) + %80 = fmul double %79, %54 + %81 = fmul double %54, %75 + %82 = fmul double %81, 0x3FD5556000000000 + %83 = fadd double %54, %82 + %84 = fsub double %54, %83 + %85 = fadd double %84, %82 + %86 = fadd double %80, %85 + %87 = shl i32 %34, 20 + %88 = sub i32 1072693248, %87 + %89 = and i32 %88, 2146435072 + %90 = or i32 %11, %89 + %91 = zext i32 %90 to i64 + %92 = shl nuw i64 %91, 32 + %93 = bitcast i64 %92 to double + %94 = fadd double %83, %86 + %95 = fmul double %94, %93 + store double %95, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %111 + +96: ; preds = %7 + %97 = bitcast i64 %8 to double + %98 = fdiv double 1.000000e+00, %97 + store double %98, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %111 + +99: ; preds = %2 + %100 = and i32 %4, 1048575 + %101 = icmp eq i32 %100, 0 + br i1 %101, label %102, label %108 + +102: ; preds = %99 + %103 = load i32, ptr addrspace(4) %0, align 8 + %104 = icmp eq i32 %103, 0 + br i1 %104, label %105, label %108 + +105: ; preds = %102 + %106 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %107 = fdiv double 0.000000e+00, %106 + store double %107, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %111 + +108: ; preds = %102, %99 + %109 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %110 = fdiv double %109, %109 + store double %110, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %111 + +111: ; preds = %108, %105, %96, %45 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isfinite(double noundef %0) local_unnamed_addr #44 !srcloc !1514 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, 9218868437227405312 + %4 = icmp ne i64 %3, 9218868437227405312 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isinf(double noundef %0) local_unnamed_addr #44 !srcloc !1515 { + %2 = tail call double @llvm.fabs.f64(double %0) + %3 = bitcast double %2 to i64 + %4 = icmp eq i64 %3, 9218868437227405312 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_isnan(double noundef %0) local_unnamed_addr #44 !srcloc !1516 { + %2 = tail call double @llvm.fabs.f64(double %0) + %3 = bitcast double %2 to i64 + %4 = icmp ugt i64 %3, 9218868437227405312 + %5 = zext i1 %4 to i32 + ret i32 %5 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ldexp(double noundef %0, i32 noundef %1) local_unnamed_addr #44 !srcloc !1517 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = lshr i32 %5, 20 + %7 = and i32 %6, 2047 + %8 = tail call i32 @llvm.smin.i32(i32 %1, i32 65536) + %9 = tail call i32 @llvm.smax.i32(i32 %8, i32 -65536) + %10 = add nsw i32 %7, %9 + %11 = add nsw i32 %10, -2047 + %12 = icmp ult i32 %11, -2046 + br i1 %12, label %22, label %13 + +13: ; preds = %2 + %14 = and i64 %3, 4294967295 + %15 = and i32 %5, -2146435073 + %16 = shl nuw nsw i32 %10, 20 + %17 = or i32 %15, %16 + %18 = zext i32 %17 to i64 + %19 = shl nuw i64 %18, 32 + %20 = or i64 %14, %19 + %21 = bitcast i64 %20 to double + switch i32 %7, label %96 [ + i32 2047, label %22 + i32 0, label %22 + ] + +22: ; preds = %13, %13, %2 + %23 = lshr i64 %3, 52 + %24 = trunc i64 %23 to i32 + %25 = and i32 %24, 2047 + %26 = icmp eq i32 %25, 2047 + br i1 %26, label %96, label %27 + +27: ; preds = %22 + %28 = tail call double @llvm.fabs.f64(double %0) + %29 = bitcast double %28 to i64 + %30 = icmp eq i64 %29, 0 + br i1 %30, label %96, label %31 + +31: ; preds = %27 + %32 = icmp eq i32 %25, 0 + br i1 %32, label %33, label %40 + +33: ; preds = %31 + %34 = fmul double %0, 0x4360000000000000 + %35 = bitcast double %34 to i64 + %36 = lshr i64 %35, 52 + %37 = trunc i64 %36 to i32 + %38 = and i32 %37, 2047 + %39 = add nsw i32 %38, -55 + br label %40 + +40: ; preds = %33, %31 + %41 = phi i32 [ %39, %33 ], [ %25, %31 ] + %42 = phi double [ %34, %33 ], [ %0, %31 ] + %43 = add nsw i32 %41, %9 + %44 = icmp sgt i32 %43, 0 + br i1 %44, label %45, label %65 + +45: ; preds = %40 + %46 = icmp ugt i32 %43, 2046 + br i1 %46, label %47, label %53 + +47: ; preds = %45 + %48 = bitcast double %42 to i64 + %49 = lshr i64 %48, 63 + %50 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_ldexp_d_xa12_GLOBAL__N_115_large_value_64E, i64 %49 + %51 = load double, ptr addrspace(1) %50, align 4, !tbaa !760 + %52 = fmul double %51, 0x7E70000000000000 + br label %96 + +53: ; preds = %45 + %54 = bitcast double %42 to i64 + %55 = lshr i64 %54, 32 + %56 = trunc i64 %55 to i32 + %57 = shl nuw nsw i32 %43, 20 + %58 = and i32 %56, -2146435073 + %59 = or i32 %58, %57 + %60 = zext i32 %59 to i64 + %61 = shl nuw i64 %60, 32 + %62 = and i64 %54, 4294967295 + %63 = or i64 %62, %61 + %64 = bitcast i64 %63 to double + br label %96 + +65: ; preds = %40 + %66 = icmp slt i32 %43, -52 + br i1 %66, label %67, label %73 + +67: ; preds = %65 + %68 = bitcast double %42 to i64 + %69 = lshr i64 %68, 63 + %70 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_ldexp_d_xa12_GLOBAL__N_115_small_value_64E, i64 %69 + %71 = load double, ptr addrspace(1) %70, align 4, !tbaa !760 + %72 = fmul double %71, 0x170000000000000 + br label %96 + +73: ; preds = %65 + %74 = bitcast double %42 to i64 + %75 = lshr i64 %74, 32 + %76 = trunc i64 %75 to i32 + %77 = shl nsw i32 %43, 20 + %78 = add i32 %77, 57671680 + %79 = and i32 %78, 2146435072 + %80 = and i32 %76, -2146435073 + %81 = or i32 %80, %79 + %82 = zext i32 %81 to i64 + %83 = shl nuw i64 %82, 32 + %84 = and i64 %74, 4294967295 + %85 = or i64 %84, %83 + %86 = bitcast i64 %85 to double + %87 = fmul double %86, 0x3C80000000000000 + %88 = tail call double @llvm.fabs.f64(double %87) + %89 = bitcast double %88 to i64 + %90 = icmp eq i64 %89, 0 + br i1 %90, label %91, label %96 + +91: ; preds = %73 + %92 = lshr i64 %74, 63 + %93 = getelementptr inbounds double, ptr addrspace(1) @_ZN21__imf_impl_ldexp_d_xa12_GLOBAL__N_115_small_value_64E, i64 %92 + %94 = load double, ptr addrspace(1) %93, align 4, !tbaa !760 + %95 = fmul double %94, 0x170000000000000 + br label %96 + +96: ; preds = %91, %73, %67, %53, %47, %27, %22, %13 + %97 = phi double [ %21, %13 ], [ %72, %67 ], [ %95, %91 ], [ %87, %73 ], [ %0, %22 ], [ %0, %27 ], [ %64, %53 ], [ %52, %47 ] + ret double %97 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llrint(double noundef %0) local_unnamed_addr #43 !srcloc !1518 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, 9214364837600034816 + %4 = icmp ugt i64 %3, 4890909195324358655 + %5 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %0) #56 + %6 = fptosi double %5 to i64 + %7 = select i1 %4, i64 -9223372036854775808, i64 %6 + ret i64 %7 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_llround(double noundef %0) local_unnamed_addr #43 !srcloc !1519 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, 9214364837600034816 + %4 = icmp ugt i64 %3, 4890909195324358655 + %5 = and i64 %2, -9223372036854775808 + %6 = tail call double @llvm.fabs.f64(double %0) + %7 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %6) #56 + %8 = fsub double %6, %7 + %9 = fcmp oeq double %8, 5.000000e-01 + %10 = select i1 %9, double 1.000000e+00, double 0.000000e+00 + %11 = fadd double %7, %10 + %12 = bitcast double %11 to i64 + %13 = or i64 %5, %12 + %14 = bitcast i64 %13 to double + %15 = fptosi double %14 to i64 + %16 = select i1 %4, i64 -9223372036854775808, i64 %15 + ret i64 %16 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_lrint(double noundef %0) local_unnamed_addr #43 !srcloc !1520 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, 9214364837600034816 + %4 = icmp ugt i64 %3, 4890909195324358655 + %5 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %0) #56 + %6 = fptosi double %5 to i64 + %7 = select i1 %4, i64 -9223372036854775808, i64 %6 + ret i64 %7 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_lround(double noundef %0) local_unnamed_addr #43 !srcloc !1521 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, 9214364837600034816 + %4 = icmp ugt i64 %3, 4890909195324358655 + %5 = and i64 %2, -9223372036854775808 + %6 = tail call double @llvm.fabs.f64(double %0) + %7 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %6) #56 + %8 = fsub double %6, %7 + %9 = fcmp oeq double %8, 5.000000e-01 + %10 = select i1 %9, double 1.000000e+00, double 0.000000e+00 + %11 = fadd double %7, %10 + %12 = bitcast double %11 to i64 + %13 = or i64 %5, %12 + %14 = bitcast i64 %13 to double + %15 = fptosi double %14 to i64 + %16 = select i1 %4, i64 -9223372036854775808, i64 %15 + ret i64 %16 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_modf(double noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #43 !srcloc !1522 { + %3 = alloca double, align 8 + %4 = alloca double, align 8 + %5 = bitcast double %0 to i64 + %6 = and i64 %5, 9218868437227405312 + %7 = icmp eq i64 %6, 9218868437227405312 + %8 = tail call spir_func noundef double @_Z17__spirv_ocl_truncd(double noundef %0) #56 + %9 = and i64 %5, -9223372036854775808 + %10 = fsub double %0, %8 + %11 = bitcast double %10 to i64 + %12 = or i64 %9, %11 + %13 = bitcast i64 %12 to double + br i1 %7, label %14, label %19, !prof !1176 + +14: ; preds = %2 + %15 = addrspacecast ptr %4 to ptr addrspace(4) + %16 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + store i64 %12, ptr %3, align 8, !tbaa !760 + store double %8, ptr %4, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_130__devicelib_imf_internal_dmodfEPKdPdS3_(double %0, ptr addrspace(4) noundef %16, ptr addrspace(4) noundef %15) #55 + %17 = load double, ptr %3, align 8, !tbaa !760 + %18 = load double, ptr %4, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %19 + +19: ; preds = %14, %2 + %20 = phi double [ %18, %14 ], [ %8, %2 ] + %21 = phi double [ %17, %14 ], [ %13, %2 ] + store double %20, ptr addrspace(4) %1, align 8, !tbaa !760 + ret double %21 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_130__devicelib_imf_internal_dmodfEPKdPdS3_(double %0, ptr addrspace(4) nocapture noundef writeonly %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #35 !srcloc !1523 !sycl_kernel_omit_args !1235 { + %4 = bitcast double %0 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = and i32 %6, 2147483647 + %8 = add nsw i32 %7, -1072693248 + %9 = icmp ult i32 %8, 54525952 + br i1 %9, label %10, label %45 + +10: ; preds = %3 + %11 = icmp ult i32 %7, 1094713344 + br i1 %11, label %12, label %23 + +12: ; preds = %10 + %13 = lshr i32 %7, 20 + %14 = sub nuw nsw i32 1043, %13 + %15 = shl nsw i32 -1, %14 + %16 = xor i32 %15, -1 + %17 = and i32 %6, %16 + %18 = trunc i64 %4 to i32 + %19 = or i32 %17, %18 + %20 = and i32 %15, %6 + %21 = zext i32 %20 to i64 + %22 = shl nuw i64 %21, 32 + br label %34 + +23: ; preds = %10 + %24 = lshr i32 %7, 20 + %25 = sub nuw nsw i32 1075, %24 + %26 = shl nsw i32 -1, %25 + %27 = trunc i64 %4 to i32 + %28 = xor i32 %26, -1 + %29 = and i32 %27, %28 + %30 = and i32 %26, %27 + %31 = zext i32 %30 to i64 + %32 = and i64 %4, -4294967296 + %33 = or i64 %32, %31 + br label %34 + +34: ; preds = %23, %12 + %35 = phi i64 [ %22, %12 ], [ %33, %23 ] + %36 = phi i32 [ %19, %12 ], [ %29, %23 ] + %37 = icmp eq i32 %36, 0 + br i1 %37, label %41, label %38 + +38: ; preds = %34 + %39 = bitcast i64 %35 to double + %40 = fsub double %0, %39 + store double %40, ptr addrspace(4) %1, align 8, !tbaa !760 + store i64 %35, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %65 + +41: ; preds = %34 + %42 = lshr i64 %4, 63 + %43 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_16_zerosE, i64 %42 + %44 = load double, ptr addrspace(1) %43, align 8, !tbaa !760 + store double %44, ptr addrspace(4) %1, align 8, !tbaa !760 + store i64 %35, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %65 + +45: ; preds = %3 + %46 = lshr i32 %6, 31 + %47 = icmp ugt i32 %7, 2146435071 + br i1 %47, label %48, label %55 + +48: ; preds = %45 + %49 = add nsw i32 %7, -2146435072 + %50 = trunc i64 %4 to i32 + %51 = or i32 %49, %50 + %52 = icmp eq i32 %51, 0 + br i1 %52, label %57, label %53 + +53: ; preds = %48 + %54 = fadd double %0, %0 + store double %54, ptr addrspace(4) %1, align 8, !tbaa !760 + store double %54, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %65 + +55: ; preds = %45 + %56 = icmp ugt i32 %7, 1072693248 + br i1 %56, label %57, label %61 + +57: ; preds = %55, %48 + %58 = zext nneg i32 %46 to i64 + %59 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_16_zerosE, i64 %58 + %60 = load double, ptr addrspace(1) %59, align 8, !tbaa !760 + store double %60, ptr addrspace(4) %1, align 8, !tbaa !760 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %65 + +61: ; preds = %55 + %62 = zext nneg i32 %46 to i64 + %63 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_modf_d_xa12_GLOBAL__N_16_zerosE, i64 %62 + %64 = load double, ptr addrspace(1) %63, align 8, !tbaa !760 + store double %0, ptr addrspace(4) %1, align 8, !tbaa !760 + store double %64, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %65 + +65: ; preds = %61, %57, %53, %41, %38 + ret void +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_nan(ptr addrspace(4) noundef %0) local_unnamed_addr #44 !srcloc !1524 { + %2 = load i64, ptr addrspace(4) %0, align 8, !tbaa !719 + %3 = or i64 %2, 9221120237041090560 + %4 = bitcast i64 %3 to double + ret double %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_nextafter(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1525 { + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = bitcast double %1 to i64 + %6 = lshr i64 %4, 32 + %7 = trunc i64 %6 to i32 + %8 = lshr i64 %5, 32 + %9 = trunc i64 %8 to i32 + %10 = and i32 %7, 2147483647 + %11 = add nuw i32 %10, 2146435072 + %12 = icmp sgt i32 %11, -4194305 + %13 = and i32 %9, 2147483647 + %14 = add nuw i32 %13, 2146435072 + %15 = icmp sgt i32 %14, -4194305 + %16 = or i1 %12, %15 + %17 = icmp eq i64 %4, %5 + %18 = xor i64 %4, %5 + %19 = ashr i64 %18, 63 + %20 = icmp sgt i64 %4, %5 + %21 = or i64 %19, 1 + %22 = select i1 %20, i64 -1, i64 %21 + %23 = select i1 %17, i64 0, i64 %22 + %24 = add i64 %23, %4 + %25 = lshr i64 %24, 32 + %26 = trunc i64 %25 to i32 + %27 = and i32 %26, 2147483647 + %28 = add nuw i32 %27, 2146435072 + %29 = icmp sgt i32 %28, -4194305 + %30 = or i1 %16, %29 + %31 = bitcast i64 %24 to double + br i1 %30, label %32, label %35, !prof !1176 + +32: ; preds = %2 + %33 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 %24, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN25__imf_impl_nextafter_d_xa12_GLOBAL__N_135__devicelib_imf_internal_dnextafterEPKdS2_Pd(double %0, double %1, ptr addrspace(4) noundef %33) #55 + %34 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %35 + +35: ; preds = %32, %2 + %36 = phi double [ %34, %32 ], [ %31, %2 ] + ret double %36 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN25__imf_impl_nextafter_d_xa12_GLOBAL__N_135__devicelib_imf_internal_dnextafterEPKdS2_Pd(double %0, double %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #35 !srcloc !1526 !sycl_kernel_omit_args !1235 { + %4 = bitcast double %0 to i64 + %5 = lshr i64 %4, 32 + %6 = trunc i64 %5 to i32 + %7 = lshr i32 %6, 20 + %8 = and i32 %7, 2047 + %9 = icmp eq i32 %8, 2047 + br i1 %9, label %10, label %15 + +10: ; preds = %3 + %11 = and i32 %6, 1048575 + %12 = trunc i64 %4 to i32 + %13 = or i32 %11, %12 + %14 = icmp eq i32 %13, 0 + br i1 %14, label %15, label %27 + +15: ; preds = %10, %3 + %16 = bitcast double %1 to i64 + %17 = lshr i64 %16, 32 + %18 = trunc i64 %17 to i32 + %19 = lshr i32 %18, 20 + %20 = and i32 %19, 2047 + %21 = icmp eq i32 %20, 2047 + br i1 %21, label %22, label %29 + +22: ; preds = %15 + %23 = and i32 %18, 1048575 + %24 = trunc i64 %16 to i32 + %25 = or i32 %23, %24 + %26 = icmp eq i32 %25, 0 + br i1 %26, label %29, label %27 + +27: ; preds = %22, %10 + %28 = fadd double %0, %1 + store double %28, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %63 + +29: ; preds = %22, %15 + %30 = fcmp oeq double %0, %1 + br i1 %30, label %31, label %32 + +31: ; preds = %29 + store double %1, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %63 + +32: ; preds = %29 + %33 = and i32 %6, 2147483647 + %34 = trunc i64 %4 to i32 + %35 = or i32 %33, %34 + %36 = icmp eq i32 %35, 0 + br i1 %36, label %37, label %41 + +37: ; preds = %32 + %38 = lshr i64 %16, 63 + %39 = getelementptr inbounds i64, ptr addrspace(1) @_ZN25__imf_impl_nextafter_d_xa12_GLOBAL__N_117_min_subnormal_64E, i64 %38 + %40 = load i64, ptr addrspace(1) %39, align 8, !tbaa !1527 + store i64 %40, ptr addrspace(4) %2, align 8, !tbaa !1527 + br label %63 + +41: ; preds = %32 + %42 = xor i32 %6, %18 + %43 = icmp slt i32 %42, 0 + %44 = icmp ugt i32 %8, %20 + %45 = or i1 %43, %44 + br i1 %45, label %57, label %46 + +46: ; preds = %41 + %47 = icmp eq i32 %8, %20 + br i1 %47, label %48, label %59 + +48: ; preds = %46 + %49 = and i32 %6, 1048575 + %50 = and i32 %18, 1048575 + %51 = icmp ugt i32 %49, %50 + br i1 %51, label %57, label %52 + +52: ; preds = %48 + %53 = icmp eq i32 %49, %50 + %54 = trunc i64 %16 to i32 + %55 = icmp ugt i32 %34, %54 + %56 = and i1 %53, %55 + br i1 %56, label %57, label %59 + +57: ; preds = %52, %48, %41 + %58 = add nsw i64 %4, -1 + br label %61 + +59: ; preds = %52, %46 + %60 = add nsw i64 %4, 1 + br label %61 + +61: ; preds = %59, %57 + %62 = phi i64 [ %58, %57 ], [ %60, %59 ] + store i64 %62, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %63 + +63: ; preds = %61, %37, %31, %27 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_norm(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #43 !srcloc !1529 { + br label %3 + +3: ; preds = %14, %2 + %4 = phi double [ 0.000000e+00, %2 ], [ %15, %14 ] + %5 = phi i32 [ 0, %2 ], [ %16, %14 ] + %6 = icmp slt i32 %5, %0 + br i1 %6, label %7, label %17 + +7: ; preds = %3 + %8 = sext i32 %5 to i64 + %9 = getelementptr inbounds double, ptr addrspace(4) %1, i64 %8 + %10 = load double, ptr addrspace(4) %9, align 8, !tbaa !760 + %11 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %10) #56 + %12 = bitcast double %11 to i64 + %13 = icmp eq i64 %12, 9218868437227405312 + br i1 %13, label %42, label %14 + +14: ; preds = %7 + %15 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %4, double noundef %11) #56 + %16 = add nuw nsw i32 %5, 1 + br label %3, !llvm.loop !1530 + +17: ; preds = %3 + %18 = bitcast double %4 to i64 + %19 = and i64 %18, 9218868437227405312 + %20 = lshr i64 %18, 9 + %21 = and i64 %20, 9007199254740992 + %22 = or i64 %21, 9209861237972664320 + %23 = sub nsw i64 %22, %19 + %24 = bitcast i64 %23 to double + br label %25 + +25: ; preds = %29, %17 + %26 = phi double [ 0.000000e+00, %17 ], [ %35, %29 ] + %27 = phi i32 [ 0, %17 ], [ %36, %29 ] + %28 = icmp slt i32 %27, %0 + br i1 %28, label %29, label %37 + +29: ; preds = %25 + %30 = sext i32 %27 to i64 + %31 = getelementptr inbounds double, ptr addrspace(4) %1, i64 %30 + %32 = load double, ptr addrspace(4) %31, align 8, !tbaa !760 + %33 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %32) #56 + %34 = fmul double %33, %24 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %34, double noundef %26) #56 + %36 = add nuw nsw i32 %27, 1 + br label %25, !llvm.loop !1531 + +37: ; preds = %25 + %38 = sub i64 9214364837600034816, %23 + %39 = bitcast i64 %38 to double + %40 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %26) #56 + %41 = fmul double %40, %39 + br label %42 + +42: ; preds = %37, %7 + %43 = phi double [ %41, %37 ], [ %11, %7 ] + ret double %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_norm3d(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #43 !srcloc !1532 { + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = tail call double @llvm.fabs.f64(double %1) + %6 = tail call double @llvm.fabs.f64(double %2) + %7 = fadd double %4, %5 + %8 = fadd double %7, %6 + %9 = fcmp ugt double %8, 0x7FEFFFFFFFFFFFFF + %10 = fcmp oeq double %8, 0.000000e+00 + %11 = or i1 %9, %10 + %12 = fcmp ogt double %4, %5 + %13 = select i1 %12, double %4, double %5 + %14 = fcmp olt double %4, %5 + %15 = select i1 %14, double %4, double %5 + %16 = fcmp ogt double %13, %6 + %17 = select i1 %16, double %13, double %6 + %18 = bitcast double %17 to i64 + %19 = and i64 %18, 9218868437227405312 + %20 = lshr i64 %18, 9 + %21 = and i64 %20, 9007199254740992 + %22 = or i64 %21, 9209861237972664320 + %23 = sub nsw i64 %22, %19 + %24 = bitcast i64 %23 to double + %25 = fmul double %13, %24 + %26 = fmul double %15, %24 + %27 = fmul double %6, %24 + %28 = fmul double %27, %27 + %29 = fmul double %26, %26 + %30 = fmul double %25, %25 + %31 = fneg double %28 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %27, double noundef %31) #56 + %33 = fneg double %29 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %26, double noundef %33) #56 + %35 = fneg double %30 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %25, double noundef %35) #56 + %37 = fadd double %32, %34 + %38 = fadd double %37, %36 + %39 = fadd double %29, %30 + %40 = fsub double %30, %39 + %41 = fadd double %29, %40 + %42 = fadd double %38, %41 + %43 = fadd double %39, %28 + %44 = fcmp ogt double %28, %39 + %45 = select i1 %44, double %28, double %39 + %46 = fcmp olt double %28, %39 + %47 = select i1 %46, double %28, double %39 + %48 = fsub double %45, %43 + %49 = fadd double %47, %48 + %50 = fadd double %42, %49 + %51 = fptrunc double %43 to float + %52 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %51) #56 + %53 = fdiv float 1.000000e+00, %52 + %54 = fpext float %53 to double + %55 = fmul double %54, %54 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %55, double noundef -1.000000e+00) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %55, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 3.750000e-01, double noundef %57, double noundef -5.000000e-01) #56 + %59 = fmul double %58, %57 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %59, double noundef %43, double noundef %50) #56 + %61 = fmul double %60, %54 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %43, double noundef %61) #56 + %63 = sub i64 9214364837600034816, %23 + %64 = bitcast i64 %63 to double + %65 = fmul double %62, %64 + br i1 %11, label %66, label %76, !prof !1176 + +66: ; preds = %3 + %67 = fcmp uno double %8, 0.000000e+00 + %68 = select i1 %67, double %8, double %65 + %69 = fcmp ogt double %4, 0x7FEFFFFFFFFFFFFF + %70 = fcmp ogt double %5, 0x7FEFFFFFFFFFFFFF + %71 = fcmp ogt double %6, 0x7FEFFFFFFFFFFFFF + %72 = or i1 %69, %70 + %73 = or i1 %72, %71 + %74 = select i1 %73, double 0x7FF0000000000000, double %68 + %75 = select i1 %10, double 0.000000e+00, double %74 + br label %76 + +76: ; preds = %66, %3 + %77 = phi double [ %75, %66 ], [ %65, %3 ] + ret double %77 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_norm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) local_unnamed_addr #43 !srcloc !1533 { + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = tail call double @llvm.fabs.f64(double %1) + %7 = tail call double @llvm.fabs.f64(double %2) + %8 = tail call double @llvm.fabs.f64(double %3) + %9 = fadd double %5, %6 + %10 = fadd double %9, %7 + %11 = fadd double %10, %8 + %12 = fcmp ugt double %11, 0x7FEFFFFFFFFFFFFF + %13 = fcmp oeq double %11, 0.000000e+00 + %14 = or i1 %12, %13 + %15 = fcmp ogt double %5, %6 + %16 = select i1 %15, double %5, double %6 + %17 = fcmp olt double %5, %6 + %18 = select i1 %17, double %5, double %6 + %19 = fcmp ogt double %7, %8 + %20 = select i1 %19, double %7, double %8 + %21 = fcmp olt double %7, %8 + %22 = select i1 %21, double %7, double %8 + %23 = fcmp ogt double %16, %20 + %24 = select i1 %23, double %16, double %20 + %25 = bitcast double %24 to i64 + %26 = and i64 %25, 9218868437227405312 + %27 = lshr i64 %25, 9 + %28 = and i64 %27, 9007199254740992 + %29 = or i64 %28, 9209861237972664320 + %30 = sub nsw i64 %29, %26 + %31 = bitcast i64 %30 to double + %32 = fmul double %16, %31 + %33 = fmul double %18, %31 + %34 = fmul double %20, %31 + %35 = fmul double %22, %31 + %36 = fmul double %35, %35 + %37 = fmul double %34, %34 + %38 = fmul double %33, %33 + %39 = fmul double %32, %32 + %40 = fneg double %36 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %35, double noundef %40) #56 + %42 = fneg double %37 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %34, double noundef %42) #56 + %44 = fneg double %38 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %33, double noundef %44) #56 + %46 = fneg double %39 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %32, double noundef %46) #56 + %48 = fadd double %41, %43 + %49 = fadd double %48, %45 + %50 = fadd double %49, %47 + %51 = fadd double %36, %37 + %52 = fsub double %37, %51 + %53 = fadd double %36, %52 + %54 = fadd double %50, %53 + %55 = fadd double %38, %39 + %56 = fsub double %39, %55 + %57 = fadd double %38, %56 + %58 = fadd double %54, %57 + %59 = fadd double %55, %51 + %60 = fcmp ogt double %51, %55 + %61 = select i1 %60, double %51, double %55 + %62 = fcmp olt double %51, %55 + %63 = select i1 %62, double %51, double %55 + %64 = fsub double %61, %59 + %65 = fadd double %63, %64 + %66 = fadd double %58, %65 + %67 = fptrunc double %59 to float + %68 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %67) #56 + %69 = fdiv float 1.000000e+00, %68 + %70 = fpext float %69 to double + %71 = fmul double %70, %70 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %59, double noundef %71, double noundef -1.000000e+00) #56 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %71, double noundef %72) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 3.750000e-01, double noundef %73, double noundef -5.000000e-01) #56 + %75 = fmul double %74, %73 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %75, double noundef %59, double noundef %66) #56 + %77 = fmul double %76, %70 + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %59, double noundef %77) #56 + %79 = sub i64 9214364837600034816, %30 + %80 = bitcast i64 %79 to double + %81 = fmul double %78, %80 + br i1 %14, label %82, label %94, !prof !1176 + +82: ; preds = %4 + %83 = fcmp uno double %11, 0.000000e+00 + %84 = select i1 %83, double %11, double %81 + %85 = fcmp ogt double %5, 0x7FEFFFFFFFFFFFFF + %86 = fcmp ogt double %6, 0x7FEFFFFFFFFFFFFF + %87 = fcmp ogt double %7, 0x7FEFFFFFFFFFFFFF + %88 = fcmp ogt double %8, 0x7FEFFFFFFFFFFFFF + %89 = or i1 %85, %86 + %90 = or i1 %87, %88 + %91 = or i1 %89, %90 + %92 = select i1 %91, double 0x7FF0000000000000, double %84 + %93 = select i1 %13, double 0.000000e+00, double %92 + br label %94 + +94: ; preds = %82, %4 + %95 = phi double [ %93, %82 ], [ %81, %4 ] + ret double %95 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_remainder(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1534 { + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = bitcast double %1 to i64 + %8 = tail call double @llvm.fabs.f64(double %1) + %9 = bitcast double %8 to i64 + %10 = lshr i64 %9, 32 + %11 = trunc i64 %10 to i32 + %12 = add nuw i32 %11, 2094006272 + %13 = icmp sgt i32 %12, -81788929 + %14 = lshr i64 %6, 52 + %15 = trunc i64 %14 to i32 + %16 = lshr i32 %11, 20 + %17 = sub nsw i32 %15, %16 + %18 = icmp sgt i32 %17, 25 + %19 = or i1 %18, %13 + %20 = and i64 %7, -134217728 + %21 = bitcast i64 %20 to double + %22 = fsub double %1, %21 + %23 = fdiv double %0, %1 + %24 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %23) #56 + %25 = fmul double %24, %21 + %26 = fmul double %24, %22 + %27 = fsub double %0, %25 + %28 = fsub double %27, %26 + %29 = bitcast double %28 to i64 + %30 = and i64 %29, -9223372036854775808 + %31 = tail call double @llvm.fabs.f64(double %28) + %32 = and i64 %4, -9223372036854775808 + %33 = fmul double %8, 5.000000e-01 + %34 = fcmp ogt double %31, %33 + %35 = select i1 %34, i64 %9, i64 0 + %36 = or i64 %35, %30 + %37 = bitcast i64 %36 to double + %38 = fsub double %28, %37 + %39 = fcmp oeq double %38, 0.000000e+00 + %40 = select i1 %39, i64 %32, i64 0 + %41 = bitcast double %38 to i64 + %42 = or i64 %40, %41 + %43 = bitcast i64 %42 to double + br i1 %19, label %44, label %47, !prof !1176 + +44: ; preds = %2 + %45 = addrspacecast ptr %3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 %42, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN25__imf_impl_remainder_d_xa12_GLOBAL__N_135__devicelib_imf_internal_dremainderEPKdS2_Pd(double %0, double %1, ptr addrspace(4) noundef %45) #55 + %46 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + br label %47 + +47: ; preds = %44, %2 + %48 = phi double [ %46, %44 ], [ %43, %2 ] + ret double %48 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN25__imf_impl_remainder_d_xa12_GLOBAL__N_135__devicelib_imf_internal_dremainderEPKdS2_Pd(double %0, double %1, ptr addrspace(4) nocapture noundef writeonly %2) unnamed_addr #37 !srcloc !1535 !sycl_kernel_omit_args !1235 { + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = tail call double @llvm.fabs.f64(double %1) + %8 = bitcast double %7 to i64 + %9 = lshr i64 %6, 52 + %10 = trunc i64 %9 to i32 + %11 = and i32 %10, 2047 + %12 = add nsw i32 %11, -1023 + %13 = lshr i64 %8, 52 + %14 = trunc i64 %13 to i32 + %15 = and i32 %14, 2047 + %16 = add nsw i32 %15, -1023 + %17 = icmp ne i32 %12, 1024 + br i1 %17, label %18, label %27 + +18: ; preds = %3 + %19 = icmp eq i32 %16, 1024 + %20 = icmp eq i64 %6, 0 + %21 = or i1 %19, %20 + %22 = icmp eq i64 %8, 0 + %23 = select i1 %21, i1 true, i1 %22 + br i1 %23, label %24, label %49 + +24: ; preds = %18 + %25 = and i64 %6, 4503599627370495 + %26 = icmp ne i64 %25, 0 + br label %32 + +27: ; preds = %3 + %28 = and i64 %6, 4503599627370495 + %29 = icmp eq i64 %28, 0 + br i1 %29, label %32, label %30 + +30: ; preds = %27 + %31 = fmul double %0, 1.700000e+00 + br label %47 + +32: ; preds = %27, %24 + %33 = phi i1 [ %26, %24 ], [ false, %27 ] + %34 = and i64 %8, 4503599627370495 + %35 = icmp ne i64 %34, 0 + %36 = icmp eq i32 %16, 1024 + %37 = select i1 %35, i1 %36, i1 false + br i1 %37, label %38, label %40 + +38: ; preds = %32 + %39 = fmul double %1, 1.700000e+00 + br label %47 + +40: ; preds = %32 + %41 = fcmp oeq double %1, 0.000000e+00 + %42 = fcmp oeq double %0, 0.000000e+00 + %43 = or i1 %42, %33 + %44 = or i1 %43, %17 + %45 = select i1 %44, double %0, double 0x7FF8000000000000 + %46 = select i1 %41, double 0x7FF8000000000000, double %45 + br label %47 + +47: ; preds = %40, %38, %30 + %48 = phi double [ %31, %30 ], [ %39, %38 ], [ %46, %40 ] + store double %48, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +49: ; preds = %18 + %50 = and i64 %6, 4503599627370495 + %51 = and i64 %8, 4503599627370495 + %52 = fcmp ugt double %5, %7 + br i1 %52, label %68, label %53 + +53: ; preds = %49 + %54 = fcmp oeq double %5, %7 + br i1 %54, label %55, label %57 + +55: ; preds = %53 + %56 = fmul double %0, 0.000000e+00 + store double %56, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +57: ; preds = %53 + %58 = icmp eq i32 %12, 1023 + %59 = fmul double %5, 2.000000e+00 + %60 = fcmp ugt double %59, %7 + %61 = select i1 %58, i1 true, i1 %60 + br i1 %61, label %63, label %62 + +62: ; preds = %57 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +63: ; preds = %57 + %64 = fsub double %5, %7 + %65 = fneg double %64 + %66 = icmp slt i64 %4, 0 + %67 = select i1 %66, double %65, double %64 + store double %67, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +68: ; preds = %49 + %69 = icmp eq i32 %11, 0 + %70 = icmp ne i64 %50, 0 + %71 = and i1 %69, %70 + br i1 %71, label %72, label %79 + +72: ; preds = %76, %68 + %73 = phi i32 [ %77, %76 ], [ -1022, %68 ] + %74 = phi i64 [ %78, %76 ], [ %50, %68 ] + %75 = icmp ult i64 %74, 4503599627370496 + br i1 %75, label %76, label %81 + +76: ; preds = %72 + %77 = add nsw i32 %73, -1 + %78 = shl nuw nsw i64 %74, 1 + br label %72, !llvm.loop !1536 + +79: ; preds = %68 + %80 = or i64 %50, 4503599627370496 + br label %81 + +81: ; preds = %79, %72 + %82 = phi i32 [ %12, %79 ], [ %73, %72 ] + %83 = phi i64 [ %80, %79 ], [ %74, %72 ] + %84 = icmp eq i32 %15, 0 + %85 = icmp ne i64 %51, 0 + %86 = select i1 %84, i1 %85, i1 false + br i1 %86, label %87, label %94 + +87: ; preds = %91, %81 + %88 = phi i32 [ %92, %91 ], [ -1022, %81 ] + %89 = phi i64 [ %93, %91 ], [ %51, %81 ] + %90 = icmp ult i64 %89, 4503599627370496 + br i1 %90, label %91, label %96 + +91: ; preds = %87 + %92 = add nsw i32 %88, -1 + %93 = shl nuw nsw i64 %89, 1 + br label %87, !llvm.loop !1537 + +94: ; preds = %81 + %95 = or i64 %51, 4503599627370496 + br label %96 + +96: ; preds = %94, %87 + %97 = phi i32 [ %16, %94 ], [ %88, %87 ] + %98 = phi i64 [ %95, %94 ], [ %89, %87 ] + %99 = sub nsw i32 %82, %97 + %100 = add nsw i32 %99, 1 + br label %101 + +101: ; preds = %106, %96 + %102 = phi i32 [ 0, %96 ], [ %111, %106 ] + %103 = phi i1 [ true, %96 ], [ %107, %106 ] + %104 = phi i64 [ %83, %96 ], [ %110, %106 ] + %105 = icmp ult i32 %102, %100 + br i1 %105, label %106, label %112 + +106: ; preds = %101 + %107 = icmp ult i64 %104, %98 + %108 = select i1 %107, i64 0, i64 %98 + %109 = sub i64 %104, %108 + %110 = shl i64 %109, 1 + %111 = add nuw nsw i32 %102, 1 + br label %101, !llvm.loop !1538 + +112: ; preds = %101 + %113 = icmp eq i64 %104, 0 + br i1 %113, label %114, label %116 + +114: ; preds = %112 + %115 = fmul double %0, 0.000000e+00 + store double %115, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +116: ; preds = %112 + %117 = lshr i64 %104, 1 + br label %118 + +118: ; preds = %122, %116 + %119 = phi i32 [ %97, %116 ], [ %123, %122 ] + %120 = phi i64 [ %117, %116 ], [ %124, %122 ] + %121 = icmp ult i64 %120, 4503599627370496 + br i1 %121, label %122, label %125 + +122: ; preds = %118 + %123 = add nsw i32 %119, -1 + %124 = shl nuw nsw i64 %120, 1 + br label %118, !llvm.loop !1539 + +125: ; preds = %118 + %126 = icmp sgt i32 %119, -1023 + br i1 %126, label %127, label %132 + +127: ; preds = %125 + %128 = and i64 %120, 4503599627370495 + %129 = add nsw i32 %119, 1023 + %130 = zext i32 %129 to i64 + %131 = shl i64 %130, 52 + br label %136 + +132: ; preds = %125 + %133 = sub nuw nsw i32 -1022, %119 + %134 = zext i32 %133 to i64 + %135 = lshr i64 %120, %134 + br label %136 + +136: ; preds = %132, %127 + %137 = phi i64 [ %131, %127 ], [ 0, %132 ] + %138 = phi i64 [ %128, %127 ], [ %135, %132 ] + %139 = or i64 %137, %138 + %140 = bitcast i64 %139 to double + %141 = fmul double %140, 2.000000e+00 + %142 = fcmp ult double %141, %7 + br i1 %142, label %149, label %143 + +143: ; preds = %136 + %144 = fcmp oeq double %141, %7 + %145 = fneg double %140 + %146 = select i1 %103, double %140, double %145 + %147 = fsub double %140, %7 + %148 = select i1 %144, double %146, double %147 + br label %149 + +149: ; preds = %143, %136 + %150 = phi double [ %140, %136 ], [ %148, %143 ] + %151 = fneg double %150 + %152 = icmp slt i64 %4, 0 + %153 = select i1 %152, double %151, double %150 + store double %153, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %154 + +154: ; preds = %149, %114, %63, %62, %55, %47 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_remquo(double noundef %0, double noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #43 !srcloc !1540 { + %4 = alloca double, align 8 + %5 = alloca i32, align 4 + %6 = bitcast double %0 to i64 + %7 = tail call double @llvm.fabs.f64(double %0) + %8 = bitcast double %7 to i64 + %9 = bitcast double %1 to i64 + %10 = tail call double @llvm.fabs.f64(double %1) + %11 = bitcast double %10 to i64 + %12 = lshr i64 %11, 32 + %13 = trunc i64 %12 to i32 + %14 = add nuw i32 %13, 2094006272 + %15 = icmp sgt i32 %14, -81788929 + %16 = lshr i64 %8, 52 + %17 = trunc i64 %16 to i32 + %18 = lshr i32 %13, 20 + %19 = sub nsw i32 %17, %18 + %20 = icmp sgt i32 %19, 25 + %21 = or i1 %20, %15 + %22 = and i64 %9, -134217728 + %23 = bitcast i64 %22 to double + %24 = fsub double %1, %23 + %25 = fdiv double %0, %1 + %26 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %25) #56 + %27 = fptosi double %26 to i32 + %28 = fmul double %26, %23 + %29 = fmul double %26, %24 + %30 = fsub double %0, %28 + %31 = fsub double %30, %29 + %32 = bitcast double %31 to i64 + %33 = and i64 %32, -9223372036854775808 + %34 = tail call double @llvm.fabs.f64(double %31) + %35 = xor i64 %32, %9 + %36 = and i64 %6, -9223372036854775808 + %37 = lshr i64 %35, 32 + %38 = trunc i64 %37 to i32 + %39 = ashr i32 %38, 31 + %40 = or i32 %39, 1 + %41 = fmul double %10, 5.000000e-01 + %42 = fcmp ogt double %34, %41 + %43 = select i1 %42, i32 %40, i32 0 + %44 = select i1 %42, i64 %11, i64 0 + %45 = or i64 %44, %33 + %46 = bitcast i64 %45 to double + %47 = fsub double %31, %46 + %48 = add i32 %43, %27 + %49 = fcmp oeq double %47, 0.000000e+00 + %50 = select i1 %49, i64 %36, i64 0 + %51 = bitcast double %47 to i64 + %52 = or i64 %50, %51 + %53 = bitcast i64 %52 to double + br i1 %21, label %54, label %59, !prof !1176 + +54: ; preds = %3 + %55 = addrspacecast ptr %5 to ptr addrspace(4) + %56 = addrspacecast ptr %4 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #55 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #55 + store i64 %52, ptr %4, align 8, !tbaa !760 + store i32 %48, ptr %5, align 4, !tbaa !717 + call spir_func void @_ZN22__imf_impl_remquo_d_xa12_GLOBAL__N_132__devicelib_imf_internal_dremquoEPKdS2_PdPi(double %0, double %1, ptr addrspace(4) noundef %56, ptr addrspace(4) noundef %55) #55 + %57 = load double, ptr %4, align 8, !tbaa !760 + %58 = load i32, ptr %5, align 4, !tbaa !717 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #55 + br label %59 + +59: ; preds = %54, %3 + %60 = phi i32 [ %58, %54 ], [ %48, %3 ] + %61 = phi double [ %57, %54 ], [ %53, %3 ] + store i32 %60, ptr addrspace(4) %2, align 4, !tbaa !717 + ret double %61 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) +define internal spir_func void @_ZN22__imf_impl_remquo_d_xa12_GLOBAL__N_132__devicelib_imf_internal_dremquoEPKdS2_PdPi(double %0, double %1, ptr addrspace(4) nocapture noundef writeonly %2, ptr addrspace(4) nocapture noundef writeonly %3) unnamed_addr #37 !srcloc !1541 !sycl_kernel_omit_args !1257 { + %5 = bitcast double %0 to i64 + %6 = tail call double @llvm.fabs.f64(double %0) + %7 = bitcast double %6 to i64 + %8 = bitcast double %1 to i64 + %9 = tail call double @llvm.fabs.f64(double %1) + %10 = bitcast double %9 to i64 + %11 = xor i64 %5, %8 + %12 = icmp sgt i64 %11, -1 + %13 = select i1 %12, i32 1, i32 -1 + %14 = lshr i64 %7, 52 + %15 = trunc i64 %14 to i32 + %16 = and i32 %15, 2047 + %17 = add nsw i32 %16, -1023 + %18 = lshr i64 %10, 52 + %19 = trunc i64 %18 to i32 + %20 = and i32 %19, 2047 + %21 = add nsw i32 %20, -1023 + %22 = icmp ne i32 %17, 1024 + br i1 %22, label %23, label %32 + +23: ; preds = %4 + %24 = icmp eq i32 %21, 1024 + %25 = icmp eq i64 %7, 0 + %26 = or i1 %24, %25 + %27 = icmp eq i64 %10, 0 + %28 = or i1 %26, %27 + br i1 %28, label %29, label %54 + +29: ; preds = %23 + %30 = and i64 %7, 4503599627370495 + store i32 0, ptr addrspace(4) %3, align 4, !tbaa !717 + %31 = icmp ne i64 %30, 0 + br label %37 + +32: ; preds = %4 + %33 = and i64 %7, 4503599627370495 + store i32 0, ptr addrspace(4) %3, align 4, !tbaa !717 + %34 = icmp eq i64 %33, 0 + br i1 %34, label %37, label %35 + +35: ; preds = %32 + %36 = fmul double %0, 1.700000e+00 + br label %52 + +37: ; preds = %32, %29 + %38 = phi i1 [ %31, %29 ], [ false, %32 ] + %39 = and i64 %10, 4503599627370495 + %40 = icmp ne i64 %39, 0 + %41 = icmp eq i32 %21, 1024 + %42 = select i1 %40, i1 %41, i1 false + br i1 %42, label %43, label %45 + +43: ; preds = %37 + %44 = fmul double %1, 1.700000e+00 + br label %52 + +45: ; preds = %37 + %46 = fcmp oeq double %1, 0.000000e+00 + %47 = fcmp oeq double %0, 0.000000e+00 + %48 = or i1 %47, %38 + %49 = or i1 %48, %22 + %50 = select i1 %49, double %0, double 0x7FF8000000000000 + %51 = select i1 %46, double 0x7FF8000000000000, double %50 + br label %52 + +52: ; preds = %45, %43, %35 + %53 = phi double [ %36, %35 ], [ %44, %43 ], [ %51, %45 ] + store double %53, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +54: ; preds = %23 + %55 = and i64 %7, 4503599627370495 + %56 = and i64 %10, 4503599627370495 + %57 = fcmp ugt double %6, %9 + br i1 %57, label %73, label %58 + +58: ; preds = %54 + store i32 %13, ptr addrspace(4) %3, align 4, !tbaa !717 + %59 = fcmp oeq double %6, %9 + br i1 %59, label %60, label %62 + +60: ; preds = %58 + %61 = fmul double %0, 0.000000e+00 + store double %61, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +62: ; preds = %58 + %63 = icmp eq i32 %17, 1023 + %64 = fmul double %6, 2.000000e+00 + %65 = fcmp ugt double %64, %9 + %66 = select i1 %63, i1 true, i1 %65 + br i1 %66, label %68, label %67 + +67: ; preds = %62 + store i32 0, ptr addrspace(4) %3, align 4, !tbaa !717 + store double %0, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +68: ; preds = %62 + %69 = fsub double %6, %9 + %70 = fneg double %69 + %71 = icmp slt i64 %5, 0 + %72 = select i1 %71, double %70, double %69 + store double %72, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +73: ; preds = %54 + %74 = icmp eq i32 %16, 0 + %75 = icmp ne i64 %55, 0 + %76 = and i1 %74, %75 + br i1 %76, label %77, label %84 + +77: ; preds = %81, %73 + %78 = phi i32 [ %82, %81 ], [ -1022, %73 ] + %79 = phi i64 [ %83, %81 ], [ %55, %73 ] + %80 = icmp ult i64 %79, 4503599627370496 + br i1 %80, label %81, label %86 + +81: ; preds = %77 + %82 = add nsw i32 %78, -1 + %83 = shl nuw nsw i64 %79, 1 + br label %77, !llvm.loop !1542 + +84: ; preds = %73 + %85 = or i64 %55, 4503599627370496 + br label %86 + +86: ; preds = %84, %77 + %87 = phi i32 [ %17, %84 ], [ %78, %77 ] + %88 = phi i64 [ %85, %84 ], [ %79, %77 ] + %89 = icmp eq i32 %20, 0 + %90 = icmp ne i64 %56, 0 + %91 = and i1 %89, %90 + br i1 %91, label %92, label %99 + +92: ; preds = %96, %86 + %93 = phi i32 [ %97, %96 ], [ -1022, %86 ] + %94 = phi i64 [ %98, %96 ], [ %56, %86 ] + %95 = icmp ult i64 %94, 4503599627370496 + br i1 %95, label %96, label %101 + +96: ; preds = %92 + %97 = add nsw i32 %93, -1 + %98 = shl nuw nsw i64 %94, 1 + br label %92, !llvm.loop !1543 + +99: ; preds = %86 + %100 = or i64 %56, 4503599627370496 + br label %101 + +101: ; preds = %99, %92 + %102 = phi i32 [ %21, %99 ], [ %93, %92 ] + %103 = phi i64 [ %100, %99 ], [ %94, %92 ] + %104 = sub nsw i32 %87, %102 + %105 = add nsw i32 %104, 1 + br label %106 + +106: ; preds = %111, %101 + %107 = phi i32 [ 0, %101 ], [ %119, %111 ] + %108 = phi i64 [ 0, %101 ], [ %115, %111 ] + %109 = phi i64 [ %88, %101 ], [ %118, %111 ] + %110 = icmp ult i32 %107, %105 + br i1 %110, label %111, label %120 + +111: ; preds = %106 + %112 = shl i64 %108, 1 + %113 = icmp uge i64 %109, %103 + %114 = zext i1 %113 to i64 + %115 = or i64 %112, %114 + %116 = select i1 %113, i64 %103, i64 0 + %117 = sub i64 %109, %116 + %118 = shl i64 %117, 1 + %119 = add nuw nsw i32 %107, 1 + br label %106, !llvm.loop !1544 + +120: ; preds = %106 + %121 = icmp eq i64 %109, 0 + br i1 %121, label %122, label %127 + +122: ; preds = %120 + %123 = trunc i64 %108 to i32 + %124 = and i32 %123, 2147483647 + %125 = mul nsw i32 %124, %13 + store i32 %125, ptr addrspace(4) %3, align 4, !tbaa !717 + %126 = fmul double %0, 0.000000e+00 + store double %126, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +127: ; preds = %120 + %128 = lshr i64 %109, 1 + br label %129 + +129: ; preds = %133, %127 + %130 = phi i32 [ %102, %127 ], [ %134, %133 ] + %131 = phi i64 [ %128, %127 ], [ %135, %133 ] + %132 = icmp ult i64 %131, 4503599627370496 + br i1 %132, label %133, label %136 + +133: ; preds = %129 + %134 = add nsw i32 %130, -1 + %135 = shl nuw nsw i64 %131, 1 + br label %129, !llvm.loop !1545 + +136: ; preds = %129 + %137 = icmp sgt i32 %130, -1023 + br i1 %137, label %138, label %143 + +138: ; preds = %136 + %139 = and i64 %131, 4503599627370495 + %140 = add nsw i32 %130, 1023 + %141 = zext i32 %140 to i64 + %142 = shl i64 %141, 52 + br label %147 + +143: ; preds = %136 + %144 = sub nuw nsw i32 -1022, %130 + %145 = zext i32 %144 to i64 + %146 = lshr i64 %131, %145 + br label %147 + +147: ; preds = %143, %138 + %148 = phi i64 [ %142, %138 ], [ 0, %143 ] + %149 = phi i64 [ %139, %138 ], [ %146, %143 ] + %150 = or i64 %148, %149 + %151 = bitcast i64 %150 to double + %152 = fmul double %151, 2.000000e+00 + %153 = fcmp ult double %152, %9 + br i1 %153, label %165, label %154 + +154: ; preds = %147 + %155 = fcmp oeq double %152, %9 + br i1 %155, label %156, label %162 + +156: ; preds = %154 + %157 = and i64 %108, 1 + %158 = icmp eq i64 %157, 0 + %159 = fneg double %151 + %160 = add i64 %108, %157 + %161 = select i1 %158, double %151, double %159 + br label %165 + +162: ; preds = %154 + %163 = fsub double %151, %9 + %164 = add i64 %108, 1 + br label %165 + +165: ; preds = %162, %156, %147 + %166 = phi i64 [ %160, %156 ], [ %164, %162 ], [ %108, %147 ] + %167 = phi double [ %161, %156 ], [ %163, %162 ], [ %151, %147 ] + %168 = trunc i64 %166 to i32 + %169 = and i32 %168, 2147483647 + %170 = mul nsw i32 %169, %13 + store i32 %170, ptr addrspace(4) %3, align 4, !tbaa !717 + %171 = fneg double %167 + %172 = icmp slt i64 %5, 0 + %173 = select i1 %172, double %171, double %167 + store double %173, ptr addrspace(4) %2, align 8, !tbaa !760 + br label %174 + +174: ; preds = %165, %122, %68, %67, %60, %52 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rhypot(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1546 { + %3 = tail call double @llvm.fabs.f64(double %0) + %4 = tail call double @llvm.fabs.f64(double %1) + %5 = fadd double %3, %4 + %6 = fcmp ugt double %5, 0x7FEFFFFFFFFFFFFF + %7 = fcmp oeq double %5, 0.000000e+00 + %8 = or i1 %6, %7 + %9 = fcmp ogt double %3, %4 + %10 = select i1 %9, double %3, double %4 + %11 = fcmp olt double %3, %4 + %12 = select i1 %11, double %3, double %4 + %13 = bitcast double %10 to i64 + %14 = and i64 %13, 9218868437227405312 + %15 = lshr i64 %13, 10 + %16 = and i64 %15, 4503599627370496 + %17 = or i64 %16, 9214364837600034816 + %18 = sub nsw i64 %17, %14 + %19 = bitcast i64 %18 to double + %20 = fmul double %10, %19 + %21 = fmul double %12, %19 + %22 = fmul double %21, %21 + %23 = fmul double %20, %20 + %24 = fneg double %22 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef %21, double noundef %24) #56 + %26 = fneg double %23 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %20, double noundef %26) #56 + %28 = fadd double %25, %27 + %29 = fadd double %22, %23 + %30 = fsub double %23, %29 + %31 = fadd double %22, %30 + %32 = fadd double %28, %31 + %33 = fptrunc double %29 to float + %34 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %33) #56 + %35 = fdiv float 1.000000e+00, %34 + %36 = fpext float %35 to double + %37 = fmul double %36, %36 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %29, double noundef %37, double noundef -1.000000e+00) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %37, double noundef %38) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 3.750000e-01, double noundef %39, double noundef -5.000000e-01) #56 + %41 = fmul double %40, %39 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %41, double noundef %36) #56 + %43 = fmul double %42, %19 + br i1 %8, label %44, label %52, !prof !1176 + +44: ; preds = %2 + %45 = fcmp uno double %5, 0.000000e+00 + %46 = select i1 %45, double %5, double %43 + %47 = fcmp ule double %3, 0x7FEFFFFFFFFFFFFF + %48 = fcmp ule double %4, 0x7FEFFFFFFFFFFFFF + %49 = and i1 %47, %48 + %50 = select i1 %49, double %46, double 0.000000e+00 + %51 = select i1 %7, double 0x7FF0000000000000, double %50 + br label %52 + +52: ; preds = %44, %2 + %53 = phi double [ %51, %44 ], [ %43, %2 ] + ret double %53 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rnorm(i32 noundef %0, ptr addrspace(4) noundef %1) local_unnamed_addr #43 !srcloc !1547 { + br label %3 + +3: ; preds = %14, %2 + %4 = phi double [ 0.000000e+00, %2 ], [ %15, %14 ] + %5 = phi i32 [ 0, %2 ], [ %16, %14 ] + %6 = icmp slt i32 %5, %0 + br i1 %6, label %7, label %17 + +7: ; preds = %3 + %8 = sext i32 %5 to i64 + %9 = getelementptr inbounds double, ptr addrspace(4) %1, i64 %8 + %10 = load double, ptr addrspace(4) %9, align 8, !tbaa !760 + %11 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %10) #56 + %12 = bitcast double %11 to i64 + %13 = icmp eq i64 %12, 9218868437227405312 + br i1 %13, label %41, label %14 + +14: ; preds = %7 + %15 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %4, double noundef %11) #56 + %16 = add nuw nsw i32 %5, 1 + br label %3, !llvm.loop !1548 + +17: ; preds = %3 + %18 = bitcast double %4 to i64 + %19 = and i64 %18, 9218868437227405312 + %20 = lshr i64 %18, 10 + %21 = and i64 %20, 4503599627370496 + %22 = or i64 %21, 9214364837600034816 + %23 = sub nsw i64 %22, %19 + %24 = bitcast i64 %23 to double + br label %25 + +25: ; preds = %29, %17 + %26 = phi double [ 0.000000e+00, %17 ], [ %35, %29 ] + %27 = phi i32 [ 0, %17 ], [ %36, %29 ] + %28 = icmp slt i32 %27, %0 + br i1 %28, label %29, label %37 + +29: ; preds = %25 + %30 = sext i32 %27 to i64 + %31 = getelementptr inbounds double, ptr addrspace(4) %1, i64 %30 + %32 = load double, ptr addrspace(4) %31, align 8, !tbaa !760 + %33 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %32) #56 + %34 = fmul double %33, %24 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %34, double noundef %26) #56 + %36 = add nuw nsw i32 %27, 1 + br label %25, !llvm.loop !1549 + +37: ; preds = %25 + %38 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %26) #56 + %39 = fdiv double 1.000000e+00, %38 + %40 = fmul double %39, %24 + br label %41 + +41: ; preds = %37, %7 + %42 = phi double [ %40, %37 ], [ 0.000000e+00, %7 ] + ret double %42 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rnorm3d(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #43 !srcloc !1550 { + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = tail call double @llvm.fabs.f64(double %1) + %6 = tail call double @llvm.fabs.f64(double %2) + %7 = fadd double %4, %5 + %8 = fadd double %7, %6 + %9 = fcmp ugt double %8, 0x7FEFFFFFFFFFFFFF + %10 = fcmp oeq double %8, 0.000000e+00 + %11 = or i1 %9, %10 + %12 = fcmp ogt double %4, %5 + %13 = select i1 %12, double %4, double %5 + %14 = fcmp olt double %4, %5 + %15 = select i1 %14, double %4, double %5 + %16 = fcmp ogt double %13, %6 + %17 = select i1 %16, double %13, double %6 + %18 = bitcast double %17 to i64 + %19 = and i64 %18, 9218868437227405312 + %20 = lshr i64 %18, 10 + %21 = and i64 %20, 4503599627370496 + %22 = or i64 %21, 9214364837600034816 + %23 = sub nsw i64 %22, %19 + %24 = bitcast i64 %23 to double + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %24, double noundef 0.000000e+00) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %24, double noundef 0.000000e+00) #56 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %24, double noundef 0.000000e+00) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %27, double noundef 0.000000e+00) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %26, double noundef 0.000000e+00) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %25, double noundef 0.000000e+00) #56 + %31 = fneg double %28 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %27, double noundef %31) #56 + %33 = fneg double %29 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %26, double noundef %26, double noundef %33) #56 + %35 = fneg double %30 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %25, double noundef %35) #56 + %37 = fadd double %32, %34 + %38 = fadd double %37, %36 + %39 = fadd double %29, %30 + %40 = fsub double %39, %30 + %41 = fsub double %29, %40 + %42 = fadd double %38, %41 + %43 = fadd double %39, %28 + %44 = fcmp ogt double %28, %39 + %45 = select i1 %44, double %28, double %39 + %46 = fcmp olt double %28, %39 + %47 = select i1 %46, double %28, double %39 + %48 = fsub double %43, %45 + %49 = fsub double %47, %48 + %50 = fadd double %42, %49 + %51 = fptrunc double %43 to float + %52 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %51) #56 + %53 = fdiv float 1.000000e+00, %52 + %54 = fpext float %53 to double + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %54, double noundef 0.000000e+00) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %55, double noundef -1.000000e+00) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %55, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 3.750000e-01, double noundef %57, double noundef -5.000000e-01) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %57, double noundef 0.000000e+00) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %59, double noundef %54) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef %24, double noundef 0.000000e+00) #56 + br i1 %11, label %62, label %76, !prof !1176 + +62: ; preds = %3 + %63 = select i1 %10, i64 9218868437227405312, i64 0 + %64 = fcmp uno double %8, 0.000000e+00 + %65 = select i1 %64, double %8, double %61 + %66 = bitcast double %65 to i64 + %67 = fcmp ogt double %4, 0x7FEFFFFFFFFFFFFF + %68 = fcmp ogt double %5, 0x7FEFFFFFFFFFFFFF + %69 = fcmp ogt double %6, 0x7FEFFFFFFFFFFFFF + %70 = or i1 %67, %68 + %71 = or i1 %70, %69 + %72 = or i1 %10, %71 + %73 = select i1 %72, i64 0, i64 %66 + %74 = or i64 %73, %63 + %75 = bitcast i64 %74 to double + br label %76 + +76: ; preds = %62, %3 + %77 = phi double [ %75, %62 ], [ %61, %3 ] + ret double %77 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rnorm4d(double noundef %0, double noundef %1, double noundef %2, double noundef %3) local_unnamed_addr #43 !srcloc !1551 { + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = tail call double @llvm.fabs.f64(double %1) + %7 = tail call double @llvm.fabs.f64(double %2) + %8 = tail call double @llvm.fabs.f64(double %3) + %9 = fadd double %5, %6 + %10 = fadd double %9, %7 + %11 = fadd double %10, %8 + %12 = fcmp ugt double %11, 0x7FEFFFFFFFFFFFFF + %13 = fcmp oeq double %11, 0.000000e+00 + %14 = or i1 %12, %13 + %15 = fcmp ogt double %5, %6 + %16 = select i1 %15, double %5, double %6 + %17 = fcmp olt double %5, %6 + %18 = select i1 %17, double %5, double %6 + %19 = fcmp ogt double %7, %8 + %20 = select i1 %19, double %7, double %8 + %21 = fcmp olt double %7, %8 + %22 = select i1 %21, double %7, double %8 + %23 = fcmp ogt double %16, %20 + %24 = select i1 %23, double %16, double %20 + %25 = bitcast double %24 to i64 + %26 = and i64 %25, 9218868437227405312 + %27 = lshr i64 %25, 10 + %28 = and i64 %27, 4503599627370496 + %29 = or i64 %28, 9214364837600034816 + %30 = sub nsw i64 %29, %26 + %31 = bitcast i64 %30 to double + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %31, double noundef 0.000000e+00) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %31, double noundef 0.000000e+00) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %31, double noundef 0.000000e+00) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %22, double noundef %31, double noundef 0.000000e+00) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %35, double noundef 0.000000e+00) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %34, double noundef 0.000000e+00) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %33, double noundef 0.000000e+00) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %32, double noundef 0.000000e+00) #56 + %40 = fneg double %36 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %35, double noundef %40) #56 + %42 = fneg double %37 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %34, double noundef %42) #56 + %44 = fneg double %38 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %33, double noundef %44) #56 + %46 = fneg double %39 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %32, double noundef %46) #56 + %48 = fadd double %41, %43 + %49 = fadd double %48, %45 + %50 = fadd double %49, %47 + %51 = fadd double %36, %37 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef 1.000000e+00, double noundef %42) #56 + %53 = fneg double %52 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef 1.000000e+00, double noundef %53) #56 + %55 = fadd double %50, %54 + %56 = fadd double %38, %39 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %56, double noundef 1.000000e+00, double noundef %46) #56 + %58 = fneg double %57 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef 1.000000e+00, double noundef %58) #56 + %60 = fadd double %55, %59 + %61 = fadd double %56, %51 + %62 = fcmp ogt double %51, %56 + %63 = select i1 %62, double %51, double %56 + %64 = fcmp olt double %51, %56 + %65 = select i1 %64, double %51, double %56 + %66 = fneg double %63 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef 1.000000e+00, double noundef %66) #56 + %68 = fneg double %67 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %65, double noundef 1.000000e+00, double noundef %68) #56 + %70 = fadd double %60, %69 + %71 = fptrunc double %61 to float + %72 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %71) #56 + %73 = fdiv float 1.000000e+00, %72 + %74 = fpext float %73 to double + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %74, double noundef 0.000000e+00) #56 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef %75, double noundef -1.000000e+00) #56 + %77 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %75, double noundef %76) #56 + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 3.750000e-01, double noundef %77, double noundef -5.000000e-01) #56 + %79 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %78, double noundef %77, double noundef 0.000000e+00) #56 + %80 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %79, double noundef %74) #56 + %81 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef %31, double noundef 0.000000e+00) #56 + br i1 %14, label %82, label %98, !prof !1176 + +82: ; preds = %4 + %83 = select i1 %13, i64 9218868437227405312, i64 0 + %84 = fcmp uno double %11, 0.000000e+00 + %85 = select i1 %84, double %11, double %81 + %86 = bitcast double %85 to i64 + %87 = fcmp ogt double %5, 0x7FEFFFFFFFFFFFFF + %88 = fcmp ogt double %6, 0x7FEFFFFFFFFFFFFF + %89 = fcmp ogt double %7, 0x7FEFFFFFFFFFFFFF + %90 = fcmp ogt double %8, 0x7FEFFFFFFFFFFFFF + %91 = or i1 %87, %88 + %92 = or i1 %89, %90 + %93 = or i1 %91, %92 + %94 = or i1 %13, %93 + %95 = select i1 %94, i64 0, i64 %86 + %96 = or i64 %95, %83 + %97 = bitcast i64 %96 to double + br label %98 + +98: ; preds = %82, %4 + %99 = phi double [ %97, %82 ], [ %81, %4 ] + ret double %99 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_round(double noundef %0) local_unnamed_addr #43 !srcloc !1552 { + %2 = bitcast double %0 to i64 + %3 = and i64 %2, -9223372036854775808 + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %4) #56 + %6 = fsub double %4, %5 + %7 = fcmp oeq double %6, 5.000000e-01 + %8 = select i1 %7, double 1.000000e+00, double 0.000000e+00 + %9 = fadd double %5, %8 + %10 = bitcast double %9 to i64 + %11 = or i64 %3, %10 + %12 = bitcast i64 %11 to double + ret double %12 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_scalbn(double noundef %0, i32 noundef %1) local_unnamed_addr #44 !srcloc !1553 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 32 + %5 = trunc i64 %4 to i32 + %6 = lshr i32 %5, 20 + %7 = and i32 %6, 2047 + %8 = tail call i32 @llvm.smin.i32(i32 %1, i32 65536) + %9 = tail call i32 @llvm.smax.i32(i32 %8, i32 -65536) + %10 = add nsw i32 %7, %9 + %11 = add nsw i32 %10, -2047 + %12 = icmp ult i32 %11, -2046 + br i1 %12, label %22, label %13 + +13: ; preds = %2 + %14 = and i64 %3, 4294967295 + %15 = and i32 %5, -2146435073 + %16 = shl nuw nsw i32 %10, 20 + %17 = or i32 %15, %16 + %18 = zext i32 %17 to i64 + %19 = shl nuw i64 %18, 32 + %20 = or i64 %14, %19 + %21 = bitcast i64 %20 to double + switch i32 %7, label %96 [ + i32 2047, label %22 + i32 0, label %22 + ] + +22: ; preds = %13, %13, %2 + %23 = lshr i64 %3, 52 + %24 = trunc i64 %23 to i32 + %25 = and i32 %24, 2047 + %26 = icmp eq i32 %25, 2047 + br i1 %26, label %96, label %27 + +27: ; preds = %22 + %28 = tail call double @llvm.fabs.f64(double %0) + %29 = bitcast double %28 to i64 + %30 = icmp eq i64 %29, 0 + br i1 %30, label %96, label %31 + +31: ; preds = %27 + %32 = icmp eq i32 %25, 0 + br i1 %32, label %33, label %40 + +33: ; preds = %31 + %34 = fmul double %0, 0x4360000000000000 + %35 = bitcast double %34 to i64 + %36 = lshr i64 %35, 52 + %37 = trunc i64 %36 to i32 + %38 = and i32 %37, 2047 + %39 = add nsw i32 %38, -55 + br label %40 + +40: ; preds = %33, %31 + %41 = phi i32 [ %39, %33 ], [ %25, %31 ] + %42 = phi double [ %34, %33 ], [ %0, %31 ] + %43 = add nsw i32 %41, %9 + %44 = icmp sgt i32 %43, 0 + br i1 %44, label %45, label %65 + +45: ; preds = %40 + %46 = icmp ugt i32 %43, 2046 + br i1 %46, label %47, label %53 + +47: ; preds = %45 + %48 = bitcast double %42 to i64 + %49 = lshr i64 %48, 63 + %50 = getelementptr inbounds double, ptr addrspace(1) @_ZN22__imf_impl_scalbn_d_xa12_GLOBAL__N_115_large_value_64E, i64 %49 + %51 = load double, ptr addrspace(1) %50, align 4, !tbaa !760 + %52 = fmul double %51, 0x7E70000000000000 + br label %96 + +53: ; preds = %45 + %54 = bitcast double %42 to i64 + %55 = lshr i64 %54, 32 + %56 = trunc i64 %55 to i32 + %57 = shl nuw nsw i32 %43, 20 + %58 = and i32 %56, -2146435073 + %59 = or i32 %58, %57 + %60 = zext i32 %59 to i64 + %61 = shl nuw i64 %60, 32 + %62 = and i64 %54, 4294967295 + %63 = or i64 %62, %61 + %64 = bitcast i64 %63 to double + br label %96 + +65: ; preds = %40 + %66 = icmp slt i32 %43, -52 + br i1 %66, label %67, label %73 + +67: ; preds = %65 + %68 = bitcast double %42 to i64 + %69 = lshr i64 %68, 63 + %70 = getelementptr inbounds double, ptr addrspace(1) @_ZN22__imf_impl_scalbn_d_xa12_GLOBAL__N_115_small_value_64E, i64 %69 + %71 = load double, ptr addrspace(1) %70, align 4, !tbaa !760 + %72 = fmul double %71, 0x170000000000000 + br label %96 + +73: ; preds = %65 + %74 = bitcast double %42 to i64 + %75 = lshr i64 %74, 32 + %76 = trunc i64 %75 to i32 + %77 = shl nsw i32 %43, 20 + %78 = add i32 %77, 57671680 + %79 = and i32 %78, 2146435072 + %80 = and i32 %76, -2146435073 + %81 = or i32 %80, %79 + %82 = zext i32 %81 to i64 + %83 = shl nuw i64 %82, 32 + %84 = and i64 %74, 4294967295 + %85 = or i64 %84, %83 + %86 = bitcast i64 %85 to double + %87 = fmul double %86, 0x3C80000000000000 + %88 = tail call double @llvm.fabs.f64(double %87) + %89 = bitcast double %88 to i64 + %90 = icmp eq i64 %89, 0 + br i1 %90, label %91, label %96 + +91: ; preds = %73 + %92 = lshr i64 %74, 63 + %93 = getelementptr inbounds double, ptr addrspace(1) @_ZN22__imf_impl_scalbn_d_xa12_GLOBAL__N_115_small_value_64E, i64 %92 + %94 = load double, ptr addrspace(1) %93, align 4, !tbaa !760 + %95 = fmul double %94, 0x170000000000000 + br label %96 + +96: ; preds = %91, %73, %67, %53, %47, %27, %22, %13 + %97 = phi double [ %21, %13 ], [ %72, %67 ], [ %95, %91 ], [ %87, %73 ], [ %0, %22 ], [ %0, %27 ], [ %64, %53 ], [ %52, %47 ] + ret double %97 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_signbit(double noundef %0) local_unnamed_addr #44 !srcloc !1554 { + %2 = bitcast double %0 to i64 + %3 = lshr i64 %2, 63 + %4 = trunc i64 %3 to i32 + ret i32 %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_imf_sincos(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #43 !srcloc !1555 { + %4 = alloca i32, align 4 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + %7 = alloca i32, align 4 + %8 = alloca i32, align 4 + %9 = alloca i32, align 4 + %10 = alloca i32, align 4 + %11 = bitcast double %0 to i64 + %12 = tail call double @llvm.fabs.f64(double %0) + %13 = bitcast double %12 to i64 + %14 = lshr i64 %13, 32 + %15 = trunc i64 %14 to i32 + %16 = icmp ugt i32 %15, 1093664767 + br i1 %16, label %58, label %17 + +17: ; preds = %3 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef 0x3FD45F306DC9C883, double noundef 0x4328000000000000) #56 + %19 = bitcast double %18 to i64 + %20 = fadd double %18, 0xC328000000000000 + %21 = fneg double %20 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef 0x400921FB54442D18, double noundef %12) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef 0x3CA1A62633000000, double noundef %22) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %21, double noundef 0x3AA45C06E0E68948, double noundef %23) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef %24, double noundef 0.000000e+00) #56 + br label %26 + +26: ; preds = %226, %17 + %27 = phi double [ %248, %226 ], [ %25, %17 ] + %28 = phi double [ %247, %226 ], [ %24, %17 ] + %29 = phi i64 [ %249, %226 ], [ %19, %17 ] + %30 = and i64 %29, 1 + %31 = shl i64 %29, 63 + %32 = shl i64 %29, 62 + %33 = and i64 %32, -9223372036854775808 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef 0xBDA8F9F637C8424C, double noundef 0x3E21EE9CCB7C6DBF) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef 0x3DE5D877CBBE8DAA, double noundef 0xBE5AE5E382F0F31C) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %34, double noundef 0xBE927E4F7D8E4BF3) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %35, double noundef 0x3EC71DE35310C44B) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %36, double noundef 0x3EFA01A019C687A9) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %37, double noundef 0xBF2A01A019BA9D47) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %38, double noundef 0xBF56C16C16C14E4A) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %39, double noundef 0x3F8111111110F3E0) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %40, double noundef 0x3FA555555555554B) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %41, double noundef 0xBFC5555555555543) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %42, double noundef -5.000000e-01) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %43, double noundef 0.000000e+00) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %27, double noundef %44, double noundef 1.000000e+00) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %28, double noundef %45, double noundef %28) #56 + %48 = icmp eq i64 %30, 0 + %49 = select i1 %48, double %47, double %46 + %50 = bitcast double %49 to i64 + %51 = select i1 %48, double %46, double %47 + %52 = bitcast double %51 to i64 + %53 = xor i64 %11, %50 + %54 = xor i64 %53, %13 + %55 = xor i64 %54, %33 + %56 = xor i64 %31, %52 + %57 = xor i64 %56, %33 + store i64 %57, ptr addrspace(4) %2, align 8, !tbaa !760 + store i64 %55, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %250 + +58: ; preds = %3 + %59 = icmp ugt i32 %15, 2146435071 + br i1 %59, label %60, label %65 + +60: ; preds = %58 + %61 = icmp eq i64 %13, 9218868437227405312 + br i1 %61, label %62, label %63 + +62: ; preds = %60 + store double 0xFFF8000000000000, ptr addrspace(4) %2, align 8, !tbaa !760 + store double 0xFFF8000000000000, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %250 + +63: ; preds = %60 + %64 = fadd double %0, %0 + store double %64, ptr addrspace(4) %2, align 8, !tbaa !760 + store double %64, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %250 + +65: ; preds = %58 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) + %66 = lshr i32 %15, 20 + %67 = trunc i64 %13 to i32 + %68 = and i32 %15, 1048575 + %69 = or i32 %68, 1048576 + %70 = add nsw i32 %66, -1011 + %71 = lshr i32 %70, 5 + %72 = zext nneg i32 %71 to i64 + %73 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %72 + %74 = load i32, ptr addrspace(1) %73, align 4, !tbaa !717 + %75 = addrspacecast ptr %4 to ptr addrspace(4) + store volatile i32 %74, ptr addrspace(4) %75, align 4, !tbaa !717 + %76 = add nuw nsw i32 %71, 1 + %77 = zext nneg i32 %76 to i64 + %78 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %77 + %79 = load i32, ptr addrspace(1) %78, align 4, !tbaa !717 + %80 = addrspacecast ptr %5 to ptr addrspace(4) + store volatile i32 %79, ptr addrspace(4) %80, align 4, !tbaa !717 + %81 = add nuw nsw i32 %71, 2 + %82 = zext nneg i32 %81 to i64 + %83 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %82 + %84 = load i32, ptr addrspace(1) %83, align 4, !tbaa !717 + %85 = addrspacecast ptr %6 to ptr addrspace(4) + store volatile i32 %84, ptr addrspace(4) %85, align 4, !tbaa !717 + %86 = add nuw nsw i32 %71, 3 + %87 = zext nneg i32 %86 to i64 + %88 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %87 + %89 = load i32, ptr addrspace(1) %88, align 4, !tbaa !717 + %90 = addrspacecast ptr %7 to ptr addrspace(4) + store volatile i32 %89, ptr addrspace(4) %90, align 4, !tbaa !717 + %91 = add nuw nsw i32 %71, 4 + %92 = zext nneg i32 %91 to i64 + %93 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %92 + %94 = load i32, ptr addrspace(1) %93, align 4, !tbaa !717 + %95 = addrspacecast ptr %8 to ptr addrspace(4) + store volatile i32 %94, ptr addrspace(4) %95, align 4, !tbaa !717 + %96 = add nuw nsw i32 %71, 5 + %97 = zext nneg i32 %96 to i64 + %98 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %97 + %99 = load i32, ptr addrspace(1) %98, align 4, !tbaa !717 + %100 = addrspacecast ptr %9 to ptr addrspace(4) + store volatile i32 %99, ptr addrspace(4) %100, align 4, !tbaa !717 + %101 = add nuw nsw i32 %71, 6 + %102 = zext nneg i32 %101 to i64 + %103 = getelementptr inbounds [44 x i32], ptr addrspace(1) @_ZN22__imf_impl_sincos_d_la12_GLOBAL__N_122__dsincos_la_InvPi_tblE, i64 0, i64 %102 + %104 = load i32, ptr addrspace(1) %103, align 4, !tbaa !717 + %105 = addrspacecast ptr %10 to ptr addrspace(4) + store volatile i32 %104, ptr addrspace(4) %105, align 4, !tbaa !717 + %106 = and i32 %70, 31 + %107 = icmp eq i32 %106, 0 + br i1 %107, label %140, label %108 + +108: ; preds = %65 + %109 = sub nuw nsw i32 32, %106 + %110 = load volatile i32, ptr addrspace(4) %75, align 4, !tbaa !717 + %111 = shl i32 %110, %106 + %112 = load volatile i32, ptr addrspace(4) %80, align 4, !tbaa !717 + %113 = lshr i32 %112, %109 + %114 = or i32 %111, %113 + store volatile i32 %114, ptr addrspace(4) %75, align 4, !tbaa !717 + %115 = load volatile i32, ptr addrspace(4) %80, align 4, !tbaa !717 + %116 = shl i32 %115, %106 + %117 = load volatile i32, ptr addrspace(4) %85, align 4, !tbaa !717 + %118 = lshr i32 %117, %109 + %119 = or i32 %116, %118 + store volatile i32 %119, ptr addrspace(4) %80, align 4, !tbaa !717 + %120 = load volatile i32, ptr addrspace(4) %85, align 4, !tbaa !717 + %121 = shl i32 %120, %106 + %122 = load volatile i32, ptr addrspace(4) %90, align 4, !tbaa !717 + %123 = lshr i32 %122, %109 + %124 = or i32 %121, %123 + store volatile i32 %124, ptr addrspace(4) %85, align 4, !tbaa !717 + %125 = load volatile i32, ptr addrspace(4) %90, align 4, !tbaa !717 + %126 = shl i32 %125, %106 + %127 = load volatile i32, ptr addrspace(4) %95, align 4, !tbaa !717 + %128 = lshr i32 %127, %109 + %129 = or i32 %126, %128 + store volatile i32 %129, ptr addrspace(4) %90, align 4, !tbaa !717 + %130 = load volatile i32, ptr addrspace(4) %95, align 4, !tbaa !717 + %131 = shl i32 %130, %106 + %132 = load volatile i32, ptr addrspace(4) %100, align 4, !tbaa !717 + %133 = lshr i32 %132, %109 + %134 = or i32 %131, %133 + store volatile i32 %134, ptr addrspace(4) %95, align 4, !tbaa !717 + %135 = load volatile i32, ptr addrspace(4) %100, align 4, !tbaa !717 + %136 = shl i32 %135, %106 + %137 = load volatile i32, ptr addrspace(4) %105, align 4, !tbaa !717 + %138 = lshr i32 %137, %109 + %139 = or i32 %136, %138 + store volatile i32 %139, ptr addrspace(4) %100, align 4, !tbaa !717 + br label %140 + +140: ; preds = %108, %65 + %141 = load volatile i32, ptr addrspace(4) %90, align 4, !tbaa !717 + %142 = zext i32 %141 to i64 + %143 = and i64 %13, 4294967295 + %144 = mul nuw i64 %143, %142 + %145 = load volatile i32, ptr addrspace(4) %95, align 4, !tbaa !717 + %146 = zext i32 %145 to i64 + %147 = zext nneg i32 %69 to i64 + %148 = mul nuw nsw i64 %146, %147 + %149 = load volatile i32, ptr addrspace(4) %95, align 4, !tbaa !717 + %150 = zext i32 %149 to i64 + %151 = mul nuw i64 %143, %150 + %152 = load volatile i32, ptr addrspace(4) %100, align 4, !tbaa !717 + %153 = zext i32 %152 to i64 + %154 = mul nuw nsw i64 %153, %147 + %155 = add i64 %151, %154 + %156 = icmp ult i64 %155, %154 + %157 = add nuw i64 %144, 4294967296 + %158 = select i1 %156, i64 %157, i64 %144 + %159 = load volatile i32, ptr addrspace(4) %85, align 4, !tbaa !717 + %160 = zext i32 %159 to i64 + %161 = mul nuw i64 %143, %160 + %162 = load volatile i32, ptr addrspace(4) %80, align 4, !tbaa !717 + %163 = zext i32 %162 to i64 + %164 = mul nuw i64 %143, %163 + %165 = load volatile i32, ptr addrspace(4) %75, align 4, !tbaa !717 + %166 = mul i32 %165, %67 + %167 = zext i32 %166 to i64 + %168 = shl nuw i64 %167, 32 + %169 = add i64 %164, %168 + %170 = add i64 %158, %148 + %171 = icmp ult i64 %170, %148 + %172 = zext i1 %171 to i64 + %173 = add i64 %169, %172 + %174 = lshr i64 %155, 32 + %175 = shl i64 %155, 34 + %176 = add i64 %170, %174 + %177 = icmp ult i64 %176, %174 + %178 = zext i1 %177 to i64 + %179 = add i64 %173, %178 + %180 = load volatile i32, ptr addrspace(4) %90, align 4, !tbaa !717 + %181 = zext i32 %180 to i64 + %182 = mul nuw nsw i64 %181, %147 + %183 = load volatile i32, ptr addrspace(4) %85, align 4, !tbaa !717 + %184 = zext i32 %183 to i64 + %185 = mul nuw nsw i64 %184, %147 + %186 = add i64 %179, %185 + %187 = load volatile i32, ptr addrspace(4) %80, align 4, !tbaa !717 + %188 = mul i32 %187, %69 + %189 = zext i32 %188 to i64 + %190 = shl nuw i64 %189, 32 + %191 = add i64 %186, %190 + %192 = add i64 %161, %182 + %193 = icmp ult i64 %192, %182 + %194 = add i64 %191, 4294967296 + %195 = select i1 %193, i64 %194, i64 %191 + %196 = lshr i64 %192, 32 + %197 = add i64 %195, %196 + %198 = shl i64 %192, 32 + %199 = add i64 %176, %198 + %200 = icmp ult i64 %199, %198 + %201 = zext i1 %200 to i64 + %202 = add i64 %197, %201 + %203 = shl i64 %199, 2 + %204 = lshr i64 %155, 30 + %205 = and i64 %204, 3 + %206 = or i64 %203, %205 + %207 = tail call i64 @llvm.fshl.i64(i64 %202, i64 %199, i64 2) + %208 = lshr i64 %202, 62 + %209 = ashr i64 %207, 63 + %210 = sub nsw i64 %208, %209 + %211 = xor i64 %207, %209 + %212 = xor i64 %206, %209 + %213 = xor i64 %175, %209 + %214 = and i64 %209, -9223372036854775808 + br label %215 + +215: ; preds = %221, %140 + %216 = phi i64 [ %213, %140 ], [ %225, %221 ] + %217 = phi i64 [ %212, %140 ], [ %224, %221 ] + %218 = phi i32 [ -66, %140 ], [ %222, %221 ] + %219 = phi i64 [ %211, %140 ], [ %223, %221 ] + %220 = icmp sgt i64 %219, 0 + br i1 %220, label %221, label %226 + +221: ; preds = %215 + %222 = add nsw i32 %218, -1 + %223 = tail call i64 @llvm.fshl.i64(i64 %219, i64 %217, i64 1) + %224 = tail call i64 @llvm.fshl.i64(i64 %217, i64 %216, i64 1) + %225 = shl i64 %216, 1 + br label %215, !llvm.loop !1556 + +226: ; preds = %215 + %227 = lshr i64 %219, 32 + %228 = mul nuw i64 %227, 3373259426 + %229 = mul nuw nsw i64 %227, 560513589 + %230 = and i64 %219, 4294967295 + %231 = mul nuw i64 %230, 3373259426 + %232 = add nuw i64 %229, %231 + %233 = lshr i64 %232, 32 + %234 = add nuw i64 %228, %233 + %235 = icmp slt i64 %234, 0 + %236 = select i1 %235, i32 4, i32 3 + %237 = add nsw i32 %218, %236 + %238 = lshr i64 %234, 63 + %239 = lshr i64 %234, %238 + %240 = add nuw i64 %239, 512 + %241 = add nsw i32 %237, 1084 + %242 = zext i32 %241 to i64 + %243 = shl i64 %242, 52 + %244 = lshr i64 %240, 10 + %245 = add i64 %243, %244 + %246 = xor i64 %214, %245 + %247 = bitcast i64 %246 to double + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) + %248 = fmul double %247, %247 + %249 = and i64 %210, 4294967295 + br label %26 + +250: ; preds = %63, %62, %26 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__devicelib_imf_sincospi(double noundef %0, ptr addrspace(4) noundef %1, ptr addrspace(4) noundef %2) local_unnamed_addr #43 !srcloc !1557 { + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = fadd double %5, 0x4330000000000000 + %8 = fadd double %7, 0xC330000000000000 + %9 = fcmp olt double %5, 0x4330000000000000 + %10 = sext i1 %9 to i64 + %11 = select i1 %9, i64 0, i64 %6 + %12 = bitcast double %7 to i64 + %13 = and i64 %10, %12 + %14 = or i64 %11, %13 + %15 = bitcast double %8 to i64 + %16 = and i64 %10, %15 + %17 = or i64 %11, %16 + %18 = fcmp olt double %5, 0x4340000000000000 + %19 = shl i64 %14, 63 + %20 = and i64 %4, -9223372036854775808 + %21 = xor i64 %17, %20 + %22 = bitcast i64 %21 to double + %23 = fsub double %0, %22 + %24 = bitcast double %23 to i64 + %25 = tail call double @llvm.fabs.f64(double %23) + %26 = fsub double 5.000000e-01, %25 + %27 = fmul double %23, %23 + %28 = fmul double %26, %26 + %29 = select i1 %18, i64 %19, i64 0 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EA9D46B06CE620E, double noundef %27, double noundef 0xBEF6F7AD23B5CD51) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EA9D46B06CE620E, double noundef %28, double noundef 0xBEF6F7AD23B5CD51) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %27, double noundef 0x3F3E8F3677C334D3) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef %28, double noundef 0x3F3E8F3677C334D3) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %27, double noundef 0xBF7E3074DFB5BB14) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %28, double noundef 0xBF7E3074DFB5BB14) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %27, double noundef 0x3FB50783485523F4) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %28, double noundef 0x3FB50783485523F4) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %27, double noundef 0xBFE32D2CCE627C9E) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %28, double noundef 0xBFE32D2CCE627C9E) #56 + %40 = fcmp une double %23, 0.000000e+00 + %41 = fcmp une double %26, 0.000000e+00 + %42 = select i1 %40, i64 %29, i64 %20 + %43 = select i1 %41, i64 %29, i64 0 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %27, double noundef 0x400466BC6775AA7D) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %28, double noundef 0x400466BC6775AA7D) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %27, double noundef 0xC014ABBCE625BE52) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %28, double noundef 0xC014ABBCE625BE52) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %27, double noundef 0x400921FB54442D18) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %28, double noundef 0x400921FB54442D18) #56 + %50 = xor i64 %42, %24 + %51 = bitcast i64 %50 to double + %52 = bitcast double %26 to i64 + %53 = xor i64 %43, %52 + %54 = bitcast i64 %53 to double + %55 = fmul double %48, %51 + %56 = fmul double %49, %54 + store double %55, ptr addrspace(4) %1, align 8, !tbaa !760 + store double %56, ptr addrspace(4) %2, align 8, !tbaa !760 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_sinh(double noundef %0) local_unnamed_addr #43 !srcloc !1558 { + %2 = alloca double, align 8 + %3 = bitcast double %0 to i64 + %4 = and i64 %3, -9223372036854775808 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = bitcast double %5 to i64 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %5, double noundef 0x3FF71547652B82FE, double noundef 0x42C8000000000000) #56 + %8 = lshr i64 %6, 32 + %9 = trunc i64 %8 to i32 + %10 = icmp sgt i32 %9, 1082531225 + %11 = bitcast double %7 to i64 + %12 = fadd double %7, 0xC2C8000000000000 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFE62E42FEFA0000, double noundef %12, double noundef %5) #56 + %14 = shl i64 %11, 1 + %15 = and i64 %14, 254 + %16 = or i64 %15, 1 + %17 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_135__devicelib_imf_internal_dsinh_dataE, i64 648), i64 %16 + %18 = load i64, ptr addrspace(1) %17, align 8, !tbaa !719 + %19 = getelementptr inbounds i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_135__devicelib_imf_internal_dsinh_dataE, i64 648), i64 %15 + %20 = load i64, ptr addrspace(1) %19, align 8, !tbaa !719 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBD7CF79ABC9E3B3A, double noundef %12, double noundef %13) #56 + %22 = fmul double %21, %21 + %23 = shl i64 %11, 45 + %24 = and i64 %23, -4503599627370496 + %25 = add i64 %20, %24 + %26 = bitcast i64 %25 to double + %27 = add i64 %18, %24 + %28 = bitcast i64 %27 to double + %29 = sub i64 %18, %24 + %30 = bitcast i64 %29 to double + %31 = fadd double %28, %30 + %32 = fsub double %28, %30 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3F8111115712F425, double noundef %22, double noundef 0x3FC55555555554AD) #56 + %34 = fmul double %33, %22 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %21, double noundef %21) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FA55555CF16D299, double noundef %22, double noundef 0x3FDFFFFFFFFFFDBD) #56 + %37 = fmul double %36, %22 + %38 = fadd double %32, %26 + %39 = fmul double %37, %38 + %40 = fadd double %31, %26 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %40, double noundef %39) #56 + %42 = fadd double %41, %38 + %43 = bitcast double %42 to i64 + %44 = or i64 %4, %43 + %45 = bitcast i64 %44 to double + br i1 %10, label %46, label %49, !prof !1176 + +46: ; preds = %1 + %47 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store i64 %44, ptr %2, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_130__devicelib_imf_internal_dsinhEPKdPd(double %0, ptr addrspace(4) noundef %47) #55 + %48 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %49 + +49: ; preds = %46, %1 + %50 = phi double [ %48, %46 ], [ %45, %1 ] + ret double %50 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_130__devicelib_imf_internal_dsinhEPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #35 !srcloc !1559 !sycl_kernel_omit_args !1186 { + %3 = bitcast double %0 to i64 + %4 = lshr i64 %3, 52 + %5 = trunc i64 %4 to i32 + %6 = and i32 %5, 2047 + switch i32 %6, label %7 [ + i32 2047, label %188 + i32 0, label %185 + ] + +7: ; preds = %2 + %8 = tail call double @llvm.fabs.f64(double %0) + %9 = icmp ugt i32 %6, 969 + br i1 %9, label %10, label %184 + +10: ; preds = %7 + %11 = fcmp olt double %8, 0x408633CE8FB9F87E + br i1 %11, label %12, label %182 + +12: ; preds = %10 + %13 = fcmp olt double %8, 0x40357CD0E7026820 + br i1 %13, label %14, label %136 + +14: ; preds = %12 + %15 = fcmp ult double %8, 0x3F9BDB8CDADBE120 + br i1 %15, label %124, label %16 + +16: ; preds = %14 + %17 = fmul double %8, 0x40571547652B82FE + %18 = fadd double %17, 0x4338000000000000 + %19 = fadd double %18, 0xC338000000000000 + %20 = fneg double %19 + %21 = tail call double @llvm.fmuladd.f64(double %20, double 0x3F862E42FEFA0000, double %8) + %22 = fmul double %19, 0xBD1CF79ABC9E3B3A + %23 = fadd double %21, %22 + %24 = fsub double %21, %23 + %25 = fadd double %23, %24 + %26 = fadd double %22, %24 + %27 = fsub double %21, %25 + %28 = fadd double %26, %27 + %29 = fmul double %23, 0x41A0000002000000 + %30 = fsub double %29, %23 + %31 = fsub double %29, %30 + %32 = fsub double %23, %31 + %33 = fmul double %23, %23 + %34 = tail call double @llvm.fmuladd.f64(double %33, double 0x3F8111123AAF20D3, double 0x3FC55555555548F8) + %35 = fmul double %34, %33 + %36 = fmul double %35, %23 + %37 = tail call double @llvm.fmuladd.f64(double %33, double 0x3F56C16A1C2A3FFD, double 0x3FA5555555558FCC) + %38 = tail call double @llvm.fmuladd.f64(double %37, double %33, double 5.000000e-01) + %39 = fmul double %38, %33 + %40 = bitcast double %18 to i64 + %41 = trunc i64 %40 to i32 + %42 = shl i32 %41, 14 + %43 = and i32 %42, 2146435072 + %44 = add i32 %42, 1071644672 + %45 = and i32 %44, 2146435072 + %46 = zext nneg i32 %45 to i64 + %47 = shl nuw nsw i64 %46, 32 + %48 = bitcast i64 %47 to double + %49 = shl i32 %41, 1 + %50 = and i32 %49, 126 + %51 = zext nneg i32 %50 to i64 + %52 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %51 + %53 = load double, ptr addrspace(1) %52, align 8, !tbaa !760 + %54 = fmul double %53, %48 + %55 = or i32 %50, 1 + %56 = zext nneg i32 %55 to i64 + %57 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %56 + %58 = load double, ptr addrspace(1) %57, align 8, !tbaa !760 + %59 = fmul double %58, %48 + %60 = sub nsw i32 1070596096, %43 + %61 = and i32 %60, 2146435072 + %62 = zext nneg i32 %61 to i64 + %63 = shl nuw nsw i64 %62, 32 + %64 = bitcast i64 %63 to double + %65 = sub nuw nsw i32 128, %50 + %66 = zext nneg i32 %65 to i64 + %67 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %66 + %68 = load double, ptr addrspace(1) %67, align 8, !tbaa !760 + %69 = fmul double %68, %64 + %70 = sub nuw nsw i32 129, %50 + %71 = zext nneg i32 %70 to i64 + %72 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %71 + %73 = load double, ptr addrspace(1) %72, align 8, !tbaa !760 + %74 = fmul double %73, %64 + %75 = fsub double %54, %69 + %76 = fsub double %54, %75 + %77 = fsub double %76, %69 + %78 = fsub double %77, %74 + %79 = fadd double %78, %59 + %80 = fadd double %75, %79 + %81 = fsub double %75, %80 + %82 = fadd double %81, %79 + %83 = fadd double %54, %69 + %84 = fsub double %54, %83 + %85 = fadd double %84, %69 + %86 = fadd double %59, %74 + %87 = fadd double %85, %86 + %88 = fadd double %83, %87 + %89 = fsub double %83, %88 + %90 = fadd double %89, %87 + %91 = fmul double %88, 0x41A0000002000000 + %92 = fsub double %91, %88 + %93 = fsub double %91, %92 + %94 = fsub double %88, %93 + %95 = fmul double %28, %90 + %96 = tail call double @llvm.fmuladd.f64(double %36, double %90, double %95) + %97 = tail call double @llvm.fmuladd.f64(double %39, double %82, double %96) + %98 = tail call double @llvm.fmuladd.f64(double %23, double %90, double %97) + %99 = tail call double @llvm.fmuladd.f64(double %28, double %88, double %98) + %100 = fadd double %99, %82 + %101 = fmul double %36, %88 + %102 = fmul double %39, %80 + %103 = fadd double %101, %102 + %104 = fsub double %101, %103 + %105 = fadd double %104, %102 + %106 = fadd double %100, %105 + %107 = tail call double @llvm.fmuladd.f64(double %32, double %94, double %106) + %108 = tail call double @llvm.fmuladd.f64(double %31, double %94, double %107) + %109 = tail call double @llvm.fmuladd.f64(double %32, double %93, double %108) + %110 = fmul double %31, %93 + %111 = fadd double %110, %103 + %112 = fsub double %110, %111 + %113 = fadd double %112, %103 + %114 = fadd double %109, %113 + %115 = fadd double %80, %111 + %116 = fsub double %80, %115 + %117 = fadd double %116, %111 + %118 = fadd double %114, %117 + %119 = fadd double %115, %118 + %120 = and i64 %3, -9223372036854775808 + %121 = tail call double @llvm.fabs.f64(double %119) + %122 = bitcast double %121 to i64 + %123 = or i64 %120, %122 + store i64 %123, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +124: ; preds = %14 + %125 = fmul double %0, %0 + %126 = tail call double @llvm.fmuladd.f64(double %125, double 0x3EC71DE3A556C734, double 0x3F2A01A01A01A01A) + %127 = tail call double @llvm.fmuladd.f64(double %125, double %126, double 0x3F81111111111111) + %128 = tail call double @llvm.fmuladd.f64(double %125, double %127, double 0x3FC5555555555555) + %129 = fmul double %125, %128 + %130 = fmul double %8, %129 + %131 = fadd double %130, %8 + %132 = and i64 %3, -9223372036854775808 + %133 = tail call double @llvm.fabs.f64(double %131) + %134 = bitcast double %133 to i64 + %135 = or i64 %132, %134 + store i64 %135, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +136: ; preds = %12 + %137 = fmul double %8, 0x40571547652B82FE + %138 = fadd double %137, 0x4338000000000000 + %139 = fadd double %138, 0xC338000000000000 + %140 = fneg double %139 + %141 = tail call double @llvm.fmuladd.f64(double %140, double 0x3F862E42FEFA0000, double %8) + %142 = tail call double @llvm.fmuladd.f64(double %140, double 0x3D1CF79ABC9E3B3A, double %141) + %143 = tail call double @llvm.fmuladd.f64(double %142, double 0x3F56C16A1C2A3FFD, double 0x3F8111123AAF20D3) + %144 = tail call double @llvm.fmuladd.f64(double %143, double %142, double 0x3FA5555555558FCC) + %145 = tail call double @llvm.fmuladd.f64(double %144, double %142, double 0x3FC55555555548F8) + %146 = tail call double @llvm.fmuladd.f64(double %145, double %142, double 5.000000e-01) + %147 = fmul double %146, %142 + %148 = tail call double @llvm.fmuladd.f64(double %147, double %142, double %142) + %149 = bitcast double %138 to i64 + %150 = trunc i64 %149 to i32 + %151 = lshr i32 %150, 6 + %152 = shl i32 %150, 1 + %153 = and i32 %152, 126 + %154 = zext nneg i32 %153 to i64 + %155 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %154 + %156 = load double, ptr addrspace(1) %155, align 8, !tbaa !760 + %157 = fmul double %148, %156 + %158 = or i32 %153, 1 + %159 = zext nneg i32 %158 to i64 + %160 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_sinh_d_la12_GLOBAL__N_118__dsinh_la_CoutTabE, i64 %159 + %161 = load double, ptr addrspace(1) %160, align 8, !tbaa !760 + %162 = fadd double %157, %161 + %163 = fadd double %162, %156 + %164 = add nuw nsw i32 %151, 1022 + %165 = and i32 %164, 2047 + %166 = icmp eq i32 %165, 2047 + br i1 %166, label %173, label %167 + +167: ; preds = %136 + %168 = shl nuw nsw i32 %165, 20 + %169 = zext nneg i32 %168 to i64 + %170 = shl nuw nsw i64 %169, 32 + %171 = bitcast i64 %170 to double + %172 = fmul double %163, %171 + br label %176 + +173: ; preds = %136 + %174 = fmul double %163, 0x7FE0000000000000 + %175 = fmul double %174, 2.000000e+00 + br label %176 + +176: ; preds = %173, %167 + %177 = phi double [ %172, %167 ], [ %175, %173 ] + %178 = and i64 %3, -9223372036854775808 + %179 = tail call double @llvm.fabs.f64(double %177) + %180 = bitcast double %179 to i64 + %181 = or i64 %178, %180 + store i64 %181, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +182: ; preds = %10 + %183 = fmul double %0, 0x7FEFFFFFFFFFFFFF + store double %183, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +184: ; preds = %7 + store double %0, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +185: ; preds = %2 + %186 = fmul double %0, 0x10000000000001 + %187 = fadd double %186, %0 + store double %187, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +188: ; preds = %2 + %189 = fadd double %0, %0 + store double %189, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %190 + +190: ; preds = %188, %185, %184, %182, %176, %124, %16 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_sinpi(double noundef %0) local_unnamed_addr #43 !srcloc !1560 { + %2 = bitcast double %0 to i64 + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %4 = bitcast double %3 to i64 + %5 = xor i64 %2, %4 + %6 = fadd double %3, 0x4330000000000000 + %7 = fadd double %6, 0xC330000000000000 + %8 = fcmp olt double %3, 0x4330000000000000 + %9 = select i1 %8, double %7, double %3 + %10 = fsub double %3, %9 + %11 = fmul double %10, %10 + %12 = fneg double %11 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %10, double noundef %12) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef 0x4EA9D46B06CE620E, double noundef 0xCEF6F7AD23B5CD51) #56 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %11, double noundef 0x4F3E8F3677C334D3) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %11, double noundef 0xCF7E3074DFB5BB14) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %11, double noundef 0x4FB50783485523F4) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %11, double noundef 0xCFE32D2CCE627C9E) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %11, double noundef 0x500466BC6775AA7D) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %11, double noundef 0xCCA15D7C17744D75) #56 + %21 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xD014ABBCE625BE52, double noundef %11, double noundef 0x500921FB54442D18) #56 + %22 = fadd double %21, 0xD00921FB54442D18 + %23 = fneg double %22 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef 0xD014ABBCE625BE52, double noundef %23) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %20, double noundef %24) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef 0xD014ABBCE625BE52, double noundef 0x4C918E38E04F47B9) #56 + %27 = fadd double %26, %25 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef %11, double noundef %27) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %21, double noundef 0.000000e+00) #56 + %30 = fneg double %29 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %21, double noundef %30) #56 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %28, double noundef %31) #56 + %33 = fadd double %29, %32 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef 0x2FF0000000000000, double noundef 0.000000e+00) #56 + %35 = bitcast double %34 to i64 + %36 = icmp eq i64 %35, 0 + br i1 %36, label %45, label %37 + +37: ; preds = %1 + %38 = fcmp olt double %3, 0x4340000000000000 + %39 = select i1 %8, double %6, double %3 + %40 = select i1 %38, double %39, double 0.000000e+00 + %41 = bitcast double %40 to i64 + %42 = shl i64 %41, 63 + %43 = xor i64 %5, %42 + %44 = xor i64 %43, %35 + br label %45 + +45: ; preds = %37, %1 + %46 = phi i64 [ %44, %37 ], [ %5, %1 ] + %47 = bitcast i64 %46 to double + ret double %47 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_tan(double noundef %0) local_unnamed_addr #43 !srcloc !1561 { + %2 = bitcast double %0 to i64 + %3 = tail call double @llvm.fabs.f64(double %0) + %4 = fcmp ugt double %3, 0x40F000000E4DB24C + %5 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef 0x40145F306DC9C883, double noundef 0x4338000000000000) #56 + %6 = fadd double %5, 0xC338000000000000 + %7 = fneg double %6 + %8 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0x3FC921FB54442D18, double noundef %0) #56 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0x3C61A62633000000, double noundef %8) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0x3A645C06E0E68948, double noundef %9) #56 + %11 = fsub double %8, %9 + %12 = fsub double %10, %9 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %7, double noundef 0x3C61A62633000000, double noundef %11) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x3A645C06E0E68948, double noundef %12) #56 + %15 = fsub double %13, %14 + br i1 %4, label %16, label %139, !prof !1176 + +16: ; preds = %1 + %17 = bitcast double %3 to i64 + %18 = and i64 %17, 9218868437227405312 + %19 = bitcast i64 %18 to double + %20 = fcmp une double %19, 0x7FF0000000000000 + %21 = lshr i64 %2, 52 + %22 = and i64 %21, 2047 + %23 = mul nuw nsw i64 %22, 3 + %24 = getelementptr inbounds i64, ptr addrspace(1) @_ZN19__imf_impl_tan_d_ha12_GLOBAL__N_144__devicelib_imf_internal_dtan_reduction_dataE, i64 %23 + %25 = load i64, ptr addrspace(1) %24, align 8, !tbaa !719 + %26 = getelementptr i64, ptr addrspace(1) %24, i64 1 + %27 = load i64, ptr addrspace(1) %26, align 8, !tbaa !719 + %28 = getelementptr i64, ptr addrspace(1) %24, i64 2 + %29 = load i64, ptr addrspace(1) %28, align 8, !tbaa !719 + %30 = lshr i64 %25, 32 + %31 = and i64 %25, 4294967295 + %32 = lshr i64 %27, 32 + %33 = and i64 %27, 4294967295 + %34 = lshr i64 %29, 32 + %35 = and i64 %29, 4294967295 + %36 = lshr i64 %2, 32 + %37 = and i64 %36, 1048575 + %38 = or i64 %37, 1048576 + %39 = and i64 %2, 4294967295 + %40 = mul i64 %38, %25 + %41 = mul nuw nsw i64 %38, %32 + %42 = mul nuw nsw i64 %38, %33 + %43 = mul nuw nsw i64 %38, %34 + %44 = mul nuw nsw i64 %38, %35 + %45 = mul i64 %30, %2 + %46 = mul nuw i64 %39, %31 + %47 = mul nuw i64 %39, %32 + %48 = mul nuw i64 %39, %33 + %49 = mul nuw i64 %39, %34 + %50 = lshr i64 %49, 32 + %51 = lshr i64 %48, 32 + %52 = lshr i64 %47, 32 + %53 = lshr i64 %46, 32 + %54 = add nuw nsw i64 %43, %50 + %55 = add nuw nsw i64 %42, %51 + %56 = add nuw nsw i64 %41, %52 + %57 = add i64 %40, %53 + %58 = and i64 %48, 4294967295 + %59 = and i64 %47, 4294967295 + %60 = and i64 %46, 4294967295 + %61 = add nuw nsw i64 %58, %54 + %62 = add nuw nsw i64 %59, %55 + %63 = add nuw nsw i64 %60, %56 + %64 = add i64 %45, %57 + %65 = lshr i64 %44, 32 + %66 = add nuw nsw i64 %65, %61 + %67 = lshr i64 %66, 32 + %68 = add nuw nsw i64 %67, %62 + %69 = lshr i64 %68, 32 + %70 = add nuw nsw i64 %69, %63 + %71 = and i64 %66, 4278190080 + %72 = shl i64 %64, 32 + %73 = add i64 %70, %72 + %74 = shl i64 %68, 32 + %75 = or i64 %74, %71 + %76 = and i64 %2, -9223372036854775808 + %77 = or i64 %76, 4607182418800017408 + %78 = lshr i64 %73, 12 + %79 = or i64 %78, %77 + %80 = bitcast i64 %79 to double + %81 = fadd double %80, 0x42A8000000000000 + %82 = fadd double %81, 0xC2A8000000000000 + %83 = fsub double %80, %82 + %84 = bitcast double %81 to i64 + %85 = or i64 %76, 4138808057553485824 + %86 = shl i64 %66, 28 + %87 = and i64 %86, 4503599358935040 + %88 = or i64 %87, %85 + %89 = bitcast i64 %88 to double + %90 = bitcast i64 %85 to double + %91 = fsub double %89, %90 + %92 = or i64 %76, 4372995238176751616 + %93 = shl i64 %70, 40 + %94 = and i64 %93, 4502500115742720 + %95 = lshr exact i64 %75, 24 + %96 = or i64 %94, %95 + %97 = or i64 %96, %92 + %98 = bitcast i64 %97 to double + %99 = bitcast i64 %92 to double + %100 = fsub double %98, %99 + %101 = fadd double %83, %100 + %102 = fsub double %83, %101 + %103 = fadd double %100, %102 + %104 = fadd double %103, %91 + %105 = fmul double %101, 0x401921FB54442D18 + %106 = fneg double %105 + %107 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %101, double noundef 0x401921FB54442D18, double noundef %106) #56 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %101, double noundef 0x3CB1A62633145C07, double noundef %107) #56 + %109 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %104, double noundef 0x401921FB54442D18, double noundef %108) #56 + %110 = fcmp ogt double %3, 0x3EB0000000000000 + %111 = sext i1 %110 to i64 + %112 = fcmp ole double %3, 0x3EB0000000000000 + %113 = select i1 %112, i64 %2, i64 0 + %114 = bitcast double %105 to i64 + %115 = and i64 %111, %114 + %116 = or i64 %113, %115 + %117 = bitcast i64 %116 to double + %118 = bitcast double %109 to i64 + %119 = and i64 %111, %118 + %120 = bitcast i64 %119 to double + %121 = trunc i64 %84 to i32 + %122 = and i32 %121, 511 + %123 = ashr i64 %116, 63 + %124 = trunc i64 %123 to i32 + %125 = add nsw i32 %124, 8 + %126 = add nuw nsw i32 %122, %125 + %127 = lshr i32 %126, 4 + %128 = zext nneg i32 %127 to i64 + %129 = and i32 %126, -16 + %130 = sub nsw i32 %122, %129 + %131 = sitofp i32 %130 to double + %132 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %131, double noundef 0x3F8921FB54442D18, double noundef %117) #56 + %133 = fneg double %131 + %134 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %133, double noundef 0x3F8921FB54442D18, double noundef %132) #56 + %135 = fsub double %117, %134 + %136 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %131, double noundef 0x3C21A62633145C07, double noundef %135) #56 + %137 = fadd double %136, %120 + %138 = bitcast i64 %128 to double + br label %139 + +139: ; preds = %16, %1 + %140 = phi double [ %137, %16 ], [ %15, %1 ] + %141 = phi double [ %132, %16 ], [ %10, %1 ] + %142 = phi double [ %138, %16 ], [ %5, %1 ] + %143 = phi i1 [ %20, %16 ], [ true, %1 ] + %144 = bitcast double %142 to i64 + %145 = and i64 %144, 15 + %146 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_d_ha12_GLOBAL__N_134__devicelib_imf_internal_dtan_dataE, i64 48), i64 %145 + %147 = load double, ptr addrspace(1) %146, align 8, !tbaa !719 + %148 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN19__imf_impl_tan_d_ha12_GLOBAL__N_134__devicelib_imf_internal_dtan_dataE, i64 176), i64 %145 + %149 = load double, ptr addrspace(1) %148, align 8, !tbaa !719 + %150 = fmul double %141, %141 + %151 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3F825CCCC7C9FA5D, double noundef %150, double noundef 0x3F9664AB664EFBA9) #56 + %152 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef %150, double noundef 0x3FABA1BA489D25CA) #56 + %153 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %152, double noundef %150, double noundef 0x3FC11111110B0802) #56 + %154 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %153, double noundef %150, double noundef 0x3FD55555555555DC) #56 + %155 = fneg double %154 + %156 = fmul double %141, %155 + %157 = fneg double %140 + %158 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %156, double noundef %150, double noundef %157) #56 + %159 = fsub double %141, %158 + %160 = fsub double %141, %159 + %161 = fsub double %160, %158 + %162 = fadd double %159, %147 + %163 = fsub double %162, %147 + %164 = fsub double %159, %163 + %165 = fadd double %164, %149 + %166 = fadd double %165, %161 + %167 = fneg double %147 + %168 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %167, double noundef %159, double noundef 1.000000e+00) #56 + %169 = fadd double %168, -1.000000e+00 + %170 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %147, double noundef %159, double noundef %169) #56 + %171 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %147, double noundef %161, double noundef %170) #56 + %172 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %149, double noundef %159, double noundef %171) #56 + %173 = bitcast double %168 to i64 + %174 = and i64 %173, -9218868437227405313 + %175 = or i64 %174, 4607182418800017408 + %176 = bitcast i64 %175 to double + %177 = lshr i64 %173, 52 + %178 = and i64 %177, 2047 + %179 = add nsw i64 %178, -1023 + %180 = sitofp i64 %179 to double + %181 = fptrunc double %176 to float + %182 = fdiv float 1.000000e+00, %181 + %183 = fpext float %182 to double + %184 = fadd double %180, 0x4138000000000000 + %185 = bitcast double %184 to i64 + %186 = shl i64 %185, 20 + %187 = sub i64 4607182418800017408, %186 + %188 = bitcast i64 %187 to double + %189 = fmul double %188, %183 + %190 = fneg double %189 + %191 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %190, double noundef %168, double noundef 1.000000e+00) #56 + %192 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %189, double noundef %172, double noundef %191) #56 + %193 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %189, double noundef %192, double noundef %189) #56 + %194 = fmul double %193, %162 + %195 = fneg double %162 + %196 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %168, double noundef %194, double noundef %195) #56 + %197 = fneg double %172 + %198 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %197, double noundef %194, double noundef %196) #56 + %199 = fsub double %198, %166 + %200 = fneg double %199 + %201 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %200, double noundef %193, double noundef %194) #56 + br i1 %143, label %210, label %202, !prof !1189 + +202: ; preds = %139 + %203 = and i64 %2, 9218868437227405312 + %204 = icmp eq i64 %203, 9218868437227405312 + %205 = bitcast double %3 to i64 + %206 = icmp eq i64 %205, 9218868437227405312 + %207 = select i1 %206, double 0.000000e+00, double %0 + %208 = fmul double %207, %0 + %209 = select i1 %204, double %208, double %201 + br label %210 + +210: ; preds = %202, %139 + %211 = phi double [ %201, %139 ], [ %209, %202 ] + ret double %211 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_tanh(double noundef %0) local_unnamed_addr #43 !srcloc !1562 { + %2 = alloca double, align 8 + %3 = alloca double, align 8 + %4 = bitcast double %0 to i64 + %5 = tail call double @llvm.fabs.f64(double %0) + %6 = and i64 %4, -9223372036854775808 + %7 = lshr i64 %4, 32 + %8 = trunc i64 %7 to i32 + %9 = and i32 %8, 2147352576 + %10 = icmp ugt i32 %9, 2145386496 + %11 = icmp ugt i32 %9, 1077149696 + %12 = tail call i32 @llvm.usub.sat.i32(i32 %9, i32 1069416448) + %13 = lshr exact i32 %12, 13 + %14 = select i1 %11, i32 944, i32 %13 + %15 = zext nneg i32 %14 to i64 + %16 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2448), i64 %15 + %17 = load double, ptr addrspace(1) %16, align 8, !tbaa !719 + %18 = or i32 %14, 1 + %19 = zext nneg i32 %18 to i64 + %20 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2448), i64 %19 + %21 = load double, ptr addrspace(1) %20, align 8, !tbaa !719 + %22 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2464), i64 %15 + %23 = load double, ptr addrspace(1) %22, align 8, !tbaa !719 + %24 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2464), i64 %19 + %25 = load double, ptr addrspace(1) %24, align 8, !tbaa !719 + %26 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2480), i64 %15 + %27 = load double, ptr addrspace(1) %26, align 8, !tbaa !719 + %28 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2480), i64 %19 + %29 = load double, ptr addrspace(1) %28, align 8, !tbaa !719 + %30 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2496), i64 %15 + %31 = load double, ptr addrspace(1) %30, align 8, !tbaa !719 + %32 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2496), i64 %19 + %33 = load double, ptr addrspace(1) %32, align 8, !tbaa !719 + %34 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2512), i64 %15 + %35 = load double, ptr addrspace(1) %34, align 8, !tbaa !719 + %36 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2512), i64 %19 + %37 = load double, ptr addrspace(1) %36, align 8, !tbaa !719 + %38 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2528), i64 %15 + %39 = load double, ptr addrspace(1) %38, align 8, !tbaa !719 + %40 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2528), i64 %19 + %41 = load double, ptr addrspace(1) %40, align 8, !tbaa !719 + %42 = getelementptr inbounds double, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_135__devicelib_imf_internal_dtanh_dataE, i64 2544), i64 %15 + %43 = load double, ptr addrspace(1) %42, align 8, !tbaa !719 + %44 = fadd double %5, %43 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %44, double noundef %39) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %44, double noundef %37) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %44, double noundef %35) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %44, double noundef %33) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %48, double noundef %44, double noundef %31) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %49, double noundef %44, double noundef %29) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %44, double noundef %27) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %51, double noundef %44, double noundef %25) #56 + %53 = fmul double %52, %44 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %44, double noundef %17) #56 + %55 = fmul double %23, %44 + %56 = fneg double %55 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %23, double noundef %44, double noundef %56) #56 + %58 = fadd double %57, %54 + %59 = fadd double %55, %21 + %60 = fsub double %55, %59 + %61 = fadd double %59, %60 + %62 = fadd double %21, %60 + %63 = fsub double %55, %61 + %64 = fadd double %62, %63 + %65 = fadd double %58, %64 + %66 = fadd double %59, %65 + %67 = bitcast double %66 to i64 + %68 = or i64 %6, %67 + %69 = bitcast i64 %68 to double + br i1 %10, label %70, label %74, !prof !1176 + +70: ; preds = %1 + %71 = addrspacecast ptr %3 to ptr addrspace(4) + %72 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store double %0, ptr %2, align 8, !tbaa !760 + store i64 %68, ptr %3, align 8, !tbaa !760 + call spir_func void @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dtanhEPKdPd(ptr addrspace(4) noundef %72, ptr addrspace(4) noundef %71) #55 + %73 = load double, ptr %3, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + br label %74 + +74: ; preds = %70, %1 + %75 = phi double [ %73, %70 ], [ %69, %1 ] + ret double %75 +} + +; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_130__devicelib_imf_internal_dtanhEPKdPd(ptr addrspace(4) nocapture noundef readonly %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #34 !srcloc !1563 !sycl_kernel_omit_args !1186 { + %3 = getelementptr inbounds %struct.__devicelib_div_t_32, ptr addrspace(4) %0, i64 0, i32 1 + %4 = load i32, ptr addrspace(4) %3, align 4 + %5 = lshr i32 %4, 31 + %6 = zext nneg i32 %5 to i64 + %7 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_tanh_d_ha12_GLOBAL__N_123__dtanh_ha__imldTanhTabE, i64 %6 + %8 = load double, ptr addrspace(1) %7, align 8, !tbaa !760 + %9 = lshr i32 %4, 20 + %10 = and i32 %9, 2047 + switch i32 %10, label %12 [ + i32 2047, label %16 + i32 2046, label %11 + ] + +11: ; preds = %2 + store double %8, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %26 + +12: ; preds = %2 + %13 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %14 = fadd double %13, 1.000000e+00 + %15 = fmul double %13, %14 + store double %15, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %26 + +16: ; preds = %2 + %17 = and i32 %4, 1048575 + %18 = icmp eq i32 %17, 0 + br i1 %18, label %19, label %23 + +19: ; preds = %16 + %20 = load i32, ptr addrspace(4) %0, align 8 + %21 = icmp eq i32 %20, 0 + br i1 %21, label %22, label %23 + +22: ; preds = %19 + store double %8, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %26 + +23: ; preds = %19, %16 + %24 = load double, ptr addrspace(4) %0, align 8, !tbaa !760 + %25 = fadd double %24, %24 + store double %25, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %26 + +26: ; preds = %23, %22, %12, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_tgamma(double noundef %0) local_unnamed_addr #43 !srcloc !1564 { + %2 = alloca [2 x double], align 8 + %3 = alloca [2 x double], align 8 + %4 = alloca [2 x double], align 8 + %5 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %6 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %7 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %8 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %9 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %10 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %11 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %12 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %13 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %14 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %15 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %16 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %17 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %18 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %19 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %20 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %21 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %22 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %23 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %24 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %25 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %26 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %27 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %28 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %29 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %30 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %31 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %32 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %33 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %34 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %35 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %36 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %37 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %38 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %39 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %40 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %41 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %42 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %43 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %44 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %45 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %46 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %47 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %48 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %49 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %50 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %51 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %52 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %53 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %54 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %55 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %56 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %57 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %58 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %59 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %60 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + %61 = alloca %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %58) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %60) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) + %62 = addrspacecast ptr %5 to ptr addrspace(4) + %63 = addrspacecast ptr %7 to ptr addrspace(4) + %64 = addrspacecast ptr %8 to ptr addrspace(4) + %65 = addrspacecast ptr %9 to ptr addrspace(4) + %66 = addrspacecast ptr %11 to ptr addrspace(4) + %67 = addrspacecast ptr %12 to ptr addrspace(4) + %68 = addrspacecast ptr %13 to ptr addrspace(4) + %69 = addrspacecast ptr %15 to ptr addrspace(4) + %70 = addrspacecast ptr %16 to ptr addrspace(4) + %71 = addrspacecast ptr %17 to ptr addrspace(4) + %72 = addrspacecast ptr %19 to ptr addrspace(4) + %73 = addrspacecast ptr %20 to ptr addrspace(4) + %74 = addrspacecast ptr %21 to ptr addrspace(4) + %75 = addrspacecast ptr %23 to ptr addrspace(4) + %76 = addrspacecast ptr %24 to ptr addrspace(4) + %77 = addrspacecast ptr %25 to ptr addrspace(4) + %78 = addrspacecast ptr %27 to ptr addrspace(4) + %79 = addrspacecast ptr %28 to ptr addrspace(4) + %80 = addrspacecast ptr %29 to ptr addrspace(4) + %81 = addrspacecast ptr %31 to ptr addrspace(4) + %82 = addrspacecast ptr %32 to ptr addrspace(4) + %83 = addrspacecast ptr %33 to ptr addrspace(4) + %84 = addrspacecast ptr %35 to ptr addrspace(4) + %85 = addrspacecast ptr %36 to ptr addrspace(4) + %86 = addrspacecast ptr %37 to ptr addrspace(4) + %87 = addrspacecast ptr %40 to ptr addrspace(4) + %88 = addrspacecast ptr %43 to ptr addrspace(4) + %89 = addrspacecast ptr %45 to ptr addrspace(4) + %90 = addrspacecast ptr %47 to ptr addrspace(4) + %91 = addrspacecast ptr %49 to ptr addrspace(4) + %92 = addrspacecast ptr %51 to ptr addrspace(4) + %93 = addrspacecast ptr %53 to ptr addrspace(4) + %94 = addrspacecast ptr %55 to ptr addrspace(4) + %95 = addrspacecast ptr %57 to ptr addrspace(4) + %96 = addrspacecast ptr %59 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %2, ptr addrspace(1) align 8 @__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.ones, i64 16, i1 false) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %3, ptr addrspace(1) align 8 @__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.own_large_value_64, i64 16, i1 false) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %4, ptr addrspace(1) align 8 @__const._ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_132__devicelib_imf_internal_dtgammaEPKdPd.own_small_value_64, i64 16, i1 false) + %97 = bitcast double %0 to i64 + %98 = lshr i64 %97, 63 + %99 = lshr i64 %97, 52 + %100 = trunc i64 %99 to i32 + %101 = and i32 %100, 2047 + %102 = icmp eq i32 %101, 2047 + br i1 %102, label %415, label %103 + +103: ; preds = %1 + %104 = tail call double @llvm.fabs.f64(double %0) + %105 = bitcast double %104 to i64 + %106 = lshr i64 %105, 32 + %107 = trunc i64 %106 to i32 + %108 = trunc i64 %105 to i32 + %109 = fcmp oeq double %0, 0.000000e+00 + br i1 %109, label %110, label %114 + +110: ; preds = %103 + %111 = getelementptr inbounds [2 x double], ptr %2, i64 0, i64 %98 + %112 = load double, ptr %111, align 8, !tbaa !760 + %113 = fdiv double %112, 0.000000e+00 + br label %420 + +114: ; preds = %103 + %115 = icmp ult i32 %107, 262144 + br i1 %115, label %120, label %116 + +116: ; preds = %114 + %117 = icmp eq i32 %107, 262144 + %118 = icmp eq i32 %108, 0 + %119 = and i1 %117, %118 + br i1 %119, label %120, label %124 + +120: ; preds = %116, %114 + %121 = getelementptr inbounds [2 x double], ptr %3, i64 0, i64 %98 + %122 = load double, ptr %121, align 8, !tbaa !760 + %123 = fmul double %122, 0x7E70000000000000 + br label %420 + +124: ; preds = %116 + %125 = icmp sgt i64 %97, -1 + br i1 %125, label %146, label %126 + +126: ; preds = %124 + %127 = icmp ugt i32 %101, 1074 + br i1 %127, label %420, label %128 + +128: ; preds = %126 + %129 = fadd double %104, 0x4330000000000000 + %130 = fadd double %129, 0xC330000000000000 + %131 = bitcast double %129 to i64 + %132 = fcmp ogt double %130, %104 + %133 = fadd double %130, -1.000000e+00 + %134 = select i1 %132, double %133, double %130 + %135 = fcmp oeq double %104, %134 + br i1 %135, label %420, label %136 + +136: ; preds = %128 + %137 = fcmp olt double %0, -1.850000e+02 + br i1 %137, label %138, label %152 + +138: ; preds = %136 + %139 = and i64 %131, 1 + %140 = icmp eq i64 %139, 0 + %141 = xor i1 %140, %132 + %142 = zext i1 %141 to i64 + %143 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %142 + %144 = load double, ptr %143, align 8, !tbaa !760 + %145 = fmul double %144, 0x170000000000000 + br label %420 + +146: ; preds = %124 + %147 = fcmp ult double %0, 0x406573FAE561F648 + br i1 %147, label %148, label %420 + +148: ; preds = %146 + %149 = fadd double %104, 0x4330000000000000 + %150 = fadd double %149, 0xC330000000000000 + %151 = bitcast double %149 to i64 + br label %169 + +152: ; preds = %136 + %153 = fcmp ult double %0, 0x406573FAE561F648 + br i1 %153, label %154, label %420 + +154: ; preds = %152 + %155 = fsub double %104, %130 + %156 = tail call double @llvm.fabs.f64(double %155) + %157 = fmul double %155, %155 + %158 = tail call double @llvm.fmuladd.f64(double %157, double 0x3DE79788684225EA, double 0xBE3F5F9D970CA6DF) + %159 = tail call double @llvm.fmuladd.f64(double %158, double %157, double 0x3E90FC992FF39E13) + %160 = tail call double @llvm.fmuladd.f64(double %159, double %157, double 0xBEDD42498D1CE099) + %161 = tail call double @llvm.fmuladd.f64(double %160, double %157, double 0x3F2374719FAB3915) + %162 = tail call double @llvm.fmuladd.f64(double %161, double %157, double 0xBF633816AA4607AB) + %163 = tail call double @llvm.fmuladd.f64(double %162, double %157, double 0x3F9AC6805CF350A6) + %164 = tail call double @llvm.fmuladd.f64(double %163, double %157, double 0xBFC86A8E4720DB67) + %165 = tail call double @llvm.fmuladd.f64(double %164, double %157, double 0x3FE9F9CB402BC46C) + %166 = tail call double @llvm.fmuladd.f64(double %165, double %157, double 0xBFFA51A6625307D3) + %167 = tail call double @llvm.fmuladd.f64(double %166, double %157, double 1.000000e+00) + %168 = fmul double %167, %156 + br label %169 + +169: ; preds = %154, %148 + %170 = phi i64 [ %151, %148 ], [ %131, %154 ] + %171 = phi double [ %150, %148 ], [ %130, %154 ] + %172 = phi double [ undef, %148 ], [ %156, %154 ] + %173 = phi double [ undef, %148 ], [ %168, %154 ] + %174 = trunc i64 %170 to i32 + %175 = fcmp ogt double %171, %104 + %176 = sext i1 %175 to i32 + %177 = add nsw i32 %174, %176 + %178 = and i32 %177, 1 + %179 = xor i32 %178, 1 + %180 = fcmp ult double %104, 2.000000e+00 + br i1 %180, label %330, label %181 + +181: ; preds = %169 + %182 = fadd double %171, -1.000000e+00 + %183 = select i1 %175, double %182, double %171 + %184 = and i32 %177, -16 + %185 = and i32 %177, 15 + %186 = icmp slt i32 %177, 16 + %187 = add nsw i32 %185, -2 + %188 = select i1 %186, i32 %187, i32 %185 + %189 = fsub double %104, %183 + %190 = ashr exact i32 %184, 2 + %191 = add nsw i32 %184, %190 + %192 = ashr exact i32 %184, 3 + %193 = add nsw i32 %191, %192 + %194 = ashr i32 %177, 4 + %195 = add nsw i32 %193, %194 + %196 = sext i32 %195 to i64 + %197 = getelementptr inbounds [276 x double], ptr addrspace(1) @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_118__dtgamma_ep_a_tabE, i64 0, i64 %196 + %198 = getelementptr inbounds double, ptr addrspace(1) %197, i64 22 + %199 = load double, ptr addrspace(1) %198, align 8, !tbaa !760 + %200 = load double, ptr addrspace(1) %197, align 8, !tbaa !760 + %201 = fadd double %200, %189 + %202 = getelementptr inbounds double, ptr addrspace(1) %197, i64 11 + %203 = load double, ptr addrspace(1) %202, align 8, !tbaa !760 + %204 = tail call double @llvm.fmuladd.f64(double %201, double %189, double %203) + %205 = getelementptr inbounds double, ptr addrspace(1) %197, i64 1 + %206 = load double, ptr addrspace(1) %205, align 8, !tbaa !760 + %207 = fadd double %206, %189 + %208 = getelementptr inbounds double, ptr addrspace(1) %197, i64 12 + %209 = load double, ptr addrspace(1) %208, align 8, !tbaa !760 + %210 = tail call double @llvm.fmuladd.f64(double %207, double %189, double %209) + %211 = getelementptr inbounds double, ptr addrspace(1) %197, i64 2 + %212 = load double, ptr addrspace(1) %211, align 8, !tbaa !760 + %213 = fadd double %212, %189 + %214 = getelementptr inbounds double, ptr addrspace(1) %197, i64 13 + %215 = load double, ptr addrspace(1) %214, align 8, !tbaa !760 + %216 = tail call double @llvm.fmuladd.f64(double %213, double %189, double %215) + %217 = getelementptr inbounds double, ptr addrspace(1) %197, i64 3 + %218 = load double, ptr addrspace(1) %217, align 8, !tbaa !760 + store double %218, ptr %6, align 8, !tbaa !760, !alias.scope !1565 + %219 = getelementptr inbounds double, ptr %6, i64 1 + store double 0.000000e+00, ptr %219, align 8, !tbaa !760, !alias.scope !1565 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %62, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %6, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %63, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %5, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %7, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #55 + %220 = getelementptr inbounds double, ptr addrspace(1) %197, i64 14 + %221 = load double, ptr addrspace(1) %220, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %64, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %5, double noundef %221) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %8, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #55 + %222 = getelementptr inbounds double, ptr addrspace(1) %197, i64 4 + %223 = load double, ptr addrspace(1) %222, align 8, !tbaa !760 + store double %223, ptr %10, align 8, !tbaa !760, !alias.scope !1569 + %224 = getelementptr inbounds double, ptr %10, i64 1 + store double 0.000000e+00, ptr %224, align 8, !tbaa !760, !alias.scope !1569 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %65, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %10, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %66, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %9, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %11, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #55 + %225 = getelementptr inbounds double, ptr addrspace(1) %197, i64 15 + %226 = load double, ptr addrspace(1) %225, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %67, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %9, double noundef %226) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %12, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #55 + %227 = getelementptr inbounds double, ptr addrspace(1) %197, i64 5 + %228 = load double, ptr addrspace(1) %227, align 8, !tbaa !760 + store double %228, ptr %14, align 8, !tbaa !760, !alias.scope !1572 + %229 = getelementptr inbounds double, ptr %14, i64 1 + store double 0.000000e+00, ptr %229, align 8, !tbaa !760, !alias.scope !1572 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %68, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %14, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %69, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %13, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %15, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #55 + %230 = getelementptr inbounds double, ptr addrspace(1) %197, i64 16 + %231 = load double, ptr addrspace(1) %230, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %70, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %13, double noundef %231) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %16, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #55 + %232 = getelementptr inbounds double, ptr addrspace(1) %197, i64 6 + %233 = load double, ptr addrspace(1) %232, align 8, !tbaa !760 + store double %233, ptr %18, align 8, !tbaa !760, !alias.scope !1575 + %234 = getelementptr inbounds double, ptr %18, i64 1 + store double 0.000000e+00, ptr %234, align 8, !tbaa !760, !alias.scope !1575 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %71, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %18, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %72, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %17, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %19, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #55 + %235 = getelementptr inbounds double, ptr addrspace(1) %197, i64 17 + %236 = load double, ptr addrspace(1) %235, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %73, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %17, double noundef %236) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %20, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #55 + %237 = getelementptr inbounds double, ptr addrspace(1) %197, i64 7 + %238 = load double, ptr addrspace(1) %237, align 8, !tbaa !760 + store double %238, ptr %22, align 8, !tbaa !760, !alias.scope !1578 + %239 = getelementptr inbounds double, ptr %22, i64 1 + store double 0.000000e+00, ptr %239, align 8, !tbaa !760, !alias.scope !1578 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %74, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %22, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %75, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %21, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %23, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #55 + %240 = getelementptr inbounds double, ptr addrspace(1) %197, i64 18 + %241 = load double, ptr addrspace(1) %240, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %76, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %21, double noundef %241) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %24, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #55 + %242 = getelementptr inbounds double, ptr addrspace(1) %197, i64 8 + %243 = load double, ptr addrspace(1) %242, align 8, !tbaa !760 + store double %243, ptr %26, align 8, !tbaa !760, !alias.scope !1581 + %244 = getelementptr inbounds double, ptr %26, i64 1 + store double 0.000000e+00, ptr %244, align 8, !tbaa !760, !alias.scope !1581 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %77, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %26, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %78, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %25, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %27, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #55 + %245 = getelementptr inbounds double, ptr addrspace(1) %197, i64 19 + %246 = load double, ptr addrspace(1) %245, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %79, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %25, double noundef %246) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %28, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #55 + %247 = getelementptr inbounds double, ptr addrspace(1) %197, i64 9 + %248 = load double, ptr addrspace(1) %247, align 8, !tbaa !760 + store double %248, ptr %30, align 8, !tbaa !760, !alias.scope !1584 + %249 = getelementptr inbounds double, ptr %30, i64 1 + store double 0.000000e+00, ptr %249, align 8, !tbaa !760, !alias.scope !1584 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %80, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %30, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %81, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %29, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %29, ptr align 8 %31, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #55 + %250 = getelementptr inbounds double, ptr addrspace(1) %197, i64 20 + %251 = load double, ptr addrspace(1) %250, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %82, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %29, double noundef %251) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %29, ptr align 8 %32, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #55 + %252 = getelementptr inbounds double, ptr addrspace(1) %197, i64 10 + %253 = load double, ptr addrspace(1) %252, align 8, !tbaa !760 + store double %253, ptr %34, align 8, !tbaa !760, !alias.scope !1587 + %254 = getelementptr inbounds double, ptr %34, i64 1 + store double 0.000000e+00, ptr %254, align 8, !tbaa !760, !alias.scope !1587 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %83, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %34, double noundef %189) #54 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #55 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %84, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %33, double noundef %189) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %35, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #55 + %255 = getelementptr inbounds double, ptr addrspace(1) %197, i64 21 + %256 = load double, ptr addrspace(1) %255, align 8, !tbaa !760 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias align 8 %85, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %33, double noundef %256) #54 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %36, i64 16, i1 false), !tbaa.struct !1568 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #55 + store double %204, ptr %38, align 8, !tbaa.struct !1568 + %257 = getelementptr inbounds double, ptr %38, i64 1 + store double 0.000000e+00, ptr %257, align 8, !tbaa.struct !1590 + store double %210, ptr %39, align 8, !tbaa.struct !1568 + %258 = getelementptr inbounds double, ptr %39, i64 1 + store double 0.000000e+00, ptr %258, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %86, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %38, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %39) #54 + %259 = load double, ptr %37, align 8, !tbaa.struct !1568 + %260 = getelementptr inbounds double, ptr %37, i64 1 + %261 = load double, ptr %260, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #55 + store double %259, ptr %41, align 8, !tbaa.struct !1568 + %262 = getelementptr inbounds double, ptr %41, i64 1 + store double %261, ptr %262, align 8, !tbaa.struct !1590 + store double %216, ptr %42, align 8, !tbaa.struct !1568 + %263 = getelementptr inbounds double, ptr %42, i64 1 + store double 0.000000e+00, ptr %263, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %87, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %41, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %42) #54 + %264 = load double, ptr %40, align 8, !tbaa.struct !1568 + %265 = getelementptr inbounds double, ptr %40, i64 1 + %266 = load double, ptr %265, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #55 + store double %264, ptr %44, align 8, !tbaa.struct !1568 + %267 = getelementptr inbounds double, ptr %44, i64 1 + store double %266, ptr %267, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %88, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %44, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %5) #54 + %268 = load double, ptr %43, align 8, !tbaa.struct !1568 + %269 = getelementptr inbounds double, ptr %43, i64 1 + %270 = load double, ptr %269, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #55 + store double %268, ptr %46, align 8, !tbaa.struct !1568 + %271 = getelementptr inbounds double, ptr %46, i64 1 + store double %270, ptr %271, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %89, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %46, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %9) #54 + %272 = load double, ptr %45, align 8, !tbaa.struct !1568 + %273 = getelementptr inbounds double, ptr %45, i64 1 + %274 = load double, ptr %273, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #55 + store double %272, ptr %48, align 8, !tbaa.struct !1568 + %275 = getelementptr inbounds double, ptr %48, i64 1 + store double %274, ptr %275, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %90, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %48, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %13) #54 + %276 = load double, ptr %47, align 8, !tbaa.struct !1568 + %277 = getelementptr inbounds double, ptr %47, i64 1 + %278 = load double, ptr %277, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #55 + store double %276, ptr %50, align 8, !tbaa.struct !1568 + %279 = getelementptr inbounds double, ptr %50, i64 1 + store double %278, ptr %279, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %91, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %50, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %17) #54 + %280 = load double, ptr %49, align 8, !tbaa.struct !1568 + %281 = getelementptr inbounds double, ptr %49, i64 1 + %282 = load double, ptr %281, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #55 + store double %280, ptr %52, align 8, !tbaa.struct !1568 + %283 = getelementptr inbounds double, ptr %52, i64 1 + store double %282, ptr %283, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %92, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %52, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %21) #54 + %284 = load double, ptr %51, align 8, !tbaa.struct !1568 + %285 = getelementptr inbounds double, ptr %51, i64 1 + %286 = load double, ptr %285, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #55 + store double %284, ptr %54, align 8, !tbaa.struct !1568 + %287 = getelementptr inbounds double, ptr %54, i64 1 + store double %286, ptr %287, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %93, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %54, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %25) #54 + %288 = load double, ptr %53, align 8, !tbaa.struct !1568 + %289 = getelementptr inbounds double, ptr %53, i64 1 + %290 = load double, ptr %289, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %55) #55 + store double %288, ptr %56, align 8, !tbaa.struct !1568 + %291 = getelementptr inbounds double, ptr %56, i64 1 + store double %290, ptr %291, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %94, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %56, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %29) #54 + %292 = load double, ptr %55, align 8, !tbaa.struct !1568 + %293 = getelementptr inbounds double, ptr %55, i64 1 + %294 = load double, ptr %293, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #55 + store double %292, ptr %58, align 8, !tbaa.struct !1568 + %295 = getelementptr inbounds double, ptr %58, i64 1 + store double %294, ptr %295, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %95, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %58, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %33) #54 + %296 = load double, ptr %57, align 8, !tbaa.struct !1568 + %297 = getelementptr inbounds double, ptr %57, i64 1 + %298 = load double, ptr %297, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #55 + store double %296, ptr %60, align 8, !tbaa.struct !1568 + %299 = getelementptr inbounds double, ptr %60, i64 1 + store double %298, ptr %299, align 8, !tbaa.struct !1590 + store double %199, ptr %61, align 8, !tbaa.struct !1568 + %300 = getelementptr inbounds double, ptr %61, i64 1 + store double 0.000000e+00, ptr %300, align 8, !tbaa.struct !1590 + call spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias align 8 %96, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %60, ptr noundef nonnull byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %61) #54 + %301 = load double, ptr %59, align 8, !tbaa.struct !1568 + %302 = getelementptr inbounds double, ptr %59, i64 1 + %303 = load double, ptr %302, align 8, !tbaa.struct !1590 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #55 + %304 = fadd double %301, %303 + %305 = icmp eq i32 %188, 0 + br i1 %305, label %315, label %306 + +306: ; preds = %310, %181 + %307 = phi i32 [ %314, %310 ], [ 1, %181 ] + %308 = phi double [ %313, %310 ], [ 1.000000e+00, %181 ] + %309 = icmp sgt i32 %307, %188 + br i1 %309, label %315, label %310 + +310: ; preds = %306 + %311 = sitofp i32 %307 to double + %312 = fsub double %104, %311 + %313 = fmul double %308, %312 + %314 = add nuw nsw i32 %307, 1 + br label %306, !llvm.loop !1591 + +315: ; preds = %306, %181 + %316 = phi double [ 1.000000e+00, %181 ], [ %308, %306 ] + br i1 %125, label %328, label %317 + +317: ; preds = %315 + %318 = fdiv double 1.000000e+00, %316 + %319 = fmul double %304, %173 + %320 = fmul double %319, %104 + %321 = fdiv double %318, %320 + %322 = fcmp olt double %0, -1.760000e+02 + %323 = fmul double %321, 0xBA5D5869 + %324 = select i1 %322, double %323, double %321 + %325 = icmp eq i32 %179, 0 + %326 = fneg double %324 + %327 = select i1 %325, double %324, double %326 + br label %420 + +328: ; preds = %315 + %329 = fmul double %304, %316 + br label %420 + +330: ; preds = %169 + %331 = fcmp olt double %104, 1.000000e+00 + %332 = fadd double %104, 1.000000e+00 + %333 = select i1 %331, double %332, double %104 + %334 = fcmp ult double %333, 1.500000e+00 + br i1 %334, label %337, label %335 + +335: ; preds = %330 + %336 = fadd double %333, -1.000000e+00 + br label %346 + +337: ; preds = %330 + %338 = fcmp ult double %333, 1.250000e+00 + br i1 %338, label %341, label %339 + +339: ; preds = %337 + %340 = fadd double %333, 0xBFF762D86356BE40 + br label %346 + +341: ; preds = %337 + %342 = fcmp olt double %333, 1.250000e+00 + %343 = fadd double %333, -1.000000e+00 + %344 = select i1 %342, ptr addrspace(1) @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a100_tabE, ptr addrspace(1) @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_sinc_tabE + %345 = select i1 %342, double %343, double %172 + br label %346 + +346: ; preds = %341, %339, %335 + %347 = phi ptr addrspace(1) [ @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a150_tabE, %335 ], [ @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_121__dtgamma_ep_a125_tabE, %339 ], [ %344, %341 ] + %348 = phi double [ %336, %335 ], [ %340, %339 ], [ %345, %341 ] + %349 = icmp eq i32 %101, 0 + br i1 %349, label %397, label %350 + +350: ; preds = %346 + %351 = getelementptr inbounds double, ptr addrspace(1) %347, i64 15 + %352 = load double, ptr addrspace(1) %351, align 8, !tbaa !760 + %353 = getelementptr inbounds double, ptr addrspace(1) %347, i64 14 + %354 = load double, ptr addrspace(1) %353, align 8, !tbaa !760 + %355 = tail call double @llvm.fmuladd.f64(double %352, double %348, double %354) + %356 = getelementptr inbounds double, ptr addrspace(1) %347, i64 13 + %357 = load double, ptr addrspace(1) %356, align 8, !tbaa !760 + %358 = tail call double @llvm.fmuladd.f64(double %355, double %348, double %357) + %359 = getelementptr inbounds double, ptr addrspace(1) %347, i64 12 + %360 = load double, ptr addrspace(1) %359, align 8, !tbaa !760 + %361 = tail call double @llvm.fmuladd.f64(double %358, double %348, double %360) + %362 = getelementptr inbounds double, ptr addrspace(1) %347, i64 11 + %363 = load double, ptr addrspace(1) %362, align 8, !tbaa !760 + %364 = tail call double @llvm.fmuladd.f64(double %361, double %348, double %363) + %365 = getelementptr inbounds double, ptr addrspace(1) %347, i64 10 + %366 = load double, ptr addrspace(1) %365, align 8, !tbaa !760 + %367 = tail call double @llvm.fmuladd.f64(double %364, double %348, double %366) + %368 = getelementptr inbounds double, ptr addrspace(1) %347, i64 9 + %369 = load double, ptr addrspace(1) %368, align 8, !tbaa !760 + %370 = tail call double @llvm.fmuladd.f64(double %367, double %348, double %369) + %371 = getelementptr inbounds double, ptr addrspace(1) %347, i64 8 + %372 = load double, ptr addrspace(1) %371, align 8, !tbaa !760 + %373 = tail call double @llvm.fmuladd.f64(double %370, double %348, double %372) + %374 = getelementptr inbounds double, ptr addrspace(1) %347, i64 7 + %375 = load double, ptr addrspace(1) %374, align 8, !tbaa !760 + %376 = tail call double @llvm.fmuladd.f64(double %373, double %348, double %375) + %377 = getelementptr inbounds double, ptr addrspace(1) %347, i64 6 + %378 = load double, ptr addrspace(1) %377, align 8, !tbaa !760 + %379 = tail call double @llvm.fmuladd.f64(double %376, double %348, double %378) + %380 = getelementptr inbounds double, ptr addrspace(1) %347, i64 5 + %381 = load double, ptr addrspace(1) %380, align 8, !tbaa !760 + %382 = tail call double @llvm.fmuladd.f64(double %379, double %348, double %381) + %383 = getelementptr inbounds double, ptr addrspace(1) %347, i64 4 + %384 = load double, ptr addrspace(1) %383, align 8, !tbaa !760 + %385 = tail call double @llvm.fmuladd.f64(double %382, double %348, double %384) + %386 = getelementptr inbounds double, ptr addrspace(1) %347, i64 3 + %387 = load double, ptr addrspace(1) %386, align 8, !tbaa !760 + %388 = tail call double @llvm.fmuladd.f64(double %385, double %348, double %387) + %389 = getelementptr inbounds double, ptr addrspace(1) %347, i64 2 + %390 = load double, ptr addrspace(1) %389, align 8, !tbaa !760 + %391 = tail call double @llvm.fmuladd.f64(double %388, double %348, double %390) + %392 = getelementptr inbounds double, ptr addrspace(1) %347, i64 1 + %393 = load double, ptr addrspace(1) %392, align 8, !tbaa !760 + %394 = tail call double @llvm.fmuladd.f64(double %391, double %348, double %393) + %395 = load double, ptr addrspace(1) %347, align 8, !tbaa !760 + %396 = tail call double @llvm.fmuladd.f64(double %394, double %348, double %395) + br label %399 + +397: ; preds = %346 + %398 = load double, ptr addrspace(1) %347, align 8, !tbaa !760 + br label %399 + +399: ; preds = %397, %350 + %400 = phi double [ %396, %350 ], [ %398, %397 ] + br i1 %331, label %401, label %410 + +401: ; preds = %399 + br i1 %125, label %408, label %402 + +402: ; preds = %401 + %403 = fmul double %173, %400 + %404 = fdiv double 1.000000e+00, %403 + %405 = icmp eq i32 %179, 0 + %406 = fneg double %404 + %407 = select i1 %405, double %404, double %406 + br label %420 + +408: ; preds = %401 + %409 = fdiv double %400, %104 + br label %420 + +410: ; preds = %399 + br i1 %125, label %420, label %411 + +411: ; preds = %410 + %412 = fmul double %104, %173 + %413 = fmul double %412, %400 + %414 = fdiv double 1.000000e+00, %413 + br label %420 + +415: ; preds = %1 + %416 = and i64 %97, -9218868437227405313 + %417 = icmp eq i64 %416, -9223372036854775808 + %418 = fadd double %0, %0 + %419 = select i1 %417, double 0x7FF8000000000000, double %418 + br label %420 + +420: ; preds = %415, %411, %410, %408, %402, %328, %317, %152, %146, %138, %128, %126, %120, %110 + %421 = phi double [ %113, %110 ], [ %123, %120 ], [ %145, %138 ], [ 0x7FF8000000000000, %126 ], [ 0x7FF8000000000000, %128 ], [ 0x7FF0000000000000, %152 ], [ 0x7FF0000000000000, %146 ], [ %327, %317 ], [ %329, %328 ], [ %409, %408 ], [ %414, %411 ], [ %407, %402 ], [ %400, %410 ], [ %419, %415 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) + ret double %421 +} + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p1.i64(ptr noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg) #16 + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_add_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %1, double noundef %2) unnamed_addr #45 !srcloc !1592 !sycl_kernel_omit_args !1235 { + %4 = load double, ptr %1, align 8, !tbaa !760 + %5 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr %1, i64 0, i32 0, i64 1 + %6 = load double, ptr %5, align 8, !tbaa !760 + %7 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %4) #56 + %8 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %2) #56 + %9 = fcmp ole double %7, %8 + %10 = select i1 %9, double %2, double %4 + %11 = select i1 %9, double %4, double %2 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef 1.000000e+00, double noundef %10) #56 + %13 = fneg double %10 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef 1.000000e+00, double noundef %13) #56 + %15 = fneg double %14 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef 1.000000e+00, double noundef %15) #56 + %17 = fadd double %6, %16 + %18 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr addrspace(4) %0, i64 0, i32 0, i64 1 + store double %17, ptr addrspace(4) %18, align 8, !tbaa !760 + store double %12, ptr addrspace(4) %0, align 8, !tbaa !760 + ret void +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_128__dtgamma_ep_mp_double_mul_hENS0_22__dtgamma_ep_mp_doubleEd(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %1, double noundef %2) unnamed_addr #45 !srcloc !1593 !sycl_kernel_omit_args !1235 { + %4 = load double, ptr %1, align 8, !tbaa !760 + %5 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr %1, i64 0, i32 0, i64 1 + %6 = load double, ptr %5, align 8, !tbaa !760 + %7 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %2, double noundef 0.000000e+00) #56 + %8 = fneg double %7 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %2, double noundef %8) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %2, double noundef %9) #56 + %11 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr addrspace(4) %0, i64 0, i32 0, i64 1 + store double %10, ptr addrspace(4) %11, align 8, !tbaa !760 + store double %7, ptr addrspace(4) %0, align 8, !tbaa !760 + ret void +} + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #16 + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: readwrite) +define internal spir_func void @_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_126__dtgamma_ep_mp_double_mulENS0_22__dtgamma_ep_mp_doubleES1_(ptr addrspace(4) noalias nocapture writeonly align 8 %0, ptr nocapture noundef readonly byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %1, ptr nocapture noundef readonly byval(%"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double") align 8 %2) unnamed_addr #45 !srcloc !1594 !sycl_kernel_omit_args !1235 { + %4 = load double, ptr %1, align 8, !tbaa !760 + %5 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr %1, i64 0, i32 0, i64 1 + %6 = load double, ptr %5, align 8, !tbaa !760 + %7 = load double, ptr %2, align 8, !tbaa !760 + %8 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr %2, i64 0, i32 0, i64 1 + %9 = load double, ptr %8, align 8, !tbaa !760 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %7, double noundef 0.000000e+00) #56 + %11 = fneg double %10 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %7, double noundef %11) #56 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef %7, double noundef %12) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef %9, double noundef %13) #56 + %15 = getelementptr inbounds %"struct.__imf_impl_tgamma_d_ep::(anonymous namespace)::__dtgamma_ep_mp_double", ptr addrspace(4) %0, i64 0, i32 0, i64 1 + store double %14, ptr addrspace(4) %15, align 8, !tbaa !760 + store double %10, ptr addrspace(4) %0, align 8, !tbaa !760 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_lgamma(double noundef %0) local_unnamed_addr #43 !srcloc !1595 { + %2 = bitcast double %0 to i64 + %3 = tail call double @llvm.fabs.f64(double %0) + %4 = bitcast double %3 to i64 + %5 = icmp ugt i64 %4, 9218868437227405311 + br i1 %5, label %202, label %6 + +6: ; preds = %1 + %7 = fcmp olt double %3, 0x3B90000000000000 + br i1 %7, label %8, label %15 + +8: ; preds = %6 + %9 = icmp eq i64 %4, 0 + br i1 %9, label %10, label %12 + +10: ; preds = %8 + %11 = fdiv double 1.000000e+00, %3 + br label %202 + +12: ; preds = %8 + %13 = tail call spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %3) #54 + %14 = fneg double %13 + br label %202 + +15: ; preds = %6 + %16 = fcmp ogt double %0, 0x7F5754D9278B51A7 + br i1 %16, label %202, label %17 + +17: ; preds = %15 + %18 = fcmp olt double %3, 2.000000e+00 + br i1 %18, label %19, label %91 + +19: ; preds = %17 + %20 = fsub double 2.000000e+00, %3 + %21 = fcmp olt double %3, 0x3FFBB4C300000000 + %22 = fadd double %3, 0xBFF762D86356BE3F + %23 = zext i1 %21 to i32 + %24 = select i1 %21, double %22, double %20 + %25 = fcmp olt double %3, 0x3FF3B4C400000000 + %26 = fadd double %3, -1.000000e+00 + %27 = select i1 %25, i32 2, i32 %23 + %28 = select i1 %25, double %26, double %24 + %29 = fcmp ole double %3, 0x3FECCCCC00000000 + %30 = tail call spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %3) #54 + %31 = fneg double %30 + %32 = select i1 %29, double %31, double 0.000000e+00 + %33 = fsub double 1.000000e+00, %3 + %34 = select i1 %29, i32 0, i32 %27 + %35 = select i1 %29, double %33, double %28 + %36 = fcmp olt double %3, 0x3FE7694400000000 + %37 = fadd double %3, 0xBFDD8B618D5AF8FC + %38 = select i1 %36, i32 1, i32 %34 + %39 = select i1 %36, double %37, double %35 + %40 = fcmp olt double %3, 0x3FCDA66100000000 + %41 = select i1 %40, i32 2, i32 %38 + %42 = select i1 %40, double %3, double %39 + switch i32 %41, label %146 [ + i32 0, label %43 + i32 1, label %57 + i32 2, label %76 + ] + +43: ; preds = %19 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 0x3F07858E90A45837, double noundef 0x3EFA7074428CFA52) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %44, double noundef 0x3F1C5088987DFB07) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %45, double noundef 0x3F2CF2ECED10E54D) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %46, double noundef 0x3F40B6C689B99C00) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %47, double noundef 0x3F538A94116F3F5D) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %48, double noundef 0x3F67ADD8CCB7926B) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %49, double noundef 0x3F7E404FB68FEFE8) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %50, double noundef 0x3F951322AC92547B) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %51, double noundef 0x3FB13E001A5562A7) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %52, double noundef 0x3FD4A34CC4A60FAD) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %53, double noundef 0x3FB3C467E37DB0C8) #56 + %55 = fadd double %54, -5.000000e-01 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %55, double noundef %32) #56 + br label %146 + +57: ; preds = %19 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 0x3F35FD3EE8C2D3F4, double noundef 0xBF347F24ECC38C38) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %58, double noundef 0x3F34AF6D6C0EBBF7) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %59, double noundef 0xBF41A6109C73E0EC) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %60, double noundef 0x3F4CDF0CEF61A8E9) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %61, double noundef 0xBF56FE8EBF2D1AF1) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %62, double noundef 0x3F6282D32E15C915) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %63, double noundef 0xBF6E2EFFB3E914D7) #56 + %65 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %64, double noundef 0x3F78FCE0E370E344) #56 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %65, double noundef 0xBF851F9FBA91EC6A) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %66, double noundef 0x3F9266E7970AF9EC) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %67, double noundef 0xBFA0C9A8DF35B713) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %68, double noundef 0x3FB08B4294D5419B) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %69, double noundef 0xBFC2E4278DC6C509) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %70, double noundef 0x3FDEF72BC8EE38A2) #56 + %72 = fmul double %42, %42 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %71, double noundef 0x3C50C7CAA48A971F) #56 + %74 = fadd double %73, 0xBFBF19B9BCC38A42 + %75 = fadd double %32, %74 + br label %146 + +76: ; preds = %19 + %77 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 0x3F8B678BBF2BAB09, double noundef 0x3FCD4EAEF6010924) #56 + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %77, double noundef 0x3FEF497644EA8450) #56 + %79 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %78, double noundef 0x3FF7475CD119BD6F) #56 + %80 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %79, double noundef 0x3FE4401E8B005DFF) #56 + %81 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %80, double noundef 0xBFB3C467E37DB0C8) #56 + %82 = fmul double %42, %81 + %83 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 0x3F6A5ABB57D0CF61, double noundef 0x3FBAAE55D6537C88) #56 + %84 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %83, double noundef 0x3FE89DFBE45050AF) #56 + %85 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %84, double noundef 0x40010725A42B18F5) #56 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %85, double noundef 0x4003A5D7C2BD619C) #56 + %87 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %86, double noundef 1.000000e+00) #56 + %88 = fdiv double %82, %87 + %89 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef -5.000000e-01, double noundef %42, double noundef %88) #56 + %90 = fadd double %32, %89 + br label %146 + +91: ; preds = %17 + %92 = fcmp olt double %3, 8.000000e+00 + br i1 %92, label %93, label %133 + +93: ; preds = %91 + %94 = fptosi double %3 to i32 + %95 = sitofp i32 %94 to double + %96 = fsub double %3, %95 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef 0x3F00BFECDD17E945, double noundef 0x3F5E26B67368F239) #56 + %98 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %97, double noundef 0x3F9B481C7E939961) #56 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %98, double noundef 0x3FC2BB9CBEE5F2F7) #56 + %100 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %99, double noundef 0x3FD4D98F4F139F59) #56 + %101 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %100, double noundef 0x3FCB848B36E20878) #56 + %102 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %101, double noundef 0xBFB3C467E37DB0C8) #56 + %103 = fmul double %96, %102 + %104 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef 0x3EDEBAF7A5B38140, double noundef 0x3F497DDACA41A95B) #56 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %104, double noundef 0x3F9317EA742ED475) #56 + %106 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %105, double noundef 0x3FC601EDCCFBDF27) #56 + %107 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %106, double noundef 0x3FE71A1893D3DCDC) #56 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %107, double noundef 0x3FF645A762C4AB74) #56 + %109 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %108, double noundef 1.000000e+00) #56 + %110 = fdiv double %103, %109 + %111 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 5.000000e-01, double noundef %96, double noundef %110) #56 + %112 = fadd double %96, 6.000000e+00 + %113 = fadd double %96, 5.000000e+00 + %114 = fadd double %96, 4.000000e+00 + %115 = fadd double %96, 3.000000e+00 + %116 = fadd double %96, 2.000000e+00 + %117 = icmp sgt i32 %94, 6 + %118 = select i1 %117, double %112, double 1.000000e+00 + %119 = icmp sgt i32 %94, 5 + %120 = select i1 %119, double %113, double 1.000000e+00 + %121 = fmul double %118, %120 + %122 = icmp sgt i32 %94, 4 + %123 = select i1 %122, double %114, double 1.000000e+00 + %124 = fmul double %121, %123 + %125 = icmp sgt i32 %94, 3 + %126 = select i1 %125, double %115, double 1.000000e+00 + %127 = fmul double %124, %126 + %128 = icmp sgt i32 %94, 2 + %129 = select i1 %128, double %116, double 1.000000e+00 + %130 = fmul double %127, %129 + %131 = tail call spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %130) #54 + %132 = fadd double %111, %131 + br label %146 + +133: ; preds = %91 + %134 = fdiv double 1.000000e+00, %3 + %135 = fmul double %134, %134 + %136 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef 0xBF5AB89D0B9E43E4, double noundef 0x3F4B67BA4CDAD5D1) #56 + %137 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %136, double noundef 0xBF4380CB8C0FE741) #56 + %138 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %137, double noundef 0x3F4A019F98CF38B6) #56 + %139 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %138, double noundef 0xBF66C16C16B02E5C) #56 + %140 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %139, double noundef 0x3FB555555555553B) #56 + %141 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %134, double noundef %140, double noundef 0x3FDACFE390C97D69) #56 + %142 = fadd double %3, -5.000000e-01 + %143 = tail call spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %3) #54 + %144 = fadd double %143, -1.000000e+00 + %145 = tail call double @llvm.fmuladd.f64(double %142, double %144, double %141) + br label %146 + +146: ; preds = %133, %93, %76, %57, %43, %19 + %147 = phi double [ %132, %93 ], [ %145, %133 ], [ %32, %19 ], [ %90, %76 ], [ %75, %57 ], [ %56, %43 ] + %148 = fcmp olt double %0, 0.000000e+00 + br i1 %148, label %149, label %202 + +149: ; preds = %146 + %150 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %151 = bitcast double %150 to i64 + %152 = xor i64 %2, %151 + %153 = fadd double %150, 0x4330000000000000 + %154 = fadd double %153, 0xC330000000000000 + %155 = fcmp olt double %150, 0x4330000000000000 + %156 = select i1 %155, double %154, double %150 + %157 = fsub double %150, %156 + %158 = fmul double %157, %157 + %159 = fneg double %158 + %160 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef %157, double noundef %159) #56 + %161 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %158, double noundef 0x4EA9D46B06CE620E, double noundef 0xCEF6F7AD23B5CD51) #56 + %162 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %161, double noundef %158, double noundef 0x4F3E8F3677C334D3) #56 + %163 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %158, double noundef 0xCF7E3074DFB5BB14) #56 + %164 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %163, double noundef %158, double noundef 0x4FB50783485523F4) #56 + %165 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %164, double noundef %158, double noundef 0xCFE32D2CCE627C9E) #56 + %166 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %165, double noundef %158, double noundef 0x500466BC6775AA7D) #56 + %167 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %166, double noundef %158, double noundef 0xCCA15D7C17744D75) #56 + %168 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xD014ABBCE625BE52, double noundef %158, double noundef 0x500921FB54442D18) #56 + %169 = fadd double %168, 0xD00921FB54442D18 + %170 = fneg double %169 + %171 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %158, double noundef 0xD014ABBCE625BE52, double noundef %170) #56 + %172 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %160, double noundef %167, double noundef %171) #56 + %173 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %160, double noundef 0xD014ABBCE625BE52, double noundef 0x4C918E38E04F47B9) #56 + %174 = fadd double %173, %172 + %175 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %167, double noundef %158, double noundef %174) #56 + %176 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef %168, double noundef 0.000000e+00) #56 + %177 = fneg double %176 + %178 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef %168, double noundef %177) #56 + %179 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef %175, double noundef %178) #56 + %180 = fadd double %176, %179 + %181 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %180, double noundef 0x2FF0000000000000, double noundef 0.000000e+00) #56 + %182 = bitcast double %181 to i64 + %183 = icmp eq i64 %182, 0 + br i1 %183, label %192, label %184 + +184: ; preds = %149 + %185 = fcmp olt double %150, 0x4340000000000000 + %186 = select i1 %155, double %153, double %150 + %187 = select i1 %185, double %186, double 0.000000e+00 + %188 = bitcast double %187 to i64 + %189 = shl i64 %188, 63 + %190 = xor i64 %152, %189 + %191 = xor i64 %190, %182 + br label %192 + +192: ; preds = %184, %149 + %193 = phi i64 [ %191, %184 ], [ %152, %149 ] + %194 = bitcast i64 %193 to double + %195 = fmul double %194, %0 + %196 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %195) #56 + %197 = fdiv double 0x400921FB54442D18, %196 + %198 = tail call spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %197) #54 + %199 = fsub double %198, %147 + %200 = fcmp oeq double %194, 0.000000e+00 + %201 = select i1 %200, double 0x7FF0000000000000, double %199 + br label %202 + +202: ; preds = %192, %146, %15, %12, %10, %1 + %203 = phi double [ %11, %10 ], [ %14, %12 ], [ %3, %1 ], [ 0x7FF0000000000000, %15 ], [ %201, %192 ], [ %147, %146 ] + ret double %203 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(none) +define internal spir_func noundef double @_ZN22__imf_impl_lgamma_d_ep12_GLOBAL__N_125__dlgamma_ep_internal_logEd(double noundef %0) unnamed_addr #46 !srcloc !1596 !sycl_kernel_omit_args !1320 { + %2 = bitcast double %0 to i64 + %3 = add i64 %2, -9218868437227405312 + %4 = icmp ult i64 %3, -9218868437227405311 + br i1 %4, label %5, label %18 + +5: ; preds = %1 + %6 = tail call double @llvm.fabs.f64(double %0) + %7 = bitcast double %6 to i64 + %8 = icmp eq i64 %7, 0 + br i1 %8, label %55, label %9 + +9: ; preds = %5 + %10 = icmp ugt i64 %2, -9223372036854775808 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = or i64 %2, -2251799813685248 + %13 = bitcast i64 %12 to double + br label %55 + +14: ; preds = %9 + %15 = icmp ugt i64 %2, 9218868437227405312 + %16 = select i1 %15, double %0, double -0.000000e+00 + %17 = fadd double %16, %0 + br label %55 + +18: ; preds = %1 + %19 = icmp ult i64 %2, 4503599627370496 + %20 = select i1 %19, i32 -1083, i32 -1023 + %21 = fmul double %0, 0x43B0000000000000 + %22 = select i1 %19, double %21, double %0 + %23 = bitcast double %22 to i64 + %24 = add i64 %23, 3002399751580330 + %25 = lshr i64 %24, 52 + %26 = trunc i64 %25 to i32 + %27 = and i64 %24, -4503599627370496 + %28 = add i64 %23, 4607182418800017408 + %29 = sub i64 %28, %27 + %30 = bitcast i64 %29 to double + %31 = fadd double %30, -1.000000e+00 + %32 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFB6E22682C05596, double noundef %31, double noundef 0x3FB6C694B21A9875) #56 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %31, double noundef 0xBFA68F0ACEE35E2D) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %31, double noundef 0x3FA9474CCD075CE5) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %31, double noundef 0xBFB0750F4F9C34F9) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %31, double noundef 0x3FB16608748AB72D) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %31, double noundef 0xBFB23E2EC341EBA0) #56 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %37, double noundef %31, double noundef 0x3FB3AA521D980CD0) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %38, double noundef %31, double noundef 0xBFB555FA23866D76) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %39, double noundef %31, double noundef 0x3FB74629A554D880) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %40, double noundef %31, double noundef 0xBFB999938ABCF213) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %31, double noundef 0x3FBC71C472FB2195) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef %31, double noundef 0xBFC00000112830D9) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %43, double noundef %31, double noundef 0x3FC24924982C2697) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %44, double noundef %31, double noundef 0xBFC55555551FBBDB) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %45, double noundef %31, double noundef 0x3FC99999998C68B5) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %31, double noundef 0xBFD0000000002697) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %31, double noundef 0x3FD5555555555B0E) #56 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %48, double noundef %31, double noundef 0xBFDFFFFFFFFFFFF0) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %49, double noundef %31, double noundef 0xBC8A30CFDED694FF) #56 + %51 = add nsw i32 %20, %26 + %52 = sitofp i32 %51 to double + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %50, double noundef %31, double noundef %31) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef 0x3FE62E42FEFA39EF, double noundef %53) #56 + br label %55 + +55: ; preds = %18, %14, %11, %5 + %56 = phi double [ %13, %11 ], [ %17, %14 ], [ %54, %18 ], [ 0xFFF0000000000000, %5 ] + ret double %56 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_i0(double noundef %0) local_unnamed_addr #43 !srcloc !1597 { + %2 = alloca double, align 8 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + call spir_func void @_ZN18__imf_impl_i0_d_ep12_GLOBAL__N_128__devicelib_imf_internal_di0EPKdPd(double %0, ptr addrspace(4) noundef %3) #54 + %4 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + ret double %4 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_i0_d_ep12_GLOBAL__N_128__devicelib_imf_internal_di0EPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1598 !sycl_kernel_omit_args !1186 { + %3 = tail call double @llvm.fabs.f64(double %0) + %4 = fcmp ugt double %3, 1.200000e+01 + br i1 %4, label %232, label %5 + +5: ; preds = %2 + %6 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef 0.000000e+00) #56 + %7 = fcmp ugt double %3, 2.000000e+00 + br i1 %7, label %17, label %8 + +8: ; preds = %5 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x3D06502454112921, double noundef 0x3D8519F65C1BE795) #56 + %10 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef %6, double noundef 0x3E002EA7F6336590) #56 + %11 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %10, double noundef %6, double noundef 0x3E723455DC769179) #56 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %11, double noundef %6, double noundef 0x3EDC71C71FB137AF) #56 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef %6, double noundef 0x3F3C71C71C6824CC) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %6, double noundef 0x3F90000000000E2A) #56 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %6, double noundef 0x3FCFFFFFFFFFFFC1) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %6, double noundef 1.000000e+00) #56 + store double %16, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1024 + +17: ; preds = %5 + %18 = fneg double %6 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef %18) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x37D7D83369436CB8, double noundef 0.000000e+00) #56 + %21 = fneg double %20 + %22 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0x37D7D83369436CB8, double noundef %21) #56 + %23 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef 0x37D7D83369436CB8, double noundef %22) #56 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %6, double noundef 0xB473B8D777BD007A, double noundef %23) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef 1.000000e+00, double noundef 0x384B36771A8456C1) #56 + %26 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef 1.000000e+00, double noundef 0xB84B36771A8456C1) #56 + %27 = fneg double %26 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %20, double noundef 1.000000e+00, double noundef %27) #56 + %29 = fadd double %24, 0xB4E94DCD8BC23F4B + %30 = fadd double %29, %28 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %6, double noundef 0.000000e+00) #56 + %32 = fneg double %31 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %6, double noundef %32) #56 + %34 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %6, double noundef %33) #56 + %35 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef %19, double noundef %34) #56 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef 1.000000e+00, double noundef 0x390BB580C64B2ECB) #56 + %37 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef 1.000000e+00, double noundef 0xB90BB580C64B2ECB) #56 + %38 = fneg double %37 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %31, double noundef 1.000000e+00, double noundef %38) #56 + %40 = fadd double %35, 0xB5A4A45222BAFEDE + %41 = fadd double %40, %39 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %6, double noundef 0.000000e+00) #56 + %43 = fneg double %42 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %6, double noundef %43) #56 + %45 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %6, double noundef %44) #56 + %46 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef %19, double noundef %45) #56 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 1.000000e+00, double noundef 0x39A2D0CFA8BCD30D) #56 + %48 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef 1.000000e+00, double noundef 0xB9A2D0CFA8BCD30D) #56 + %49 = fneg double %48 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %42, double noundef 1.000000e+00, double noundef %49) #56 + %51 = fadd double %46, 0x3637141F1F9F9D39 + %52 = fadd double %51, %50 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %6, double noundef 0.000000e+00) #56 + %54 = fneg double %53 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %6, double noundef %54) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %6, double noundef %55) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef %19, double noundef %56) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef 1.000000e+00, double noundef 0x3A3EC28F4EC3F929) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef 1.000000e+00, double noundef 0xBA3EC28F4EC3F929) #56 + %60 = fneg double %59 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef 1.000000e+00, double noundef %60) #56 + %62 = fadd double %57, 0x36CA6E35B0801CF4 + %63 = fadd double %62, %61 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %6, double noundef 0.000000e+00) #56 + %65 = fneg double %64 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %6, double noundef %65) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %6, double noundef %66) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %19, double noundef %67) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef 1.000000e+00, double noundef 0x3AD410F53517C4C2) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef 1.000000e+00, double noundef 0xBAD410F53517C4C2) #56 + %71 = fneg double %70 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef 1.000000e+00, double noundef %71) #56 + %73 = fadd double %68, 0x377AB91D8CA05D29 + %74 = fadd double %73, %72 + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %6, double noundef 0.000000e+00) #56 + %76 = fneg double %75 + %77 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %6, double noundef %76) #56 + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %6, double noundef %77) #56 + %79 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %19, double noundef %78) #56 + %80 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %75, double noundef 1.000000e+00, double noundef 0x3B669DFF2B936BF7) #56 + %81 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef 1.000000e+00, double noundef 0xBB669DFF2B936BF7) #56 + %82 = fneg double %81 + %83 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %75, double noundef 1.000000e+00, double noundef %82) #56 + %84 = fadd double %79, 0xB80FA2EEF367E6DB + %85 = fadd double %84, %83 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef %6, double noundef 0.000000e+00) #56 + %87 = fneg double %86 + %88 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef %6, double noundef %87) #56 + %89 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %6, double noundef %88) #56 + %90 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef %19, double noundef %89) #56 + %91 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %86, double noundef 1.000000e+00, double noundef 0x3BF55FF0E9095D9A) #56 + %92 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef 1.000000e+00, double noundef 0xBBF55FF0E9095D9A) #56 + %93 = fneg double %92 + %94 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %86, double noundef 1.000000e+00, double noundef %93) #56 + %95 = fadd double %90, 0x3887D697710CD6D9 + %96 = fadd double %95, %94 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef %6, double noundef 0.000000e+00) #56 + %98 = fneg double %97 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef %6, double noundef %98) #56 + %100 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %6, double noundef %99) #56 + %101 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef %19, double noundef %100) #56 + %102 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %97, double noundef 1.000000e+00, double noundef 0x3C80B3168F520A3F) #56 + %103 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef 1.000000e+00, double noundef 0xBC80B3168F520A3F) #56 + %104 = fneg double %103 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %97, double noundef 1.000000e+00, double noundef %104) #56 + %106 = fadd double %101, 0x38FF8077A8704C2E + %107 = fadd double %106, %105 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef %6, double noundef 0.000000e+00) #56 + %109 = fneg double %108 + %110 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef %6, double noundef %109) #56 + %111 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef %6, double noundef %110) #56 + %112 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef %19, double noundef %111) #56 + %113 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef 1.000000e+00, double noundef 0x3D0522A3D1DD9C75) #56 + %114 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef 1.000000e+00, double noundef 0xBD0522A3D1DD9C75) #56 + %115 = fneg double %114 + %116 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef 1.000000e+00, double noundef %115) #56 + %117 = fadd double %112, 0x39A4C8FD950C9E01 + %118 = fadd double %117, %116 + %119 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef %6, double noundef 0.000000e+00) #56 + %120 = fneg double %119 + %121 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef %6, double noundef %120) #56 + %122 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %118, double noundef %6, double noundef %121) #56 + %123 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef %19, double noundef %122) #56 + %124 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %119, double noundef 1.000000e+00, double noundef 0x3D8522A4494E58E7) #56 + %125 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef 1.000000e+00, double noundef 0xBD8522A4494E58E7) #56 + %126 = fneg double %125 + %127 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %119, double noundef 1.000000e+00, double noundef %126) #56 + %128 = fadd double %123, 0xBA27499B3E3DA80D + %129 = fadd double %128, %127 + %130 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef %6, double noundef 0.000000e+00) #56 + %131 = fneg double %130 + %132 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef %6, double noundef %131) #56 + %133 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %129, double noundef %6, double noundef %132) #56 + %134 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef %19, double noundef %133) #56 + %135 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %130, double noundef 1.000000e+00, double noundef 0x3E002E85BFE90145) #56 + %136 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef 1.000000e+00, double noundef 0xBE002E85BFE90145) #56 + %137 = fneg double %136 + %138 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %130, double noundef 1.000000e+00, double noundef %137) #56 + %139 = fadd double %134, 0xBA8F416FAD33A992 + %140 = fadd double %139, %138 + %141 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %6, double noundef 0.000000e+00) #56 + %142 = fneg double %141 + %143 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %6, double noundef %142) #56 + %144 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %140, double noundef %6, double noundef %143) #56 + %145 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef %19, double noundef %144) #56 + %146 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %141, double noundef 1.000000e+00, double noundef 0x3E72345678A85F56) #56 + %147 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef 1.000000e+00, double noundef 0xBE72345678A85F56) #56 + %148 = fneg double %147 + %149 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %141, double noundef 1.000000e+00, double noundef %148) #56 + %150 = fadd double %145, 0xBB1952CF1CEF4754 + %151 = fadd double %150, %149 + %152 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef %6, double noundef 0.000000e+00) #56 + %153 = fneg double %152 + %154 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef %6, double noundef %153) #56 + %155 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef %6, double noundef %154) #56 + %156 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef %19, double noundef %155) #56 + %157 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %152) #56 + %158 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3EDC71C71C7050A5) #56 + %159 = fcmp ole double %157, %158 + %160 = select i1 %159, double 0x3EDC71C71C7050A5, double %152 + %161 = select i1 %159, double %152, double 0x3EDC71C71C7050A5 + %162 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %161, double noundef 1.000000e+00, double noundef %160) #56 + %163 = fneg double %160 + %164 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef 1.000000e+00, double noundef %163) #56 + %165 = fneg double %164 + %166 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %161, double noundef 1.000000e+00, double noundef %165) #56 + %167 = fadd double %156, 0xBB6BE7A2AF6A8856 + %168 = fadd double %167, %166 + %169 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %6, double noundef 0.000000e+00) #56 + %170 = fneg double %169 + %171 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %6, double noundef %170) #56 + %172 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %168, double noundef %6, double noundef %171) #56 + %173 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %19, double noundef %172) #56 + %174 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %169) #56 + %175 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3F3C71C71C71DE3D) #56 + %176 = fcmp ole double %174, %175 + %177 = select i1 %176, double 0x3F3C71C71C71DE3D, double %169 + %178 = select i1 %176, double %169, double 0x3F3C71C71C71DE3D + %179 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef 1.000000e+00, double noundef %177) #56 + %180 = fneg double %177 + %181 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %179, double noundef 1.000000e+00, double noundef %180) #56 + %182 = fneg double %181 + %183 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef 1.000000e+00, double noundef %182) #56 + %184 = fadd double %173, 0x3BDAB29C3767A465 + %185 = fadd double %184, %183 + %186 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %179, double noundef %6, double noundef 0.000000e+00) #56 + %187 = fneg double %186 + %188 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %179, double noundef %6, double noundef %187) #56 + %189 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %185, double noundef %6, double noundef %188) #56 + %190 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %179, double noundef %19, double noundef %189) #56 + %191 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %186) #56 + %192 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3F8FFFFFFFFFFE97) #56 + %193 = fcmp ole double %191, %192 + %194 = select i1 %193, double 0x3F8FFFFFFFFFFE97, double %186 + %195 = select i1 %193, double %186, double 0x3F8FFFFFFFFFFE97 + %196 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef 1.000000e+00, double noundef %194) #56 + %197 = fneg double %194 + %198 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %196, double noundef 1.000000e+00, double noundef %197) #56 + %199 = fneg double %198 + %200 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef 1.000000e+00, double noundef %199) #56 + %201 = fadd double %190, 0xBC14CEDEC48A206A + %202 = fadd double %201, %200 + %203 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %196, double noundef %6, double noundef 0.000000e+00) #56 + %204 = fneg double %203 + %205 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %196, double noundef %6, double noundef %204) #56 + %206 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %202, double noundef %6, double noundef %205) #56 + %207 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %196, double noundef %19, double noundef %206) #56 + %208 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %203) #56 + %209 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3FD0000000000008) #56 + %210 = fcmp ole double %208, %209 + %211 = select i1 %210, double 0x3FD0000000000008, double %203 + %212 = select i1 %210, double %203, double 0x3FD0000000000008 + %213 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef 1.000000e+00, double noundef %211) #56 + %214 = fneg double %211 + %215 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %213, double noundef 1.000000e+00, double noundef %214) #56 + %216 = fneg double %215 + %217 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef 1.000000e+00, double noundef %216) #56 + %218 = fadd double %207, 0x3C50CA92E834D05A + %219 = fadd double %218, %217 + %220 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %213, double noundef %6, double noundef 0.000000e+00) #56 + %221 = fneg double %220 + %222 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %213, double noundef %6, double noundef %221) #56 + %223 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %219, double noundef %6, double noundef %222) #56 + %224 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %213, double noundef %19, double noundef %223) #56 + %225 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %220, double noundef 1.000000e+00, double noundef 1.000000e+00) #56 + %226 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %225, double noundef 1.000000e+00, double noundef -1.000000e+00) #56 + %227 = fneg double %226 + %228 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %220, double noundef 1.000000e+00, double noundef %227) #56 + %229 = fadd double %224, 0xBC8BD4452EA5C4D2 + %230 = fadd double %229, %228 + %231 = fadd double %225, %230 + store double %231, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1024 + +232: ; preds = %2 + %233 = fcmp ugt double %3, 7.140000e+02 + br i1 %233, label %1022, label %234 + +234: ; preds = %232 + %235 = fcmp ugt double %3, 1.500000e+02 + br i1 %235, label %680, label %236 + +236: ; preds = %234 + %237 = fcmp ole double %3, 4.200000e+01 + %238 = select i1 %237, double 0x3AE32CCDCDA0DB3D, double 0x375B0D7BB5B6B682 + %239 = select i1 %237, double 0xBB7F3CCC7B98F7BD, double 0xB8139BDDEBE3FAE3 + %240 = select i1 %237, double 0x3C087E9B8B8642E6, double 0x38BB5D41969FAED9 + %241 = select i1 %237, double 0xBC889FD6ED970861, double 0xB9587A3A97B5E6CA + %242 = select i1 %237, double 0x3D01D445ABB726D6, double 0x39EF89A54E369ADA + %243 = select i1 %237, double 0xBD73CECB3E9A5B42, double 0xBA7F2C639C96BA28 + %244 = select i1 %237, double 0x3DE18F8F06934AD9, double 0x3B08969839F26CF2 + %245 = select i1 %237, double 0xBE49847D109B17AC, double 0xBB8FC974CBE95F30 + %246 = select i1 %237, double 0x3EAEF7CCAD85E621, double 0x3C1128EB81C17485 + %247 = select i1 %237, double 0xBF0FD407E25B1B41, double 0xBC8F617E63CF3528 + %248 = select i1 %237, double 0x3F6BFE9D214C2FAC, double 0x3D088E4B43E5CBA0 + %249 = select i1 %237, double 0xBFC53D129D5710D5, double 0xBD80932D7D8A43B2 + %250 = select i1 %237, double 0x401BF66670C41BCE, double 0x3DF36AAADCD30A09 + %251 = select i1 %237, double 0xC0700AD5C97FECD4, double 0xBE63D3273E21566F + %252 = select i1 %237, double 0x40C0176379EC1452, double 0x3ED1B27C2A2F19E3 + %253 = select i1 %237, double 0xC10C4638FAFF0E9F, double 0xBF3BADD60A90264C + %254 = select i1 %237, double 0x4155C6DB6B4D9AAA, double 0x3FA2FAF418CA43B1 + %255 = select i1 %237, double 0xC19D679BD748B61C, double 0xC006D332750A2C8A + %256 = select i1 %237, double 0x41E1621B282C8012, double 0x40680B5DAA06CEBD + %257 = select i1 %237, double 0xC221F562C2B29A8B, double 0xC0C624B0C463B381 + %258 = select i1 %237, double 0x4260287A47789379, double 0x4121C5C1C2C0552E + %259 = select i1 %237, double 0xC299352CBEB3E92C, double 0xC178C154CE789240 + %260 = select i1 %237, double 0x42D0F13F06ACE3B5, double 0x41CDBEF951759D5D + %261 = select i1 %237, double 0xC30377233A478ADB, double 0xC21E993E5BBBC953 + %262 = select i1 %237, double 0x4332E9CFC947F9DA, double 0x426AAD63101F2AB7 + %263 = select i1 %237, double 0xC35EA6BEAB10939A, double 0xC2B374EF62B81807 + %264 = select i1 %237, double 0x4384546B2D6B004C, double 0x42F75623D9AD4452 + %265 = select i1 %237, double 0xC3A584F465B7516D, double 0xC3367E6B7D39FEAF + %266 = select i1 %237, double 0x43C18DD4D4378C66, double 0x4370E978556D3419 + %267 = select i1 %237, double 0xC3D52853B1289936, double 0xC3A33E6642351938 + %268 = select i1 %237, double 0x43E44FB89E1C5100, double 0x43D29BDF34B36A85 + %269 = select i1 %237, double 0x374B921EDC20D9E8, double 0xB3F8E88C035BDE3B + %270 = select i1 %237, double 0xB81B2EE04E08058E, double 0xB496A9B128F4A4F6 + %271 = select i1 %237, double 0xB896D9A1E207F9E3, double 0x34F8556214334F69 + %272 = select i1 %237, double 0xB8FD1CEDC3E48612, double 0x35F23D7B8062BE3B + %273 = select i1 %237, double 0x397B8DB52C18B1D0, double 0xB684424003FFC5E2 + %274 = select i1 %237, double 0xBA04EE65E11033E9, double 0x37106D19BE975CAF + %275 = select i1 %237, double 0xBA64F226D35C63E9, double 0x37ABD0B796255B0D + %276 = select i1 %237, double 0xBADBBFF335C9E685, double 0xB80679ED02E5E9AE + %277 = select i1 %237, double 0x3B4A04A98E72D6D1, double 0x38B74FE959C3F946 + %278 = select i1 %237, double 0x3B91A418EF33FCD4, double 0x3911AF60379E5F60 + %279 = select i1 %237, double 0x3C0CC9B837857B95, double 0xB9AE0906B6D1CB02 + %280 = select i1 %237, double 0x3C23A637D3B6E185, double 0xBA19DC7FC78994B2 + %281 = select i1 %237, double 0x3CAA67FD588314EA, double 0x3A9586FA743B8F76 + %282 = select i1 %237, double 0x3D1E0A726F62FAAB, double 0xBAF3D4C2F0629D37 + %283 = select i1 %237, double 0xBD6EDD5D3C629BD9, double 0x3B6A041B8C6894E9 + %284 = select i1 %237, double 0xBD6A6F1E8B1BC105, double 0x3BDC97B919261698 + %285 = select i1 %237, double 0xBDFE2FDAAD76A84E, double 0xBC3BAA64151206D5 + %286 = select i1 %237, double 0x3E349AEE6EDD7A47, double 0x3C713F98BB99B4E9 + %287 = select i1 %237, double 0x3E7142DEC9383301, double 0xBD01AB1DBE739215 + %288 = select i1 %237, double 0xBEC685C61EBBCA9D, double 0xBD53632FBCC9D916 + %289 = select i1 %237, double 0x3ED1CBA74E44C7D6, double 0xBDC4B2E1A53B7083 + %290 = select i1 %237, double 0x3F275D566349855F, double 0xBE126E744115E9A6 + %291 = select i1 %237, double 0xBF6813D6427DE3BF, double 0x3E48846504DBD172 + %292 = select i1 %237, double 0xBFAB07CCF31C6F75, double 0xBEBF5686235FE271 + %293 = select i1 %237, double 0x3FB81076E6CAE19A, double 0xBEFC58192A28AF71 + %294 = select i1 %237, double 0x3FFA763B5788BFDF, double 0x3F5F95951A21EDB2 + %295 = select i1 %237, double 0xC02DF8AA00EACFB6, double 0xBF9D03E1AAA2BC9F + %296 = select i1 %237, double 0xC01918701D04A363, double 0xBFCBA770B7F49827 + %297 = select i1 %237, double 0xC0412ECE78FCDA19, double 0x401FEC8A885F60DD + %298 = select i1 %237, double 0xC0757CF48C88A8C1, double 0xC02A64E692215BD2 + %299 = select i1 %237, double 0x4086D1DC8A2221A2, double 0xC07A7F2818CE87A2 + %300 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %238, double noundef %3, double noundef 0.000000e+00) #56 + %301 = fneg double %300 + %302 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %238, double noundef %3, double noundef %301) #56 + %303 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %269, double noundef %3, double noundef %302) #56 + %304 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %300, double noundef 1.000000e+00, double noundef %239) #56 + %305 = fneg double %239 + %306 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %304, double noundef 1.000000e+00, double noundef %305) #56 + %307 = fneg double %306 + %308 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %300, double noundef 1.000000e+00, double noundef %307) #56 + %309 = fadd double %303, %270 + %310 = fadd double %309, %308 + %311 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %304, double noundef %3, double noundef 0.000000e+00) #56 + %312 = fneg double %311 + %313 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %304, double noundef %3, double noundef %312) #56 + %314 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %310, double noundef %3, double noundef %313) #56 + %315 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %311, double noundef 1.000000e+00, double noundef %240) #56 + %316 = fneg double %240 + %317 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %315, double noundef 1.000000e+00, double noundef %316) #56 + %318 = fneg double %317 + %319 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %311, double noundef 1.000000e+00, double noundef %318) #56 + %320 = fadd double %314, %271 + %321 = fadd double %320, %319 + %322 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %315, double noundef %3, double noundef 0.000000e+00) #56 + %323 = fneg double %322 + %324 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %315, double noundef %3, double noundef %323) #56 + %325 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %321, double noundef %3, double noundef %324) #56 + %326 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %322, double noundef 1.000000e+00, double noundef %241) #56 + %327 = fneg double %241 + %328 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %326, double noundef 1.000000e+00, double noundef %327) #56 + %329 = fneg double %328 + %330 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %322, double noundef 1.000000e+00, double noundef %329) #56 + %331 = fadd double %325, %272 + %332 = fadd double %331, %330 + %333 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %326, double noundef %3, double noundef 0.000000e+00) #56 + %334 = fneg double %333 + %335 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %326, double noundef %3, double noundef %334) #56 + %336 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %332, double noundef %3, double noundef %335) #56 + %337 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %333, double noundef 1.000000e+00, double noundef %242) #56 + %338 = fneg double %242 + %339 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %337, double noundef 1.000000e+00, double noundef %338) #56 + %340 = fneg double %339 + %341 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %333, double noundef 1.000000e+00, double noundef %340) #56 + %342 = fadd double %336, %273 + %343 = fadd double %342, %341 + %344 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %337, double noundef %3, double noundef 0.000000e+00) #56 + %345 = fneg double %344 + %346 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %337, double noundef %3, double noundef %345) #56 + %347 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %343, double noundef %3, double noundef %346) #56 + %348 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %344, double noundef 1.000000e+00, double noundef %243) #56 + %349 = fneg double %243 + %350 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %348, double noundef 1.000000e+00, double noundef %349) #56 + %351 = fneg double %350 + %352 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %344, double noundef 1.000000e+00, double noundef %351) #56 + %353 = fadd double %347, %274 + %354 = fadd double %353, %352 + %355 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %348, double noundef %3, double noundef 0.000000e+00) #56 + %356 = fneg double %355 + %357 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %348, double noundef %3, double noundef %356) #56 + %358 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %354, double noundef %3, double noundef %357) #56 + %359 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %355, double noundef 1.000000e+00, double noundef %244) #56 + %360 = fneg double %244 + %361 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %359, double noundef 1.000000e+00, double noundef %360) #56 + %362 = fneg double %361 + %363 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %355, double noundef 1.000000e+00, double noundef %362) #56 + %364 = fadd double %358, %275 + %365 = fadd double %364, %363 + %366 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %359, double noundef %3, double noundef 0.000000e+00) #56 + %367 = fneg double %366 + %368 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %359, double noundef %3, double noundef %367) #56 + %369 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %365, double noundef %3, double noundef %368) #56 + %370 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %366, double noundef 1.000000e+00, double noundef %245) #56 + %371 = fneg double %245 + %372 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %370, double noundef 1.000000e+00, double noundef %371) #56 + %373 = fneg double %372 + %374 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %366, double noundef 1.000000e+00, double noundef %373) #56 + %375 = fadd double %369, %276 + %376 = fadd double %375, %374 + %377 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %370, double noundef %3, double noundef 0.000000e+00) #56 + %378 = fneg double %377 + %379 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %370, double noundef %3, double noundef %378) #56 + %380 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %376, double noundef %3, double noundef %379) #56 + %381 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %377, double noundef 1.000000e+00, double noundef %246) #56 + %382 = fneg double %246 + %383 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %381, double noundef 1.000000e+00, double noundef %382) #56 + %384 = fneg double %383 + %385 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %377, double noundef 1.000000e+00, double noundef %384) #56 + %386 = fadd double %380, %277 + %387 = fadd double %386, %385 + %388 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %381, double noundef %3, double noundef 0.000000e+00) #56 + %389 = fneg double %388 + %390 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %381, double noundef %3, double noundef %389) #56 + %391 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %387, double noundef %3, double noundef %390) #56 + %392 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %388, double noundef 1.000000e+00, double noundef %247) #56 + %393 = fneg double %247 + %394 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %392, double noundef 1.000000e+00, double noundef %393) #56 + %395 = fneg double %394 + %396 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %388, double noundef 1.000000e+00, double noundef %395) #56 + %397 = fadd double %391, %278 + %398 = fadd double %397, %396 + %399 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %392, double noundef %3, double noundef 0.000000e+00) #56 + %400 = fneg double %399 + %401 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %392, double noundef %3, double noundef %400) #56 + %402 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %398, double noundef %3, double noundef %401) #56 + %403 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %399, double noundef 1.000000e+00, double noundef %248) #56 + %404 = fneg double %248 + %405 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %403, double noundef 1.000000e+00, double noundef %404) #56 + %406 = fneg double %405 + %407 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %399, double noundef 1.000000e+00, double noundef %406) #56 + %408 = fadd double %402, %279 + %409 = fadd double %408, %407 + %410 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %403, double noundef %3, double noundef 0.000000e+00) #56 + %411 = fneg double %410 + %412 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %403, double noundef %3, double noundef %411) #56 + %413 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %409, double noundef %3, double noundef %412) #56 + %414 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %410, double noundef 1.000000e+00, double noundef %249) #56 + %415 = fneg double %249 + %416 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %414, double noundef 1.000000e+00, double noundef %415) #56 + %417 = fneg double %416 + %418 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %410, double noundef 1.000000e+00, double noundef %417) #56 + %419 = fadd double %413, %280 + %420 = fadd double %419, %418 + %421 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %414, double noundef %3, double noundef 0.000000e+00) #56 + %422 = fneg double %421 + %423 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %414, double noundef %3, double noundef %422) #56 + %424 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %420, double noundef %3, double noundef %423) #56 + %425 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %421, double noundef 1.000000e+00, double noundef %250) #56 + %426 = fneg double %250 + %427 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %425, double noundef 1.000000e+00, double noundef %426) #56 + %428 = fneg double %427 + %429 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %421, double noundef 1.000000e+00, double noundef %428) #56 + %430 = fadd double %424, %281 + %431 = fadd double %430, %429 + %432 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %425, double noundef %3, double noundef 0.000000e+00) #56 + %433 = fneg double %432 + %434 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %425, double noundef %3, double noundef %433) #56 + %435 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %431, double noundef %3, double noundef %434) #56 + %436 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %432, double noundef 1.000000e+00, double noundef %251) #56 + %437 = fneg double %251 + %438 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %436, double noundef 1.000000e+00, double noundef %437) #56 + %439 = fneg double %438 + %440 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %432, double noundef 1.000000e+00, double noundef %439) #56 + %441 = fadd double %435, %282 + %442 = fadd double %441, %440 + %443 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %436, double noundef %3, double noundef 0.000000e+00) #56 + %444 = fneg double %443 + %445 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %436, double noundef %3, double noundef %444) #56 + %446 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %442, double noundef %3, double noundef %445) #56 + %447 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %443, double noundef 1.000000e+00, double noundef %252) #56 + %448 = fneg double %252 + %449 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %447, double noundef 1.000000e+00, double noundef %448) #56 + %450 = fneg double %449 + %451 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %443, double noundef 1.000000e+00, double noundef %450) #56 + %452 = fadd double %446, %283 + %453 = fadd double %452, %451 + %454 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %447, double noundef %3, double noundef 0.000000e+00) #56 + %455 = fneg double %454 + %456 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %447, double noundef %3, double noundef %455) #56 + %457 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %453, double noundef %3, double noundef %456) #56 + %458 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %454, double noundef 1.000000e+00, double noundef %253) #56 + %459 = fneg double %253 + %460 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %458, double noundef 1.000000e+00, double noundef %459) #56 + %461 = fneg double %460 + %462 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %454, double noundef 1.000000e+00, double noundef %461) #56 + %463 = fadd double %457, %284 + %464 = fadd double %463, %462 + %465 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %458, double noundef %3, double noundef 0.000000e+00) #56 + %466 = fneg double %465 + %467 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %458, double noundef %3, double noundef %466) #56 + %468 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %464, double noundef %3, double noundef %467) #56 + %469 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %465, double noundef 1.000000e+00, double noundef %254) #56 + %470 = fneg double %254 + %471 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %469, double noundef 1.000000e+00, double noundef %470) #56 + %472 = fneg double %471 + %473 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %465, double noundef 1.000000e+00, double noundef %472) #56 + %474 = fadd double %468, %285 + %475 = fadd double %474, %473 + %476 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %469, double noundef %3, double noundef 0.000000e+00) #56 + %477 = fneg double %476 + %478 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %469, double noundef %3, double noundef %477) #56 + %479 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %475, double noundef %3, double noundef %478) #56 + %480 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %476, double noundef 1.000000e+00, double noundef %255) #56 + %481 = fneg double %255 + %482 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %480, double noundef 1.000000e+00, double noundef %481) #56 + %483 = fneg double %482 + %484 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %476, double noundef 1.000000e+00, double noundef %483) #56 + %485 = fadd double %479, %286 + %486 = fadd double %485, %484 + %487 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %480, double noundef %3, double noundef 0.000000e+00) #56 + %488 = fneg double %487 + %489 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %480, double noundef %3, double noundef %488) #56 + %490 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %486, double noundef %3, double noundef %489) #56 + %491 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %487, double noundef 1.000000e+00, double noundef %256) #56 + %492 = fneg double %256 + %493 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %491, double noundef 1.000000e+00, double noundef %492) #56 + %494 = fneg double %493 + %495 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %487, double noundef 1.000000e+00, double noundef %494) #56 + %496 = fadd double %490, %287 + %497 = fadd double %496, %495 + %498 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %491, double noundef %3, double noundef 0.000000e+00) #56 + %499 = fneg double %498 + %500 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %491, double noundef %3, double noundef %499) #56 + %501 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %497, double noundef %3, double noundef %500) #56 + %502 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %498, double noundef 1.000000e+00, double noundef %257) #56 + %503 = fneg double %257 + %504 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %502, double noundef 1.000000e+00, double noundef %503) #56 + %505 = fneg double %504 + %506 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %498, double noundef 1.000000e+00, double noundef %505) #56 + %507 = fadd double %501, %288 + %508 = fadd double %507, %506 + %509 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %502, double noundef %3, double noundef 0.000000e+00) #56 + %510 = fneg double %509 + %511 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %502, double noundef %3, double noundef %510) #56 + %512 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %508, double noundef %3, double noundef %511) #56 + %513 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %509, double noundef 1.000000e+00, double noundef %258) #56 + %514 = fneg double %258 + %515 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %513, double noundef 1.000000e+00, double noundef %514) #56 + %516 = fneg double %515 + %517 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %509, double noundef 1.000000e+00, double noundef %516) #56 + %518 = fadd double %512, %289 + %519 = fadd double %518, %517 + %520 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %513, double noundef %3, double noundef 0.000000e+00) #56 + %521 = fneg double %520 + %522 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %513, double noundef %3, double noundef %521) #56 + %523 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %519, double noundef %3, double noundef %522) #56 + %524 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %520, double noundef 1.000000e+00, double noundef %259) #56 + %525 = fneg double %259 + %526 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %524, double noundef 1.000000e+00, double noundef %525) #56 + %527 = fneg double %526 + %528 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %520, double noundef 1.000000e+00, double noundef %527) #56 + %529 = fadd double %523, %290 + %530 = fadd double %529, %528 + %531 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %524, double noundef %3, double noundef 0.000000e+00) #56 + %532 = fneg double %531 + %533 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %524, double noundef %3, double noundef %532) #56 + %534 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %530, double noundef %3, double noundef %533) #56 + %535 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %531, double noundef 1.000000e+00, double noundef %260) #56 + %536 = fneg double %260 + %537 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %535, double noundef 1.000000e+00, double noundef %536) #56 + %538 = fneg double %537 + %539 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %531, double noundef 1.000000e+00, double noundef %538) #56 + %540 = fadd double %534, %291 + %541 = fadd double %540, %539 + %542 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %535, double noundef %3, double noundef 0.000000e+00) #56 + %543 = fneg double %542 + %544 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %535, double noundef %3, double noundef %543) #56 + %545 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %541, double noundef %3, double noundef %544) #56 + %546 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %542, double noundef 1.000000e+00, double noundef %261) #56 + %547 = fneg double %261 + %548 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %546, double noundef 1.000000e+00, double noundef %547) #56 + %549 = fneg double %548 + %550 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %542, double noundef 1.000000e+00, double noundef %549) #56 + %551 = fadd double %545, %292 + %552 = fadd double %551, %550 + %553 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %546, double noundef %3, double noundef 0.000000e+00) #56 + %554 = fneg double %553 + %555 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %546, double noundef %3, double noundef %554) #56 + %556 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %552, double noundef %3, double noundef %555) #56 + %557 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %553, double noundef 1.000000e+00, double noundef %262) #56 + %558 = fneg double %262 + %559 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %557, double noundef 1.000000e+00, double noundef %558) #56 + %560 = fneg double %559 + %561 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %553, double noundef 1.000000e+00, double noundef %560) #56 + %562 = fadd double %556, %293 + %563 = fadd double %562, %561 + %564 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %557, double noundef %3, double noundef 0.000000e+00) #56 + %565 = fneg double %564 + %566 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %557, double noundef %3, double noundef %565) #56 + %567 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %563, double noundef %3, double noundef %566) #56 + %568 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %564, double noundef 1.000000e+00, double noundef %263) #56 + %569 = fneg double %263 + %570 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %568, double noundef 1.000000e+00, double noundef %569) #56 + %571 = fneg double %570 + %572 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %564, double noundef 1.000000e+00, double noundef %571) #56 + %573 = fadd double %567, %294 + %574 = fadd double %573, %572 + %575 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %568, double noundef %3, double noundef 0.000000e+00) #56 + %576 = fneg double %575 + %577 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %568, double noundef %3, double noundef %576) #56 + %578 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %574, double noundef %3, double noundef %577) #56 + %579 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %575) #56 + %580 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %264) #56 + %581 = fcmp ole double %579, %580 + %582 = select i1 %581, double %264, double %575 + %583 = select i1 %581, double %575, double %264 + %584 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %583, double noundef 1.000000e+00, double noundef %582) #56 + %585 = fneg double %582 + %586 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %584, double noundef 1.000000e+00, double noundef %585) #56 + %587 = fneg double %586 + %588 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %583, double noundef 1.000000e+00, double noundef %587) #56 + %589 = fadd double %578, %295 + %590 = fadd double %589, %588 + %591 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %584, double noundef 1.000000e+00, double noundef %590) #56 + %592 = fneg double %584 + %593 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %591, double noundef 1.000000e+00, double noundef %592) #56 + %594 = fneg double %593 + %595 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %590, double noundef 1.000000e+00, double noundef %594) #56 + %596 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %591, double noundef %3, double noundef 0.000000e+00) #56 + %597 = fneg double %596 + %598 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %591, double noundef %3, double noundef %597) #56 + %599 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %595, double noundef %3, double noundef %598) #56 + %600 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %596) #56 + %601 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %265) #56 + %602 = fcmp ole double %600, %601 + %603 = select i1 %602, double %265, double %596 + %604 = select i1 %602, double %596, double %265 + %605 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %604, double noundef 1.000000e+00, double noundef %603) #56 + %606 = fneg double %603 + %607 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %605, double noundef 1.000000e+00, double noundef %606) #56 + %608 = fneg double %607 + %609 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %604, double noundef 1.000000e+00, double noundef %608) #56 + %610 = fadd double %599, %296 + %611 = fadd double %610, %609 + %612 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %605, double noundef 1.000000e+00, double noundef %611) #56 + %613 = fneg double %605 + %614 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %612, double noundef 1.000000e+00, double noundef %613) #56 + %615 = fneg double %614 + %616 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %611, double noundef 1.000000e+00, double noundef %615) #56 + %617 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %612, double noundef %3, double noundef 0.000000e+00) #56 + %618 = fneg double %617 + %619 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %612, double noundef %3, double noundef %618) #56 + %620 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %616, double noundef %3, double noundef %619) #56 + %621 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %617) #56 + %622 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %266) #56 + %623 = fcmp ole double %621, %622 + %624 = select i1 %623, double %266, double %617 + %625 = select i1 %623, double %617, double %266 + %626 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %625, double noundef 1.000000e+00, double noundef %624) #56 + %627 = fneg double %624 + %628 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %626, double noundef 1.000000e+00, double noundef %627) #56 + %629 = fneg double %628 + %630 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %625, double noundef 1.000000e+00, double noundef %629) #56 + %631 = fadd double %620, %297 + %632 = fadd double %631, %630 + %633 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %626, double noundef 1.000000e+00, double noundef %632) #56 + %634 = fneg double %626 + %635 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %633, double noundef 1.000000e+00, double noundef %634) #56 + %636 = fneg double %635 + %637 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %632, double noundef 1.000000e+00, double noundef %636) #56 + %638 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %633, double noundef %3, double noundef 0.000000e+00) #56 + %639 = fneg double %638 + %640 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %633, double noundef %3, double noundef %639) #56 + %641 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %637, double noundef %3, double noundef %640) #56 + %642 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %638) #56 + %643 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %267) #56 + %644 = fcmp ole double %642, %643 + %645 = select i1 %644, double %267, double %638 + %646 = select i1 %644, double %638, double %267 + %647 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %646, double noundef 1.000000e+00, double noundef %645) #56 + %648 = fneg double %645 + %649 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %647, double noundef 1.000000e+00, double noundef %648) #56 + %650 = fneg double %649 + %651 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %646, double noundef 1.000000e+00, double noundef %650) #56 + %652 = fadd double %641, %298 + %653 = fadd double %652, %651 + %654 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %647, double noundef 1.000000e+00, double noundef %653) #56 + %655 = fneg double %647 + %656 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %654, double noundef 1.000000e+00, double noundef %655) #56 + %657 = fneg double %656 + %658 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %653, double noundef 1.000000e+00, double noundef %657) #56 + %659 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %654, double noundef %3, double noundef 0.000000e+00) #56 + %660 = fneg double %659 + %661 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %654, double noundef %3, double noundef %660) #56 + %662 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %658, double noundef %3, double noundef %661) #56 + %663 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %659) #56 + %664 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %268) #56 + %665 = fcmp ole double %663, %664 + %666 = select i1 %665, double %268, double %659 + %667 = select i1 %665, double %659, double %268 + %668 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %667, double noundef 1.000000e+00, double noundef %666) #56 + %669 = fneg double %666 + %670 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %668, double noundef 1.000000e+00, double noundef %669) #56 + %671 = fneg double %670 + %672 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %667, double noundef 1.000000e+00, double noundef %671) #56 + %673 = fadd double %662, %299 + %674 = fadd double %673, %672 + %675 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %668, double noundef 1.000000e+00, double noundef %674) #56 + %676 = fneg double %668 + %677 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %675, double noundef 1.000000e+00, double noundef %676) #56 + %678 = fneg double %677 + %679 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %674, double noundef 1.000000e+00, double noundef %678) #56 + br label %988 + +680: ; preds = %234 + %681 = fcmp ole double %3, 3.250000e+02 + %682 = select i1 %681, double 0xC3A1A80B9E17E5C8, double 0xC21D86CF07155B2A + %683 = select i1 %681, double 0x43E682C36B12751D, double 0x427495C7C82BA86D + %684 = select i1 %681, double 0xC41B4F2D72EED093, double 0xC2BB4F242967835B + %685 = select i1 %681, double 0x4444F8120329B0C2, double 0x42F6ED91469AAF51 + %686 = select i1 %681, double 0xC466DEFC5DC014B5, double 0xC32B57584C7107AF + %687 = select i1 %681, double 0x4482D8A6D0CF5655, double 0x4358A121699740F0 + %688 = select i1 %681, double 0xC4985E2A27194F27, double 0xC3816793CA2F6E11 + %689 = select i1 %681, double 0x44A9566754738E2B, double 0x43A3C784429B5678 + %690 = select i1 %681, double 0xC4B58B5EAA907975, double 0xC3C2612D3AE58EF6 + %691 = select i1 %681, double 0x44BE4D899885F28F, double 0x43DC3F876D8FA511 + %692 = select i1 %681, double 0xC4C1C1A7C80DE049, double 0xC3F215C685084A5E + %693 = select i1 %681, double 0x44C16974DCEF28D0, double 0x44035FC2694D7B57 + %694 = select i1 %681, double 0xC4BC9D9F5B6FFCE7, double 0xC41163F86BE9D088 + %695 = select i1 %681, double 0x44B3AEF1E4DA1D1C, double 0x441A219056D58755 + %696 = select i1 %681, double 0xC4A69527743FDDAE, double 0xC4205F0CB7AADCC1 + %697 = select i1 %681, double 0x449576AB1F46EDF4, double 0x4420FE0E7BA37B73 + %698 = select i1 %681, double 0xC480BA6C6D4E61EE, double 0xC41CEC71A2F759F9 + %699 = select i1 %681, double 0x44651210A8564D89, double 0x4413E41F6BAA3631 + %700 = select i1 %681, double 0xC44503015E30F68F, double 0xC405A92E4E156D45 + %701 = select i1 %681, double 0x4420249FC0D24E2F, double 0x43F22D44514CBFCC + %702 = select i1 %681, double 0xC3F29C3701D3A565, double 0xC3D6E6BC330F2AF2 + %703 = select i1 %681, double 0x43C2402F5E527C0B, double 0x43B8985F31561C22 + %704 = select i1 %681, double 0x4034935D1BB2CF61, double 0x3EAD7F7BDEC3E24E + %705 = select i1 %681, double 0xC07ADA54379EB750, double 0x3F0D29D8D7E9BB5F + %706 = select i1 %681, double 0xC0A08BF811C38911, double 0xBF2D4375981C8975 + %707 = select i1 %681, double 0xC0C06791F1B16D1D, double 0xBF94D4AFAE2081ED + %708 = select i1 %681, double 0xC10C7969DCEBE222, double 0xBFCBC9FEB0BE6A04 + %709 = select i1 %681, double 0x4126D4382A7B15AA, double 0xBFCE675B1FC80449 + %710 = select i1 %681, double 0xC13A676E4017443E, double 0xC00FB0360C2E5C66 + %711 = select i1 %681, double 0xC144CB45163FDF06, double 0x40373A8616AB81BF + %712 = select i1 %681, double 0xC1496A33E5BB3BB2, double 0xC050549AC97F1FE4 + %713 = select i1 %681, double 0xC150F2062428104C, double 0xC0593728E5D9C288 + %714 = select i1 %681, double 0x415B2F213CECF17A, double 0x409A271F75B7BC10 + %715 = select i1 %681, double 0x414F740E3777B85E, double 0x40A9A143577C234C + %716 = select i1 %681, double 0xC141906DF37A4ACE, double 0xC0A1CBAF03501956 + %717 = select i1 %681, double 0x414F04D715622F0D, double 0x40AC7499A4180FF4 + %718 = select i1 %681, double 0x4147A46B1ACC1A8B, double 0xC0A5860417ACB1BB + %719 = select i1 %681, double 0x41363B5763705267, double 0xC0B04B6633220F66 + %720 = select i1 %681, double 0x411310B817C43C19, double 0xC0982953F5909319 + %721 = select i1 %681, double 0xC10DC915DCBADACF, double 0x40BC712FFEEF973C + %722 = select i1 %681, double 0x40DCFB1CC7AC301A, double 0xC0AA7475366EAB36 + %723 = select i1 %681, double 0xC0B6E861295C5B3E, double 0x4087D4D3EE736C19 + %724 = select i1 %681, double 0x4091F37DA75F0245, double 0x407223EC109516E1 + %725 = select i1 %681, double 0xC033A4D2328B15C2, double 0x405DB11D07165EF2 + %726 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %3, double noundef 3.906250e-03, double noundef 0.000000e+00) #56 + %727 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %682, double noundef %726, double noundef 0.000000e+00) #56 + %728 = fneg double %727 + %729 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %682, double noundef %726, double noundef %728) #56 + %730 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %704, double noundef %726, double noundef %729) #56 + %731 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %727, double noundef 1.000000e+00, double noundef %683) #56 + %732 = fneg double %683 + %733 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %731, double noundef 1.000000e+00, double noundef %732) #56 + %734 = fneg double %733 + %735 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %727, double noundef 1.000000e+00, double noundef %734) #56 + %736 = fadd double %730, %705 + %737 = fadd double %736, %735 + %738 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %731, double noundef %726, double noundef 0.000000e+00) #56 + %739 = fneg double %738 + %740 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %731, double noundef %726, double noundef %739) #56 + %741 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %737, double noundef %726, double noundef %740) #56 + %742 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %738, double noundef 1.000000e+00, double noundef %684) #56 + %743 = fneg double %684 + %744 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %742, double noundef 1.000000e+00, double noundef %743) #56 + %745 = fneg double %744 + %746 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %738, double noundef 1.000000e+00, double noundef %745) #56 + %747 = fadd double %741, %706 + %748 = fadd double %747, %746 + %749 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %742, double noundef %726, double noundef 0.000000e+00) #56 + %750 = fneg double %749 + %751 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %742, double noundef %726, double noundef %750) #56 + %752 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %748, double noundef %726, double noundef %751) #56 + %753 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %749, double noundef 1.000000e+00, double noundef %685) #56 + %754 = fneg double %685 + %755 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %753, double noundef 1.000000e+00, double noundef %754) #56 + %756 = fneg double %755 + %757 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %749, double noundef 1.000000e+00, double noundef %756) #56 + %758 = fadd double %752, %707 + %759 = fadd double %758, %757 + %760 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %753, double noundef %726, double noundef 0.000000e+00) #56 + %761 = fneg double %760 + %762 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %753, double noundef %726, double noundef %761) #56 + %763 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %759, double noundef %726, double noundef %762) #56 + %764 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %760, double noundef 1.000000e+00, double noundef %686) #56 + %765 = fneg double %686 + %766 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %764, double noundef 1.000000e+00, double noundef %765) #56 + %767 = fneg double %766 + %768 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %760, double noundef 1.000000e+00, double noundef %767) #56 + %769 = fadd double %763, %708 + %770 = fadd double %769, %768 + %771 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %764, double noundef %726, double noundef 0.000000e+00) #56 + %772 = fneg double %771 + %773 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %764, double noundef %726, double noundef %772) #56 + %774 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %770, double noundef %726, double noundef %773) #56 + %775 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %771, double noundef 1.000000e+00, double noundef %687) #56 + %776 = fneg double %687 + %777 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %775, double noundef 1.000000e+00, double noundef %776) #56 + %778 = fneg double %777 + %779 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %771, double noundef 1.000000e+00, double noundef %778) #56 + %780 = fadd double %774, %709 + %781 = fadd double %780, %779 + %782 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %775, double noundef %726, double noundef 0.000000e+00) #56 + %783 = fneg double %782 + %784 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %775, double noundef %726, double noundef %783) #56 + %785 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %781, double noundef %726, double noundef %784) #56 + %786 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %782, double noundef 1.000000e+00, double noundef %688) #56 + %787 = fneg double %688 + %788 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %786, double noundef 1.000000e+00, double noundef %787) #56 + %789 = fneg double %788 + %790 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %782, double noundef 1.000000e+00, double noundef %789) #56 + %791 = fadd double %785, %710 + %792 = fadd double %791, %790 + %793 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %786, double noundef %726, double noundef 0.000000e+00) #56 + %794 = fneg double %793 + %795 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %786, double noundef %726, double noundef %794) #56 + %796 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %792, double noundef %726, double noundef %795) #56 + %797 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %793, double noundef 1.000000e+00, double noundef %689) #56 + %798 = fneg double %689 + %799 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %797, double noundef 1.000000e+00, double noundef %798) #56 + %800 = fneg double %799 + %801 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %793, double noundef 1.000000e+00, double noundef %800) #56 + %802 = fadd double %796, %711 + %803 = fadd double %802, %801 + %804 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %797, double noundef %726, double noundef 0.000000e+00) #56 + %805 = fneg double %804 + %806 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %797, double noundef %726, double noundef %805) #56 + %807 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %803, double noundef %726, double noundef %806) #56 + %808 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %804, double noundef 1.000000e+00, double noundef %690) #56 + %809 = fneg double %690 + %810 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %808, double noundef 1.000000e+00, double noundef %809) #56 + %811 = fneg double %810 + %812 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %804, double noundef 1.000000e+00, double noundef %811) #56 + %813 = fadd double %807, %712 + %814 = fadd double %813, %812 + %815 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %808, double noundef %726, double noundef 0.000000e+00) #56 + %816 = fneg double %815 + %817 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %808, double noundef %726, double noundef %816) #56 + %818 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %814, double noundef %726, double noundef %817) #56 + %819 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %815, double noundef 1.000000e+00, double noundef %691) #56 + %820 = fneg double %691 + %821 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %819, double noundef 1.000000e+00, double noundef %820) #56 + %822 = fneg double %821 + %823 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %815, double noundef 1.000000e+00, double noundef %822) #56 + %824 = fadd double %818, %713 + %825 = fadd double %824, %823 + %826 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %819, double noundef %726, double noundef 0.000000e+00) #56 + %827 = fneg double %826 + %828 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %819, double noundef %726, double noundef %827) #56 + %829 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %825, double noundef %726, double noundef %828) #56 + %830 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %826, double noundef 1.000000e+00, double noundef %692) #56 + %831 = fneg double %692 + %832 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %830, double noundef 1.000000e+00, double noundef %831) #56 + %833 = fneg double %832 + %834 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %826, double noundef 1.000000e+00, double noundef %833) #56 + %835 = fadd double %829, %714 + %836 = fadd double %835, %834 + %837 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %830, double noundef %726, double noundef 0.000000e+00) #56 + %838 = fneg double %837 + %839 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %830, double noundef %726, double noundef %838) #56 + %840 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %836, double noundef %726, double noundef %839) #56 + %841 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %837, double noundef 1.000000e+00, double noundef %693) #56 + %842 = fneg double %693 + %843 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %841, double noundef 1.000000e+00, double noundef %842) #56 + %844 = fneg double %843 + %845 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %837, double noundef 1.000000e+00, double noundef %844) #56 + %846 = fadd double %840, %715 + %847 = fadd double %846, %845 + %848 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %841, double noundef %726, double noundef 0.000000e+00) #56 + %849 = fneg double %848 + %850 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %841, double noundef %726, double noundef %849) #56 + %851 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %847, double noundef %726, double noundef %850) #56 + %852 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %848, double noundef 1.000000e+00, double noundef %694) #56 + %853 = fneg double %694 + %854 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %852, double noundef 1.000000e+00, double noundef %853) #56 + %855 = fneg double %854 + %856 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %848, double noundef 1.000000e+00, double noundef %855) #56 + %857 = fadd double %851, %716 + %858 = fadd double %857, %856 + %859 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %852, double noundef %726, double noundef 0.000000e+00) #56 + %860 = fneg double %859 + %861 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %852, double noundef %726, double noundef %860) #56 + %862 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %858, double noundef %726, double noundef %861) #56 + %863 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %859, double noundef 1.000000e+00, double noundef %695) #56 + %864 = fneg double %695 + %865 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %863, double noundef 1.000000e+00, double noundef %864) #56 + %866 = fneg double %865 + %867 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %859, double noundef 1.000000e+00, double noundef %866) #56 + %868 = fadd double %862, %717 + %869 = fadd double %868, %867 + %870 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %863, double noundef %726, double noundef 0.000000e+00) #56 + %871 = fneg double %870 + %872 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %863, double noundef %726, double noundef %871) #56 + %873 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %869, double noundef %726, double noundef %872) #56 + %874 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %870, double noundef 1.000000e+00, double noundef %696) #56 + %875 = fneg double %696 + %876 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %874, double noundef 1.000000e+00, double noundef %875) #56 + %877 = fneg double %876 + %878 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %870, double noundef 1.000000e+00, double noundef %877) #56 + %879 = fadd double %873, %718 + %880 = fadd double %879, %878 + %881 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %874, double noundef %726, double noundef 0.000000e+00) #56 + %882 = fneg double %881 + %883 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %874, double noundef %726, double noundef %882) #56 + %884 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %880, double noundef %726, double noundef %883) #56 + %885 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %881, double noundef 1.000000e+00, double noundef %697) #56 + %886 = fneg double %697 + %887 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %885, double noundef 1.000000e+00, double noundef %886) #56 + %888 = fneg double %887 + %889 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %881, double noundef 1.000000e+00, double noundef %888) #56 + %890 = fadd double %884, %719 + %891 = fadd double %890, %889 + %892 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %885, double noundef %726, double noundef 0.000000e+00) #56 + %893 = fneg double %892 + %894 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %885, double noundef %726, double noundef %893) #56 + %895 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %891, double noundef %726, double noundef %894) #56 + %896 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %892, double noundef 1.000000e+00, double noundef %698) #56 + %897 = fneg double %698 + %898 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %896, double noundef 1.000000e+00, double noundef %897) #56 + %899 = fneg double %898 + %900 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %892, double noundef 1.000000e+00, double noundef %899) #56 + %901 = fadd double %895, %720 + %902 = fadd double %901, %900 + %903 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %896, double noundef %726, double noundef 0.000000e+00) #56 + %904 = fneg double %903 + %905 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %896, double noundef %726, double noundef %904) #56 + %906 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %902, double noundef %726, double noundef %905) #56 + %907 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %903, double noundef 1.000000e+00, double noundef %699) #56 + %908 = fneg double %699 + %909 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %907, double noundef 1.000000e+00, double noundef %908) #56 + %910 = fneg double %909 + %911 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %903, double noundef 1.000000e+00, double noundef %910) #56 + %912 = fadd double %906, %721 + %913 = fadd double %912, %911 + %914 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %907, double noundef %726, double noundef 0.000000e+00) #56 + %915 = fneg double %914 + %916 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %907, double noundef %726, double noundef %915) #56 + %917 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %913, double noundef %726, double noundef %916) #56 + %918 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %914, double noundef 1.000000e+00, double noundef %700) #56 + %919 = fneg double %700 + %920 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %918, double noundef 1.000000e+00, double noundef %919) #56 + %921 = fneg double %920 + %922 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %914, double noundef 1.000000e+00, double noundef %921) #56 + %923 = fadd double %917, %722 + %924 = fadd double %923, %922 + %925 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %918, double noundef %726, double noundef 0.000000e+00) #56 + %926 = fneg double %925 + %927 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %918, double noundef %726, double noundef %926) #56 + %928 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %924, double noundef %726, double noundef %927) #56 + %929 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %925) #56 + %930 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %701) #56 + %931 = fcmp ole double %929, %930 + %932 = select i1 %931, double %701, double %925 + %933 = select i1 %931, double %925, double %701 + %934 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %933, double noundef 1.000000e+00, double noundef %932) #56 + %935 = fneg double %932 + %936 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %934, double noundef 1.000000e+00, double noundef %935) #56 + %937 = fneg double %936 + %938 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %933, double noundef 1.000000e+00, double noundef %937) #56 + %939 = fadd double %928, %723 + %940 = fadd double %939, %938 + %941 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %934, double noundef 1.000000e+00, double noundef %940) #56 + %942 = fneg double %934 + %943 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %941, double noundef 1.000000e+00, double noundef %942) #56 + %944 = fneg double %943 + %945 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %940, double noundef 1.000000e+00, double noundef %944) #56 + %946 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %941, double noundef %726, double noundef 0.000000e+00) #56 + %947 = fneg double %946 + %948 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %941, double noundef %726, double noundef %947) #56 + %949 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %945, double noundef %726, double noundef %948) #56 + %950 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %946) #56 + %951 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %702) #56 + %952 = fcmp ole double %950, %951 + %953 = select i1 %952, double %702, double %946 + %954 = select i1 %952, double %946, double %702 + %955 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %954, double noundef 1.000000e+00, double noundef %953) #56 + %956 = fneg double %953 + %957 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %955, double noundef 1.000000e+00, double noundef %956) #56 + %958 = fneg double %957 + %959 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %954, double noundef 1.000000e+00, double noundef %958) #56 + %960 = fadd double %949, %724 + %961 = fadd double %960, %959 + %962 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %955, double noundef 1.000000e+00, double noundef %961) #56 + %963 = fneg double %955 + %964 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %962, double noundef 1.000000e+00, double noundef %963) #56 + %965 = fneg double %964 + %966 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %961, double noundef 1.000000e+00, double noundef %965) #56 + %967 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %962, double noundef %726, double noundef 0.000000e+00) #56 + %968 = fneg double %967 + %969 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %962, double noundef %726, double noundef %968) #56 + %970 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %966, double noundef %726, double noundef %969) #56 + %971 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %967) #56 + %972 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %703) #56 + %973 = fcmp ole double %971, %972 + %974 = select i1 %973, double %703, double %967 + %975 = select i1 %973, double %967, double %703 + %976 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %975, double noundef 1.000000e+00, double noundef %974) #56 + %977 = fneg double %974 + %978 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %976, double noundef 1.000000e+00, double noundef %977) #56 + %979 = fneg double %978 + %980 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %975, double noundef 1.000000e+00, double noundef %979) #56 + %981 = fadd double %970, %725 + %982 = fadd double %981, %980 + %983 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %976, double noundef 1.000000e+00, double noundef %982) #56 + %984 = fneg double %976 + %985 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %983, double noundef 1.000000e+00, double noundef %984) #56 + %986 = fneg double %985 + %987 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %982, double noundef 1.000000e+00, double noundef %986) #56 + br label %988 + +988: ; preds = %680, %236 + %989 = phi double [ %679, %236 ], [ %987, %680 ] + %990 = phi double [ %675, %236 ], [ %983, %680 ] + %991 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %3, double noundef 0x3FF71547652B82FE, double noundef 0x43380000000003BF) #56 + %992 = bitcast double %991 to i64 + %993 = fadd double %991, 0xC3380000000003BF + %994 = fneg double %993 + %995 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %994, double noundef 0x3FE62E42FEFA39EF, double noundef %3) #56 + %996 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %994, double noundef 0x3C7ABC9E3B39803F, double noundef 0.000000e+00) #56 + %997 = fadd double %995, %996 + %998 = fsub double %997, %995 + %999 = fsub double %996, %998 + %1000 = shl i64 %992, 52 + %1001 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3E5AE6449E62ECF6, double noundef %997, double noundef 0x3E928A27E303B465) #56 + %1002 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1001, double noundef %997, double noundef 0x3EC71DE8E64711A9) #56 + %1003 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1002, double noundef %997, double noundef 0x3EFA019A6B2470AC) #56 + %1004 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1003, double noundef %997, double noundef 0x3F2A01A01710652F) #56 + %1005 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1004, double noundef %997, double noundef 0x3F56C16C17F29C89) #56 + %1006 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1005, double noundef %997, double noundef 0x3F8111111111A24E) #56 + %1007 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1006, double noundef %997, double noundef 0x3FA555555555211D) #56 + %1008 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1007, double noundef %997, double noundef 0x3FC5555555555530) #56 + %1009 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1008, double noundef %997, double noundef 0x3FE0000000000005) #56 + %1010 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1009, double noundef %997, double noundef 1.000000e+00) #56 + %1011 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1010, double noundef %999, double noundef 0.000000e+00) #56 + %1012 = bitcast i64 %1000 to double + %1013 = fmul double %997, %1012 + %1014 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1010, double noundef %1013, double noundef %1012) #56 + %1015 = fsub double %1014, %1012 + %1016 = fneg double %1015 + %1017 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1010, double noundef %1013, double noundef %1016) #56 + %1018 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1011, double noundef %1012, double noundef %1017) #56 + %1019 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1014, double noundef %989, double noundef 0.000000e+00) #56 + %1020 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1018, double noundef %990, double noundef %1019) #56 + %1021 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1014, double noundef %990, double noundef %1020) #56 + store double %1021, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1024 + +1022: ; preds = %232 + %1023 = fadd double %3, 0x7FF0000000000000 + store double %1023, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1024 + +1024: ; preds = %1022, %988, %17, %8 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_i1(double noundef %0) local_unnamed_addr #43 !srcloc !1599 { + %2 = alloca double, align 8 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #55 + store double %0, ptr %2, align 8, !tbaa !760 + call spir_func void @_ZN18__imf_impl_i1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_di1EPKdPd(double %0, ptr addrspace(4) noundef %3) #54 + %4 = load double, ptr %2, align 8, !tbaa !760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #55 + ret double %4 +} + +; Function Attrs: convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) +define internal spir_func void @_ZN18__imf_impl_i1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_di1EPKdPd(double %0, ptr addrspace(4) nocapture noundef writeonly %1) unnamed_addr #36 !srcloc !1600 !sycl_kernel_omit_args !1186 { + %3 = bitcast double %0 to i64 + %4 = tail call double @llvm.fabs.f64(double %0) + %5 = bitcast double %4 to i64 + %6 = xor i64 %3, %5 + %7 = fcmp ugt double %4, 1.400000e+01 + br i1 %7, label %249, label %8 + +8: ; preds = %2 + %9 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef 0.000000e+00) #56 + %10 = fcmp ugt double %4, 3.000000e+00 + br i1 %10, label %22, label %11 + +11: ; preds = %8 + %12 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef 0x3C3D84D70562F7DE, double noundef 0x3CC2AEFD0B413632) #56 + %13 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %12, double noundef %9, double noundef 0x3D4523B6341517A3) #56 + %14 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %13, double noundef %9, double noundef 0x3DC27E4912CC9E6B) #56 + %15 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %14, double noundef %9, double noundef 0x3E3845C8D3823CD1) #56 + %16 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %15, double noundef %9, double noundef 0x3EA6C16C15D78F60) #56 + %17 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %16, double noundef %9, double noundef 0x3F0C71C71C769399) #56 + %18 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %17, double noundef %9, double noundef 0x3F655555555548AB) #56 + %19 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %18, double noundef %9, double noundef 0x3FB000000000001A) #56 + %20 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %19, double noundef %9, double noundef 5.000000e-01) #56 + %21 = fmul double %20, %0 + store double %21, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1029 + +22: ; preds = %8 + %23 = fneg double %9 + %24 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %0, double noundef %23) #56 + %25 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef 0x36E36040900DF0C8, double noundef 0.000000e+00) #56 + %26 = fneg double %25 + %27 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef 0x36E36040900DF0C8, double noundef %26) #56 + %28 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %24, double noundef 0x36E36040900DF0C8, double noundef %27) #56 + %29 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %9, double noundef 0x338B547893773FB1, double noundef %28) #56 + %30 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef 1.000000e+00, double noundef 0xB74F2A1A19CD0C3C) #56 + %31 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef 1.000000e+00, double noundef 0x374F2A1A19CD0C3C) #56 + %32 = fneg double %31 + %33 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %25, double noundef 1.000000e+00, double noundef %32) #56 + %34 = fadd double %29, 0xB3ED9D4386B78114 + %35 = fadd double %34, %33 + %36 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %9, double noundef 0.000000e+00) #56 + %37 = fneg double %36 + %38 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %9, double noundef %37) #56 + %39 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %9, double noundef %38) #56 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %30, double noundef %24, double noundef %39) #56 + %41 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef 1.000000e+00, double noundef 0x381FA2771FE67802) #56 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef 1.000000e+00, double noundef 0xB81FA2771FE67802) #56 + %43 = fneg double %42 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %36, double noundef 1.000000e+00, double noundef %43) #56 + %45 = fadd double %40, 0x34BB5F5E204862EC + %46 = fadd double %45, %44 + %47 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %9, double noundef 0.000000e+00) #56 + %48 = fneg double %47 + %49 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %9, double noundef %48) #56 + %50 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %46, double noundef %9, double noundef %49) #56 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %41, double noundef %24, double noundef %50) #56 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef 1.000000e+00, double noundef 0x38B3657BADD422E9) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef 1.000000e+00, double noundef 0xB8B3657BADD422E9) #56 + %54 = fneg double %53 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %47, double noundef 1.000000e+00, double noundef %54) #56 + %56 = fadd double %51, 0xB55317A194C712C3 + %57 = fadd double %56, %55 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %9, double noundef 0.000000e+00) #56 + %59 = fneg double %58 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %9, double noundef %59) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %57, double noundef %9, double noundef %60) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %24, double noundef %61) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef 1.000000e+00, double noundef 0x3955EAD74C1E7EEC) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef 1.000000e+00, double noundef 0xB955EAD74C1E7EEC) #56 + %65 = fneg double %64 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef 1.000000e+00, double noundef %65) #56 + %67 = fadd double %62, 0x35F0DD5BEA55E092 + %68 = fadd double %67, %66 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %9, double noundef 0.000000e+00) #56 + %70 = fneg double %69 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %9, double noundef %70) #56 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %9, double noundef %71) #56 + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %24, double noundef %72) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef 1.000000e+00, double noundef 0x39F148D219E82254) #56 + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef 1.000000e+00, double noundef 0xB9F148D219E82254) #56 + %76 = fneg double %75 + %77 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef 1.000000e+00, double noundef %76) #56 + %78 = fadd double %73, 0xB69A004243007BC8 + %79 = fadd double %78, %77 + %80 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %9, double noundef 0.000000e+00) #56 + %81 = fneg double %80 + %82 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %9, double noundef %81) #56 + %83 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %79, double noundef %9, double noundef %82) #56 + %84 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef %24, double noundef %83) #56 + %85 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef 1.000000e+00, double noundef 0x3A88C3DAF0136464) #56 + %86 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef 1.000000e+00, double noundef 0xBA88C3DAF0136464) #56 + %87 = fneg double %86 + %88 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %80, double noundef 1.000000e+00, double noundef %87) #56 + %89 = fadd double %84, 0x37006E326D5246B8 + %90 = fadd double %89, %88 + %91 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %9, double noundef 0.000000e+00) #56 + %92 = fneg double %91 + %93 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %9, double noundef %92) #56 + %94 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %90, double noundef %9, double noundef %93) #56 + %95 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %85, double noundef %24, double noundef %94) #56 + %96 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef 1.000000e+00, double noundef 0x3B1E24F6DD9202B8) #56 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef 1.000000e+00, double noundef 0xBB1E24F6DD9202B8) #56 + %98 = fneg double %97 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %91, double noundef 1.000000e+00, double noundef %98) #56 + %100 = fadd double %95, 0xB7A1B9A7F6EB10B5 + %101 = fadd double %100, %99 + %102 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %9, double noundef 0.000000e+00) #56 + %103 = fneg double %102 + %104 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %9, double noundef %103) #56 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %101, double noundef %9, double noundef %104) #56 + %106 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %24, double noundef %105) #56 + %107 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef 1.000000e+00, double noundef 0x3BAF179511B4FD75) #56 + %108 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef 1.000000e+00, double noundef 0xBBAF179511B4FD75) #56 + %109 = fneg double %108 + %110 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef 1.000000e+00, double noundef %109) #56 + %111 = fadd double %106, 0xB84D4B885AD53516 + %112 = fadd double %111, %110 + %113 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef %9, double noundef 0.000000e+00) #56 + %114 = fneg double %113 + %115 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef %9, double noundef %114) #56 + %116 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %112, double noundef %9, double noundef %115) #56 + %117 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %107, double noundef %24, double noundef %116) #56 + %118 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef 1.000000e+00, double noundef 0x3C3AB81A36DEEBFF) #56 + %119 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %118, double noundef 1.000000e+00, double noundef 0xBC3AB81A36DEEBFF) #56 + %120 = fneg double %119 + %121 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef 1.000000e+00, double noundef %120) #56 + %122 = fadd double %117, 0xB8CE79B9F11D630F + %123 = fadd double %122, %121 + %124 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %118, double noundef %9, double noundef 0.000000e+00) #56 + %125 = fneg double %124 + %126 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %118, double noundef %9, double noundef %125) #56 + %127 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %123, double noundef %9, double noundef %126) #56 + %128 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %118, double noundef %24, double noundef %127) #56 + %129 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef 1.000000e+00, double noundef 0x3CC2C975E37CC6D4) #56 + %130 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %129, double noundef 1.000000e+00, double noundef 0xBCC2C975E37CC6D4) #56 + %131 = fneg double %130 + %132 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %124, double noundef 1.000000e+00, double noundef %131) #56 + %133 = fadd double %128, 0x39560812CF7B72CC + %134 = fadd double %133, %132 + %135 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %129, double noundef %9, double noundef 0.000000e+00) #56 + %136 = fneg double %135 + %137 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %129, double noundef %9, double noundef %136) #56 + %138 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %134, double noundef %9, double noundef %137) #56 + %139 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %129, double noundef %24, double noundef %138) #56 + %140 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef 1.000000e+00, double noundef 0x3D4522A435FA3738) #56 + %141 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %140, double noundef 1.000000e+00, double noundef 0xBD4522A435FA3738) #56 + %142 = fneg double %141 + %143 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %135, double noundef 1.000000e+00, double noundef %142) #56 + %144 = fadd double %139, 0xB9CB500A6FC2A1B7 + %145 = fadd double %144, %143 + %146 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %140, double noundef %9, double noundef 0.000000e+00) #56 + %147 = fneg double %146 + %148 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %140, double noundef %9, double noundef %147) #56 + %149 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %145, double noundef %9, double noundef %148) #56 + %150 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %140, double noundef %24, double noundef %149) #56 + %151 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef 1.000000e+00, double noundef 0x3DC27E4FB8339F3D) #56 + %152 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef 1.000000e+00, double noundef 0xBDC27E4FB8339F3D) #56 + %153 = fneg double %152 + %154 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %146, double noundef 1.000000e+00, double noundef %153) #56 + %155 = fadd double %150, 0xBA6DDA65E746D938 + %156 = fadd double %155, %154 + %157 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef %9, double noundef 0.000000e+00) #56 + %158 = fneg double %157 + %159 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef %9, double noundef %158) #56 + %160 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %156, double noundef %9, double noundef %159) #56 + %161 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %151, double noundef %24, double noundef %160) #56 + %162 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef 1.000000e+00, double noundef 0x3E3845C8A0BAA473) #56 + %163 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef 1.000000e+00, double noundef 0xBE3845C8A0BAA473) #56 + %164 = fneg double %163 + %165 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %157, double noundef 1.000000e+00, double noundef %164) #56 + %166 = fadd double %161, 0x3ACDD0EE6639626C + %167 = fadd double %166, %165 + %168 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %9, double noundef 0.000000e+00) #56 + %169 = fneg double %168 + %170 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %9, double noundef %169) #56 + %171 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %167, double noundef %9, double noundef %170) #56 + %172 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %162, double noundef %24, double noundef %171) #56 + %173 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %168) #56 + %174 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3EA6C16C16C2BEC0) #56 + %175 = fcmp ole double %173, %174 + %176 = select i1 %175, double 0x3EA6C16C16C2BEC0, double %168 + %177 = select i1 %175, double %168, double 0x3EA6C16C16C2BEC0 + %178 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %177, double noundef 1.000000e+00, double noundef %176) #56 + %179 = fneg double %176 + %180 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef 1.000000e+00, double noundef %179) #56 + %181 = fneg double %180 + %182 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %177, double noundef 1.000000e+00, double noundef %181) #56 + %183 = fadd double %172, 0x3B1BCE2F58DD332D + %184 = fadd double %183, %182 + %185 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef %9, double noundef 0.000000e+00) #56 + %186 = fneg double %185 + %187 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef %9, double noundef %186) #56 + %188 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %184, double noundef %9, double noundef %187) #56 + %189 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %178, double noundef %24, double noundef %188) #56 + %190 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %185) #56 + %191 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3F0C71C71C71AC87) #56 + %192 = fcmp ole double %190, %191 + %193 = select i1 %192, double 0x3F0C71C71C71AC87, double %185 + %194 = select i1 %192, double %185, double 0x3F0C71C71C71AC87 + %195 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %194, double noundef 1.000000e+00, double noundef %193) #56 + %196 = fneg double %193 + %197 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef 1.000000e+00, double noundef %196) #56 + %198 = fneg double %197 + %199 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %194, double noundef 1.000000e+00, double noundef %198) #56 + %200 = fadd double %189, 0xBB807BC955443ECC + %201 = fadd double %200, %199 + %202 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef %9, double noundef 0.000000e+00) #56 + %203 = fneg double %202 + %204 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef %9, double noundef %203) #56 + %205 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %201, double noundef %9, double noundef %204) #56 + %206 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %195, double noundef %24, double noundef %205) #56 + %207 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %202) #56 + %208 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3F65555555555662) #56 + %209 = fcmp ole double %207, %208 + %210 = select i1 %209, double 0x3F65555555555662, double %202 + %211 = select i1 %209, double %202, double 0x3F65555555555662 + %212 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %211, double noundef 1.000000e+00, double noundef %210) #56 + %213 = fneg double %210 + %214 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef 1.000000e+00, double noundef %213) #56 + %215 = fneg double %214 + %216 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %211, double noundef 1.000000e+00, double noundef %215) #56 + %217 = fadd double %206, 0xBC057938975C4A96 + %218 = fadd double %217, %216 + %219 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef %9, double noundef 0.000000e+00) #56 + %220 = fneg double %219 + %221 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef %9, double noundef %220) #56 + %222 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %218, double noundef %9, double noundef %221) #56 + %223 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %212, double noundef %24, double noundef %222) #56 + %224 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %219) #56 + %225 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef 0x3FAFFFFFFFFFFFF0) #56 + %226 = fcmp ole double %224, %225 + %227 = select i1 %226, double 0x3FAFFFFFFFFFFFF0, double %219 + %228 = select i1 %226, double %219, double 0x3FAFFFFFFFFFFFF0 + %229 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %228, double noundef 1.000000e+00, double noundef %227) #56 + %230 = fneg double %227 + %231 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %229, double noundef 1.000000e+00, double noundef %230) #56 + %232 = fneg double %231 + %233 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %228, double noundef 1.000000e+00, double noundef %232) #56 + %234 = fadd double %223, 0x3C34A01CD3E05440 + %235 = fadd double %234, %233 + %236 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %229, double noundef %9, double noundef 0.000000e+00) #56 + %237 = fneg double %236 + %238 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %229, double noundef %9, double noundef %237) #56 + %239 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %235, double noundef %9, double noundef %238) #56 + %240 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %229, double noundef %24, double noundef %239) #56 + %241 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %236, double noundef 1.000000e+00, double noundef 5.000000e-01) #56 + %242 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %241, double noundef 1.000000e+00, double noundef -5.000000e-01) #56 + %243 = fneg double %242 + %244 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %236, double noundef 1.000000e+00, double noundef %243) #56 + %245 = fadd double %240, 0x3C7297045A67B0E0 + %246 = fadd double %245, %244 + %247 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %246, double noundef 0.000000e+00) #56 + %248 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %241, double noundef %247) #56 + store double %248, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1029 + +249: ; preds = %2 + %250 = fcmp ugt double %4, 7.140000e+02 + br i1 %250, label %1025, label %251 + +251: ; preds = %249 + %252 = fcmp ugt double %4, 1.500000e+02 + br i1 %252, label %671, label %253 + +253: ; preds = %251 + %254 = fcmp ole double %4, 4.500000e+01 + %255 = select i1 %254, double 0xBB0B3F122E87D92C, double 0x3810E1AD37F30F78 + %256 = select i1 %254, double 0x3BA6825A910CBC11, double 0xB8C74518D0B08AF7 + %257 = select i1 %254, double 0xBC31DA6F8B990CBB, double 0x396ECF94D71A4E0E + %258 = select i1 %254, double 0x3CB219CE67C95047, double 0xBA0A16DFCA01F9A1 + %259 = select i1 %254, double 0xBD2A59A1D27E0E72, double 0x3A9FBDDAC0629482 + %260 = select i1 %254, double 0x3D9D53557A63080A, double 0xBB2D8C48897580A9 + %261 = select i1 %254, double 0xBE09F18B3109EE7E, double 0x3BB5E2CC0C1E81B3 + %262 = select i1 %254, double 0x3E72BA9084788874, double 0xBC3A7C883CF7073F + %263 = select i1 %254, double 0xBED67A03DDF34A53, double 0x3CBAAE09AF33ADE5 + %264 = select i1 %254, double 0x3F36B91F315B9DAF, double 0xBD36ACFF51403C2C + %265 = select i1 %254, double 0xBF938ABA63132B42, double 0x3DB06D3CF067FA96 + %266 = select i1 %254, double 0x3FECCBE1BE63D73A, double 0xBE24702966636629 + %267 = select i1 %254, double 0xC042447CF5C247CA, double 0x3E95F53ECBAA3C44 + %268 = select i1 %254, double 0x409404B80B3D5D9F, double 0xBF047316B3414543 + %269 = select i1 %254, double 0xC0E2FA368E9FC141, double 0x3F708CBB0FF90B31 + %270 = select i1 %254, double 0x412F2050D085EC85, double 0xBFD74E7A47360C87 + %271 = select i1 %254, double 0xC1760BA5C826BDBF, double 0x403C8F195016D1EE + %272 = select i1 %254, double 0x41BADFAFCA06D2B1, double 0xC09E6AA01A204CCD + %273 = select i1 %254, double 0xC1FC05FD7582AFA7, double 0x40FC177E37363D3B + %274 = select i1 %254, double 0x4238C3465FA8A1E3, double 0xC1566ACCB3FFD383 + %275 = select i1 %254, double 0xC2724465AC1D4322, double 0x41AEC15A444DCD01 + %276 = select i1 %254, double 0x42A5F010E2F56424, double 0xC20202B7DD1A7E99 + %277 = select i1 %254, double 0xC2D46AE6D417398F, double 0x4251D817EEFB3041 + %278 = select i1 %254, double 0x42F9EEEDF38B2BF7, double 0xC29D8DC9C81F70A2 + %279 = select i1 %254, double 0xC304D124B4863FB4, double 0x42E42372A8C48E09 + %280 = select i1 %254, double 0xC34662BF9817764E, double 0xC326215DAFC90F52 + %281 = select i1 %254, double 0x4380E506FC54AD1F, double 0x4363217F8284436E + %282 = select i1 %254, double 0xC3ABAA0D12704274, double 0xC3998E22962E36DA + %283 = select i1 %254, double 0x43D3780D7DB6F09C, double 0x43CEDE8F8B10B42A + %284 = select i1 %254, double 0xB791323B10F84D54, double 0x34BCB60639A21A54 + %285 = select i1 %254, double 0x38481B6A441A95BD, double 0x35588CCE55BDFFC9 + %286 = select i1 %254, double 0x38C077CAB60EEC5D, double 0xB5F04E5379CBC1DB + %287 = select i1 %254, double 0xB95C08FCA64AB334, double 0xB691D2C2472900B7 + %288 = select i1 %254, double 0xB9CDD2E7AA2364C9, double 0xB716FDD3C4CCDBDB + %289 = select i1 %254, double 0xBA3A400681CF8CAF, double 0xB7C99102341D5F48 + %290 = select i1 %254, double 0xBA90684851E6561A, double 0xB84BE817AF064111 + %291 = select i1 %254, double 0xBAE85DCF97649A84, double 0xB8D678D79CF1D17F + %292 = select i1 %254, double 0xBB733FEA797D6114, double 0xB9547287F845037E + %293 = select i1 %254, double 0xBBDCA4EB4C96730D, double 0xB9C1B22EAFD88202 + %294 = select i1 %254, double 0xBC3CD7513217B3C2, double 0x3A5EAB015E3296B0 + %295 = select i1 %254, double 0xBC881F14FD419879, double 0xBABB9F22FEC82345 + %296 = select i1 %254, double 0xBCEEE413A45668B4, double 0xBB34FC557F8707A2 + %297 = select i1 %254, double 0xBD338BD792FD4443, double 0x3BAF14683314167A + %298 = select i1 %254, double 0x3D84F038F3E2F2AD, double 0x3C07404A70564F77 + %299 = select i1 %254, double 0xBD920DFDB41F8329, double 0x3C65FE6379BABC6A + %300 = select i1 %254, double 0x3E143059D4C1630F, double 0x3CD46F079B12463F + %301 = select i1 %254, double 0x3E5BE8362B88FD7A, double 0xBD35F78A492E7FB6 + %302 = select i1 %254, double 0xBE62E96825C7C826, double 0x3D9E4AA15394AC7C + %303 = select i1 %254, double 0x3EB9025C067B2EF1, double 0x3DF61087CB3FCEA9 + %304 = select i1 %254, double 0x3F12A49B5B90590F, double 0x3E477B07F48C03A9 + %305 = select i1 %254, double 0x3F2AB988D56DADA4, double 0x3EA3F331E6210C9F + %306 = select i1 %254, double 0xBF6AD1F8D9803A5A, double 0xBEEB5FFC607640D2 + %307 = select i1 %254, double 0x3F8125CB8F180B59, double 0x3F1429BF2EA8177E + %308 = select i1 %254, double 0x3FA557196CF22C7A, double 0x3F753C22D6046BCA + %309 = select i1 %254, double 0xBFB39C3C50DF1A96, double 0x3FA5E226A4894264 + %310 = select i1 %254, double 0xC0118921D374D2A1, double 0x40075DAA6F770B6B + %311 = select i1 %254, double 0x4040E1EA860E14A4, double 0x402967AFBA9A67C0 + %312 = select i1 %254, double 0xC07274BDF5AA8970, double 0xC055C42E9F5D45E2 + %313 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %255, double noundef %4, double noundef 0.000000e+00) #56 + %314 = fneg double %313 + %315 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %255, double noundef %4, double noundef %314) #56 + %316 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %284, double noundef %4, double noundef %315) #56 + %317 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %313, double noundef 1.000000e+00, double noundef %256) #56 + %318 = fneg double %256 + %319 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %317, double noundef 1.000000e+00, double noundef %318) #56 + %320 = fneg double %319 + %321 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %313, double noundef 1.000000e+00, double noundef %320) #56 + %322 = fadd double %316, %285 + %323 = fadd double %322, %321 + %324 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %317, double noundef %4, double noundef 0.000000e+00) #56 + %325 = fneg double %324 + %326 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %317, double noundef %4, double noundef %325) #56 + %327 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %323, double noundef %4, double noundef %326) #56 + %328 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %324, double noundef 1.000000e+00, double noundef %257) #56 + %329 = fneg double %257 + %330 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %328, double noundef 1.000000e+00, double noundef %329) #56 + %331 = fneg double %330 + %332 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %324, double noundef 1.000000e+00, double noundef %331) #56 + %333 = fadd double %327, %286 + %334 = fadd double %333, %332 + %335 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %328, double noundef %4, double noundef 0.000000e+00) #56 + %336 = fneg double %335 + %337 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %328, double noundef %4, double noundef %336) #56 + %338 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %334, double noundef %4, double noundef %337) #56 + %339 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %335, double noundef 1.000000e+00, double noundef %258) #56 + %340 = fneg double %258 + %341 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %339, double noundef 1.000000e+00, double noundef %340) #56 + %342 = fneg double %341 + %343 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %335, double noundef 1.000000e+00, double noundef %342) #56 + %344 = fadd double %338, %287 + %345 = fadd double %344, %343 + %346 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %339, double noundef %4, double noundef 0.000000e+00) #56 + %347 = fneg double %346 + %348 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %339, double noundef %4, double noundef %347) #56 + %349 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %345, double noundef %4, double noundef %348) #56 + %350 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %346, double noundef 1.000000e+00, double noundef %259) #56 + %351 = fneg double %259 + %352 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %350, double noundef 1.000000e+00, double noundef %351) #56 + %353 = fneg double %352 + %354 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %346, double noundef 1.000000e+00, double noundef %353) #56 + %355 = fadd double %349, %288 + %356 = fadd double %355, %354 + %357 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %350, double noundef %4, double noundef 0.000000e+00) #56 + %358 = fneg double %357 + %359 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %350, double noundef %4, double noundef %358) #56 + %360 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %356, double noundef %4, double noundef %359) #56 + %361 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %357, double noundef 1.000000e+00, double noundef %260) #56 + %362 = fneg double %260 + %363 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %361, double noundef 1.000000e+00, double noundef %362) #56 + %364 = fneg double %363 + %365 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %357, double noundef 1.000000e+00, double noundef %364) #56 + %366 = fadd double %360, %289 + %367 = fadd double %366, %365 + %368 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %361, double noundef %4, double noundef 0.000000e+00) #56 + %369 = fneg double %368 + %370 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %361, double noundef %4, double noundef %369) #56 + %371 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %367, double noundef %4, double noundef %370) #56 + %372 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %368, double noundef 1.000000e+00, double noundef %261) #56 + %373 = fneg double %261 + %374 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %372, double noundef 1.000000e+00, double noundef %373) #56 + %375 = fneg double %374 + %376 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %368, double noundef 1.000000e+00, double noundef %375) #56 + %377 = fadd double %371, %290 + %378 = fadd double %377, %376 + %379 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %372, double noundef %4, double noundef 0.000000e+00) #56 + %380 = fneg double %379 + %381 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %372, double noundef %4, double noundef %380) #56 + %382 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %378, double noundef %4, double noundef %381) #56 + %383 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %379, double noundef 1.000000e+00, double noundef %262) #56 + %384 = fneg double %262 + %385 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %383, double noundef 1.000000e+00, double noundef %384) #56 + %386 = fneg double %385 + %387 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %379, double noundef 1.000000e+00, double noundef %386) #56 + %388 = fadd double %382, %291 + %389 = fadd double %388, %387 + %390 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %383, double noundef %4, double noundef 0.000000e+00) #56 + %391 = fneg double %390 + %392 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %383, double noundef %4, double noundef %391) #56 + %393 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %389, double noundef %4, double noundef %392) #56 + %394 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %390, double noundef 1.000000e+00, double noundef %263) #56 + %395 = fneg double %263 + %396 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %394, double noundef 1.000000e+00, double noundef %395) #56 + %397 = fneg double %396 + %398 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %390, double noundef 1.000000e+00, double noundef %397) #56 + %399 = fadd double %393, %292 + %400 = fadd double %399, %398 + %401 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %394, double noundef %4, double noundef 0.000000e+00) #56 + %402 = fneg double %401 + %403 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %394, double noundef %4, double noundef %402) #56 + %404 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %400, double noundef %4, double noundef %403) #56 + %405 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %401, double noundef 1.000000e+00, double noundef %264) #56 + %406 = fneg double %264 + %407 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %405, double noundef 1.000000e+00, double noundef %406) #56 + %408 = fneg double %407 + %409 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %401, double noundef 1.000000e+00, double noundef %408) #56 + %410 = fadd double %404, %293 + %411 = fadd double %410, %409 + %412 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %405, double noundef %4, double noundef 0.000000e+00) #56 + %413 = fneg double %412 + %414 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %405, double noundef %4, double noundef %413) #56 + %415 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %411, double noundef %4, double noundef %414) #56 + %416 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %412, double noundef 1.000000e+00, double noundef %265) #56 + %417 = fneg double %265 + %418 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %416, double noundef 1.000000e+00, double noundef %417) #56 + %419 = fneg double %418 + %420 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %412, double noundef 1.000000e+00, double noundef %419) #56 + %421 = fadd double %415, %294 + %422 = fadd double %421, %420 + %423 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %416, double noundef %4, double noundef 0.000000e+00) #56 + %424 = fneg double %423 + %425 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %416, double noundef %4, double noundef %424) #56 + %426 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %422, double noundef %4, double noundef %425) #56 + %427 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %423, double noundef 1.000000e+00, double noundef %266) #56 + %428 = fneg double %266 + %429 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %427, double noundef 1.000000e+00, double noundef %428) #56 + %430 = fneg double %429 + %431 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %423, double noundef 1.000000e+00, double noundef %430) #56 + %432 = fadd double %426, %295 + %433 = fadd double %432, %431 + %434 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %427, double noundef %4, double noundef 0.000000e+00) #56 + %435 = fneg double %434 + %436 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %427, double noundef %4, double noundef %435) #56 + %437 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %433, double noundef %4, double noundef %436) #56 + %438 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %434, double noundef 1.000000e+00, double noundef %267) #56 + %439 = fneg double %267 + %440 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %438, double noundef 1.000000e+00, double noundef %439) #56 + %441 = fneg double %440 + %442 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %434, double noundef 1.000000e+00, double noundef %441) #56 + %443 = fadd double %437, %296 + %444 = fadd double %443, %442 + %445 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %438, double noundef %4, double noundef 0.000000e+00) #56 + %446 = fneg double %445 + %447 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %438, double noundef %4, double noundef %446) #56 + %448 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %444, double noundef %4, double noundef %447) #56 + %449 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %445, double noundef 1.000000e+00, double noundef %268) #56 + %450 = fneg double %268 + %451 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %449, double noundef 1.000000e+00, double noundef %450) #56 + %452 = fneg double %451 + %453 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %445, double noundef 1.000000e+00, double noundef %452) #56 + %454 = fadd double %448, %297 + %455 = fadd double %454, %453 + %456 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %449, double noundef %4, double noundef 0.000000e+00) #56 + %457 = fneg double %456 + %458 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %449, double noundef %4, double noundef %457) #56 + %459 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %455, double noundef %4, double noundef %458) #56 + %460 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %456, double noundef 1.000000e+00, double noundef %269) #56 + %461 = fneg double %269 + %462 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %460, double noundef 1.000000e+00, double noundef %461) #56 + %463 = fneg double %462 + %464 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %456, double noundef 1.000000e+00, double noundef %463) #56 + %465 = fadd double %459, %298 + %466 = fadd double %465, %464 + %467 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %460, double noundef %4, double noundef 0.000000e+00) #56 + %468 = fneg double %467 + %469 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %460, double noundef %4, double noundef %468) #56 + %470 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %466, double noundef %4, double noundef %469) #56 + %471 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %467, double noundef 1.000000e+00, double noundef %270) #56 + %472 = fneg double %270 + %473 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %471, double noundef 1.000000e+00, double noundef %472) #56 + %474 = fneg double %473 + %475 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %467, double noundef 1.000000e+00, double noundef %474) #56 + %476 = fadd double %470, %299 + %477 = fadd double %476, %475 + %478 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %471, double noundef %4, double noundef 0.000000e+00) #56 + %479 = fneg double %478 + %480 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %471, double noundef %4, double noundef %479) #56 + %481 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %477, double noundef %4, double noundef %480) #56 + %482 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %478, double noundef 1.000000e+00, double noundef %271) #56 + %483 = fneg double %271 + %484 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %482, double noundef 1.000000e+00, double noundef %483) #56 + %485 = fneg double %484 + %486 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %478, double noundef 1.000000e+00, double noundef %485) #56 + %487 = fadd double %481, %300 + %488 = fadd double %487, %486 + %489 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %482, double noundef %4, double noundef 0.000000e+00) #56 + %490 = fneg double %489 + %491 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %482, double noundef %4, double noundef %490) #56 + %492 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %488, double noundef %4, double noundef %491) #56 + %493 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %489, double noundef 1.000000e+00, double noundef %272) #56 + %494 = fneg double %272 + %495 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %493, double noundef 1.000000e+00, double noundef %494) #56 + %496 = fneg double %495 + %497 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %489, double noundef 1.000000e+00, double noundef %496) #56 + %498 = fadd double %492, %301 + %499 = fadd double %498, %497 + %500 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %493, double noundef %4, double noundef 0.000000e+00) #56 + %501 = fneg double %500 + %502 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %493, double noundef %4, double noundef %501) #56 + %503 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %499, double noundef %4, double noundef %502) #56 + %504 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %500, double noundef 1.000000e+00, double noundef %273) #56 + %505 = fneg double %273 + %506 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %504, double noundef 1.000000e+00, double noundef %505) #56 + %507 = fneg double %506 + %508 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %500, double noundef 1.000000e+00, double noundef %507) #56 + %509 = fadd double %503, %302 + %510 = fadd double %509, %508 + %511 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %504, double noundef %4, double noundef 0.000000e+00) #56 + %512 = fneg double %511 + %513 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %504, double noundef %4, double noundef %512) #56 + %514 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %510, double noundef %4, double noundef %513) #56 + %515 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %511, double noundef 1.000000e+00, double noundef %274) #56 + %516 = fneg double %274 + %517 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %515, double noundef 1.000000e+00, double noundef %516) #56 + %518 = fneg double %517 + %519 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %511, double noundef 1.000000e+00, double noundef %518) #56 + %520 = fadd double %514, %303 + %521 = fadd double %520, %519 + %522 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %515, double noundef %4, double noundef 0.000000e+00) #56 + %523 = fneg double %522 + %524 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %515, double noundef %4, double noundef %523) #56 + %525 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %521, double noundef %4, double noundef %524) #56 + %526 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %522, double noundef 1.000000e+00, double noundef %275) #56 + %527 = fneg double %275 + %528 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %526, double noundef 1.000000e+00, double noundef %527) #56 + %529 = fneg double %528 + %530 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %522, double noundef 1.000000e+00, double noundef %529) #56 + %531 = fadd double %525, %304 + %532 = fadd double %531, %530 + %533 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %526, double noundef %4, double noundef 0.000000e+00) #56 + %534 = fneg double %533 + %535 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %526, double noundef %4, double noundef %534) #56 + %536 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %532, double noundef %4, double noundef %535) #56 + %537 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %533, double noundef 1.000000e+00, double noundef %276) #56 + %538 = fneg double %276 + %539 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %537, double noundef 1.000000e+00, double noundef %538) #56 + %540 = fneg double %539 + %541 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %533, double noundef 1.000000e+00, double noundef %540) #56 + %542 = fadd double %536, %305 + %543 = fadd double %542, %541 + %544 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %537, double noundef %4, double noundef 0.000000e+00) #56 + %545 = fneg double %544 + %546 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %537, double noundef %4, double noundef %545) #56 + %547 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %543, double noundef %4, double noundef %546) #56 + %548 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %544, double noundef 1.000000e+00, double noundef %277) #56 + %549 = fneg double %277 + %550 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %548, double noundef 1.000000e+00, double noundef %549) #56 + %551 = fneg double %550 + %552 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %544, double noundef 1.000000e+00, double noundef %551) #56 + %553 = fadd double %547, %306 + %554 = fadd double %553, %552 + %555 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %548, double noundef %4, double noundef 0.000000e+00) #56 + %556 = fneg double %555 + %557 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %548, double noundef %4, double noundef %556) #56 + %558 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %554, double noundef %4, double noundef %557) #56 + %559 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %555, double noundef 1.000000e+00, double noundef %278) #56 + %560 = fneg double %278 + %561 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %559, double noundef 1.000000e+00, double noundef %560) #56 + %562 = fneg double %561 + %563 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %555, double noundef 1.000000e+00, double noundef %562) #56 + %564 = fadd double %558, %307 + %565 = fadd double %564, %563 + %566 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %559, double noundef %4, double noundef 0.000000e+00) #56 + %567 = fneg double %566 + %568 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %559, double noundef %4, double noundef %567) #56 + %569 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %565, double noundef %4, double noundef %568) #56 + %570 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %566) #56 + %571 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %279) #56 + %572 = fcmp ole double %570, %571 + %573 = select i1 %572, double %279, double %566 + %574 = select i1 %572, double %566, double %279 + %575 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %574, double noundef 1.000000e+00, double noundef %573) #56 + %576 = fneg double %573 + %577 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %575, double noundef 1.000000e+00, double noundef %576) #56 + %578 = fneg double %577 + %579 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %574, double noundef 1.000000e+00, double noundef %578) #56 + %580 = fadd double %569, %308 + %581 = fadd double %580, %579 + %582 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %575, double noundef 1.000000e+00, double noundef %581) #56 + %583 = fneg double %575 + %584 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %582, double noundef 1.000000e+00, double noundef %583) #56 + %585 = fneg double %584 + %586 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %581, double noundef 1.000000e+00, double noundef %585) #56 + %587 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %582, double noundef %4, double noundef 0.000000e+00) #56 + %588 = fneg double %587 + %589 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %582, double noundef %4, double noundef %588) #56 + %590 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %586, double noundef %4, double noundef %589) #56 + %591 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %587) #56 + %592 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %280) #56 + %593 = fcmp ole double %591, %592 + %594 = select i1 %593, double %280, double %587 + %595 = select i1 %593, double %587, double %280 + %596 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %595, double noundef 1.000000e+00, double noundef %594) #56 + %597 = fneg double %594 + %598 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %596, double noundef 1.000000e+00, double noundef %597) #56 + %599 = fneg double %598 + %600 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %595, double noundef 1.000000e+00, double noundef %599) #56 + %601 = fadd double %590, %309 + %602 = fadd double %601, %600 + %603 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %596, double noundef 1.000000e+00, double noundef %602) #56 + %604 = fneg double %596 + %605 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %603, double noundef 1.000000e+00, double noundef %604) #56 + %606 = fneg double %605 + %607 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %602, double noundef 1.000000e+00, double noundef %606) #56 + %608 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %603, double noundef %4, double noundef 0.000000e+00) #56 + %609 = fneg double %608 + %610 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %603, double noundef %4, double noundef %609) #56 + %611 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %607, double noundef %4, double noundef %610) #56 + %612 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %608) #56 + %613 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %281) #56 + %614 = fcmp ole double %612, %613 + %615 = select i1 %614, double %281, double %608 + %616 = select i1 %614, double %608, double %281 + %617 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %616, double noundef 1.000000e+00, double noundef %615) #56 + %618 = fneg double %615 + %619 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %617, double noundef 1.000000e+00, double noundef %618) #56 + %620 = fneg double %619 + %621 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %616, double noundef 1.000000e+00, double noundef %620) #56 + %622 = fadd double %611, %310 + %623 = fadd double %622, %621 + %624 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %617, double noundef 1.000000e+00, double noundef %623) #56 + %625 = fneg double %617 + %626 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %624, double noundef 1.000000e+00, double noundef %625) #56 + %627 = fneg double %626 + %628 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %623, double noundef 1.000000e+00, double noundef %627) #56 + %629 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %624, double noundef %4, double noundef 0.000000e+00) #56 + %630 = fneg double %629 + %631 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %624, double noundef %4, double noundef %630) #56 + %632 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %628, double noundef %4, double noundef %631) #56 + %633 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %629) #56 + %634 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %282) #56 + %635 = fcmp ole double %633, %634 + %636 = select i1 %635, double %282, double %629 + %637 = select i1 %635, double %629, double %282 + %638 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %637, double noundef 1.000000e+00, double noundef %636) #56 + %639 = fneg double %636 + %640 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %638, double noundef 1.000000e+00, double noundef %639) #56 + %641 = fneg double %640 + %642 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %637, double noundef 1.000000e+00, double noundef %641) #56 + %643 = fadd double %632, %311 + %644 = fadd double %643, %642 + %645 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %638, double noundef 1.000000e+00, double noundef %644) #56 + %646 = fneg double %638 + %647 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %645, double noundef 1.000000e+00, double noundef %646) #56 + %648 = fneg double %647 + %649 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %644, double noundef 1.000000e+00, double noundef %648) #56 + %650 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %645, double noundef %4, double noundef 0.000000e+00) #56 + %651 = fneg double %650 + %652 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %645, double noundef %4, double noundef %651) #56 + %653 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %649, double noundef %4, double noundef %652) #56 + %654 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %650) #56 + %655 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %283) #56 + %656 = fcmp ole double %654, %655 + %657 = select i1 %656, double %283, double %650 + %658 = select i1 %656, double %650, double %283 + %659 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %658, double noundef 1.000000e+00, double noundef %657) #56 + %660 = fneg double %657 + %661 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %659, double noundef 1.000000e+00, double noundef %660) #56 + %662 = fneg double %661 + %663 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %658, double noundef 1.000000e+00, double noundef %662) #56 + %664 = fadd double %653, %312 + %665 = fadd double %664, %663 + %666 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %659, double noundef 1.000000e+00, double noundef %665) #56 + %667 = fneg double %659 + %668 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %666, double noundef 1.000000e+00, double noundef %667) #56 + %669 = fneg double %668 + %670 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %665, double noundef 1.000000e+00, double noundef %669) #56 + br label %989 + +671: ; preds = %251 + %672 = fcmp ole double %4, 3.250000e+02 + %673 = select i1 %672, double 0xC39FDD11E6439860, double 0xC21C34A59D29E1F0 + %674 = select i1 %672, double 0x43E4510B04ED3EDF, double 0x4273AA83F8CEB8B8 + %675 = select i1 %672, double 0xC418A74A2D887FB2, double 0xC2BA17BEE5FFF90E + %676 = select i1 %672, double 0x4442EF5CC63A4124, double 0x42F5E8CB89C6A0C7 + %677 = select i1 %672, double 0xC464A8A99C845AF8, double 0xC32A21432539F887 + %678 = select i1 %672, double 0x448107798C42B51D, double 0x43578AB12029AF89 + %679 = select i1 %672, double 0xC49606DCE8D07CBE, double 0xC380A385C196A28D + %680 = select i1 %672, double 0x44A6E9CBE2673CC1, double 0x43A2E99EA93E7015 + %681 = select i1 %672, double 0xC4B37E228746C52B, double 0xC3C193F23B7EB41C + %682 = select i1 %672, double 0x44BB6EC48C5114F2, double 0x43DB05CEA507426D + %683 = select i1 %672, double 0xC4C015D256F358FB, double 0xC3F14E3113CED304 + %684 = select i1 %672, double 0x44BF921CC3359D8B, double 0x44028B8C2A3B78E6 + %685 = select i1 %672, double 0xC4B9F76CD811289A, double 0xC410A731DC52BD9D + %686 = select i1 %672, double 0x44B1E18FF9A0B93B, double 0x44190905DF0507EA + %687 = select i1 %672, double 0xC4A48B129C3E0F8D, double 0xC41F63681584B121 + %688 = select i1 %672, double 0x44938F352799178E, double 0x44204D4FB5064F49 + %689 = select i1 %672, double 0xC47E8EDC86DC0DD2, double 0xC41BC6ADB230D91C + %690 = select i1 %672, double 0x44634E1AC8CF6A7B, double 0x441320BE5CDBF71C + %691 = select i1 %672, double 0xC4435667BCC15FCF, double 0xC404DEE196A0F6F2 + %692 = select i1 %672, double 0x441DEC0CF595C834, double 0x43F1914FC50B7BEE + %693 = select i1 %672, double 0xC3F176CBF3E53770, double 0xC3D641934AC95E67 + %694 = select i1 %672, double 0x43C19FB2F51445E3, double 0x43B835A66BBBDA62 + %695 = select i1 %672, double 0xC036EEBC608FCE05, double 0xBEAD29C4051A8073 + %696 = select i1 %672, double 0xC06E5FCFE071F1A6, double 0x3F07EADE2D70B9AA + %697 = select i1 %672, double 0xC0BFAC4407B40156, double 0x3F535275BB8E1EEE + %698 = select i1 %672, double 0x40D5E206E9937D7E, double 0xBF5393A0D3F5F51C + %699 = select i1 %672, double 0x41008F657F27C1FD, double 0x3FC8545F9ED045E8 + %700 = select i1 %672, double 0xC117DF67AA616CB6, double 0x3FF7F66301CF5E55 + %701 = select i1 %672, double 0xC131B09437E46690, double 0xC024C93E170BF71B + %702 = select i1 %672, double 0x414D08ABAACD8779, double 0x4044473CC594C918 + %703 = select i1 %672, double 0xC1506DEE768FECD4, double 0xC069D222707ACCB2 + %704 = select i1 %672, double 0x415A367FF4D6631D, double 0x40760E771738560E + %705 = select i1 %672, double 0x4161F5029F3467F8, double 0xC08E20FB48D5361F + %706 = select i1 %672, double 0x415D9260F5FD1C1A, double 0x4098DE36F9663500 + %707 = select i1 %672, double 0xC15C1C1AA786A5AF, double 0x40BF8B4D51871DD9 + %708 = select i1 %672, double 0x415A3C533B2CE436, double 0xC0B63484EE108CBF + %709 = select i1 %672, double 0xC12AE0AC3F214791, double 0xC0958617C9741770 + %710 = select i1 %672, double 0xC13652C92922B2EB, double 0xC0CF4806F6F0E093 + %711 = select i1 %672, double 0x410434A35D02EC3F, double 0x407AC6145D78F9B2 + %712 = select i1 %672, double 0xC0FA072AF78D9670, double 0x40AE49A148588971 + %713 = select i1 %672, double 0xC0E594FA8A1EDFA0, double 0x4065A499D8C23CBC + %714 = select i1 %672, double 0x40B046A5A9F5694D, double 0x40907CBD87D56A30 + %715 = select i1 %672, double 0x409D1AACBCF03F77, double 0xC07B461154FABB65 + %716 = select i1 %672, double 0xC041F0E9FD2EEEA9, double 0xC02B05976409E5EB + %717 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 3.906250e-03, double noundef 0.000000e+00) #56 + %718 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %673, double noundef %717, double noundef 0.000000e+00) #56 + %719 = fneg double %718 + %720 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %673, double noundef %717, double noundef %719) #56 + %721 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %695, double noundef %717, double noundef %720) #56 + %722 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %718, double noundef 1.000000e+00, double noundef %674) #56 + %723 = fneg double %674 + %724 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %722, double noundef 1.000000e+00, double noundef %723) #56 + %725 = fneg double %724 + %726 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %718, double noundef 1.000000e+00, double noundef %725) #56 + %727 = fadd double %721, %696 + %728 = fadd double %727, %726 + %729 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %722, double noundef %717, double noundef 0.000000e+00) #56 + %730 = fneg double %729 + %731 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %722, double noundef %717, double noundef %730) #56 + %732 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %728, double noundef %717, double noundef %731) #56 + %733 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %729, double noundef 1.000000e+00, double noundef %675) #56 + %734 = fneg double %675 + %735 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %733, double noundef 1.000000e+00, double noundef %734) #56 + %736 = fneg double %735 + %737 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %729, double noundef 1.000000e+00, double noundef %736) #56 + %738 = fadd double %732, %697 + %739 = fadd double %738, %737 + %740 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %733, double noundef %717, double noundef 0.000000e+00) #56 + %741 = fneg double %740 + %742 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %733, double noundef %717, double noundef %741) #56 + %743 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %739, double noundef %717, double noundef %742) #56 + %744 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %740, double noundef 1.000000e+00, double noundef %676) #56 + %745 = fneg double %676 + %746 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %744, double noundef 1.000000e+00, double noundef %745) #56 + %747 = fneg double %746 + %748 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %740, double noundef 1.000000e+00, double noundef %747) #56 + %749 = fadd double %743, %698 + %750 = fadd double %749, %748 + %751 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %744, double noundef %717, double noundef 0.000000e+00) #56 + %752 = fneg double %751 + %753 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %744, double noundef %717, double noundef %752) #56 + %754 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %750, double noundef %717, double noundef %753) #56 + %755 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %751, double noundef 1.000000e+00, double noundef %677) #56 + %756 = fneg double %677 + %757 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %755, double noundef 1.000000e+00, double noundef %756) #56 + %758 = fneg double %757 + %759 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %751, double noundef 1.000000e+00, double noundef %758) #56 + %760 = fadd double %754, %699 + %761 = fadd double %760, %759 + %762 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %755, double noundef %717, double noundef 0.000000e+00) #56 + %763 = fneg double %762 + %764 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %755, double noundef %717, double noundef %763) #56 + %765 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %761, double noundef %717, double noundef %764) #56 + %766 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %762, double noundef 1.000000e+00, double noundef %678) #56 + %767 = fneg double %678 + %768 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %766, double noundef 1.000000e+00, double noundef %767) #56 + %769 = fneg double %768 + %770 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %762, double noundef 1.000000e+00, double noundef %769) #56 + %771 = fadd double %765, %700 + %772 = fadd double %771, %770 + %773 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %766, double noundef %717, double noundef 0.000000e+00) #56 + %774 = fneg double %773 + %775 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %766, double noundef %717, double noundef %774) #56 + %776 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %772, double noundef %717, double noundef %775) #56 + %777 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %773, double noundef 1.000000e+00, double noundef %679) #56 + %778 = fneg double %679 + %779 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %777, double noundef 1.000000e+00, double noundef %778) #56 + %780 = fneg double %779 + %781 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %773, double noundef 1.000000e+00, double noundef %780) #56 + %782 = fadd double %776, %701 + %783 = fadd double %782, %781 + %784 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %777, double noundef %717, double noundef 0.000000e+00) #56 + %785 = fneg double %784 + %786 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %777, double noundef %717, double noundef %785) #56 + %787 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %783, double noundef %717, double noundef %786) #56 + %788 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %784, double noundef 1.000000e+00, double noundef %680) #56 + %789 = fneg double %680 + %790 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %788, double noundef 1.000000e+00, double noundef %789) #56 + %791 = fneg double %790 + %792 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %784, double noundef 1.000000e+00, double noundef %791) #56 + %793 = fadd double %787, %702 + %794 = fadd double %793, %792 + %795 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %788, double noundef %717, double noundef 0.000000e+00) #56 + %796 = fneg double %795 + %797 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %788, double noundef %717, double noundef %796) #56 + %798 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %794, double noundef %717, double noundef %797) #56 + %799 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %795, double noundef 1.000000e+00, double noundef %681) #56 + %800 = fneg double %681 + %801 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %799, double noundef 1.000000e+00, double noundef %800) #56 + %802 = fneg double %801 + %803 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %795, double noundef 1.000000e+00, double noundef %802) #56 + %804 = fadd double %798, %703 + %805 = fadd double %804, %803 + %806 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %799, double noundef %717, double noundef 0.000000e+00) #56 + %807 = fneg double %806 + %808 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %799, double noundef %717, double noundef %807) #56 + %809 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %805, double noundef %717, double noundef %808) #56 + %810 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %806, double noundef 1.000000e+00, double noundef %682) #56 + %811 = fneg double %682 + %812 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %810, double noundef 1.000000e+00, double noundef %811) #56 + %813 = fneg double %812 + %814 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %806, double noundef 1.000000e+00, double noundef %813) #56 + %815 = fadd double %809, %704 + %816 = fadd double %815, %814 + %817 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %810, double noundef %717, double noundef 0.000000e+00) #56 + %818 = fneg double %817 + %819 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %810, double noundef %717, double noundef %818) #56 + %820 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %816, double noundef %717, double noundef %819) #56 + %821 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %817, double noundef 1.000000e+00, double noundef %683) #56 + %822 = fneg double %683 + %823 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %821, double noundef 1.000000e+00, double noundef %822) #56 + %824 = fneg double %823 + %825 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %817, double noundef 1.000000e+00, double noundef %824) #56 + %826 = fadd double %820, %705 + %827 = fadd double %826, %825 + %828 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %821, double noundef %717, double noundef 0.000000e+00) #56 + %829 = fneg double %828 + %830 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %821, double noundef %717, double noundef %829) #56 + %831 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %827, double noundef %717, double noundef %830) #56 + %832 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %828, double noundef 1.000000e+00, double noundef %684) #56 + %833 = fneg double %684 + %834 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %832, double noundef 1.000000e+00, double noundef %833) #56 + %835 = fneg double %834 + %836 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %828, double noundef 1.000000e+00, double noundef %835) #56 + %837 = fadd double %831, %706 + %838 = fadd double %837, %836 + %839 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %832, double noundef %717, double noundef 0.000000e+00) #56 + %840 = fneg double %839 + %841 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %832, double noundef %717, double noundef %840) #56 + %842 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %838, double noundef %717, double noundef %841) #56 + %843 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %839, double noundef 1.000000e+00, double noundef %685) #56 + %844 = fneg double %685 + %845 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %843, double noundef 1.000000e+00, double noundef %844) #56 + %846 = fneg double %845 + %847 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %839, double noundef 1.000000e+00, double noundef %846) #56 + %848 = fadd double %842, %707 + %849 = fadd double %848, %847 + %850 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %843, double noundef %717, double noundef 0.000000e+00) #56 + %851 = fneg double %850 + %852 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %843, double noundef %717, double noundef %851) #56 + %853 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %849, double noundef %717, double noundef %852) #56 + %854 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %850) #56 + %855 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %686) #56 + %856 = fcmp ole double %854, %855 + %857 = select i1 %856, double %686, double %850 + %858 = select i1 %856, double %850, double %686 + %859 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %858, double noundef 1.000000e+00, double noundef %857) #56 + %860 = fneg double %857 + %861 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %859, double noundef 1.000000e+00, double noundef %860) #56 + %862 = fneg double %861 + %863 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %858, double noundef 1.000000e+00, double noundef %862) #56 + %864 = fadd double %853, %708 + %865 = fadd double %864, %863 + %866 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %859, double noundef 1.000000e+00, double noundef %865) #56 + %867 = fneg double %859 + %868 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %866, double noundef 1.000000e+00, double noundef %867) #56 + %869 = fneg double %868 + %870 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %865, double noundef 1.000000e+00, double noundef %869) #56 + %871 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %866, double noundef %717, double noundef 0.000000e+00) #56 + %872 = fneg double %871 + %873 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %866, double noundef %717, double noundef %872) #56 + %874 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %870, double noundef %717, double noundef %873) #56 + %875 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %871, double noundef 1.000000e+00, double noundef %687) #56 + %876 = fneg double %687 + %877 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %875, double noundef 1.000000e+00, double noundef %876) #56 + %878 = fneg double %877 + %879 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %871, double noundef 1.000000e+00, double noundef %878) #56 + %880 = fadd double %874, %709 + %881 = fadd double %880, %879 + %882 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %875, double noundef %717, double noundef 0.000000e+00) #56 + %883 = fneg double %882 + %884 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %875, double noundef %717, double noundef %883) #56 + %885 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %881, double noundef %717, double noundef %884) #56 + %886 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %882, double noundef 1.000000e+00, double noundef %688) #56 + %887 = fneg double %688 + %888 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %886, double noundef 1.000000e+00, double noundef %887) #56 + %889 = fneg double %888 + %890 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %882, double noundef 1.000000e+00, double noundef %889) #56 + %891 = fadd double %885, %710 + %892 = fadd double %891, %890 + %893 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %886, double noundef %717, double noundef 0.000000e+00) #56 + %894 = fneg double %893 + %895 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %886, double noundef %717, double noundef %894) #56 + %896 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %892, double noundef %717, double noundef %895) #56 + %897 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %893, double noundef 1.000000e+00, double noundef %689) #56 + %898 = fneg double %689 + %899 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %897, double noundef 1.000000e+00, double noundef %898) #56 + %900 = fneg double %899 + %901 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %893, double noundef 1.000000e+00, double noundef %900) #56 + %902 = fadd double %896, %711 + %903 = fadd double %902, %901 + %904 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %897, double noundef %717, double noundef 0.000000e+00) #56 + %905 = fneg double %904 + %906 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %897, double noundef %717, double noundef %905) #56 + %907 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %903, double noundef %717, double noundef %906) #56 + %908 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %904, double noundef 1.000000e+00, double noundef %690) #56 + %909 = fneg double %690 + %910 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %908, double noundef 1.000000e+00, double noundef %909) #56 + %911 = fneg double %910 + %912 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %904, double noundef 1.000000e+00, double noundef %911) #56 + %913 = fadd double %907, %712 + %914 = fadd double %913, %912 + %915 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %908, double noundef %717, double noundef 0.000000e+00) #56 + %916 = fneg double %915 + %917 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %908, double noundef %717, double noundef %916) #56 + %918 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %914, double noundef %717, double noundef %917) #56 + %919 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %915, double noundef 1.000000e+00, double noundef %691) #56 + %920 = fneg double %691 + %921 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %919, double noundef 1.000000e+00, double noundef %920) #56 + %922 = fneg double %921 + %923 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %915, double noundef 1.000000e+00, double noundef %922) #56 + %924 = fadd double %918, %713 + %925 = fadd double %924, %923 + %926 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %919, double noundef %717, double noundef 0.000000e+00) #56 + %927 = fneg double %926 + %928 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %919, double noundef %717, double noundef %927) #56 + %929 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %925, double noundef %717, double noundef %928) #56 + %930 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %926) #56 + %931 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %692) #56 + %932 = fcmp ole double %930, %931 + %933 = select i1 %932, double %692, double %926 + %934 = select i1 %932, double %926, double %692 + %935 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %934, double noundef 1.000000e+00, double noundef %933) #56 + %936 = fneg double %933 + %937 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %935, double noundef 1.000000e+00, double noundef %936) #56 + %938 = fneg double %937 + %939 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %934, double noundef 1.000000e+00, double noundef %938) #56 + %940 = fadd double %929, %714 + %941 = fadd double %940, %939 + %942 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %935, double noundef 1.000000e+00, double noundef %941) #56 + %943 = fneg double %935 + %944 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %942, double noundef 1.000000e+00, double noundef %943) #56 + %945 = fneg double %944 + %946 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %941, double noundef 1.000000e+00, double noundef %945) #56 + %947 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %942, double noundef %717, double noundef 0.000000e+00) #56 + %948 = fneg double %947 + %949 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %942, double noundef %717, double noundef %948) #56 + %950 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %946, double noundef %717, double noundef %949) #56 + %951 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %947) #56 + %952 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %693) #56 + %953 = fcmp ole double %951, %952 + %954 = select i1 %953, double %693, double %947 + %955 = select i1 %953, double %947, double %693 + %956 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %955, double noundef 1.000000e+00, double noundef %954) #56 + %957 = fneg double %954 + %958 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %956, double noundef 1.000000e+00, double noundef %957) #56 + %959 = fneg double %958 + %960 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %955, double noundef 1.000000e+00, double noundef %959) #56 + %961 = fadd double %950, %715 + %962 = fadd double %961, %960 + %963 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %956, double noundef 1.000000e+00, double noundef %962) #56 + %964 = fneg double %956 + %965 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %963, double noundef 1.000000e+00, double noundef %964) #56 + %966 = fneg double %965 + %967 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %962, double noundef 1.000000e+00, double noundef %966) #56 + %968 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %963, double noundef %717, double noundef 0.000000e+00) #56 + %969 = fneg double %968 + %970 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %963, double noundef %717, double noundef %969) #56 + %971 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %967, double noundef %717, double noundef %970) #56 + %972 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %968) #56 + %973 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %694) #56 + %974 = fcmp ole double %972, %973 + %975 = select i1 %974, double %694, double %968 + %976 = select i1 %974, double %968, double %694 + %977 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %976, double noundef 1.000000e+00, double noundef %975) #56 + %978 = fneg double %975 + %979 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %977, double noundef 1.000000e+00, double noundef %978) #56 + %980 = fneg double %979 + %981 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %976, double noundef 1.000000e+00, double noundef %980) #56 + %982 = fadd double %971, %716 + %983 = fadd double %982, %981 + %984 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %977, double noundef 1.000000e+00, double noundef %983) #56 + %985 = fneg double %977 + %986 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %984, double noundef 1.000000e+00, double noundef %985) #56 + %987 = fneg double %986 + %988 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %983, double noundef 1.000000e+00, double noundef %987) #56 + br label %989 + +989: ; preds = %671, %253 + %990 = phi double [ %670, %253 ], [ %988, %671 ] + %991 = phi double [ %666, %253 ], [ %984, %671 ] + %992 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %4, double noundef 0x3FF71547652B82FE, double noundef 0x43380000000003BF) #56 + %993 = bitcast double %992 to i64 + %994 = fadd double %992, 0xC3380000000003BF + %995 = fneg double %994 + %996 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %995, double noundef 0x3FE62E42FEFA39EF, double noundef %4) #56 + %997 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %995, double noundef 0x3C7ABC9E3B39803F, double noundef 0.000000e+00) #56 + %998 = fadd double %996, %997 + %999 = fsub double %998, %996 + %1000 = fsub double %997, %999 + %1001 = shl i64 %993, 52 + %1002 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3E5AE6449E62ECF6, double noundef %998, double noundef 0x3E928A27E303B465) #56 + %1003 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1002, double noundef %998, double noundef 0x3EC71DE8E64711A9) #56 + %1004 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1003, double noundef %998, double noundef 0x3EFA019A6B2470AC) #56 + %1005 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1004, double noundef %998, double noundef 0x3F2A01A01710652F) #56 + %1006 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1005, double noundef %998, double noundef 0x3F56C16C17F29C89) #56 + %1007 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1006, double noundef %998, double noundef 0x3F8111111111A24E) #56 + %1008 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1007, double noundef %998, double noundef 0x3FA555555555211D) #56 + %1009 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1008, double noundef %998, double noundef 0x3FC5555555555530) #56 + %1010 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1009, double noundef %998, double noundef 0x3FE0000000000005) #56 + %1011 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1010, double noundef %998, double noundef 1.000000e+00) #56 + %1012 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1011, double noundef %1000, double noundef 0.000000e+00) #56 + %1013 = bitcast i64 %1001 to double + %1014 = fmul double %998, %1013 + %1015 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1011, double noundef %1014, double noundef %1013) #56 + %1016 = fsub double %1015, %1013 + %1017 = fneg double %1016 + %1018 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1011, double noundef %1014, double noundef %1017) #56 + %1019 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1012, double noundef %1013, double noundef %1018) #56 + %1020 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1015, double noundef %990, double noundef 0.000000e+00) #56 + %1021 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1019, double noundef %991, double noundef %1020) #56 + %1022 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %1015, double noundef %991, double noundef %1021) #56 + %1023 = bitcast double %1022 to i64 + %1024 = xor i64 %6, %1023 + store i64 %1024, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1029 + +1025: ; preds = %249 + %1026 = fadd double %4, 0x7FF0000000000000 + %1027 = bitcast double %1026 to i64 + %1028 = xor i64 %6, %1027 + store i64 %1028, ptr addrspace(4) %1, align 8, !tbaa !760 + br label %1029 + +1029: ; preds = %1025, %989, %22, %11 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_j0(double noundef %0) local_unnamed_addr #43 !srcloc !1601 { + %2 = alloca [2 x double], align 8 + %3 = alloca [2 x i32], align 4 + %4 = alloca [2 x double], align 8 + %5 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %6 = bitcast double %5 to i64 + %7 = lshr i64 %6, 32 + %8 = trunc i64 %7 to i32 + %9 = icmp ult i32 %8, 1012924416 + br i1 %9, label %10, label %13 + +10: ; preds = %1 + %11 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %5) #56 + %12 = fsub double 1.000000e+00, %11 + br label %386 + +13: ; preds = %1 + %14 = icmp ult i32 %8, 2146435072 + br i1 %14, label %15, label %383 + +15: ; preds = %13 + %16 = fcmp ugt double %5, 0x40433CC523D5CB69 + br i1 %16, label %169, label %17 + +17: ; preds = %15 + %18 = fcmp olt double %5, 0x400EA75575AF6F09 + br i1 %18, label %19, label %43 + +19: ; preds = %17 + %20 = fadd double %5, 0xC0033D152E971B40 + %21 = fadd double %20, 0x3CA0F80000000000 + %22 = fmul double %21, %21 + %23 = tail call double @llvm.fmuladd.f64(double %22, double 0xBBD8230006F896F4, double 0x3C77260CF8DA1AFB) + %24 = tail call double @llvm.fmuladd.f64(double %23, double %22, double 0xBCFD23F740DB0370) + %25 = tail call double @llvm.fmuladd.f64(double %24, double %22, double 0x3D7CD42362EA492F) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %22, double 0xBDF5C2C39ACAB98B) + %27 = tail call double @llvm.fmuladd.f64(double %26, double %22, double 0x3E67FF991695AA69) + %28 = tail call double @llvm.fmuladd.f64(double %27, double %22, double 0xBED232C77D22CA98) + %29 = tail call double @llvm.fmuladd.f64(double %28, double %22, double 0x3F315382BA06CCB6) + %30 = tail call double @llvm.fmuladd.f64(double %29, double %22, double 0xBF81BB1CBE1A4072) + %31 = tail call double @llvm.fmuladd.f64(double %30, double %22, double 0x3FBBA1DEEA029494) + %32 = tail call double @llvm.fmuladd.f64(double %31, double %22, double 0x3BE70AD177E48819) + %33 = tail call double @llvm.fmuladd.f64(double %22, double 0x3C355444EBABDBF7, double 0xBCBBBA50F06EFADE) + %34 = tail call double @llvm.fmuladd.f64(double %33, double %22, double 0x3D3F70E1F57FBA0E) + %35 = tail call double @llvm.fmuladd.f64(double %34, double %22, double 0xBDBBDC46CAD37452) + %36 = tail call double @llvm.fmuladd.f64(double %35, double %22, double 0x3E32951BD472C072) + %37 = tail call double @llvm.fmuladd.f64(double %36, double %22, double 0xBEA1CCE302816EAC) + %38 = tail call double @llvm.fmuladd.f64(double %37, double %22, double 0x3F06ED3B9F07E84D) + %39 = tail call double @llvm.fmuladd.f64(double %38, double %22, double 0xBF61F992590D12B8) + %40 = tail call double @llvm.fmuladd.f64(double %39, double %22, double 0x3FACFAE864368D70) + %41 = tail call double @llvm.fmuladd.f64(double %40, double %22, double 0xBFE09CDB36551280) + %42 = fmul double %41, %21 + br label %165 + +43: ; preds = %51, %17 + %44 = phi i32 [ %52, %51 ], [ 1, %17 ] + %45 = icmp ult i32 %44, 11 + br i1 %45, label %46, label %53 + +46: ; preds = %43 + %47 = zext nneg i32 %44 to i64 + %48 = getelementptr inbounds [12 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dSE, i64 0, i64 %47 + %49 = load double, ptr addrspace(1) %48, align 8, !tbaa !760 + %50 = fcmp ult double %5, %49 + br i1 %50, label %53, label %51 + +51: ; preds = %46 + %52 = add nuw nsw i32 %44, 1 + br label %43, !llvm.loop !1602 + +53: ; preds = %46, %43 + %54 = shl nuw nsw i32 %44, 1 + %55 = sext i32 %54 to i64 + %56 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_114__dj0_ep_dZ_MPE, i64 0, i64 %55 + %57 = load double, ptr addrspace(1) %56, align 8, !tbaa !760 + %58 = fsub double %5, %57 + %59 = or i32 %54, 1 + %60 = sext i32 %59 to i64 + %61 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_114__dj0_ep_dZ_MPE, i64 0, i64 %60 + %62 = load double, ptr addrspace(1) %61, align 8, !tbaa !760 + %63 = fsub double %58, %62 + %64 = mul i32 %44, 20 + %65 = add i32 %64, -20 + %66 = fmul double %63, %63 + %67 = sext i32 %65 to i64 + %68 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %67 + %69 = load double, ptr addrspace(1) %68, align 8, !tbaa !760 + %70 = add i32 %64, -18 + %71 = sext i32 %70 to i64 + %72 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %71 + %73 = load double, ptr addrspace(1) %72, align 8, !tbaa !760 + %74 = tail call double @llvm.fmuladd.f64(double %69, double %66, double %73) + %75 = add i32 %64, -16 + %76 = sext i32 %75 to i64 + %77 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %76 + %78 = load double, ptr addrspace(1) %77, align 8, !tbaa !760 + %79 = tail call double @llvm.fmuladd.f64(double %74, double %66, double %78) + %80 = add i32 %64, -14 + %81 = sext i32 %80 to i64 + %82 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %81 + %83 = load double, ptr addrspace(1) %82, align 8, !tbaa !760 + %84 = tail call double @llvm.fmuladd.f64(double %79, double %66, double %83) + %85 = add i32 %64, -12 + %86 = sext i32 %85 to i64 + %87 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %86 + %88 = load double, ptr addrspace(1) %87, align 8, !tbaa !760 + %89 = tail call double @llvm.fmuladd.f64(double %84, double %66, double %88) + %90 = add i32 %64, -10 + %91 = sext i32 %90 to i64 + %92 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %91 + %93 = load double, ptr addrspace(1) %92, align 8, !tbaa !760 + %94 = tail call double @llvm.fmuladd.f64(double %89, double %66, double %93) + %95 = add i32 %64, -8 + %96 = sext i32 %95 to i64 + %97 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %96 + %98 = load double, ptr addrspace(1) %97, align 8, !tbaa !760 + %99 = tail call double @llvm.fmuladd.f64(double %94, double %66, double %98) + %100 = add i32 %64, -6 + %101 = sext i32 %100 to i64 + %102 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %101 + %103 = load double, ptr addrspace(1) %102, align 8, !tbaa !760 + %104 = tail call double @llvm.fmuladd.f64(double %99, double %66, double %103) + %105 = add i32 %64, -4 + %106 = sext i32 %105 to i64 + %107 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %106 + %108 = load double, ptr addrspace(1) %107, align 8, !tbaa !760 + %109 = tail call double @llvm.fmuladd.f64(double %104, double %66, double %108) + %110 = add i32 %64, -2 + %111 = sext i32 %110 to i64 + %112 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %111 + %113 = load double, ptr addrspace(1) %112, align 8, !tbaa !760 + %114 = tail call double @llvm.fmuladd.f64(double %109, double %66, double %113) + %115 = fmul double %114, %63 + %116 = add i32 %64, -19 + %117 = sext i32 %116 to i64 + %118 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %117 + %119 = load double, ptr addrspace(1) %118, align 8, !tbaa !760 + %120 = add i32 %64, -17 + %121 = sext i32 %120 to i64 + %122 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %121 + %123 = load double, ptr addrspace(1) %122, align 8, !tbaa !760 + %124 = tail call double @llvm.fmuladd.f64(double %119, double %66, double %123) + %125 = add i32 %64, -15 + %126 = sext i32 %125 to i64 + %127 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %126 + %128 = load double, ptr addrspace(1) %127, align 8, !tbaa !760 + %129 = tail call double @llvm.fmuladd.f64(double %124, double %66, double %128) + %130 = add i32 %64, -13 + %131 = sext i32 %130 to i64 + %132 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %131 + %133 = load double, ptr addrspace(1) %132, align 8, !tbaa !760 + %134 = tail call double @llvm.fmuladd.f64(double %129, double %66, double %133) + %135 = add i32 %64, -11 + %136 = sext i32 %135 to i64 + %137 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %136 + %138 = load double, ptr addrspace(1) %137, align 8, !tbaa !760 + %139 = tail call double @llvm.fmuladd.f64(double %134, double %66, double %138) + %140 = add i32 %64, -9 + %141 = sext i32 %140 to i64 + %142 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %141 + %143 = load double, ptr addrspace(1) %142, align 8, !tbaa !760 + %144 = tail call double @llvm.fmuladd.f64(double %139, double %66, double %143) + %145 = add i32 %64, -7 + %146 = sext i32 %145 to i64 + %147 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %146 + %148 = load double, ptr addrspace(1) %147, align 8, !tbaa !760 + %149 = tail call double @llvm.fmuladd.f64(double %144, double %66, double %148) + %150 = add i32 %64, -5 + %151 = sext i32 %150 to i64 + %152 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %151 + %153 = load double, ptr addrspace(1) %152, align 8, !tbaa !760 + %154 = tail call double @llvm.fmuladd.f64(double %149, double %66, double %153) + %155 = add i32 %64, -3 + %156 = sext i32 %155 to i64 + %157 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %156 + %158 = load double, ptr addrspace(1) %157, align 8, !tbaa !760 + %159 = tail call double @llvm.fmuladd.f64(double %154, double %66, double %158) + %160 = add i32 %64, -1 + %161 = sext i32 %160 to i64 + %162 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_111__dj0_ep_dPE, i64 0, i64 %161 + %163 = load double, ptr addrspace(1) %162, align 8, !tbaa !760 + %164 = tail call double @llvm.fmuladd.f64(double %159, double %66, double %163) + br label %165 + +165: ; preds = %53, %19 + %166 = phi double [ %32, %19 ], [ %115, %53 ] + %167 = phi double [ %42, %19 ], [ %164, %53 ] + %168 = fadd double %166, %167 + br label %386 + +169: ; preds = %15 + %170 = fdiv double 1.000000e+00, %5 + %171 = fmul double %170, 3.600000e+01 + %172 = fmul double %171, %171 + %173 = tail call double @llvm.fmuladd.f64(double %172, double 0xBBE1D33E22820CE2, double 0x3C2C21171D1B716B) + %174 = tail call double @llvm.fmuladd.f64(double %173, double %172, double 0xBC7646D4878D7441) + %175 = tail call double @llvm.fmuladd.f64(double %174, double %172, double 0x3CC7197ABB91691B) + %176 = tail call double @llvm.fmuladd.f64(double %175, double %172, double 0xBD20F08E21634915) + %177 = tail call double @llvm.fmuladd.f64(double %176, double %172, double 0x3D82F0474E0576BD) + %178 = tail call double @llvm.fmuladd.f64(double %177, double %172, double 0xBDF212CE9049C4B5) + %179 = tail call double @llvm.fmuladd.f64(double %178, double %172, double 0x3E71EC919DE85ABD) + %180 = tail call double @llvm.fmuladd.f64(double %179, double %172, double 0xBF0C71C71C71C71C) + %181 = tail call double @llvm.fmuladd.f64(double %180, double %172, double 1.000000e+00) + %182 = tail call double @llvm.fmuladd.f64(double %172, double 0x3BC13FF08BA744EF, double 0xBC08DC7D0C1FEBD4) + %183 = tail call double @llvm.fmuladd.f64(double %182, double %172, double 0x3C51562AE18F1C51) + %184 = tail call double @llvm.fmuladd.f64(double %183, double %172, double 0xBC9ED914F42E6260) + %185 = tail call double @llvm.fmuladd.f64(double %184, double %172, double 0x3CF2DD57E26BE263) + %186 = tail call double @llvm.fmuladd.f64(double %185, double %172, double 0xBD50E48B730D814F) + %187 = tail call double @llvm.fmuladd.f64(double %186, double %172, double 0x3DB83DCBEA2882F2) + %188 = tail call double @llvm.fmuladd.f64(double %187, double %172, double 0xBE3021B641511E22) + %189 = tail call double @llvm.fmuladd.f64(double %188, double %172, double 0x3EBA5663075FDE4A) + %190 = tail call double @llvm.fmuladd.f64(double %189, double %172, double 0xBF6C71C71C71C71C) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -4294967295, ptr %3, align 4 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %4, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_j0_d_ep12_GLOBAL__N_127__dj0_ep_sincos_kernel_fp64EdiPdS1_.ones, i64 16, i1 false) + %191 = lshr i32 %8, 31 + %192 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %5) #56 + %193 = zext nneg i32 %191 to i64 + %194 = getelementptr inbounds [2 x i32], ptr %3, i64 0, i64 %193 + %195 = load i32, ptr %194, align 4, !tbaa !717 + %196 = icmp ult i32 %8, 1103101952 + br i1 %196, label %197, label %232 + +197: ; preds = %169 + %198 = icmp ult i32 %8, 1073283073 + br i1 %198, label %199, label %205 + +199: ; preds = %197 + %200 = sub i32 1, %195 + %201 = and i32 %200, 2 + %202 = icmp eq i32 %201, 0 + %203 = fadd double %192, 0xBFE921FB54442D18 + %204 = select i1 %202, double %192, double %203 + br label %328 + +205: ; preds = %197 + %206 = fmul double %192, 0x3FF45F306DC9C883 + %207 = fadd double %206, 0x4338000000000000 + %208 = bitcast double %207 to i64 + %209 = trunc i64 %208 to i32 + %210 = sitofp i32 %209 to double + %211 = fcmp olt double %206, %210 + %212 = sext i1 %211 to i32 + %213 = add nsw i32 %212, %209 + %214 = sub i32 %213, %195 + %215 = and i32 %214, 1 + %216 = add nsw i32 %214, %215 + %217 = add nsw i32 %213, %215 + %218 = icmp ult i32 %8, 1090519040 + br i1 %218, label %219, label %225 + +219: ; preds = %205 + %220 = sitofp i32 %217 to double + %221 = fneg double %220 + %222 = tail call double @llvm.fmuladd.f64(double %221, double 0x3FE921FB54440000, double %192) + %223 = tail call double @llvm.fmuladd.f64(double %221, double 0x3D768C234C400000, double %222) + %224 = tail call double @llvm.fmuladd.f64(double %221, double 0x3B68CC51701B839A, double %223) + br label %328 + +225: ; preds = %205 + %226 = sitofp i32 %217 to double + %227 = fneg double %226 + %228 = tail call double @llvm.fmuladd.f64(double %227, double 0x3FE921FB40000000, double %192) + %229 = tail call double @llvm.fmuladd.f64(double %227, double 0x3E64442D00000000, double %228) + %230 = tail call double @llvm.fmuladd.f64(double %227, double 0x3CE8469880000000, double %229) + %231 = tail call double @llvm.fmuladd.f64(double %227, double 0x3B68CC51701B839A, double %230) + br label %328 + +232: ; preds = %169 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %2, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_j0_d_ep12_GLOBAL__N_121__dj0_ep_reduce_pi04dEdPdi.zero_none, i64 16, i1 false) + %233 = bitcast double %192 to i64 + %234 = lshr i64 %233, 32 + %235 = lshr i64 %233, 52 + %236 = trunc i64 %235 to i32 + %237 = and i32 %236, 2047 + %238 = add nuw nsw i64 %234, 1937768448 + %239 = and i64 %238, 2146435072 + %240 = and i64 %234, 2148532223 + %241 = or i64 %240, %239 + %242 = shl nuw i64 %241, 32 + %243 = and i64 %233, 4294967295 + %244 = or i64 %243, %242 + %245 = bitcast i64 %244 to double + %246 = and i64 %233, 4160749568 + %247 = or i64 %242, %246 + %248 = bitcast i64 %247 to double + %249 = fsub double %245, %248 + %250 = add nsw i32 %237, -1052 + %251 = trunc i32 %250 to i16 + %252 = sdiv i16 %251, 25 + %253 = sext i16 %252 to i32 + %254 = mul nsw i32 %253, -25 + %255 = add nsw i32 %254, %250 + %256 = icmp sgt i32 %255, 16 + br i1 %256, label %257, label %271 + +257: ; preds = %232 + %258 = sext i16 %252 to i64 + %259 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %258 + %260 = load double, ptr addrspace(1) %259, align 4, !tbaa !760 + %261 = add nsw i32 %253, 1 + %262 = sext i32 %261 to i64 + %263 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %262 + %264 = load double, ptr addrspace(1) %263, align 4, !tbaa !760 + %265 = fmul double %264, %248 + %266 = tail call double @llvm.fmuladd.f64(double %249, double %260, double %265) + %267 = bitcast double %266 to i64 + %268 = and i64 %267, -1048576 + %269 = bitcast i64 %268 to double + %270 = fsub double %266, %269 + br label %275 + +271: ; preds = %232 + %272 = sext i16 %252 to i64 + %273 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %272 + %274 = load double, ptr addrspace(1) %273, align 4, !tbaa !760 + br label %275 + +275: ; preds = %271, %257 + %276 = phi double [ %274, %271 ], [ %264, %257 ] + %277 = phi double [ 0.000000e+00, %271 ], [ %270, %257 ] + %278 = phi i32 [ %253, %271 ], [ %261, %257 ] + %279 = add nsw i32 %278, 1 + %280 = sext i32 %279 to i64 + %281 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %280 + %282 = load double, ptr addrspace(1) %281, align 4, !tbaa !760 + %283 = fmul double %282, %248 + %284 = tail call double @llvm.fmuladd.f64(double %249, double %276, double %283) + %285 = fadd double %277, %284 + %286 = add nsw i32 %278, 2 + %287 = sext i32 %286 to i64 + %288 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %287 + %289 = load double, ptr addrspace(1) %288, align 4, !tbaa !760 + %290 = fmul double %289, %248 + %291 = tail call double @llvm.fmuladd.f64(double %249, double %282, double %290) + %292 = fadd double %285, %291 + %293 = bitcast double %292 to i64 + %294 = lshr i64 %293, 52 + %295 = and i64 %294, 2047 + %296 = sub nsw i64 1075, %295 + %297 = and i64 %296, 4294967295 + %298 = ashr i64 %293, %297 + %299 = trunc i64 %298 to i32 + %300 = shl i64 %298, %297 + %301 = bitcast i64 %300 to double + %302 = sub i32 %299, %195 + %303 = fsub double %285, %301 + %304 = and i32 %302, 1 + %305 = zext nneg i32 %304 to i64 + %306 = getelementptr inbounds [2 x double], ptr %2, i64 0, i64 %305 + %307 = load double, ptr %306, align 8, !tbaa !760 + %308 = fadd double %307, %303 + %309 = fadd double %308, %291 + br label %310 + +310: ; preds = %316, %275 + %311 = phi double [ %289, %275 ], [ %320, %316 ] + %312 = phi double [ %309, %275 ], [ %323, %316 ] + %313 = phi i32 [ %286, %275 ], [ %317, %316 ] + %314 = phi i32 [ 0, %275 ], [ %324, %316 ] + %315 = icmp ult i32 %314, 5 + br i1 %315, label %316, label %325 + +316: ; preds = %310 + %317 = add nsw i32 %313, 1 + %318 = sext i32 %317 to i64 + %319 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j0_d_ep12_GLOBAL__N_112__dj0_ep__DPE, i64 %318 + %320 = load double, ptr addrspace(1) %319, align 4, !tbaa !760 + %321 = fmul double %320, %248 + %322 = tail call double @llvm.fmuladd.f64(double %249, double %311, double %321) + %323 = fadd double %312, %322 + %324 = add nuw nsw i32 %314, 1 + br label %310, !llvm.loop !1603 + +325: ; preds = %310 + %326 = fmul double %312, 0x3FE921FB54442D18 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #55 + %327 = add nsw i32 %302, 1 + br label %328 + +328: ; preds = %325, %225, %219, %199 + %329 = phi double [ %224, %219 ], [ %231, %225 ], [ %326, %325 ], [ %204, %199 ] + %330 = phi i32 [ %216, %219 ], [ %216, %225 ], [ %327, %325 ], [ %200, %199 ] + %331 = add nsw i32 %330, 2 + %332 = lshr i32 %331, 2 + %333 = and i32 %332, 1 + %334 = lshr i32 %330, 2 + %335 = and i32 %334, 1 + %336 = xor i32 %191, %335 + %337 = fmul double %329, %329 + %338 = fmul double %337, %337 + %339 = tail call double @llvm.fmuladd.f64(double %338, double 0x3EFA01299942AB00, double 0x3FA5555555150951) + %340 = tail call double @llvm.fmuladd.f64(double %339, double %338, double 1.000000e+00) + %341 = tail call double @llvm.fmuladd.f64(double %338, double 0x3EC71D9AA585BFC4, double 0x3F81111110FD4208) + %342 = fmul double %341, %338 + %343 = tail call double @llvm.fmuladd.f64(double %342, double %329, double %329) + %344 = tail call double @llvm.fmuladd.f64(double %338, double 0xBE9247507B5EE59E, double 0xBF56C16BAE710FF8) + %345 = tail call double @llvm.fmuladd.f64(double %344, double %338, double 0xBFDFFFFFFFFFE6A2) + %346 = fmul double %345, %337 + %347 = tail call double @llvm.fmuladd.f64(double %338, double 0xBE5AA2880297FC43, double 0xBF2A019FD9BD0882) + %348 = tail call double @llvm.fmuladd.f64(double %347, double %338, double 0xBFC555555555516D) + %349 = fmul double %348, %337 + %350 = fmul double %349, %329 + %351 = fadd double %340, %346 + %352 = fadd double %343, %350 + %353 = and i32 %330, 2 + %354 = icmp eq i32 %353, 0 + br i1 %354, label %364, label %355 + +355: ; preds = %328 + %356 = zext nneg i32 %336 to i64 + %357 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %356 + %358 = load double, ptr %357, align 8, !tbaa !760 + %359 = fmul double %351, %358 + %360 = zext nneg i32 %333 to i64 + %361 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %360 + %362 = load double, ptr %361, align 8, !tbaa !760 + %363 = fmul double %352, %362 + br label %373 + +364: ; preds = %328 + %365 = zext nneg i32 %336 to i64 + %366 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %365 + %367 = load double, ptr %366, align 8, !tbaa !760 + %368 = fmul double %352, %367 + %369 = zext nneg i32 %333 to i64 + %370 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %369 + %371 = load double, ptr %370, align 8, !tbaa !760 + %372 = fmul double %351, %371 + br label %373 + +373: ; preds = %364, %355 + %374 = phi double [ %368, %364 ], [ %359, %355 ] + %375 = phi double [ %372, %364 ], [ %363, %355 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + %376 = fmul double %181, %375 + %377 = fneg double %171 + %378 = fmul double %190, %377 + %379 = tail call double @llvm.fmuladd.f64(double %378, double %374, double %376) + %380 = fmul double %170, 0x3FE45F306DC9C883 + %381 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %380) #56 + %382 = fmul double %381, %379 + br label %386 + +383: ; preds = %13 + %384 = icmp ugt i64 %6, 9218868437227405312 + %385 = select i1 %384, double %5, double 0.000000e+00 + br label %386 + +386: ; preds = %383, %373, %165, %10 + %387 = phi double [ %12, %10 ], [ %168, %165 ], [ %382, %373 ], [ %385, %383 ] + ret double %387 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_j1(double noundef %0) local_unnamed_addr #43 !srcloc !1604 { + %2 = alloca [2 x double], align 8 + %3 = alloca [2 x i32], align 4 + %4 = alloca [2 x double], align 8 + %5 = alloca [2 x double], align 8 + %6 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %5, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_dj1EPKdPd.zeros, i64 16, i1 false) + %7 = bitcast double %6 to i64 + %8 = lshr i64 %7, 32 + %9 = trunc i64 %8 to i32 + %10 = bitcast double %0 to i64 + %11 = lshr i64 %10, 63 + %12 = icmp ult i32 %9, 2146435072 + br i1 %12, label %13, label %389 + +13: ; preds = %1 + %14 = icmp ult i32 %9, 1012924416 + br i1 %14, label %15, label %17 + +15: ; preds = %13 + %16 = fmul double %0, 5.000000e-01 + br label %394 + +17: ; preds = %13 + %18 = fcmp olt double %6, 0x404275637A9619EC + br i1 %18, label %19, label %171 + +19: ; preds = %17 + %20 = fcmp olt double %6, 0x40033D152E971B40 + br i1 %20, label %21, label %42 + +21: ; preds = %19 + %22 = fmul double %6, %6 + %23 = tail call double @llvm.fmuladd.f64(double %22, double 0xBC2442F0FE360F4D, double 0x3CC64F9909AFCFE5) + %24 = tail call double @llvm.fmuladd.f64(double %23, double %22, double 0xBD44E58BF2A524F1) + %25 = tail call double @llvm.fmuladd.f64(double %24, double %22, double 0x3DC27F8F0466F708) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %22, double 0xBE3845C4025D7598) + %27 = tail call double @llvm.fmuladd.f64(double %26, double %22, double 0x3EA6C16C1CF5627B) + %28 = tail call double @llvm.fmuladd.f64(double %27, double %22, double 0xBF0C71C71C6C247A) + %29 = tail call double @llvm.fmuladd.f64(double %28, double %22, double 0x3F655555555556C7) + %30 = tail call double @llvm.fmuladd.f64(double %29, double %22, double -6.250000e-02) + %31 = tail call double @llvm.fmuladd.f64(double %30, double %22, double 5.000000e-01) + %32 = fmul double %31, %6 + %33 = tail call double @llvm.fmuladd.f64(double %22, double 0xBC6DEB930B84DCA0, double 0xBCC161028CDF8A9A) + %34 = tail call double @llvm.fmuladd.f64(double %33, double %22, double 0xBCF3FD3CB961EBC1) + %35 = tail call double @llvm.fmuladd.f64(double %34, double %22, double 0xBD0ECCD22AB9BAD3) + %36 = tail call double @llvm.fmuladd.f64(double %35, double %22, double 0xBD11395F52FF2D85) + %37 = tail call double @llvm.fmuladd.f64(double %36, double %22, double 0xBCFB4D5998901168) + %38 = tail call double @llvm.fmuladd.f64(double %37, double %22, double 0xBCCB3462F0C51592) + %39 = tail call double @llvm.fmuladd.f64(double %38, double %22, double 0xBC7A20841FBADCFC) + %40 = tail call double @llvm.fmuladd.f64(double %39, double %22, double 0xBBFA612F6DD351E0) + %41 = fmul double %40, %22 + br label %164 + +42: ; preds = %50, %19 + %43 = phi i32 [ %51, %50 ], [ 1, %19 ] + %44 = icmp ult i32 %43, 11 + br i1 %44, label %45, label %52 + +45: ; preds = %42 + %46 = zext nneg i32 %43 to i64 + %47 = getelementptr inbounds [12 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dSE, i64 0, i64 %46 + %48 = load double, ptr addrspace(1) %47, align 8, !tbaa !760 + %49 = fcmp ult double %6, %48 + br i1 %49, label %52, label %50 + +50: ; preds = %45 + %51 = add nuw nsw i32 %43, 1 + br label %42, !llvm.loop !1605 + +52: ; preds = %45, %42 + %53 = add nsw i32 %43, -1 + %54 = mul nsw i32 %53, 20 + %55 = shl nsw i32 %53, 1 + %56 = sext i32 %55 to i64 + %57 = getelementptr inbounds [22 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_114__dj1_ep_dZ_MPE, i64 0, i64 %56 + %58 = load double, ptr addrspace(1) %57, align 8, !tbaa !760 + %59 = fsub double %6, %58 + %60 = or i32 %55, 1 + %61 = sext i32 %60 to i64 + %62 = getelementptr inbounds [22 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_114__dj1_ep_dZ_MPE, i64 0, i64 %61 + %63 = load double, ptr addrspace(1) %62, align 8, !tbaa !760 + %64 = fsub double %59, %63 + %65 = fmul double %64, %64 + %66 = sext i32 %54 to i64 + %67 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %66 + %68 = load double, ptr addrspace(1) %67, align 8, !tbaa !760 + %69 = or i32 %54, 2 + %70 = sext i32 %69 to i64 + %71 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %70 + %72 = load double, ptr addrspace(1) %71, align 8, !tbaa !760 + %73 = tail call double @llvm.fmuladd.f64(double %68, double %65, double %72) + %74 = add nsw i32 %54, 4 + %75 = sext i32 %74 to i64 + %76 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %75 + %77 = load double, ptr addrspace(1) %76, align 8, !tbaa !760 + %78 = tail call double @llvm.fmuladd.f64(double %73, double %65, double %77) + %79 = add nsw i32 %54, 6 + %80 = sext i32 %79 to i64 + %81 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %80 + %82 = load double, ptr addrspace(1) %81, align 8, !tbaa !760 + %83 = tail call double @llvm.fmuladd.f64(double %78, double %65, double %82) + %84 = add nsw i32 %54, 8 + %85 = sext i32 %84 to i64 + %86 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %85 + %87 = load double, ptr addrspace(1) %86, align 8, !tbaa !760 + %88 = tail call double @llvm.fmuladd.f64(double %83, double %65, double %87) + %89 = add nsw i32 %54, 10 + %90 = sext i32 %89 to i64 + %91 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %90 + %92 = load double, ptr addrspace(1) %91, align 8, !tbaa !760 + %93 = tail call double @llvm.fmuladd.f64(double %88, double %65, double %92) + %94 = add nsw i32 %54, 12 + %95 = sext i32 %94 to i64 + %96 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %95 + %97 = load double, ptr addrspace(1) %96, align 8, !tbaa !760 + %98 = tail call double @llvm.fmuladd.f64(double %93, double %65, double %97) + %99 = add nsw i32 %54, 14 + %100 = sext i32 %99 to i64 + %101 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %100 + %102 = load double, ptr addrspace(1) %101, align 8, !tbaa !760 + %103 = tail call double @llvm.fmuladd.f64(double %98, double %65, double %102) + %104 = add nsw i32 %54, 16 + %105 = sext i32 %104 to i64 + %106 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %105 + %107 = load double, ptr addrspace(1) %106, align 8, !tbaa !760 + %108 = tail call double @llvm.fmuladd.f64(double %103, double %65, double %107) + %109 = add nsw i32 %54, 18 + %110 = sext i32 %109 to i64 + %111 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %110 + %112 = load double, ptr addrspace(1) %111, align 8, !tbaa !760 + %113 = tail call double @llvm.fmuladd.f64(double %108, double %65, double %112) + %114 = fmul double %113, %64 + %115 = or i32 %54, 1 + %116 = sext i32 %115 to i64 + %117 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %116 + %118 = load double, ptr addrspace(1) %117, align 8, !tbaa !760 + %119 = or i32 %54, 3 + %120 = sext i32 %119 to i64 + %121 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %120 + %122 = load double, ptr addrspace(1) %121, align 8, !tbaa !760 + %123 = tail call double @llvm.fmuladd.f64(double %118, double %65, double %122) + %124 = add nsw i32 %54, 5 + %125 = sext i32 %124 to i64 + %126 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %125 + %127 = load double, ptr addrspace(1) %126, align 8, !tbaa !760 + %128 = tail call double @llvm.fmuladd.f64(double %123, double %65, double %127) + %129 = add nsw i32 %54, 7 + %130 = sext i32 %129 to i64 + %131 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %130 + %132 = load double, ptr addrspace(1) %131, align 8, !tbaa !760 + %133 = tail call double @llvm.fmuladd.f64(double %128, double %65, double %132) + %134 = add nsw i32 %54, 9 + %135 = sext i32 %134 to i64 + %136 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %135 + %137 = load double, ptr addrspace(1) %136, align 8, !tbaa !760 + %138 = tail call double @llvm.fmuladd.f64(double %133, double %65, double %137) + %139 = add nsw i32 %54, 11 + %140 = sext i32 %139 to i64 + %141 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %140 + %142 = load double, ptr addrspace(1) %141, align 8, !tbaa !760 + %143 = tail call double @llvm.fmuladd.f64(double %138, double %65, double %142) + %144 = add nsw i32 %54, 13 + %145 = sext i32 %144 to i64 + %146 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %145 + %147 = load double, ptr addrspace(1) %146, align 8, !tbaa !760 + %148 = tail call double @llvm.fmuladd.f64(double %143, double %65, double %147) + %149 = add nsw i32 %54, 15 + %150 = sext i32 %149 to i64 + %151 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %150 + %152 = load double, ptr addrspace(1) %151, align 8, !tbaa !760 + %153 = tail call double @llvm.fmuladd.f64(double %148, double %65, double %152) + %154 = add nsw i32 %54, 17 + %155 = sext i32 %154 to i64 + %156 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %155 + %157 = load double, ptr addrspace(1) %156, align 8, !tbaa !760 + %158 = tail call double @llvm.fmuladd.f64(double %153, double %65, double %157) + %159 = add nsw i32 %54, 19 + %160 = sext i32 %159 to i64 + %161 = getelementptr inbounds [220 x double], ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_111__dj1_ep_dPE, i64 0, i64 %160 + %162 = load double, ptr addrspace(1) %161, align 8, !tbaa !760 + %163 = tail call double @llvm.fmuladd.f64(double %158, double %65, double %162) + br label %164 + +164: ; preds = %52, %21 + %165 = phi double [ %32, %21 ], [ %114, %52 ] + %166 = phi double [ %41, %21 ], [ %163, %52 ] + %167 = fadd double %165, %166 + %168 = fneg double %167 + %169 = icmp slt i64 %10, 0 + %170 = select i1 %169, double %168, double %167 + br label %394 + +171: ; preds = %17 + %172 = fdiv double 1.000000e+00, %6 + %173 = fmul double %172, 3.600000e+01 + %174 = fmul double %173, %173 + %175 = tail call double @llvm.fmuladd.f64(double %174, double 0x3BE2E041332B59B9, double 0xBC2DF44C525BF7DE) + %176 = tail call double @llvm.fmuladd.f64(double %175, double %174, double 0x3C77ED733E2B4011) + %177 = tail call double @llvm.fmuladd.f64(double %176, double %174, double 0xBCC91BB3FCE3335B) + %178 = tail call double @llvm.fmuladd.f64(double %177, double %174, double 0x3D22B908E904C525) + %179 = tail call double @llvm.fmuladd.f64(double %178, double %174, double 0xBD8576B7365D6B96) + %180 = tail call double @llvm.fmuladd.f64(double %179, double %174, double 0x3DF55C0B64B456CD) + %181 = tail call double @llvm.fmuladd.f64(double %180, double %174, double 0xBE770B96A673E266) + %182 = tail call double @llvm.fmuladd.f64(double %181, double %174, double 0x3F17B425ED097B42) + %183 = tail call double @llvm.fmuladd.f64(double %182, double %174, double 1.000000e+00) + %184 = tail call double @llvm.fmuladd.f64(double %174, double 0xBBC23696090354E0, double 0x3C0A60B89719DA94) + %185 = tail call double @llvm.fmuladd.f64(double %184, double %174, double 0xBC52886D1ECF082A) + %186 = tail call double @llvm.fmuladd.f64(double %185, double %174, double 0x3CA0A86E8652DA7B) + %187 = tail call double @llvm.fmuladd.f64(double %186, double %174, double 0xBCF4A947ED633352) + %188 = tail call double @llvm.fmuladd.f64(double %187, double %174, double 0x3D52E1508FC7BC09) + %189 = tail call double @llvm.fmuladd.f64(double %188, double %174, double 0xBDBBF888D31B489F) + %190 = tail call double @llvm.fmuladd.f64(double %189, double %174, double 0x3E33B76CFA7F96AE) + %191 = tail call double @llvm.fmuladd.f64(double %190, double %174, double 0xBEC26FABB85CB534) + %192 = tail call double @llvm.fmuladd.f64(double %191, double %174, double 0x3F85555555555555) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -4294967295, ptr %3, align 4 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %4, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_127__dj1_ep_sincos_kernel_fp64EdiPdS1_.ones, i64 16, i1 false) + %193 = lshr i32 %9, 31 + %194 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %6) #56 + %195 = zext nneg i32 %193 to i64 + %196 = getelementptr inbounds [2 x i32], ptr %3, i64 0, i64 %195 + %197 = load i32, ptr %196, align 4, !tbaa !717 + %198 = mul nsw i32 %197, -3 + %199 = icmp ult i32 %9, 1103101952 + br i1 %199, label %200, label %235 + +200: ; preds = %171 + %201 = icmp ult i32 %9, 1073283073 + br i1 %201, label %202, label %208 + +202: ; preds = %200 + %203 = add nsw i32 %198, 1 + %204 = and i32 %203, 2 + %205 = icmp eq i32 %204, 0 + %206 = fadd double %194, 0xBFE921FB54442D18 + %207 = select i1 %205, double %194, double %206 + br label %331 + +208: ; preds = %200 + %209 = fmul double %194, 0x3FF45F306DC9C883 + %210 = fadd double %209, 0x4338000000000000 + %211 = bitcast double %210 to i64 + %212 = trunc i64 %211 to i32 + %213 = sitofp i32 %212 to double + %214 = fcmp olt double %209, %213 + %215 = sext i1 %214 to i32 + %216 = add nsw i32 %215, %212 + %217 = add nsw i32 %216, %198 + %218 = and i32 %217, 1 + %219 = add nsw i32 %217, %218 + %220 = add nsw i32 %216, %218 + %221 = icmp ult i32 %9, 1090519040 + br i1 %221, label %222, label %228 + +222: ; preds = %208 + %223 = sitofp i32 %220 to double + %224 = fneg double %223 + %225 = tail call double @llvm.fmuladd.f64(double %224, double 0x3FE921FB54440000, double %194) + %226 = tail call double @llvm.fmuladd.f64(double %224, double 0x3D768C234C400000, double %225) + %227 = tail call double @llvm.fmuladd.f64(double %224, double 0x3B68CC51701B839A, double %226) + br label %331 + +228: ; preds = %208 + %229 = sitofp i32 %220 to double + %230 = fneg double %229 + %231 = tail call double @llvm.fmuladd.f64(double %230, double 0x3FE921FB40000000, double %194) + %232 = tail call double @llvm.fmuladd.f64(double %230, double 0x3E64442D00000000, double %231) + %233 = tail call double @llvm.fmuladd.f64(double %230, double 0x3CE8469880000000, double %232) + %234 = tail call double @llvm.fmuladd.f64(double %230, double 0x3B68CC51701B839A, double %233) + br label %331 + +235: ; preds = %171 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %2, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_j1_d_ep12_GLOBAL__N_121__dj1_ep_reduce_pi04dEdPdi.zero_none, i64 16, i1 false) + %236 = bitcast double %194 to i64 + %237 = lshr i64 %236, 32 + %238 = lshr i64 %236, 52 + %239 = trunc i64 %238 to i32 + %240 = and i32 %239, 2047 + %241 = add nuw nsw i64 %237, 1937768448 + %242 = and i64 %241, 2146435072 + %243 = and i64 %237, 2148532223 + %244 = or i64 %243, %242 + %245 = shl nuw i64 %244, 32 + %246 = and i64 %236, 4294967295 + %247 = or i64 %246, %245 + %248 = bitcast i64 %247 to double + %249 = and i64 %236, 4160749568 + %250 = or i64 %245, %249 + %251 = bitcast i64 %250 to double + %252 = fsub double %248, %251 + %253 = add nsw i32 %240, -1052 + %254 = trunc i32 %253 to i16 + %255 = sdiv i16 %254, 25 + %256 = sext i16 %255 to i32 + %257 = mul nsw i32 %256, -25 + %258 = add nsw i32 %257, %253 + %259 = icmp sgt i32 %258, 16 + br i1 %259, label %260, label %274 + +260: ; preds = %235 + %261 = sext i16 %255 to i64 + %262 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %261 + %263 = load double, ptr addrspace(1) %262, align 4, !tbaa !760 + %264 = add nsw i32 %256, 1 + %265 = sext i32 %264 to i64 + %266 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %265 + %267 = load double, ptr addrspace(1) %266, align 4, !tbaa !760 + %268 = fmul double %267, %251 + %269 = tail call double @llvm.fmuladd.f64(double %252, double %263, double %268) + %270 = bitcast double %269 to i64 + %271 = and i64 %270, -1048576 + %272 = bitcast i64 %271 to double + %273 = fsub double %269, %272 + br label %278 + +274: ; preds = %235 + %275 = sext i16 %255 to i64 + %276 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %275 + %277 = load double, ptr addrspace(1) %276, align 4, !tbaa !760 + br label %278 + +278: ; preds = %274, %260 + %279 = phi double [ %277, %274 ], [ %267, %260 ] + %280 = phi double [ 0.000000e+00, %274 ], [ %273, %260 ] + %281 = phi i32 [ %256, %274 ], [ %264, %260 ] + %282 = add nsw i32 %281, 1 + %283 = sext i32 %282 to i64 + %284 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %283 + %285 = load double, ptr addrspace(1) %284, align 4, !tbaa !760 + %286 = fmul double %285, %251 + %287 = tail call double @llvm.fmuladd.f64(double %252, double %279, double %286) + %288 = fadd double %280, %287 + %289 = add nsw i32 %281, 2 + %290 = sext i32 %289 to i64 + %291 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %290 + %292 = load double, ptr addrspace(1) %291, align 4, !tbaa !760 + %293 = fmul double %292, %251 + %294 = tail call double @llvm.fmuladd.f64(double %252, double %285, double %293) + %295 = fadd double %288, %294 + %296 = bitcast double %295 to i64 + %297 = lshr i64 %296, 52 + %298 = and i64 %297, 2047 + %299 = sub nsw i64 1075, %298 + %300 = and i64 %299, 4294967295 + %301 = ashr i64 %296, %300 + %302 = trunc i64 %301 to i32 + %303 = shl i64 %301, %300 + %304 = bitcast i64 %303 to double + %305 = add nsw i32 %198, %302 + %306 = fsub double %288, %304 + %307 = and i32 %305, 1 + %308 = zext nneg i32 %307 to i64 + %309 = getelementptr inbounds [2 x double], ptr %2, i64 0, i64 %308 + %310 = load double, ptr %309, align 8, !tbaa !760 + %311 = fadd double %310, %306 + %312 = fadd double %311, %294 + br label %313 + +313: ; preds = %319, %278 + %314 = phi double [ %292, %278 ], [ %323, %319 ] + %315 = phi double [ %312, %278 ], [ %326, %319 ] + %316 = phi i32 [ %289, %278 ], [ %320, %319 ] + %317 = phi i32 [ 0, %278 ], [ %327, %319 ] + %318 = icmp ult i32 %317, 5 + br i1 %318, label %319, label %328 + +319: ; preds = %313 + %320 = add nsw i32 %316, 1 + %321 = sext i32 %320 to i64 + %322 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_j1_d_ep12_GLOBAL__N_112__dj1_ep__DPE, i64 %321 + %323 = load double, ptr addrspace(1) %322, align 4, !tbaa !760 + %324 = fmul double %323, %251 + %325 = tail call double @llvm.fmuladd.f64(double %252, double %314, double %324) + %326 = fadd double %315, %325 + %327 = add nuw nsw i32 %317, 1 + br label %313, !llvm.loop !1606 + +328: ; preds = %313 + %329 = fmul double %315, 0x3FE921FB54442D18 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #55 + %330 = add nsw i32 %305, 1 + br label %331 + +331: ; preds = %328, %228, %222, %202 + %332 = phi double [ %227, %222 ], [ %234, %228 ], [ %329, %328 ], [ %207, %202 ] + %333 = phi i32 [ %219, %222 ], [ %219, %228 ], [ %330, %328 ], [ %203, %202 ] + %334 = add nsw i32 %333, 2 + %335 = lshr i32 %334, 2 + %336 = and i32 %335, 1 + %337 = lshr i32 %333, 2 + %338 = and i32 %337, 1 + %339 = xor i32 %193, %338 + %340 = fmul double %332, %332 + %341 = fmul double %340, %340 + %342 = tail call double @llvm.fmuladd.f64(double %341, double 0x3EFA01299942AB00, double 0x3FA5555555150951) + %343 = tail call double @llvm.fmuladd.f64(double %342, double %341, double 1.000000e+00) + %344 = tail call double @llvm.fmuladd.f64(double %341, double 0x3EC71D9AA585BFC4, double 0x3F81111110FD4208) + %345 = fmul double %344, %341 + %346 = tail call double @llvm.fmuladd.f64(double %345, double %332, double %332) + %347 = tail call double @llvm.fmuladd.f64(double %341, double 0xBE9247507B5EE59E, double 0xBF56C16BAE710FF8) + %348 = tail call double @llvm.fmuladd.f64(double %347, double %341, double 0xBFDFFFFFFFFFE6A2) + %349 = fmul double %348, %340 + %350 = tail call double @llvm.fmuladd.f64(double %341, double 0xBE5AA2880297FC43, double 0xBF2A019FD9BD0882) + %351 = tail call double @llvm.fmuladd.f64(double %350, double %341, double 0xBFC555555555516D) + %352 = fmul double %351, %340 + %353 = fmul double %352, %332 + %354 = fadd double %343, %349 + %355 = fadd double %346, %353 + %356 = and i32 %333, 2 + %357 = icmp eq i32 %356, 0 + br i1 %357, label %367, label %358 + +358: ; preds = %331 + %359 = zext nneg i32 %339 to i64 + %360 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %359 + %361 = load double, ptr %360, align 8, !tbaa !760 + %362 = fmul double %354, %361 + %363 = zext nneg i32 %336 to i64 + %364 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %363 + %365 = load double, ptr %364, align 8, !tbaa !760 + %366 = fmul double %355, %365 + br label %376 + +367: ; preds = %331 + %368 = zext nneg i32 %339 to i64 + %369 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %368 + %370 = load double, ptr %369, align 8, !tbaa !760 + %371 = fmul double %355, %370 + %372 = zext nneg i32 %336 to i64 + %373 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %372 + %374 = load double, ptr %373, align 8, !tbaa !760 + %375 = fmul double %354, %374 + br label %376 + +376: ; preds = %367, %358 + %377 = phi double [ %371, %367 ], [ %362, %358 ] + %378 = phi double [ %375, %367 ], [ %366, %358 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + %379 = fmul double %183, %378 + %380 = fneg double %173 + %381 = fmul double %192, %380 + %382 = tail call double @llvm.fmuladd.f64(double %381, double %377, double %379) + %383 = fmul double %172, 0x3FE45F306DC9C883 + %384 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %383) #56 + %385 = fmul double %384, %382 + %386 = fneg double %385 + %387 = icmp slt i64 %10, 0 + %388 = select i1 %387, double %386, double %385 + br label %394 + +389: ; preds = %1 + %390 = icmp ugt i64 %7, 9218868437227405312 + br i1 %390, label %394, label %391 + +391: ; preds = %389 + %392 = getelementptr inbounds [2 x double], ptr %5, i64 0, i64 %11 + %393 = load double, ptr %392, align 8, !tbaa !760 + br label %394 + +394: ; preds = %391, %389, %376, %164, %15 + %395 = phi double [ %16, %15 ], [ %170, %164 ], [ %388, %376 ], [ %393, %391 ], [ %0, %389 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #55 + ret double %395 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_y0(double noundef %0) local_unnamed_addr #43 !srcloc !1607 { + %2 = alloca [2 x double], align 8 + %3 = alloca [2 x i32], align 4 + %4 = alloca [2 x double], align 8 + %5 = bitcast double %0 to i64 + %6 = lshr i64 %5, 32 + %7 = trunc i64 %6 to i32 + %8 = trunc i64 %5 to i32 + %9 = and i32 %7, 2147483647 + %10 = icmp ult i32 %9, 2146435072 + br i1 %10, label %11, label %611 + +11: ; preds = %1 + %12 = icmp sgt i64 %5, 0 + br i1 %12, label %13, label %607 + +13: ; preds = %11 + %14 = fcmp ugt double %0, 0x404273A7B35A7AFF + br i1 %14, label %394, label %15 + +15: ; preds = %13 + %16 = fcmp olt double %0, 6.000000e-01 + br i1 %16, label %17, label %113 + +17: ; preds = %15 + %18 = fmul double %0, %0 + %19 = fmul double %18, %18 + %20 = tail call double @llvm.fmuladd.f64(double %19, double 0x3D921DC99F6A7CF6, double 0x3E7BCE4A4C57ED71) + %21 = tail call double @llvm.fmuladd.f64(double %20, double %19, double 0x3F41A6206B7B94C1) + %22 = tail call double @llvm.fmuladd.f64(double %21, double %19, double 0x3FC6BBCB41034286) + %23 = fmul double %22, %18 + %24 = tail call double @llvm.fmuladd.f64(double %19, double 0xBE0A6EC762057D51, double 0xBEE3E99794198952) + %25 = tail call double @llvm.fmuladd.f64(double %24, double %19, double 0xBF9075B1BBF41363) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %19, double 0xBFB2E4D699CBD01F) + %27 = fadd double %23, %26 + %28 = add nsw i64 %5, -9218868437227405312 + %29 = icmp ult i64 %28, -9218868437227405311 + br i1 %29, label %30, label %38 + +30: ; preds = %17 + %31 = tail call double @llvm.fabs.f64(double %0) + %32 = bitcast double %31 to i64 + %33 = icmp eq i64 %32, 0 + %34 = icmp ugt i64 %5, 9218868437227405312 + %35 = select i1 %34, double %0, double -0.000000e+00 + %36 = fadd double %35, %0 + %37 = select i1 %33, double 0xFFF0000000000000, double %36 + br label %75 + +38: ; preds = %17 + %39 = icmp ult i64 %5, 4503599627370496 + %40 = select i1 %39, i32 -1083, i32 -1023 + %41 = fmul double %0, 0x43B0000000000000 + %42 = select i1 %39, double %41, double %0 + %43 = bitcast double %42 to i64 + %44 = add i64 %43, 3002399751580330 + %45 = lshr i64 %44, 52 + %46 = trunc i64 %45 to i32 + %47 = and i64 %44, -4503599627370496 + %48 = add i64 %43, 4607182418800017408 + %49 = sub i64 %48, %47 + %50 = bitcast i64 %49 to double + %51 = fadd double %50, -1.000000e+00 + %52 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFB6E22682C05596, double noundef %51, double noundef 0x3FB6C694B21A9875) #56 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %52, double noundef %51, double noundef 0xBFA68F0ACEE35E2D) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %53, double noundef %51, double noundef 0x3FA9474CCD075CE5) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %51, double noundef 0xBFB0750F4F9C34F9) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef %51, double noundef 0x3FB16608748AB72D) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %56, double noundef %51, double noundef 0xBFB23E2EC341EBA0) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %57, double noundef %51, double noundef 0x3FB3AA521D980CD0) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %51, double noundef 0xBFB555FA23866D76) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %59, double noundef %51, double noundef 0x3FB74629A554D880) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef %51, double noundef 0xBFB999938ABCF213) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef %51, double noundef 0x3FBC71C472FB2195) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %62, double noundef %51, double noundef 0xBFC00000112830D9) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %51, double noundef 0x3FC24924982C2697) #56 + %65 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef %51, double noundef 0xBFC55555551FBBDB) #56 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %65, double noundef %51, double noundef 0x3FC99999998C68B5) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %51, double noundef 0xBFD0000000002697) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef %51, double noundef 0x3FD5555555555B0E) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %51, double noundef 0xBFDFFFFFFFFFFFF0) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %51, double noundef 0xBC8A30CFDED694FF) #56 + %71 = add nsw i32 %40, %46 + %72 = sitofp i32 %71 to double + %73 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %51, double noundef %51) #56 + %74 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef 0x3FE62E42FEFA39EF, double noundef %73) #56 + br label %75 + +75: ; preds = %38, %30 + %76 = phi double [ %74, %38 ], [ %37, %30 ] + %77 = fadd double %0, 0xC0033D152E971B40 + %78 = fadd double %77, 0x3CA0F80000000000 + %79 = bitcast double %78 to i64 + %80 = lshr i64 %79, 32 + %81 = trunc i64 %80 to i32 + %82 = icmp ugt i32 %81, 1012924415 + br i1 %82, label %83, label %106 + +83: ; preds = %75 + %84 = fmul double %78, %78 + %85 = tail call double @llvm.fmuladd.f64(double %84, double 0xBBD8230006F896F4, double 0x3C77260CF8DA1AFB) + %86 = tail call double @llvm.fmuladd.f64(double %85, double %84, double 0xBCFD23F740DB0370) + %87 = tail call double @llvm.fmuladd.f64(double %86, double %84, double 0x3D7CD42362EA492F) + %88 = tail call double @llvm.fmuladd.f64(double %87, double %84, double 0xBDF5C2C39ACAB98B) + %89 = tail call double @llvm.fmuladd.f64(double %88, double %84, double 0x3E67FF991695AA69) + %90 = tail call double @llvm.fmuladd.f64(double %89, double %84, double 0xBED232C77D22CA98) + %91 = tail call double @llvm.fmuladd.f64(double %90, double %84, double 0x3F315382BA06CCB6) + %92 = tail call double @llvm.fmuladd.f64(double %91, double %84, double 0xBF81BB1CBE1A4072) + %93 = tail call double @llvm.fmuladd.f64(double %92, double %84, double 0x3FBBA1DEEA029494) + %94 = tail call double @llvm.fmuladd.f64(double %93, double %84, double 0x3BE70AD177E48819) + %95 = tail call double @llvm.fmuladd.f64(double %84, double 0x3C355444EBABDBF7, double 0xBCBBBA50F06EFADE) + %96 = tail call double @llvm.fmuladd.f64(double %95, double %84, double 0x3D3F70E1F57FBA0E) + %97 = tail call double @llvm.fmuladd.f64(double %96, double %84, double 0xBDBBDC46CAD37452) + %98 = tail call double @llvm.fmuladd.f64(double %97, double %84, double 0x3E32951BD472C072) + %99 = tail call double @llvm.fmuladd.f64(double %98, double %84, double 0xBEA1CCE302816EAC) + %100 = tail call double @llvm.fmuladd.f64(double %99, double %84, double 0x3F06ED3B9F07E84D) + %101 = tail call double @llvm.fmuladd.f64(double %100, double %84, double 0xBF61F992590D12B8) + %102 = tail call double @llvm.fmuladd.f64(double %101, double %84, double 0x3FACFAE864368D70) + %103 = tail call double @llvm.fmuladd.f64(double %102, double %84, double 0xBFE09CDB36551280) + %104 = fmul double %103, %78 + %105 = fadd double %94, %104 + br label %109 + +106: ; preds = %75 + %107 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %78) #56 + %108 = fsub double 1.000000e+00, %107 + br label %109 + +109: ; preds = %106, %83 + %110 = phi double [ %105, %83 ], [ %108, %106 ] + %111 = fmul double %110, 0x3FE45F306DC9C883 + %112 = tail call double @llvm.fmuladd.f64(double %111, double %76, double %27) + br label %618 + +113: ; preds = %15 + %114 = fcmp olt double %0, 1.200000e+00 + br i1 %114, label %115, label %141 + +115: ; preds = %113 + %116 = fadd double %0, 0xBFEC982EB8D417EA + %117 = fadd double %116, 0xBC7EB00000000000 + %118 = fmul double %117, %117 + %119 = tail call double @llvm.fmuladd.f64(double %118, double 0xBEA06072EDE6EB0B, double 0xBED8C635D634E53B) + %120 = tail call double @llvm.fmuladd.f64(double %119, double %118, double 0xBEFCA1FB322AE061) + %121 = tail call double @llvm.fmuladd.f64(double %120, double %118, double 0xBF18A30BD5074D1E) + %122 = tail call double @llvm.fmuladd.f64(double %121, double %118, double 0xBF458875B0A05DA0) + %123 = tail call double @llvm.fmuladd.f64(double %122, double %118, double 0x3F86BAD68791617B) + %124 = tail call double @llvm.fmuladd.f64(double %123, double %118, double 0xBFCC3306601CCD4F) + %125 = tail call double @llvm.fmuladd.f64(double %124, double %118, double 0x3FF10172857A74F3) + %126 = tail call double @llvm.fmuladd.f64(double %125, double %118, double 0x3FE8A05847CD958C) + %127 = fmul double %126, %117 + %128 = tail call double @llvm.fmuladd.f64(double %118, double 0x3EC212CAAB38B774, double 0x3EEBF68F1546AB01) + %129 = tail call double @llvm.fmuladd.f64(double %128, double %118, double 0x3F0BBE5FBC64827F) + %130 = tail call double @llvm.fmuladd.f64(double %129, double %118, double 0x3F25E18593E741D1) + %131 = tail call double @llvm.fmuladd.f64(double %130, double %118, double 0x3F53C981B9960CBC) + %132 = tail call double @llvm.fmuladd.f64(double %131, double %118, double 0xBF6DE152ED86D7DC) + %133 = tail call double @llvm.fmuladd.f64(double %132, double %118, double 0xBFC4634A7174668C) + %134 = tail call double @llvm.fmuladd.f64(double %133, double %118, double 0x3FFC9240472622AA) + %135 = tail call double @llvm.fmuladd.f64(double %134, double %118, double 0x3BD30482CB085EB2) + %136 = tail call double @llvm.fmuladd.f64(double %117, double 0x3FE823B9B9CA6C27, double 0x400331C0E45D1EC8) + %137 = tail call double @llvm.fmuladd.f64(double %136, double %117, double 0x40042960AA97934E) + %138 = tail call double @llvm.fmuladd.f64(double %137, double %117, double 0x3FEC00BF1E079127) + %139 = fadd double %127, %135 + %140 = fdiv double %139, %138 + br label %618 + +141: ; preds = %113 + %142 = fcmp olt double %0, 0x400193BED4DFF243 + br i1 %142, label %143, label %173 + +143: ; preds = %141 + %144 = fadd double %0, -1.200000e+00 + %145 = fmul double %144, %144 + %146 = tail call double @llvm.fmuladd.f64(double %145, double 0xBE68E7D0B04ADEFD, double 0xBED41340E5C62A81) + %147 = tail call double @llvm.fmuladd.f64(double %146, double %145, double 0xBF1298DFA9409E8A) + %148 = tail call double @llvm.fmuladd.f64(double %147, double %145, double 0xBF38C0AB4C3F462F) + %149 = tail call double @llvm.fmuladd.f64(double %148, double %145, double 0xBF5146F5DA9293E6) + %150 = tail call double @llvm.fmuladd.f64(double %149, double %145, double 0xBF60D8792B4A2A88) + %151 = tail call double @llvm.fmuladd.f64(double %150, double %145, double 0xBF6CC255261191B0) + %152 = tail call double @llvm.fmuladd.f64(double %151, double %145, double 0xBF783598352E7490) + %153 = tail call double @llvm.fmuladd.f64(double %152, double %145, double 0xBF84DA0583191330) + %154 = tail call double @llvm.fmuladd.f64(double %153, double %145, double 0xBF92A2B3948267C9) + %155 = tail call double @llvm.fmuladd.f64(double %154, double %145, double 0xBFA1CFC4AC4A8B02) + %156 = tail call double @llvm.fmuladd.f64(double %155, double %145, double 0xBFAD324EE4F13D79) + %157 = tail call double @llvm.fmuladd.f64(double %156, double %145, double 0xBFD7DCC0469DD49B) + %158 = tail call double @llvm.fmuladd.f64(double %157, double %145, double 0x3FCD31D7198F1808) + %159 = tail call double @llvm.fmuladd.f64(double %145, double 0x3EA6CF71392A5928, double 0x3EF6B0968F7A29B7) + %160 = tail call double @llvm.fmuladd.f64(double %159, double %145, double 0x3F27B953559CEB45) + %161 = tail call double @llvm.fmuladd.f64(double %160, double %145, double 0x3F45FF9BD280E7CB) + %162 = tail call double @llvm.fmuladd.f64(double %161, double %145, double 0x3F58D4117594F1A5) + %163 = tail call double @llvm.fmuladd.f64(double %162, double %145, double 0x3F66275C5171B098) + %164 = tail call double @llvm.fmuladd.f64(double %163, double %145, double 0x3F72A08802A62E25) + %165 = tail call double @llvm.fmuladd.f64(double %164, double %145, double 0x3F7FA72D617A8820) + %166 = tail call double @llvm.fmuladd.f64(double %165, double %145, double 0x3F8BBA4832D3556F) + %167 = tail call double @llvm.fmuladd.f64(double %166, double %145, double 0x3F9962C295813703) + %168 = tail call double @llvm.fmuladd.f64(double %167, double %145, double 0x3FA993ACEC07357A) + %169 = tail call double @llvm.fmuladd.f64(double %168, double %145, double 0x3FB26A78540A7349) + %170 = tail call double @llvm.fmuladd.f64(double %169, double %145, double 0x3FE3E05966AC1184) + %171 = fmul double %170, %144 + %172 = fadd double %158, %171 + br label %618 + +173: ; preds = %141 + %174 = fcmp olt double %0, 3.000000e+00 + br i1 %174, label %175, label %196 + +175: ; preds = %173 + %176 = fadd double %0, -3.000000e+00 + %177 = fmul double %176, %176 + %178 = tail call double @llvm.fmuladd.f64(double %177, double 0x3E2F780C47A1F652, double 0x3E6612066E94208B) + %179 = tail call double @llvm.fmuladd.f64(double %178, double %177, double 0x3E787D13DBFE854C) + %180 = tail call double @llvm.fmuladd.f64(double %179, double %177, double 0x3E971F77D65FEBEF) + %181 = tail call double @llvm.fmuladd.f64(double %180, double %177, double 0x3EC6810D3D373954) + %182 = tail call double @llvm.fmuladd.f64(double %181, double %177, double 0x3F17B51F19857B6B) + %183 = tail call double @llvm.fmuladd.f64(double %182, double %177, double 0xBF6135AA20865CF4) + %184 = tail call double @llvm.fmuladd.f64(double %183, double %177, double 0x3FB0224F7EBCB622) + %185 = tail call double @llvm.fmuladd.f64(double %184, double %177, double 0xBFD4C7773D150462) + %186 = fmul double %185, %176 + %187 = tail call double @llvm.fmuladd.f64(double %177, double 0x3E50209AB9A60DA9, double 0x3E6A4930F89E2B15) + %188 = tail call double @llvm.fmuladd.f64(double %187, double %177, double 0xBE6A2B383EB81C0E) + %189 = tail call double @llvm.fmuladd.f64(double %188, double %177, double 0xBEB134B6F189CCF0) + %190 = tail call double @llvm.fmuladd.f64(double %189, double %177, double 0xBEE328A165106414) + %191 = tail call double @llvm.fmuladd.f64(double %190, double %177, double 0xBF3161CE60B86825) + %192 = tail call double @llvm.fmuladd.f64(double %191, double %177, double 0x3F72400005778FB0) + %193 = tail call double @llvm.fmuladd.f64(double %192, double %177, double 0xBFC13127C21922B1) + %194 = tail call double @llvm.fmuladd.f64(double %193, double %177, double 0x3FD81E4F8120242A) + %195 = fadd double %186, %194 + br label %618 + +196: ; preds = %173 + %197 = fcmp olt double %0, 3.875000e+00 + br i1 %197, label %198, label %218 + +198: ; preds = %196 + %199 = fadd double %0, -3.875000e+00 + %200 = fmul double %199, %199 + %201 = tail call double @llvm.fmuladd.f64(double %200, double 0xBDDE04257F06ED2E, double 0xBE15D4964EB95ED7) + %202 = tail call double @llvm.fmuladd.f64(double %201, double %200, double 0xBE3AB3E1D7B36225) + %203 = tail call double @llvm.fmuladd.f64(double %202, double %200, double 0xBE664AD523DFA409) + %204 = tail call double @llvm.fmuladd.f64(double %203, double %200, double 0xBED3A5061A0ABA31) + %205 = tail call double @llvm.fmuladd.f64(double %204, double %200, double 0x3F259C48AF8EEC4E) + %206 = tail call double @llvm.fmuladd.f64(double %205, double %200, double 0xBF784B04C1370173) + %207 = tail call double @llvm.fmuladd.f64(double %206, double %200, double 0x3FA277F1EE9AE1CA) + %208 = tail call double @llvm.fmuladd.f64(double %207, double %200, double 0x3FA133795E84AF28) + %209 = tail call double @llvm.fmuladd.f64(double %200, double 0xBDF9524A74AD3A5B, double 0xBE01E8652D35171A) + %210 = tail call double @llvm.fmuladd.f64(double %209, double %200, double 0x3E5766FC0BF69673) + %211 = tail call double @llvm.fmuladd.f64(double %210, double %200, double 0xBE91FDE6326A2DC6) + %212 = tail call double @llvm.fmuladd.f64(double %211, double %200, double 0x3F0C5BB6242ACE70) + %213 = tail call double @llvm.fmuladd.f64(double %212, double %200, double 0xBF629EAA4D4B135F) + %214 = tail call double @llvm.fmuladd.f64(double %213, double %200, double 0x3FAF0C08618B7FF0) + %215 = tail call double @llvm.fmuladd.f64(double %214, double %200, double 0xBFDA392128EE4F97) + %216 = fmul double %215, %199 + %217 = fadd double %208, %216 + br label %618 + +218: ; preds = %196 + %219 = fcmp ugt double %0, 0x4015B7FE4E87B02E + br i1 %219, label %243, label %220 + +220: ; preds = %218 + %221 = fadd double %0, 0xC00FA9534D98569C + %222 = fadd double %221, 0x3C9F000000000000 + %223 = fmul double %222, %222 + %224 = tail call double @llvm.fmuladd.f64(double %223, double 0xBD2505043783C734, double 0xBD98FB562827B6FA) + %225 = tail call double @llvm.fmuladd.f64(double %224, double %223, double 0xBDE77D3BF76C0281) + %226 = tail call double @llvm.fmuladd.f64(double %225, double %223, double 0xBE2F46138A4244FF) + %227 = tail call double @llvm.fmuladd.f64(double %226, double %223, double 0xBE577585A6FD29E3) + %228 = tail call double @llvm.fmuladd.f64(double %227, double %223, double 0xBED48636FB495D97) + %229 = tail call double @llvm.fmuladd.f64(double %228, double %223, double 0x3F2998276518C468) + %230 = tail call double @llvm.fmuladd.f64(double %229, double %223, double 0xBF7C116FDC598103) + %231 = tail call double @llvm.fmuladd.f64(double %230, double %223, double 0x3FAA09C9290367EF) + %232 = tail call double @llvm.fmuladd.f64(double %231, double %223, double 0xBBE5844B224F16D1) + %233 = tail call double @llvm.fmuladd.f64(double %223, double 0x3D66C89386EDE5F7, double 0x3DC3188DA0E51FD2) + %234 = tail call double @llvm.fmuladd.f64(double %233, double %223, double 0x3E09BCF4656E19C0) + %235 = tail call double @llvm.fmuladd.f64(double %234, double %223, double 0x3E544FF0DA589133) + %236 = tail call double @llvm.fmuladd.f64(double %235, double %223, double 0xBE93B21F475E460E) + %237 = tail call double @llvm.fmuladd.f64(double %236, double %223, double 0x3F0AB2C1FE22F9B1) + %238 = tail call double @llvm.fmuladd.f64(double %237, double %223, double 0xBF61E32BC4EF852D) + %239 = tail call double @llvm.fmuladd.f64(double %238, double %223, double 0x3FADF6D59BF50EBD) + %240 = tail call double @llvm.fmuladd.f64(double %239, double %223, double 0xBFD9C34256A12A0C) + %241 = fmul double %240, %222 + %242 = fadd double %232, %241 + br label %618 + +243: ; preds = %218 + %244 = fcmp olt double %0, 0x40213127AE6169B4 + br i1 %244, label %245, label %271 + +245: ; preds = %243 + %246 = fadd double %0, 0xC01C581DC4E72103 + %247 = fadd double %246, 0x3C99800000000000 + %248 = fmul double %247, %247 + %249 = tail call double @llvm.fmuladd.f64(double %248, double 0x3BF426B9C60C3F33, double 0x3C2B9EAFFCE7064A) + %250 = tail call double @llvm.fmuladd.f64(double %249, double %248, double 0x3CC397DD5F56941C) + %251 = tail call double @llvm.fmuladd.f64(double %250, double %248, double 0xBD4067BB0EF9B268) + %252 = tail call double @llvm.fmuladd.f64(double %251, double %248, double 0x3DBF14E5C0E3DE3F) + %253 = tail call double @llvm.fmuladd.f64(double %252, double %248, double 0xBE3442A3D3A923CA) + %254 = tail call double @llvm.fmuladd.f64(double %253, double %248, double 0x3EA34AA7573F923E) + %255 = tail call double @llvm.fmuladd.f64(double %254, double %248, double 0xBF08177E4FE52432) + %256 = tail call double @llvm.fmuladd.f64(double %255, double %248, double 0x3F61D35E85FDE2A4) + %257 = tail call double @llvm.fmuladd.f64(double %256, double %248, double 0xBFA8969C64CBF452) + %258 = tail call double @llvm.fmuladd.f64(double %257, double %248, double 0x3FD334CCA0697A5B) + %259 = fmul double %258, %247 + %260 = tail call double @llvm.fmuladd.f64(double %248, double 0xBC1813D0A5BC8FC1, double 0xBC827EB0BF61E546) + %261 = tail call double @llvm.fmuladd.f64(double %260, double %248, double 0x3CF334DA6AA81157) + %262 = tail call double @llvm.fmuladd.f64(double %261, double %248, double 0xBD7714BFAF47AC37) + %263 = tail call double @llvm.fmuladd.f64(double %262, double %248, double 0x3DEFA6C5023992CB) + %264 = tail call double @llvm.fmuladd.f64(double %263, double %248, double 0xBE60A2814D751AB1) + %265 = tail call double @llvm.fmuladd.f64(double %264, double %248, double 0x3EC6A9227352EE0F) + %266 = tail call double @llvm.fmuladd.f64(double %265, double %248, double 0xBF226DD71E391C7E) + %267 = tail call double @llvm.fmuladd.f64(double %266, double %248, double 0x3F6B2F14A95527CB) + %268 = tail call double @llvm.fmuladd.f64(double %267, double %248, double 0xBF95AEF611FC4D57) + %269 = tail call double @llvm.fmuladd.f64(double %268, double %248, double 0xBBE4E90DA8FC3BC1) + %270 = fadd double %259, %269 + br label %618 + +271: ; preds = %279, %243 + %272 = phi i32 [ %280, %279 ], [ 3, %243 ] + %273 = icmp ult i32 %272, 11 + br i1 %273, label %274, label %281 + +274: ; preds = %271 + %275 = zext nneg i32 %272 to i64 + %276 = getelementptr inbounds [12 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dSE, i64 0, i64 %275 + %277 = load double, ptr addrspace(1) %276, align 8, !tbaa !760 + %278 = fcmp ugt double %277, %0 + br i1 %278, label %281, label %279 + +279: ; preds = %274 + %280 = add nuw nsw i32 %272, 1 + br label %271, !llvm.loop !1608 + +281: ; preds = %274, %271 + %282 = shl nuw nsw i32 %272, 1 + %283 = sext i32 %282 to i64 + %284 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_114__dy0_ep_dZ_MPE, i64 0, i64 %283 + %285 = load double, ptr addrspace(1) %284, align 8, !tbaa !760 + %286 = fsub double %0, %285 + %287 = or i32 %282, 1 + %288 = sext i32 %287 to i64 + %289 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_114__dy0_ep_dZ_MPE, i64 0, i64 %288 + %290 = load double, ptr addrspace(1) %289, align 8, !tbaa !760 + %291 = fsub double %286, %290 + %292 = mul i32 %272, 20 + %293 = add i32 %292, -60 + %294 = fmul double %291, %291 + %295 = sext i32 %293 to i64 + %296 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %295 + %297 = load double, ptr addrspace(1) %296, align 8, !tbaa !760 + %298 = add i32 %292, -58 + %299 = sext i32 %298 to i64 + %300 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %299 + %301 = load double, ptr addrspace(1) %300, align 8, !tbaa !760 + %302 = tail call double @llvm.fmuladd.f64(double %297, double %294, double %301) + %303 = add i32 %292, -56 + %304 = sext i32 %303 to i64 + %305 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %304 + %306 = load double, ptr addrspace(1) %305, align 8, !tbaa !760 + %307 = tail call double @llvm.fmuladd.f64(double %302, double %294, double %306) + %308 = add i32 %292, -54 + %309 = sext i32 %308 to i64 + %310 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %309 + %311 = load double, ptr addrspace(1) %310, align 8, !tbaa !760 + %312 = tail call double @llvm.fmuladd.f64(double %307, double %294, double %311) + %313 = add i32 %292, -52 + %314 = sext i32 %313 to i64 + %315 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %314 + %316 = load double, ptr addrspace(1) %315, align 8, !tbaa !760 + %317 = tail call double @llvm.fmuladd.f64(double %312, double %294, double %316) + %318 = add i32 %292, -50 + %319 = sext i32 %318 to i64 + %320 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %319 + %321 = load double, ptr addrspace(1) %320, align 8, !tbaa !760 + %322 = tail call double @llvm.fmuladd.f64(double %317, double %294, double %321) + %323 = add i32 %292, -48 + %324 = sext i32 %323 to i64 + %325 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %324 + %326 = load double, ptr addrspace(1) %325, align 8, !tbaa !760 + %327 = tail call double @llvm.fmuladd.f64(double %322, double %294, double %326) + %328 = add i32 %292, -46 + %329 = sext i32 %328 to i64 + %330 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %329 + %331 = load double, ptr addrspace(1) %330, align 8, !tbaa !760 + %332 = tail call double @llvm.fmuladd.f64(double %327, double %294, double %331) + %333 = add i32 %292, -44 + %334 = sext i32 %333 to i64 + %335 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %334 + %336 = load double, ptr addrspace(1) %335, align 8, !tbaa !760 + %337 = tail call double @llvm.fmuladd.f64(double %332, double %294, double %336) + %338 = add i32 %292, -42 + %339 = sext i32 %338 to i64 + %340 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %339 + %341 = load double, ptr addrspace(1) %340, align 8, !tbaa !760 + %342 = tail call double @llvm.fmuladd.f64(double %337, double %294, double %341) + %343 = fmul double %342, %291 + %344 = add i32 %292, -59 + %345 = sext i32 %344 to i64 + %346 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %345 + %347 = load double, ptr addrspace(1) %346, align 8, !tbaa !760 + %348 = add i32 %292, -57 + %349 = sext i32 %348 to i64 + %350 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %349 + %351 = load double, ptr addrspace(1) %350, align 8, !tbaa !760 + %352 = tail call double @llvm.fmuladd.f64(double %347, double %294, double %351) + %353 = add i32 %292, -55 + %354 = sext i32 %353 to i64 + %355 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %354 + %356 = load double, ptr addrspace(1) %355, align 8, !tbaa !760 + %357 = tail call double @llvm.fmuladd.f64(double %352, double %294, double %356) + %358 = add i32 %292, -53 + %359 = sext i32 %358 to i64 + %360 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %359 + %361 = load double, ptr addrspace(1) %360, align 8, !tbaa !760 + %362 = tail call double @llvm.fmuladd.f64(double %357, double %294, double %361) + %363 = add i32 %292, -51 + %364 = sext i32 %363 to i64 + %365 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %364 + %366 = load double, ptr addrspace(1) %365, align 8, !tbaa !760 + %367 = tail call double @llvm.fmuladd.f64(double %362, double %294, double %366) + %368 = add i32 %292, -49 + %369 = sext i32 %368 to i64 + %370 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %369 + %371 = load double, ptr addrspace(1) %370, align 8, !tbaa !760 + %372 = tail call double @llvm.fmuladd.f64(double %367, double %294, double %371) + %373 = add i32 %292, -47 + %374 = sext i32 %373 to i64 + %375 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %374 + %376 = load double, ptr addrspace(1) %375, align 8, !tbaa !760 + %377 = tail call double @llvm.fmuladd.f64(double %372, double %294, double %376) + %378 = add i32 %292, -45 + %379 = sext i32 %378 to i64 + %380 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %379 + %381 = load double, ptr addrspace(1) %380, align 8, !tbaa !760 + %382 = tail call double @llvm.fmuladd.f64(double %377, double %294, double %381) + %383 = add i32 %292, -43 + %384 = sext i32 %383 to i64 + %385 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %384 + %386 = load double, ptr addrspace(1) %385, align 8, !tbaa !760 + %387 = tail call double @llvm.fmuladd.f64(double %382, double %294, double %386) + %388 = add i32 %292, -41 + %389 = sext i32 %388 to i64 + %390 = getelementptr inbounds [180 x double], ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_111__dy0_ep_dPE, i64 0, i64 %389 + %391 = load double, ptr addrspace(1) %390, align 8, !tbaa !760 + %392 = tail call double @llvm.fmuladd.f64(double %387, double %294, double %391) + %393 = fadd double %343, %392 + br label %618 + +394: ; preds = %13 + %395 = fdiv double 1.000000e+00, %0 + %396 = fmul double %395, 3.600000e+01 + %397 = fmul double %396, %396 + %398 = tail call double @llvm.fmuladd.f64(double %397, double 0xBBE1D33E22820CE2, double 0x3C2C21171D1B716B) + %399 = tail call double @llvm.fmuladd.f64(double %398, double %397, double 0xBC7646D4878D7441) + %400 = tail call double @llvm.fmuladd.f64(double %399, double %397, double 0x3CC7197ABB91691B) + %401 = tail call double @llvm.fmuladd.f64(double %400, double %397, double 0xBD20F08E21634915) + %402 = tail call double @llvm.fmuladd.f64(double %401, double %397, double 0x3D82F0474E0576BD) + %403 = tail call double @llvm.fmuladd.f64(double %402, double %397, double 0xBDF212CE9049C4B5) + %404 = tail call double @llvm.fmuladd.f64(double %403, double %397, double 0x3E71EC919DE85ABD) + %405 = tail call double @llvm.fmuladd.f64(double %404, double %397, double 0xBF0C71C71C71C71C) + %406 = tail call double @llvm.fmuladd.f64(double %405, double %397, double 1.000000e+00) + %407 = tail call double @llvm.fmuladd.f64(double %397, double 0x3BC13FF08BA744EF, double 0xBC08DC7D0C1FEBD4) + %408 = tail call double @llvm.fmuladd.f64(double %407, double %397, double 0x3C51562AE18F1C51) + %409 = tail call double @llvm.fmuladd.f64(double %408, double %397, double 0xBC9ED914F42E6260) + %410 = tail call double @llvm.fmuladd.f64(double %409, double %397, double 0x3CF2DD57E26BE263) + %411 = tail call double @llvm.fmuladd.f64(double %410, double %397, double 0xBD50E48B730D814F) + %412 = tail call double @llvm.fmuladd.f64(double %411, double %397, double 0x3DB83DCBEA2882F2) + %413 = tail call double @llvm.fmuladd.f64(double %412, double %397, double 0xBE3021B641511E22) + %414 = tail call double @llvm.fmuladd.f64(double %413, double %397, double 0x3EBA5663075FDE4A) + %415 = tail call double @llvm.fmuladd.f64(double %414, double %397, double 0xBF6C71C71C71C71C) + %416 = fmul double %415, %396 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -4294967295, ptr %3, align 4 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %4, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_y0_d_ep12_GLOBAL__N_127__dy0_ep_sincos_kernel_fp64EdiPdS1_.ones, i64 16, i1 false) + %417 = lshr i32 %7, 31 + %418 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %419 = zext nneg i32 %417 to i64 + %420 = getelementptr inbounds [2 x i32], ptr %3, i64 0, i64 %419 + %421 = load i32, ptr %420, align 4, !tbaa !717 + %422 = icmp ult i32 %9, 1103101952 + br i1 %422, label %423, label %458 + +423: ; preds = %394 + %424 = icmp ult i32 %9, 1073283073 + br i1 %424, label %425, label %431 + +425: ; preds = %423 + %426 = sub i32 1, %421 + %427 = and i32 %426, 2 + %428 = icmp eq i32 %427, 0 + %429 = fadd double %418, 0xBFE921FB54442D18 + %430 = select i1 %428, double %418, double %429 + br label %554 + +431: ; preds = %423 + %432 = fmul double %418, 0x3FF45F306DC9C883 + %433 = fadd double %432, 0x4338000000000000 + %434 = bitcast double %433 to i64 + %435 = trunc i64 %434 to i32 + %436 = sitofp i32 %435 to double + %437 = fcmp olt double %432, %436 + %438 = sext i1 %437 to i32 + %439 = add nsw i32 %438, %435 + %440 = sub i32 %439, %421 + %441 = and i32 %440, 1 + %442 = add nsw i32 %440, %441 + %443 = add nsw i32 %439, %441 + %444 = icmp ult i32 %9, 1090519040 + br i1 %444, label %445, label %451 + +445: ; preds = %431 + %446 = sitofp i32 %443 to double + %447 = fneg double %446 + %448 = tail call double @llvm.fmuladd.f64(double %447, double 0x3FE921FB54440000, double %418) + %449 = tail call double @llvm.fmuladd.f64(double %447, double 0x3D768C234C400000, double %448) + %450 = tail call double @llvm.fmuladd.f64(double %447, double 0x3B68CC51701B839A, double %449) + br label %554 + +451: ; preds = %431 + %452 = sitofp i32 %443 to double + %453 = fneg double %452 + %454 = tail call double @llvm.fmuladd.f64(double %453, double 0x3FE921FB40000000, double %418) + %455 = tail call double @llvm.fmuladd.f64(double %453, double 0x3E64442D00000000, double %454) + %456 = tail call double @llvm.fmuladd.f64(double %453, double 0x3CE8469880000000, double %455) + %457 = tail call double @llvm.fmuladd.f64(double %453, double 0x3B68CC51701B839A, double %456) + br label %554 + +458: ; preds = %394 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %2, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_y0_d_ep12_GLOBAL__N_121__dy0_ep_reduce_pi04dEdPdi.zero_none, i64 16, i1 false) + %459 = bitcast double %418 to i64 + %460 = lshr i64 %459, 32 + %461 = lshr i64 %459, 52 + %462 = trunc i64 %461 to i32 + %463 = and i32 %462, 2047 + %464 = add nuw nsw i64 %460, 1937768448 + %465 = and i64 %464, 2146435072 + %466 = and i64 %460, 2148532223 + %467 = or i64 %466, %465 + %468 = shl nuw i64 %467, 32 + %469 = and i64 %459, 4294967295 + %470 = or i64 %469, %468 + %471 = bitcast i64 %470 to double + %472 = and i64 %459, 4160749568 + %473 = or i64 %468, %472 + %474 = bitcast i64 %473 to double + %475 = fsub double %471, %474 + %476 = add nsw i32 %463, -1052 + %477 = trunc i32 %476 to i16 + %478 = sdiv i16 %477, 25 + %479 = sext i16 %478 to i32 + %480 = mul nsw i32 %479, -25 + %481 = add nsw i32 %480, %476 + %482 = icmp sgt i32 %481, 16 + br i1 %482, label %483, label %497 + +483: ; preds = %458 + %484 = sext i16 %478 to i64 + %485 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %484 + %486 = load double, ptr addrspace(1) %485, align 4, !tbaa !760 + %487 = add nsw i32 %479, 1 + %488 = sext i32 %487 to i64 + %489 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %488 + %490 = load double, ptr addrspace(1) %489, align 4, !tbaa !760 + %491 = fmul double %490, %474 + %492 = tail call double @llvm.fmuladd.f64(double %475, double %486, double %491) + %493 = bitcast double %492 to i64 + %494 = and i64 %493, -1048576 + %495 = bitcast i64 %494 to double + %496 = fsub double %492, %495 + br label %501 + +497: ; preds = %458 + %498 = sext i16 %478 to i64 + %499 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %498 + %500 = load double, ptr addrspace(1) %499, align 4, !tbaa !760 + br label %501 + +501: ; preds = %497, %483 + %502 = phi double [ %500, %497 ], [ %490, %483 ] + %503 = phi double [ 0.000000e+00, %497 ], [ %496, %483 ] + %504 = phi i32 [ %479, %497 ], [ %487, %483 ] + %505 = add nsw i32 %504, 1 + %506 = sext i32 %505 to i64 + %507 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %506 + %508 = load double, ptr addrspace(1) %507, align 4, !tbaa !760 + %509 = fmul double %508, %474 + %510 = tail call double @llvm.fmuladd.f64(double %475, double %502, double %509) + %511 = fadd double %503, %510 + %512 = add nsw i32 %504, 2 + %513 = sext i32 %512 to i64 + %514 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %513 + %515 = load double, ptr addrspace(1) %514, align 4, !tbaa !760 + %516 = fmul double %515, %474 + %517 = tail call double @llvm.fmuladd.f64(double %475, double %508, double %516) + %518 = fadd double %511, %517 + %519 = bitcast double %518 to i64 + %520 = lshr i64 %519, 52 + %521 = and i64 %520, 2047 + %522 = sub nsw i64 1075, %521 + %523 = and i64 %522, 4294967295 + %524 = ashr i64 %519, %523 + %525 = trunc i64 %524 to i32 + %526 = shl i64 %524, %523 + %527 = bitcast i64 %526 to double + %528 = sub i32 %525, %421 + %529 = fsub double %511, %527 + %530 = and i32 %528, 1 + %531 = zext nneg i32 %530 to i64 + %532 = getelementptr inbounds [2 x double], ptr %2, i64 0, i64 %531 + %533 = load double, ptr %532, align 8, !tbaa !760 + %534 = fadd double %533, %529 + %535 = fadd double %534, %517 + br label %536 + +536: ; preds = %542, %501 + %537 = phi double [ %515, %501 ], [ %546, %542 ] + %538 = phi double [ %535, %501 ], [ %549, %542 ] + %539 = phi i32 [ %512, %501 ], [ %543, %542 ] + %540 = phi i32 [ 0, %501 ], [ %550, %542 ] + %541 = icmp ult i32 %540, 5 + br i1 %541, label %542, label %551 + +542: ; preds = %536 + %543 = add nsw i32 %539, 1 + %544 = sext i32 %543 to i64 + %545 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y0_d_ep12_GLOBAL__N_112__dy0_ep__DPE, i64 %544 + %546 = load double, ptr addrspace(1) %545, align 4, !tbaa !760 + %547 = fmul double %546, %474 + %548 = tail call double @llvm.fmuladd.f64(double %475, double %537, double %547) + %549 = fadd double %538, %548 + %550 = add nuw nsw i32 %540, 1 + br label %536, !llvm.loop !1609 + +551: ; preds = %536 + %552 = fmul double %538, 0x3FE921FB54442D18 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #55 + %553 = add nsw i32 %528, 1 + br label %554 + +554: ; preds = %551, %451, %445, %425 + %555 = phi double [ %450, %445 ], [ %457, %451 ], [ %552, %551 ], [ %430, %425 ] + %556 = phi i32 [ %442, %445 ], [ %442, %451 ], [ %553, %551 ], [ %426, %425 ] + %557 = add nsw i32 %556, 2 + %558 = lshr i32 %557, 2 + %559 = and i32 %558, 1 + %560 = lshr i32 %556, 2 + %561 = and i32 %560, 1 + %562 = xor i32 %417, %561 + %563 = fmul double %555, %555 + %564 = fmul double %563, %563 + %565 = tail call double @llvm.fmuladd.f64(double %564, double 0x3EFA01299942AB00, double 0x3FA5555555150951) + %566 = tail call double @llvm.fmuladd.f64(double %565, double %564, double 1.000000e+00) + %567 = tail call double @llvm.fmuladd.f64(double %564, double 0x3EC71D9AA585BFC4, double 0x3F81111110FD4208) + %568 = fmul double %567, %564 + %569 = tail call double @llvm.fmuladd.f64(double %568, double %555, double %555) + %570 = tail call double @llvm.fmuladd.f64(double %564, double 0xBE9247507B5EE59E, double 0xBF56C16BAE710FF8) + %571 = tail call double @llvm.fmuladd.f64(double %570, double %564, double 0xBFDFFFFFFFFFE6A2) + %572 = fmul double %571, %563 + %573 = tail call double @llvm.fmuladd.f64(double %564, double 0xBE5AA2880297FC43, double 0xBF2A019FD9BD0882) + %574 = tail call double @llvm.fmuladd.f64(double %573, double %564, double 0xBFC555555555516D) + %575 = fmul double %574, %563 + %576 = fmul double %575, %555 + %577 = fadd double %566, %572 + %578 = fadd double %569, %576 + %579 = and i32 %556, 2 + %580 = icmp eq i32 %579, 0 + br i1 %580, label %590, label %581 + +581: ; preds = %554 + %582 = zext nneg i32 %562 to i64 + %583 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %582 + %584 = load double, ptr %583, align 8, !tbaa !760 + %585 = fmul double %577, %584 + %586 = zext nneg i32 %559 to i64 + %587 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %586 + %588 = load double, ptr %587, align 8, !tbaa !760 + %589 = fmul double %578, %588 + br label %599 + +590: ; preds = %554 + %591 = zext nneg i32 %562 to i64 + %592 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %591 + %593 = load double, ptr %592, align 8, !tbaa !760 + %594 = fmul double %578, %593 + %595 = zext nneg i32 %559 to i64 + %596 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %595 + %597 = load double, ptr %596, align 8, !tbaa !760 + %598 = fmul double %577, %597 + br label %599 + +599: ; preds = %590, %581 + %600 = phi double [ %594, %590 ], [ %585, %581 ] + %601 = phi double [ %598, %590 ], [ %589, %581 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + %602 = fmul double %406, %600 + %603 = tail call double @llvm.fmuladd.f64(double %416, double %601, double %602) + %604 = fmul double %395, 0x3FE45F306DC9C883 + %605 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %604) #56 + %606 = fmul double %605, %603 + br label %618 + +607: ; preds = %11 + %608 = or i32 %9, %8 + %609 = icmp eq i32 %608, 0 + %610 = select i1 %609, double 0xFFF0000000000000, double 0x7FF8000000000000 + br label %618 + +611: ; preds = %1 + %612 = and i32 %7, 1048575 + %613 = or i32 %612, %8 + %614 = icmp eq i32 %613, 0 + %615 = icmp sgt i64 %5, -1 + %616 = select i1 %615, double 0.000000e+00, double 0x7FF8000000000000 + %617 = select i1 %614, double %616, double %0 + br label %618 + +618: ; preds = %611, %607, %599, %281, %245, %220, %198, %175, %143, %115, %109 + %619 = phi double [ %112, %109 ], [ %140, %115 ], [ %172, %143 ], [ %195, %175 ], [ %217, %198 ], [ %242, %220 ], [ %270, %245 ], [ %393, %281 ], [ %606, %599 ], [ %610, %607 ], [ %617, %611 ] + ret double %619 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_y1(double noundef %0) local_unnamed_addr #43 !srcloc !1610 { + %2 = alloca [2 x double], align 8 + %3 = alloca [2 x i32], align 4 + %4 = alloca [2 x double], align 8 + %5 = alloca [2 x double], align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %5, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_128__devicelib_imf_internal_dy1EPKdPd.zeros, i64 16, i1 false) + %6 = bitcast double %0 to i64 + %7 = lshr i64 %6, 32 + %8 = trunc i64 %7 to i32 + %9 = trunc i64 %6 to i32 + %10 = and i32 %8, 2147483647 + %11 = icmp ult i32 %10, 2146435072 + br i1 %11, label %12, label %506 + +12: ; preds = %1 + %13 = icmp sgt i64 %6, 0 + br i1 %13, label %14, label %502 + +14: ; preds = %12 + %15 = fcmp ugt double %0, 0x40433E6ECF5CB221 + br i1 %15, label %288, label %16 + +16: ; preds = %14 + %17 = fcmp olt double %0, 1.770000e+00 + br i1 %17, label %18, label %115 + +18: ; preds = %16 + %19 = fmul double %0, %0 + %20 = tail call double @llvm.fmuladd.f64(double %19, double 0x3C487AE1F96163E5, double 0xBCD143B19FC52364) + %21 = tail call double @llvm.fmuladd.f64(double %20, double %19, double 0x3D52A4D2DCE10646) + %22 = tail call double @llvm.fmuladd.f64(double %21, double %19, double 0xBDCF0CE3011340FD) + %23 = tail call double @llvm.fmuladd.f64(double %22, double %19, double 0x3E432E5A4D60E789) + %24 = tail call double @llvm.fmuladd.f64(double %23, double %19, double 0xBEB0A780AC766012) + %25 = tail call double @llvm.fmuladd.f64(double %24, double %19, double 0x3F12C7DBFFCDE69D) + %26 = tail call double @llvm.fmuladd.f64(double %25, double %19, double 0xBF6835B97894BE51) + %27 = tail call double @llvm.fmuladd.f64(double %26, double %19, double 0x3FABD3975C75B4A7) + %28 = tail call double @llvm.fmuladd.f64(double %27, double %19, double 0xBFC91866143CBC8A) + %29 = fmul double %28, %0 + %30 = add nsw i64 %6, -9218868437227405312 + %31 = icmp ult i64 %30, -9218868437227405311 + br i1 %31, label %32, label %40 + +32: ; preds = %18 + %33 = tail call double @llvm.fabs.f64(double %0) + %34 = bitcast double %33 to i64 + %35 = icmp eq i64 %34, 0 + %36 = icmp ugt i64 %6, 9218868437227405312 + %37 = select i1 %36, double %0, double -0.000000e+00 + %38 = fadd double %37, %0 + %39 = select i1 %35, double 0xFFF0000000000000, double %38 + br label %77 + +40: ; preds = %18 + %41 = icmp ult i64 %6, 4503599627370496 + %42 = select i1 %41, i32 -1083, i32 -1023 + %43 = fmul double %0, 0x43B0000000000000 + %44 = select i1 %41, double %43, double %0 + %45 = bitcast double %44 to i64 + %46 = add i64 %45, 3002399751580330 + %47 = lshr i64 %46, 52 + %48 = trunc i64 %47 to i32 + %49 = and i64 %46, -4503599627370496 + %50 = add i64 %45, 4607182418800017408 + %51 = sub i64 %50, %49 + %52 = bitcast i64 %51 to double + %53 = fadd double %52, -1.000000e+00 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFB6E22682C05596, double noundef %53, double noundef 0x3FB6C694B21A9875) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %54, double noundef %53, double noundef 0xBFA68F0ACEE35E2D) #56 + %56 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %55, double noundef %53, double noundef 0x3FA9474CCD075CE5) #56 + %57 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %56, double noundef %53, double noundef 0xBFB0750F4F9C34F9) #56 + %58 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %57, double noundef %53, double noundef 0x3FB16608748AB72D) #56 + %59 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %58, double noundef %53, double noundef 0xBFB23E2EC341EBA0) #56 + %60 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %59, double noundef %53, double noundef 0x3FB3AA521D980CD0) #56 + %61 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %60, double noundef %53, double noundef 0xBFB555FA23866D76) #56 + %62 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %61, double noundef %53, double noundef 0x3FB74629A554D880) #56 + %63 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %62, double noundef %53, double noundef 0xBFB999938ABCF213) #56 + %64 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %63, double noundef %53, double noundef 0x3FBC71C472FB2195) #56 + %65 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %64, double noundef %53, double noundef 0xBFC00000112830D9) #56 + %66 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %65, double noundef %53, double noundef 0x3FC24924982C2697) #56 + %67 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %53, double noundef 0xBFC55555551FBBDB) #56 + %68 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %67, double noundef %53, double noundef 0x3FC99999998C68B5) #56 + %69 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %68, double noundef %53, double noundef 0xBFD0000000002697) #56 + %70 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef %53, double noundef 0x3FD5555555555B0E) #56 + %71 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %70, double noundef %53, double noundef 0xBFDFFFFFFFFFFFF0) #56 + %72 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %71, double noundef %53, double noundef 0xBC8A30CFDED694FF) #56 + %73 = add nsw i32 %42, %48 + %74 = sitofp i32 %73 to double + %75 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %72, double noundef %53, double noundef %53) #56 + %76 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %74, double noundef 0x3FE62E42FEFA39EF, double noundef %75) #56 + br label %77 + +77: ; preds = %40, %32 + %78 = phi double [ %76, %40 ], [ %39, %32 ] + %79 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %80 = bitcast double %79 to i64 + %81 = lshr i64 %80, 32 + %82 = trunc i64 %81 to i32 + %83 = icmp ult i32 %82, 1012924416 + br i1 %83, label %84, label %86 + +84: ; preds = %77 + %85 = fmul double %0, 5.000000e-01 + br label %108 + +86: ; preds = %77 + %87 = fmul double %79, %79 + %88 = tail call double @llvm.fmuladd.f64(double %87, double 0xBC2442F0FE360F4D, double 0x3CC64F9909AFCFE5) + %89 = tail call double @llvm.fmuladd.f64(double %88, double %87, double 0xBD44E58BF2A524F1) + %90 = tail call double @llvm.fmuladd.f64(double %89, double %87, double 0x3DC27F8F0466F708) + %91 = tail call double @llvm.fmuladd.f64(double %90, double %87, double 0xBE3845C4025D7598) + %92 = tail call double @llvm.fmuladd.f64(double %91, double %87, double 0x3EA6C16C1CF5627B) + %93 = tail call double @llvm.fmuladd.f64(double %92, double %87, double 0xBF0C71C71C6C247A) + %94 = tail call double @llvm.fmuladd.f64(double %93, double %87, double 0x3F655555555556C7) + %95 = tail call double @llvm.fmuladd.f64(double %94, double %87, double -6.250000e-02) + %96 = tail call double @llvm.fmuladd.f64(double %95, double %87, double 5.000000e-01) + %97 = fmul double %96, %79 + %98 = tail call double @llvm.fmuladd.f64(double %87, double 0xBC6DEB930B84DCA0, double 0xBCC161028CDF8A9A) + %99 = tail call double @llvm.fmuladd.f64(double %98, double %87, double 0xBCF3FD3CB961EBC1) + %100 = tail call double @llvm.fmuladd.f64(double %99, double %87, double 0xBD0ECCD22AB9BAD3) + %101 = tail call double @llvm.fmuladd.f64(double %100, double %87, double 0xBD11395F52FF2D85) + %102 = tail call double @llvm.fmuladd.f64(double %101, double %87, double 0xBCFB4D5998901168) + %103 = tail call double @llvm.fmuladd.f64(double %102, double %87, double 0xBCCB3462F0C51592) + %104 = tail call double @llvm.fmuladd.f64(double %103, double %87, double 0xBC7A20841FBADCFC) + %105 = tail call double @llvm.fmuladd.f64(double %104, double %87, double 0xBBFA612F6DD351E0) + %106 = fmul double %105, %87 + %107 = fadd double %97, %106 + br label %108 + +108: ; preds = %86, %84 + %109 = phi double [ %85, %84 ], [ %107, %86 ] + %110 = fmul double %109, 0x3FE45F306DC9C883 + %111 = fmul double %110, %78 + %112 = fdiv double 0x3FE45F306DC9C883, %0 + %113 = fsub double %111, %112 + %114 = fadd double %29, %113 + br label %516 + +115: ; preds = %16 + %116 = fcmp olt double %0, 0x400FA9534D98569C + br i1 %116, label %117, label %141 + +117: ; preds = %115 + %118 = fadd double %0, 0xC00193BED4DFF243 + %119 = fadd double %118, 0x3C8BE00000000000 + %120 = tail call double @llvm.fmuladd.f64(double %119, double 0x3D814656E67E994B, double 0xBD87723473AB6C8E) + %121 = tail call double @llvm.fmuladd.f64(double %120, double %119, double 0xBE07168E58448E9E) + %122 = tail call double @llvm.fmuladd.f64(double %121, double %119, double 0x3E1515B11DCC751D) + %123 = tail call double @llvm.fmuladd.f64(double %122, double %119, double 0x3E79E6E4E0AC5D8D) + %124 = tail call double @llvm.fmuladd.f64(double %123, double %119, double 0xBE65D242AC8A48D7) + %125 = tail call double @llvm.fmuladd.f64(double %124, double %119, double 0xBEE0FC290580B17E) + %126 = tail call double @llvm.fmuladd.f64(double %125, double %119, double 0xBEE2B473F2FEE979) + %127 = tail call double @llvm.fmuladd.f64(double %126, double %119, double 0x3F37BE62C2FB248B) + %128 = tail call double @llvm.fmuladd.f64(double %127, double %119, double 0x3F4E7C9A7CA07F5C) + %129 = tail call double @llvm.fmuladd.f64(double %128, double %119, double 0xBF7BFC1FF1A75769) + %130 = tail call double @llvm.fmuladd.f64(double %129, double %119, double 0xBF9CC521CA1975FA) + %131 = tail call double @llvm.fmuladd.f64(double %130, double %119, double 0x3F919159BFD41968) + %132 = tail call double @llvm.fmuladd.f64(double %131, double %119, double 0x3FC9F6C6A359C047) + %133 = tail call double @llvm.fmuladd.f64(double %132, double %119, double 0x3FCE6BB7D16C3DF5) + %134 = tail call double @llvm.fmuladd.f64(double %133, double %119, double 0xBBDAD17DA6040304) + %135 = tail call double @llvm.fmuladd.f64(double %119, double 0x3F1CA8400983465F, double 0x3F46187BAE8826E4) + %136 = tail call double @llvm.fmuladd.f64(double %135, double %119, double 0x3F957BAE814A2DA4) + %137 = tail call double @llvm.fmuladd.f64(double %136, double %119, double 0x3FC645C92D4758B6) + %138 = tail call double @llvm.fmuladd.f64(double %137, double %119, double 0x3FDF92FB76F46505) + %139 = tail call double @llvm.fmuladd.f64(double %138, double %119, double 0x3FDD34E2058210EC) + %140 = fdiv double %134, %139 + br label %516 + +141: ; preds = %115 + %142 = fcmp olt double %0, 0x401C581DC4E72103 + br i1 %142, label %143, label %167 + +143: ; preds = %141 + %144 = fadd double %0, 0xC015B7FE4E87B02E + %145 = fadd double %144, 0xBCBE000000000000 + %146 = tail call double @llvm.fmuladd.f64(double %145, double 0x3D3D525D1FF30B55, double 0xBD729BAFA06F1364) + %147 = tail call double @llvm.fmuladd.f64(double %146, double %145, double 0xBDC18276DD8E58BF) + %148 = tail call double @llvm.fmuladd.f64(double %147, double %145, double 0x3DF3831E10DEC74C) + %149 = tail call double @llvm.fmuladd.f64(double %148, double %145, double 0x3E3B74C86440BF6B) + %150 = tail call double @llvm.fmuladd.f64(double %149, double %145, double 0xBE684A5E393BC431) + %151 = tail call double @llvm.fmuladd.f64(double %150, double %145, double 0xBEAAECA92DD42963) + %152 = tail call double @llvm.fmuladd.f64(double %151, double %145, double 0x3ED17AB105A16F11) + %153 = tail call double @llvm.fmuladd.f64(double %152, double %145, double 0x3F104BB6D955F79D) + %154 = tail call double @llvm.fmuladd.f64(double %153, double %145, double 0xBF2B857295F95753) + %155 = tail call double @llvm.fmuladd.f64(double %154, double %145, double 0xBF6601E044516C31) + %156 = tail call double @llvm.fmuladd.f64(double %155, double %145, double 0x3F7328C95DD189ED) + %157 = tail call double @llvm.fmuladd.f64(double %156, double %145, double 0x3FABE4053C6844C6) + %158 = tail call double @llvm.fmuladd.f64(double %157, double %145, double 0xBF9D85D92FD79DCF) + %159 = tail call double @llvm.fmuladd.f64(double %158, double %145, double 0xBFD55950FEFFFF73) + %160 = tail call double @llvm.fmuladd.f64(double %159, double %145, double 0xBBE0312E97A7D97A) + %161 = tail call double @llvm.fmuladd.f64(double %145, double 0x3E890E0DFFE4156C, double 0x3E96A1322D2B9A6B) + %162 = tail call double @llvm.fmuladd.f64(double %161, double %145, double 0x3F47C61A8D772A2C) + %163 = tail call double @llvm.fmuladd.f64(double %162, double %145, double 0x3F66D397C7BCE601) + %164 = tail call double @llvm.fmuladd.f64(double %163, double %145, double 0x3FC665BCA13FD7EB) + %165 = tail call double @llvm.fmuladd.f64(double %164, double %145, double 0x3FEF5DB800D88CCF) + %166 = fdiv double %160, %165 + br label %516 + +167: ; preds = %175, %141 + %168 = phi i32 [ %176, %175 ], [ 2, %141 ] + %169 = icmp ult i32 %168, 11 + br i1 %169, label %170, label %177 + +170: ; preds = %167 + %171 = zext nneg i32 %168 to i64 + %172 = getelementptr inbounds [12 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dSE, i64 0, i64 %171 + %173 = load double, ptr addrspace(1) %172, align 8, !tbaa !760 + %174 = fcmp ugt double %173, %0 + br i1 %174, label %177, label %175 + +175: ; preds = %170 + %176 = add nuw nsw i32 %168, 1 + br label %167, !llvm.loop !1611 + +177: ; preds = %170, %167 + %178 = shl nuw nsw i32 %168, 1 + %179 = sext i32 %178 to i64 + %180 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_114__dy1_ep_dZ_MPE, i64 0, i64 %179 + %181 = load double, ptr addrspace(1) %180, align 8, !tbaa !760 + %182 = fsub double %0, %181 + %183 = or i32 %178, 1 + %184 = sext i32 %183 to i64 + %185 = getelementptr inbounds [24 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_114__dy1_ep_dZ_MPE, i64 0, i64 %184 + %186 = load double, ptr addrspace(1) %185, align 8, !tbaa !760 + %187 = fsub double %182, %186 + %188 = mul i32 %168, 20 + %189 = add i32 %188, -40 + %190 = sext i32 %189 to i64 + %191 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %190 + %192 = load double, ptr addrspace(1) %191, align 8, !tbaa !760 + %193 = add i32 %188, -39 + %194 = sext i32 %193 to i64 + %195 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %194 + %196 = load double, ptr addrspace(1) %195, align 8, !tbaa !760 + %197 = tail call double @llvm.fmuladd.f64(double %192, double %187, double %196) + %198 = add i32 %188, -38 + %199 = sext i32 %198 to i64 + %200 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %199 + %201 = load double, ptr addrspace(1) %200, align 8, !tbaa !760 + %202 = tail call double @llvm.fmuladd.f64(double %197, double %187, double %201) + %203 = add i32 %188, -37 + %204 = sext i32 %203 to i64 + %205 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %204 + %206 = load double, ptr addrspace(1) %205, align 8, !tbaa !760 + %207 = tail call double @llvm.fmuladd.f64(double %202, double %187, double %206) + %208 = add i32 %188, -36 + %209 = sext i32 %208 to i64 + %210 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %209 + %211 = load double, ptr addrspace(1) %210, align 8, !tbaa !760 + %212 = tail call double @llvm.fmuladd.f64(double %207, double %187, double %211) + %213 = add i32 %188, -35 + %214 = sext i32 %213 to i64 + %215 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %214 + %216 = load double, ptr addrspace(1) %215, align 8, !tbaa !760 + %217 = tail call double @llvm.fmuladd.f64(double %212, double %187, double %216) + %218 = add i32 %188, -34 + %219 = sext i32 %218 to i64 + %220 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %219 + %221 = load double, ptr addrspace(1) %220, align 8, !tbaa !760 + %222 = tail call double @llvm.fmuladd.f64(double %217, double %187, double %221) + %223 = add i32 %188, -33 + %224 = sext i32 %223 to i64 + %225 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %224 + %226 = load double, ptr addrspace(1) %225, align 8, !tbaa !760 + %227 = tail call double @llvm.fmuladd.f64(double %222, double %187, double %226) + %228 = add i32 %188, -32 + %229 = sext i32 %228 to i64 + %230 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %229 + %231 = load double, ptr addrspace(1) %230, align 8, !tbaa !760 + %232 = tail call double @llvm.fmuladd.f64(double %227, double %187, double %231) + %233 = add i32 %188, -31 + %234 = sext i32 %233 to i64 + %235 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %234 + %236 = load double, ptr addrspace(1) %235, align 8, !tbaa !760 + %237 = tail call double @llvm.fmuladd.f64(double %232, double %187, double %236) + %238 = add i32 %188, -30 + %239 = sext i32 %238 to i64 + %240 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %239 + %241 = load double, ptr addrspace(1) %240, align 8, !tbaa !760 + %242 = tail call double @llvm.fmuladd.f64(double %237, double %187, double %241) + %243 = add i32 %188, -29 + %244 = sext i32 %243 to i64 + %245 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %244 + %246 = load double, ptr addrspace(1) %245, align 8, !tbaa !760 + %247 = tail call double @llvm.fmuladd.f64(double %242, double %187, double %246) + %248 = add i32 %188, -28 + %249 = sext i32 %248 to i64 + %250 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %249 + %251 = load double, ptr addrspace(1) %250, align 8, !tbaa !760 + %252 = tail call double @llvm.fmuladd.f64(double %247, double %187, double %251) + %253 = add i32 %188, -27 + %254 = sext i32 %253 to i64 + %255 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %254 + %256 = load double, ptr addrspace(1) %255, align 8, !tbaa !760 + %257 = tail call double @llvm.fmuladd.f64(double %252, double %187, double %256) + %258 = add i32 %188, -26 + %259 = sext i32 %258 to i64 + %260 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %259 + %261 = load double, ptr addrspace(1) %260, align 8, !tbaa !760 + %262 = tail call double @llvm.fmuladd.f64(double %257, double %187, double %261) + %263 = add i32 %188, -25 + %264 = sext i32 %263 to i64 + %265 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %264 + %266 = load double, ptr addrspace(1) %265, align 8, !tbaa !760 + %267 = tail call double @llvm.fmuladd.f64(double %262, double %187, double %266) + %268 = add i32 %188, -24 + %269 = sext i32 %268 to i64 + %270 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %269 + %271 = load double, ptr addrspace(1) %270, align 8, !tbaa !760 + %272 = tail call double @llvm.fmuladd.f64(double %267, double %187, double %271) + %273 = add i32 %188, -23 + %274 = sext i32 %273 to i64 + %275 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %274 + %276 = load double, ptr addrspace(1) %275, align 8, !tbaa !760 + %277 = tail call double @llvm.fmuladd.f64(double %272, double %187, double %276) + %278 = add i32 %188, -22 + %279 = sext i32 %278 to i64 + %280 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %279 + %281 = load double, ptr addrspace(1) %280, align 8, !tbaa !760 + %282 = tail call double @llvm.fmuladd.f64(double %277, double %187, double %281) + %283 = add i32 %188, -21 + %284 = sext i32 %283 to i64 + %285 = getelementptr inbounds [200 x double], ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_111__dy1_ep_dPE, i64 0, i64 %284 + %286 = load double, ptr addrspace(1) %285, align 8, !tbaa !760 + %287 = tail call double @llvm.fmuladd.f64(double %282, double %187, double %286) + br label %516 + +288: ; preds = %14 + %289 = fdiv double 1.000000e+00, %0 + %290 = fmul double %289, 3.600000e+01 + %291 = fmul double %290, %290 + %292 = tail call double @llvm.fmuladd.f64(double %291, double 0x3BE2E041332B59B9, double 0xBC2DF44C525BF7DE) + %293 = tail call double @llvm.fmuladd.f64(double %292, double %291, double 0x3C77ED733E2B4011) + %294 = tail call double @llvm.fmuladd.f64(double %293, double %291, double 0xBCC91BB3FCE3335B) + %295 = tail call double @llvm.fmuladd.f64(double %294, double %291, double 0x3D22B908E904C525) + %296 = tail call double @llvm.fmuladd.f64(double %295, double %291, double 0xBD8576B7365D6B96) + %297 = tail call double @llvm.fmuladd.f64(double %296, double %291, double 0x3DF55C0B64B456CD) + %298 = tail call double @llvm.fmuladd.f64(double %297, double %291, double 0xBE770B96A673E266) + %299 = tail call double @llvm.fmuladd.f64(double %298, double %291, double 0x3F17B425ED097B42) + %300 = tail call double @llvm.fmuladd.f64(double %299, double %291, double 1.000000e+00) + %301 = tail call double @llvm.fmuladd.f64(double %291, double 0xBBC23696090354E0, double 0x3C0A60B89719DA94) + %302 = tail call double @llvm.fmuladd.f64(double %301, double %291, double 0xBC52886D1ECF082A) + %303 = tail call double @llvm.fmuladd.f64(double %302, double %291, double 0x3CA0A86E8652DA7B) + %304 = tail call double @llvm.fmuladd.f64(double %303, double %291, double 0xBCF4A947ED633352) + %305 = tail call double @llvm.fmuladd.f64(double %304, double %291, double 0x3D52E1508FC7BC09) + %306 = tail call double @llvm.fmuladd.f64(double %305, double %291, double 0xBDBBF888D31B489F) + %307 = tail call double @llvm.fmuladd.f64(double %306, double %291, double 0x3E33B76CFA7F96AE) + %308 = tail call double @llvm.fmuladd.f64(double %307, double %291, double 0xBEC26FABB85CB534) + %309 = tail call double @llvm.fmuladd.f64(double %308, double %291, double 0x3F85555555555555) + %310 = fmul double %309, %290 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #55 + store i64 -4294967295, ptr %3, align 4 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %4, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_127__dy1_ep_sincos_kernel_fp64EdiPdS1_.ones, i64 16, i1 false) + %311 = lshr i32 %8, 31 + %312 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %313 = zext nneg i32 %311 to i64 + %314 = getelementptr inbounds [2 x i32], ptr %3, i64 0, i64 %313 + %315 = load i32, ptr %314, align 4, !tbaa !717 + %316 = mul nsw i32 %315, -3 + %317 = icmp ult i32 %10, 1103101952 + br i1 %317, label %318, label %353 + +318: ; preds = %288 + %319 = icmp ult i32 %10, 1073283073 + br i1 %319, label %320, label %326 + +320: ; preds = %318 + %321 = add nsw i32 %316, 1 + %322 = and i32 %321, 2 + %323 = icmp eq i32 %322, 0 + %324 = fadd double %312, 0xBFE921FB54442D18 + %325 = select i1 %323, double %312, double %324 + br label %449 + +326: ; preds = %318 + %327 = fmul double %312, 0x3FF45F306DC9C883 + %328 = fadd double %327, 0x4338000000000000 + %329 = bitcast double %328 to i64 + %330 = trunc i64 %329 to i32 + %331 = sitofp i32 %330 to double + %332 = fcmp olt double %327, %331 + %333 = sext i1 %332 to i32 + %334 = add nsw i32 %333, %330 + %335 = add nsw i32 %334, %316 + %336 = and i32 %335, 1 + %337 = add nsw i32 %335, %336 + %338 = add nsw i32 %334, %336 + %339 = icmp ult i32 %10, 1090519040 + br i1 %339, label %340, label %346 + +340: ; preds = %326 + %341 = sitofp i32 %338 to double + %342 = fneg double %341 + %343 = tail call double @llvm.fmuladd.f64(double %342, double 0x3FE921FB54440000, double %312) + %344 = tail call double @llvm.fmuladd.f64(double %342, double 0x3D768C234C400000, double %343) + %345 = tail call double @llvm.fmuladd.f64(double %342, double 0x3B68CC51701B839A, double %344) + br label %449 + +346: ; preds = %326 + %347 = sitofp i32 %338 to double + %348 = fneg double %347 + %349 = tail call double @llvm.fmuladd.f64(double %348, double 0x3FE921FB40000000, double %312) + %350 = tail call double @llvm.fmuladd.f64(double %348, double 0x3E64442D00000000, double %349) + %351 = tail call double @llvm.fmuladd.f64(double %348, double 0x3CE8469880000000, double %350) + %352 = tail call double @llvm.fmuladd.f64(double %348, double 0x3B68CC51701B839A, double %351) + br label %449 + +353: ; preds = %288 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #55 + call void @llvm.memcpy.p0.p1.i64(ptr align 8 %2, ptr addrspace(1) align 8 @__const._ZN18__imf_impl_y1_d_ep12_GLOBAL__N_121__dy1_ep_reduce_pi04dEdPdi.zero_none, i64 16, i1 false) + %354 = bitcast double %312 to i64 + %355 = lshr i64 %354, 32 + %356 = lshr i64 %354, 52 + %357 = trunc i64 %356 to i32 + %358 = and i32 %357, 2047 + %359 = add nuw nsw i64 %355, 1937768448 + %360 = and i64 %359, 2146435072 + %361 = and i64 %355, 2148532223 + %362 = or i64 %361, %360 + %363 = shl nuw i64 %362, 32 + %364 = and i64 %354, 4294967295 + %365 = or i64 %364, %363 + %366 = bitcast i64 %365 to double + %367 = and i64 %354, 4160749568 + %368 = or i64 %363, %367 + %369 = bitcast i64 %368 to double + %370 = fsub double %366, %369 + %371 = add nsw i32 %358, -1052 + %372 = trunc i32 %371 to i16 + %373 = sdiv i16 %372, 25 + %374 = sext i16 %373 to i32 + %375 = mul nsw i32 %374, -25 + %376 = add nsw i32 %375, %371 + %377 = icmp sgt i32 %376, 16 + br i1 %377, label %378, label %392 + +378: ; preds = %353 + %379 = sext i16 %373 to i64 + %380 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %379 + %381 = load double, ptr addrspace(1) %380, align 4, !tbaa !760 + %382 = add nsw i32 %374, 1 + %383 = sext i32 %382 to i64 + %384 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %383 + %385 = load double, ptr addrspace(1) %384, align 4, !tbaa !760 + %386 = fmul double %385, %369 + %387 = tail call double @llvm.fmuladd.f64(double %370, double %381, double %386) + %388 = bitcast double %387 to i64 + %389 = and i64 %388, -1048576 + %390 = bitcast i64 %389 to double + %391 = fsub double %387, %390 + br label %396 + +392: ; preds = %353 + %393 = sext i16 %373 to i64 + %394 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %393 + %395 = load double, ptr addrspace(1) %394, align 4, !tbaa !760 + br label %396 + +396: ; preds = %392, %378 + %397 = phi double [ %395, %392 ], [ %385, %378 ] + %398 = phi double [ 0.000000e+00, %392 ], [ %391, %378 ] + %399 = phi i32 [ %374, %392 ], [ %382, %378 ] + %400 = add nsw i32 %399, 1 + %401 = sext i32 %400 to i64 + %402 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %401 + %403 = load double, ptr addrspace(1) %402, align 4, !tbaa !760 + %404 = fmul double %403, %369 + %405 = tail call double @llvm.fmuladd.f64(double %370, double %397, double %404) + %406 = fadd double %398, %405 + %407 = add nsw i32 %399, 2 + %408 = sext i32 %407 to i64 + %409 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %408 + %410 = load double, ptr addrspace(1) %409, align 4, !tbaa !760 + %411 = fmul double %410, %369 + %412 = tail call double @llvm.fmuladd.f64(double %370, double %403, double %411) + %413 = fadd double %406, %412 + %414 = bitcast double %413 to i64 + %415 = lshr i64 %414, 52 + %416 = and i64 %415, 2047 + %417 = sub nsw i64 1075, %416 + %418 = and i64 %417, 4294967295 + %419 = ashr i64 %414, %418 + %420 = trunc i64 %419 to i32 + %421 = shl i64 %419, %418 + %422 = bitcast i64 %421 to double + %423 = add nsw i32 %316, %420 + %424 = fsub double %406, %422 + %425 = and i32 %423, 1 + %426 = zext nneg i32 %425 to i64 + %427 = getelementptr inbounds [2 x double], ptr %2, i64 0, i64 %426 + %428 = load double, ptr %427, align 8, !tbaa !760 + %429 = fadd double %428, %424 + %430 = fadd double %429, %412 + br label %431 + +431: ; preds = %437, %396 + %432 = phi double [ %410, %396 ], [ %441, %437 ] + %433 = phi double [ %430, %396 ], [ %444, %437 ] + %434 = phi i32 [ %407, %396 ], [ %438, %437 ] + %435 = phi i32 [ 0, %396 ], [ %445, %437 ] + %436 = icmp ult i32 %435, 5 + br i1 %436, label %437, label %446 + +437: ; preds = %431 + %438 = add nsw i32 %434, 1 + %439 = sext i32 %438 to i64 + %440 = getelementptr inbounds double, ptr addrspace(1) @_ZN18__imf_impl_y1_d_ep12_GLOBAL__N_112__dy1_ep__DPE, i64 %439 + %441 = load double, ptr addrspace(1) %440, align 4, !tbaa !760 + %442 = fmul double %441, %369 + %443 = tail call double @llvm.fmuladd.f64(double %370, double %432, double %442) + %444 = fadd double %433, %443 + %445 = add nuw nsw i32 %435, 1 + br label %431, !llvm.loop !1612 + +446: ; preds = %431 + %447 = fmul double %433, 0x3FE921FB54442D18 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) #55 + %448 = add nsw i32 %423, 1 + br label %449 + +449: ; preds = %446, %346, %340, %320 + %450 = phi double [ %345, %340 ], [ %352, %346 ], [ %447, %446 ], [ %325, %320 ] + %451 = phi i32 [ %337, %340 ], [ %337, %346 ], [ %448, %446 ], [ %321, %320 ] + %452 = add nsw i32 %451, 2 + %453 = lshr i32 %452, 2 + %454 = and i32 %453, 1 + %455 = lshr i32 %451, 2 + %456 = and i32 %455, 1 + %457 = xor i32 %311, %456 + %458 = fmul double %450, %450 + %459 = fmul double %458, %458 + %460 = tail call double @llvm.fmuladd.f64(double %459, double 0x3EFA01299942AB00, double 0x3FA5555555150951) + %461 = tail call double @llvm.fmuladd.f64(double %460, double %459, double 1.000000e+00) + %462 = tail call double @llvm.fmuladd.f64(double %459, double 0x3EC71D9AA585BFC4, double 0x3F81111110FD4208) + %463 = fmul double %462, %459 + %464 = tail call double @llvm.fmuladd.f64(double %463, double %450, double %450) + %465 = tail call double @llvm.fmuladd.f64(double %459, double 0xBE9247507B5EE59E, double 0xBF56C16BAE710FF8) + %466 = tail call double @llvm.fmuladd.f64(double %465, double %459, double 0xBFDFFFFFFFFFE6A2) + %467 = fmul double %466, %458 + %468 = tail call double @llvm.fmuladd.f64(double %459, double 0xBE5AA2880297FC43, double 0xBF2A019FD9BD0882) + %469 = tail call double @llvm.fmuladd.f64(double %468, double %459, double 0xBFC555555555516D) + %470 = fmul double %469, %458 + %471 = fmul double %470, %450 + %472 = fadd double %461, %467 + %473 = fadd double %464, %471 + %474 = and i32 %451, 2 + %475 = icmp eq i32 %474, 0 + br i1 %475, label %485, label %476 + +476: ; preds = %449 + %477 = zext nneg i32 %457 to i64 + %478 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %477 + %479 = load double, ptr %478, align 8, !tbaa !760 + %480 = fmul double %472, %479 + %481 = zext nneg i32 %454 to i64 + %482 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %481 + %483 = load double, ptr %482, align 8, !tbaa !760 + %484 = fmul double %473, %483 + br label %494 + +485: ; preds = %449 + %486 = zext nneg i32 %457 to i64 + %487 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %486 + %488 = load double, ptr %487, align 8, !tbaa !760 + %489 = fmul double %473, %488 + %490 = zext nneg i32 %454 to i64 + %491 = getelementptr inbounds [2 x double], ptr %4, i64 0, i64 %490 + %492 = load double, ptr %491, align 8, !tbaa !760 + %493 = fmul double %472, %492 + br label %494 + +494: ; preds = %485, %476 + %495 = phi double [ %489, %485 ], [ %480, %476 ] + %496 = phi double [ %493, %485 ], [ %484, %476 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #55 + %497 = fmul double %300, %495 + %498 = tail call double @llvm.fmuladd.f64(double %310, double %496, double %497) + %499 = fmul double %289, 0x3FE45F306DC9C883 + %500 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %499) #56 + %501 = fmul double %500, %498 + br label %516 + +502: ; preds = %12 + %503 = or i32 %10, %9 + %504 = icmp eq i32 %503, 0 + %505 = select i1 %504, double 0xFFF0000000000000, double 0x7FF8000000000000 + br label %516 + +506: ; preds = %1 + %507 = and i32 %8, 1048575 + %508 = or i32 %507, %9 + %509 = icmp eq i32 %508, 0 + br i1 %509, label %510, label %516 + +510: ; preds = %506 + %511 = icmp sgt i64 %6, -1 + br i1 %511, label %512, label %516 + +512: ; preds = %510 + %513 = lshr i64 %6, 63 + %514 = getelementptr inbounds [2 x double], ptr %5, i64 0, i64 %513 + %515 = load double, ptr %514, align 8, !tbaa !760 + br label %516 + +516: ; preds = %512, %510, %506, %502, %494, %177, %143, %117, %108 + %517 = phi double [ %114, %108 ], [ %140, %117 ], [ %166, %143 ], [ %287, %177 ], [ %501, %494 ], [ %515, %512 ], [ %505, %502 ], [ %0, %506 ], [ 0x7FF8000000000000, %510 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #55 + ret double %517 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_pown(double noundef %0, i32 noundef %1) local_unnamed_addr #43 !srcloc !1613 { + %3 = bitcast double %0 to i64 + %4 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + %5 = icmp ne i64 %3, 0 + %6 = tail call i32 @llvm.abs.i32(i32 %1, i1 true) + %7 = icmp slt i32 %1, 0 + %8 = and i32 %1, 1 + %9 = fcmp oeq double %4, 0.000000e+00 + br i1 %9, label %10, label %21 + +10: ; preds = %2 + %11 = icmp eq i32 %1, 0 + br i1 %11, label %552, label %12 + +12: ; preds = %10 + %13 = icmp sgt i32 %1, 0 + br i1 %13, label %14, label %17 + +14: ; preds = %12 + %15 = icmp eq i32 %8, 0 + %16 = select i1 %15, double %4, double %0 + br label %552 + +17: ; preds = %12 + %18 = icmp ne i32 %8, 0 + %19 = and i1 %5, %18 + %20 = select i1 %19, double 0xFFF0000000000000, double 0x7FF0000000000000 + br label %552 + +21: ; preds = %2 + %22 = icmp eq i32 %1, 0 + %23 = fcmp oeq double %0, 1.000000e+00 + %24 = or i1 %22, %23 + br i1 %24, label %552, label %25 + +25: ; preds = %21 + %26 = icmp ult i32 %6, 256 + %27 = fcmp ogt double %4, 0x380B38FB9DAA78E4 + %28 = and i1 %26, %27 + %29 = fcmp olt double %4, 0x47D2CED32A16A1B1 + %30 = and i1 %28, %29 + br i1 %30, label %31, label %65 + +31: ; preds = %49, %25 + %32 = phi double [ %51, %49 ], [ %0, %25 ] + %33 = phi double [ %55, %49 ], [ 0.000000e+00, %25 ] + %34 = phi double [ %46, %49 ], [ 0.000000e+00, %25 ] + %35 = phi double [ %47, %49 ], [ 1.000000e+00, %25 ] + %36 = phi i32 [ %50, %49 ], [ %6, %25 ] + %37 = and i32 %36, 1 + %38 = icmp eq i32 %37, 0 + br i1 %38, label %45, label %39 + +39: ; preds = %31 + %40 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %32, double noundef 0.000000e+00) #56 + %41 = fneg double %40 + %42 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %32, double noundef %41) #56 + %43 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %34, double noundef %32, double noundef %42) #56 + %44 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %35, double noundef %33, double noundef %43) #56 + br label %45 + +45: ; preds = %39, %31 + %46 = phi double [ %44, %39 ], [ %34, %31 ] + %47 = phi double [ %40, %39 ], [ %35, %31 ] + %48 = icmp ult i32 %36, 2 + br i1 %48, label %56, label %49 + +49: ; preds = %45 + %50 = lshr i32 %36, 1 + %51 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %32, double noundef 0.000000e+00) #56 + %52 = fneg double %51 + %53 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %32, double noundef %52) #56 + %54 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %33, double noundef %32, double noundef %53) #56 + %55 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %32, double noundef %33, double noundef %54) #56 + br label %31, !llvm.loop !1614 + +56: ; preds = %45 + %57 = fadd double %47, %46 + %58 = fdiv double 1.000000e+00, %57 + %59 = select i1 %7, double %58, double %57 + %60 = bitcast double %59 to i64 + %61 = and i64 %60, 9218868437227405312 + %62 = icmp eq i64 %61, 9218868437227405312 + %63 = fcmp oeq double %59, 0.000000e+00 + %64 = or i1 %63, %62 + br i1 %64, label %65, label %552 + +65: ; preds = %56, %25 + %66 = sitofp i32 %1 to double + %67 = lshr i64 %3, 52 + %68 = trunc i64 %67 to i32 + %69 = uitofp i32 %68 to double + %70 = and i64 %3, 4503599627370495 + %71 = or i64 %70, 4593671619917905920 + %72 = bitcast i64 %71 to double + %73 = fptrunc double %72 to float + %74 = fdiv float 1.000000e+00, %73 + %75 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %74) #56 + %76 = bitcast float %75 to i32 + %77 = fpext float %75 to double + %78 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %77, double noundef %72, double noundef -1.000000e+00) #56 + %79 = lshr i32 %76, 21 + %80 = and i32 %79, 7 + %81 = xor i32 %80, 4 + %82 = and i32 %76, 2097152 + %83 = icmp eq i32 %82, 0 + %84 = select i1 %83, i64 -4573929700241786140, i64 -4573927737450351475 + %85 = select i1 %83, i64 -4769624413119347636, i64 -4769613273380987797 + %86 = select i1 %83, i64 -4573923603254707854, i64 -4573924777809258764 + %87 = select i1 %83, i64 -4769615905495550426, i64 -4769620835550958876 + %88 = icmp ult i32 %81, 2 + %89 = select i1 %88, i64 %84, i64 -4573926133732977961 + %90 = select i1 %88, i64 %85, i64 -4769623760730153159 + %91 = icmp ugt i32 %81, 2 + %92 = select i1 %91, i64 %86, i64 %89 + %93 = select i1 %91, i64 %87, i64 %90 + %94 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFC0EB775ED0D53F, double noundef %78, double noundef 0x3FC1EA5C772D0F69) #56 + %95 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %94, double noundef %78, double noundef 0xBFC243278B687C88) #56 + %96 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %95, double noundef %78, double noundef 0x3FC3AC83F2E91ADF) #56 + %97 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %96, double noundef %78, double noundef 0xBFC55569367812BF) #56 + %98 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %97, double noundef %78, double noundef 0x3FC745DE6106C97E) #56 + %99 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %98, double noundef %78, double noundef 0xBFC99999760C1F82) #56 + %100 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %99, double noundef %78, double noundef 0x3FCC71C70A4BB945) #56 + %101 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %100, double noundef %78, double noundef 0xBFD00000001076DA) #56 + %102 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %101, double noundef %78, double noundef 0x3FD24924924F345D) #56 + %103 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %102, double noundef %78, double noundef 0xBFD5555555554E88) #56 + %104 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %103, double noundef %78, double noundef 0x3FD9999999999815) #56 + %105 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %104, double noundef %78, double noundef -5.000000e-01) #56 + %106 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %105, double noundef %78, double noundef 0x3C8751507E77D245) #56 + %107 = fmul double %78, 5.000000e-01 + %108 = fneg double %78 + %109 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef %107, double noundef %78) #56 + %110 = fsub double %78, %109 + %111 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %108, double noundef %107, double noundef %110) #56 + %112 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FE5555555555555, double noundef %78, double noundef 0.000000e+00) #56 + %113 = fneg double %112 + %114 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3FE5555555555555, double noundef %78, double noundef %113) #56 + %115 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %106, double noundef %78, double noundef %114) #56 + %116 = fneg double %111 + %117 = bitcast i64 %93 to double + %118 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %116, double noundef %115, double noundef %117) #56 + %119 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef 0x3D2EF35793C76800, double noundef %118) #56 + %120 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %112, double noundef %110, double noundef %109) #56 + %121 = fsub double %120, %109 + %122 = fneg double %121 + %123 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %112, double noundef %110, double noundef %122) #56 + %124 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %113, double noundef %111, double noundef %123) #56 + %125 = fadd double %111, %124 + %126 = bitcast i64 %92 to double + %127 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %69, double noundef 0x3FE62E42FEFA3800, double noundef %126) #56 + %128 = fadd double %127, %120 + %129 = fsub double %128, %127 + %130 = fsub double %120, %129 + %131 = fadd double %125, %130 + %132 = fadd double %119, %131 + %133 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %110, double noundef %115, double noundef %132) #56 + %134 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %128, double noundef 0.000000e+00) #56 + %135 = fneg double %134 + %136 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %128, double noundef %135) #56 + %137 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %66, double noundef %133, double noundef %136) #56 + %138 = fadd double %134, %137 + %139 = fsub double %138, %134 + %140 = fsub double %137, %139 + %141 = add nsw i32 %68, -2047 + %142 = icmp ult i32 %141, -2046 + br i1 %142, label %147, label %143 + +143: ; preds = %65 + %144 = bitcast double %138 to i64 + %145 = and i64 %144, 9223372032559808512 + %146 = icmp ugt i64 %145, 4649442328602214400 + br i1 %146, label %147, label %518 + +147: ; preds = %143, %65 + %148 = lshr i64 %3, 32 + %149 = trunc i64 %148 to i32 + %150 = lshr i32 %149, 20 + %151 = and i32 %150, 2047 + %152 = bitcast double %66 to i64 + %153 = lshr i64 %152, 32 + %154 = trunc i64 %153 to i32 + %155 = lshr i32 %154, 20 + %156 = and i32 %155, 2047 + %157 = lshr i32 %149, 31 + %158 = and i32 %149, 1048575 + %159 = trunc i64 %3 to i32 + %160 = or i32 %158, %159 + %161 = icmp eq i32 %160, 0 + %162 = and i32 %154, 1048575 + %163 = trunc i64 %152 to i32 + %164 = or i32 %162, %163 + %165 = icmp eq i32 %164, 0 + %166 = shl nuw nsw i32 %156, 20 + %167 = or i32 %166, %162 + %168 = icmp ne i32 %156, 2047 + %169 = or i32 %167, %163 + %170 = icmp eq i32 %169, 0 + br i1 %170, label %197, label %171 + +171: ; preds = %147 + %172 = add nsw i32 %156, -1023 + %173 = icmp ugt i32 %156, 1022 + %174 = and i1 %173, %168 + br i1 %174, label %175, label %197 + +175: ; preds = %171 + %176 = icmp ult i32 %156, 1044 + br i1 %176, label %177, label %187 + +177: ; preds = %175 + %178 = shl i32 %154, %172 + %179 = shl i32 %178, 12 + %180 = or i32 %179, %163 + %181 = icmp eq i32 %180, 0 + br i1 %181, label %182, label %197 + +182: ; preds = %177 + %183 = add nsw i32 %156, -1012 + %184 = shl i32 %167, %183 + %185 = icmp sgt i32 %184, -1 + %186 = select i1 %185, i32 2, i32 1 + br label %197 + +187: ; preds = %175 + %188 = icmp ult i32 %156, 1076 + br i1 %188, label %189, label %197 + +189: ; preds = %187 + %190 = add nsw i32 %156, -1044 + %191 = shl i32 %163, %190 + %192 = and i32 %191, 2147483647 + %193 = icmp eq i32 %192, 0 + br i1 %193, label %194, label %197 + +194: ; preds = %189 + %195 = icmp sgt i32 %191, -1 + %196 = select i1 %195, i32 2, i32 1 + br label %197 + +197: ; preds = %194, %189, %187, %182, %177, %171, %147 + %198 = phi i1 [ true, %177 ], [ false, %182 ], [ true, %189 ], [ false, %194 ], [ false, %187 ], [ true, %171 ], [ false, %147 ] + %199 = phi i1 [ false, %177 ], [ true, %182 ], [ false, %189 ], [ true, %194 ], [ true, %187 ], [ false, %171 ], [ true, %147 ] + %200 = phi i32 [ 0, %177 ], [ %186, %182 ], [ 0, %189 ], [ %196, %194 ], [ 2, %187 ], [ 0, %171 ], [ 2, %147 ] + %201 = icmp sgt i64 %3, -1 + %202 = icmp eq i32 %151, 1023 + %203 = and i1 %201, %202 + %204 = and i1 %203, %161 + %205 = or i32 %156, %164 + %206 = icmp eq i32 %205, 0 + %207 = or i1 %204, %206 + br i1 %207, label %511, label %208 + +208: ; preds = %197 + %209 = icmp ne i32 %151, 2047 + %210 = or i1 %209, %161 + %211 = or i1 %168, %165 + %212 = and i1 %210, %211 + br i1 %212, label %213, label %509 + +213: ; preds = %208 + %214 = fcmp une double %0, 0.000000e+00 + br i1 %214, label %215, label %492 + +215: ; preds = %213 + %216 = fcmp une double %0, -1.000000e+00 + %217 = and i1 %198, %168 + %218 = or i1 %216, %217 + br i1 %218, label %219, label %486 + +219: ; preds = %215 + %220 = and i1 %209, %168 + br i1 %220, label %221, label %462 + +221: ; preds = %219 + %222 = fcmp ogt double %0, 0.000000e+00 + %223 = or i1 %222, %199 + br i1 %223, label %224, label %552 + +224: ; preds = %221 + %225 = and i32 %157, %200 + %226 = add nuw nsw i32 %225, 853 + %227 = zext nneg i32 %226 to i64 + %228 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %227 + %229 = load double, ptr addrspace(1) %228, align 8, !tbaa !760 + %230 = tail call double @llvm.fabs.f64(double %0) + %231 = icmp eq i32 %151, 0 + %232 = fmul double %230, 0x4C70000000000000 + %233 = select i1 %231, i32 -200, i32 0 + %234 = select i1 %231, double %232, double %230 + %235 = bitcast double %234 to i64 + %236 = lshr i64 %235, 32 + %237 = trunc i64 %236 to i32 + %238 = and i64 %235, -9218868437227405313 + %239 = or i64 %238, 4607182418800017408 + %240 = bitcast i64 %239 to double + %241 = and i32 %237, 2147467264 + %242 = add nsw i32 %241, -1072152576 + %243 = ashr i32 %242, 20 + %244 = add nsw i32 %243, %233 + %245 = and i32 %237, 1032192 + %246 = add nuw nsw i32 %245, 16384 + %247 = lshr i32 %246, 15 + %248 = zext nneg i32 %247 to i64 + %249 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %248 + %250 = load double, ptr addrspace(1) %249, align 8, !tbaa !760 + %251 = shl nuw nsw i32 %247, 1 + %252 = add nuw nsw i32 %251, 33 + %253 = zext nneg i32 %252 to i64 + %254 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %253 + %255 = load double, ptr addrspace(1) %254, align 8, !tbaa !760 + %256 = add nuw nsw i32 %251, 34 + %257 = zext nneg i32 %256 to i64 + %258 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %257 + %259 = load double, ptr addrspace(1) %258, align 8, !tbaa !760 + %260 = fmul double %250, %240 + %261 = bitcast double %260 to i64 + %262 = lshr i64 %261, 32 + %263 = trunc i64 %262 to i32 + %264 = and i32 %263, 64512 + %265 = add nuw nsw i32 %264, 1024 + %266 = lshr i32 %265, 11 + %267 = add nuw nsw i32 %266, 99 + %268 = zext nneg i32 %267 to i64 + %269 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %268 + %270 = load double, ptr addrspace(1) %269, align 8, !tbaa !760 + %271 = shl nuw nsw i32 %266, 1 + %272 = add nuw nsw i32 %271, 132 + %273 = zext nneg i32 %272 to i64 + %274 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %273 + %275 = load double, ptr addrspace(1) %274, align 8, !tbaa !760 + %276 = add nuw nsw i32 %271, 133 + %277 = zext nneg i32 %276 to i64 + %278 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %277 + %279 = load double, ptr addrspace(1) %278, align 8, !tbaa !760 + %280 = fmul double %260, %270 + %281 = bitcast double %280 to i64 + %282 = lshr i64 %281, 32 + %283 = trunc i64 %282 to i32 + %284 = and i32 %283, 4080 + %285 = add nuw nsw i32 %284, 16 + %286 = lshr i32 %285, 5 + %287 = add nuw nsw i32 %286, 198 + %288 = zext nneg i32 %287 to i64 + %289 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %288 + %290 = load double, ptr addrspace(1) %289, align 8, !tbaa !760 + %291 = shl nuw nsw i32 %286, 1 + %292 = add nuw nsw i32 %291, 327 + %293 = zext nneg i32 %292 to i64 + %294 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %293 + %295 = load double, ptr addrspace(1) %294, align 8, !tbaa !760 + %296 = add nuw nsw i32 %291, 328 + %297 = zext nneg i32 %296 to i64 + %298 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %297 + %299 = load double, ptr addrspace(1) %298, align 8, !tbaa !760 + %300 = sitofp i32 %244 to double + %301 = fadd double %255, %300 + %302 = fadd double %301, %275 + %303 = fadd double %302, %295 + %304 = fadd double %279, %299 + %305 = fadd double %304, %259 + %306 = fmul double %280, %290 + %307 = fadd double %306, 0xBFF7154740000000 + %308 = fmul double %250, %270 + %309 = fmul double %308, %290 + %310 = fmul double %240, 0x41A0000002000000 + %311 = fsub double %310, %240 + %312 = fsub double %310, %311 + %313 = fsub double %240, %312 + %314 = fmul double %309, 0x41A0000002000000 + %315 = fsub double %314, %309 + %316 = fsub double %314, %315 + %317 = fsub double %309, %316 + %318 = fmul double %312, %316 + %319 = fsub double %318, %306 + %320 = fmul double %313, %316 + %321 = fadd double %319, %320 + %322 = fmul double %312, %317 + %323 = fadd double %321, %322 + %324 = fmul double %313, %317 + %325 = fadd double %323, %324 + %326 = fadd double %303, %307 + %327 = fsub double %303, %326 + %328 = fadd double %327, %307 + %329 = bitcast double %326 to i64 + %330 = lshr i64 %329, 32 + %331 = trunc i64 %330 to i32 + %332 = lshr i32 %331, 20 + %333 = and i32 %332, 2047 + %334 = add nuw nsw i32 %333, %156 + %335 = icmp ult i32 %334, 2057 + br i1 %335, label %336, label %453 + +336: ; preds = %224 + %337 = icmp ugt i32 %334, 1984 + br i1 %337, label %338, label %552 + +338: ; preds = %336 + %339 = fadd double %307, %325 + %340 = tail call double @llvm.fmuladd.f64(double %339, double 0xBFB550472A9012D8, double 0x3FC47FD462B6DEE1) + %341 = tail call double @llvm.fmuladd.f64(double %340, double %339, double 0xBFD62E4346694107) + %342 = tail call double @llvm.fmuladd.f64(double %341, double %339, double 0x3E79C3A6966457E8) + %343 = fmul double %342, %339 + %344 = fadd double %328, %325 + %345 = fadd double %305, %344 + %346 = fadd double %326, %343 + %347 = fsub double %326, %346 + %348 = fadd double %347, %343 + %349 = fadd double %346, %345 + %350 = fsub double %346, %349 + %351 = fadd double %350, %345 + %352 = fadd double %351, %348 + %353 = fmul double %349, 0x41A0000002000000 + %354 = fsub double %353, %349 + %355 = fsub double %353, %354 + %356 = fsub double %349, %355 + %357 = fmul double %66, 0x41A0000002000000 + %358 = fsub double %357, %66 + %359 = fsub double %357, %358 + %360 = fsub double %66, %359 + %361 = fmul double %359, %355 + %362 = fmul double %360, %356 + %363 = tail call double @llvm.fmuladd.f64(double %359, double %356, double %362) + %364 = tail call double @llvm.fmuladd.f64(double %360, double %355, double %363) + %365 = fmul double %352, %66 + %366 = fadd double %361, 0x42C8000000000000 + %367 = bitcast double %366 to i64 + %368 = trunc i64 %367 to i32 + %369 = ashr i32 %368, 7 + %370 = fadd double %366, 0xC2C8000000000000 + %371 = fsub double %361, %370 + %372 = fadd double %365, %364 + %373 = fadd double %372, %371 + %374 = tail call double @llvm.fmuladd.f64(double %373, double 0x3F55D87FE78A6731, double 0x3F83B2AB6FBA4E77) + %375 = tail call double @llvm.fmuladd.f64(double %374, double %373, double 0x3FAC6B08D704A0C0) + %376 = tail call double @llvm.fmuladd.f64(double %375, double %373, double 0x3FCEBFBDFF82C58F) + %377 = tail call double @llvm.fmuladd.f64(double %376, double %373, double 0x3FE62E42FEFA39EF) + %378 = fmul double %377, %373 + %379 = shl i32 %368, 1 + %380 = and i32 %379, 254 + %381 = add nuw nsw i32 %380, 585 + %382 = zext nneg i32 %381 to i64 + %383 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %382 + %384 = load double, ptr addrspace(1) %383, align 8, !tbaa !760 + %385 = fmul double %378, %384 + %386 = add nuw nsw i32 %380, 586 + %387 = zext nneg i32 %386 to i64 + %388 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %387 + %389 = load double, ptr addrspace(1) %388, align 8, !tbaa !760 + %390 = fadd double %385, %389 + %391 = fadd double %384, %390 + %392 = bitcast double %391 to i64 + %393 = lshr i64 %392, 32 + %394 = trunc i64 %393 to i32 + %395 = lshr i32 %394, 20 + %396 = and i32 %395, 2047 + %397 = add nsw i32 %396, -1023 + %398 = add nsw i32 %397, %369 + %399 = icmp slt i32 %398, 1024 + br i1 %399, label %400, label %451 + +400: ; preds = %338 + %401 = icmp sgt i32 %398, -1023 + br i1 %401, label %402, label %414 + +402: ; preds = %400 + %403 = add nsw i32 %395, %369 + %404 = shl i32 %403, 20 + %405 = and i32 %404, 2146435072 + %406 = and i32 %394, -2146435073 + %407 = or i32 %406, %405 + %408 = zext i32 %407 to i64 + %409 = shl nuw i64 %408, 32 + %410 = and i64 %392, 4294967295 + %411 = or i64 %410, %409 + %412 = bitcast i64 %411 to double + %413 = fmul double %229, %412 + br label %552 + +414: ; preds = %400 + %415 = icmp ugt i32 %398, -1033 + br i1 %415, label %416, label %436 + +416: ; preds = %414 + %417 = fsub double %384, %391 + %418 = fadd double %417, %390 + %419 = fmul double %391, 0x41A0000002000000 + %420 = fsub double %419, %391 + %421 = fsub double %419, %420 + %422 = fsub double %391, %421 + %423 = fadd double %418, %422 + %424 = fmul double %229, 0x3370000000000000 + %425 = shl i32 %369, 20 + %426 = add i32 %425, 1282408448 + %427 = and i32 %426, 2146435072 + %428 = zext nneg i32 %427 to i64 + %429 = shl nuw nsw i64 %428, 32 + %430 = bitcast i64 %429 to double + %431 = fmul double %421, %430 + %432 = fmul double %423, %430 + %433 = fadd double %431, %432 + %434 = fmul double %433, %424 + %435 = fadd double %434, 0.000000e+00 + br label %552 + +436: ; preds = %414 + %437 = icmp ugt i32 %398, -1085 + br i1 %437, label %438, label %449 + +438: ; preds = %436 + %439 = fmul double %229, 0x3370000000000000 + %440 = shl i32 %369, 20 + %441 = add i32 %440, 1282408448 + %442 = and i32 %441, 2146435072 + %443 = zext nneg i32 %442 to i64 + %444 = shl nuw nsw i64 %443, 32 + %445 = bitcast i64 %444 to double + %446 = fmul double %391, %445 + %447 = fmul double %446, %439 + %448 = fadd double %447, 0.000000e+00 + br label %552 + +449: ; preds = %436 + %450 = fmul double %229, 0.000000e+00 + br label %552 + +451: ; preds = %338 + %452 = fmul double %229, 0x7FF0000000000000 + br label %552 + +453: ; preds = %224 + %454 = xor i32 %154, %331 + %455 = lshr i32 %454, 31 + %456 = or i32 %455, 850 + %457 = zext nneg i32 %456 to i64 + %458 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %457 + %459 = load double, ptr addrspace(1) %458, align 8, !tbaa !760 + %460 = fmul double %459, %459 + %461 = fmul double %460, %229 + br label %552 + +462: ; preds = %219 + %463 = icmp ult i32 %151, 1023 + br i1 %463, label %464, label %468 + +464: ; preds = %462 + %465 = icmp sgt i32 %1, -1 + %466 = fmul double %66, %66 + %467 = select i1 %465, double 0.000000e+00, double %466 + br label %552 + +468: ; preds = %462 + %469 = icmp sgt i32 %1, -1 + br i1 %469, label %477, label %470 + +470: ; preds = %468 + %471 = and i32 %200, %157 + %472 = add nuw nsw i32 %471, 853 + %473 = zext nneg i32 %472 to i64 + %474 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %473 + %475 = load double, ptr addrspace(1) %474, align 8, !tbaa !760 + %476 = fmul double %475, 0.000000e+00 + br label %552 + +477: ; preds = %468 + %478 = fmul double %0, %0 + %479 = fmul double %478, %66 + %480 = and i32 %200, %157 + %481 = add nuw nsw i32 %480, 853 + %482 = zext nneg i32 %481 to i64 + %483 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %482 + %484 = load double, ptr addrspace(1) %483, align 8, !tbaa !760 + %485 = fmul double %479, %484 + br label %552 + +486: ; preds = %215 + %487 = and i32 %200, 1 + %488 = add nuw nsw i32 %487, 853 + %489 = zext nneg i32 %488 to i64 + %490 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %489 + %491 = load double, ptr addrspace(1) %490, align 8, !tbaa !760 + br label %552 + +492: ; preds = %213 + %493 = fmul double %0, %0 + %494 = icmp sgt i32 %1, -1 + br i1 %494, label %502, label %495 + +495: ; preds = %492 + %496 = and i32 %200, %157 + %497 = add nuw nsw i32 %496, 853 + %498 = zext nneg i32 %497 to i64 + %499 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %498 + %500 = load double, ptr addrspace(1) %499, align 8, !tbaa !760 + %501 = fdiv double %500, %493 + br label %552 + +502: ; preds = %492 + %503 = and i32 %200, %157 + %504 = add nuw nsw i32 %503, 853 + %505 = zext nneg i32 %504 to i64 + %506 = getelementptr inbounds double, ptr addrspace(1) @_ZN20__imf_impl_pown_d_la12_GLOBAL__N_118__dpown_la_CoutTabE, i64 %505 + %507 = load double, ptr addrspace(1) %506, align 8, !tbaa !760 + %508 = fmul double %507, %493 + br label %552 + +509: ; preds = %208 + %510 = fadd double %66, %0 + br label %552 + +511: ; preds = %197 + %512 = fadd double %66, %0 + %513 = bitcast double %512 to i64 + %514 = and i64 %513, -9223372036854775808 + %515 = or i64 %514, 4607182418800017408 + %516 = bitcast i64 %515 to double + %517 = fmul double %516, %516 + br label %552 + +518: ; preds = %143 + %519 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %138, double noundef 0x3FF71547652B82FE, double noundef 0x43280000000007FE) #56 + %520 = fadd double %519, 0xC3280000000007FE + %521 = bitcast double %519 to i64 + %522 = trunc i64 %521 to i32 + %523 = shl i32 %522, 19 + %524 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBFE62E42FEFA39EF, double noundef %520, double noundef %138) #56 + %525 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0xBC7ABC9E3B39803F, double noundef %520, double noundef %524) #56 + %526 = fadd double %525, %140 + %527 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef 0x3EC722BCCC270959, double noundef %526, double noundef 0x3EFA072E44B58159) #56 + %528 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %527, double noundef %526, double noundef 0x3F2A019F7560FBA3) #56 + %529 = and i32 %522, 1 + %530 = sub nsw i32 0, %529 + %531 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %528, double noundef %526, double noundef 0x3F56C16B8144BD5B) #56 + %532 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %531, double noundef %526, double noundef 0x3F811111111AC486) #56 + %533 = and i32 %530, 958622 + %534 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %532, double noundef %526, double noundef 0x3FA55555556228CE) #56 + %535 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %534, double noundef %526, double noundef 0x3FC5555555555462) #56 + %536 = xor i32 %523, %533 + %537 = zext i32 %536 to i64 + %538 = shl nuw i64 %537, 32 + %539 = and i32 %530, 1719614413 + %540 = zext nneg i32 %539 to i64 + %541 = or i64 %538, %540 + %542 = bitcast i64 %541 to double + %543 = and i32 %530, -2132704597 + %544 = xor i32 %543, 1013862853 + %545 = zext i32 %544 to i64 + %546 = shl nuw i64 %545, 32 + %547 = bitcast i64 %546 to double + %548 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %535, double noundef %526, double noundef 0x3FDFFFFFFFFFFE76) #56 + %549 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %548, double noundef %526, double noundef 1.000000e+00) #56 + %550 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %549, double noundef %526, double noundef %547) #56 + %551 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %542, double noundef %550, double noundef %542) #56 + br label %552 + +552: ; preds = %518, %511, %509, %502, %495, %486, %477, %470, %464, %453, %451, %449, %438, %416, %402, %336, %221, %56, %21, %17, %14, %10 + %553 = phi double [ %551, %518 ], [ %59, %56 ], [ 1.000000e+00, %21 ], [ 1.000000e+00, %10 ], [ %20, %17 ], [ %16, %14 ], [ %517, %511 ], [ %413, %402 ], [ %435, %416 ], [ %448, %438 ], [ %450, %449 ], [ %452, %451 ], [ %461, %453 ], [ %476, %470 ], [ %485, %477 ], [ %491, %486 ], [ %501, %495 ], [ %508, %502 ], [ %510, %509 ], [ %229, %336 ], [ 0x7FF8000000000000, %221 ], [ %467, %464 ] + ret double %553 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dadd_rd(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1615 { + %3 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 3) #55 + ret double %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1616 { + %4 = bitcast double %0 to i64 + %5 = bitcast double %1 to i64 + %6 = lshr i64 %4, 52 + %7 = and i64 %6, 2047 + %8 = lshr i64 %5, 52 + %9 = and i64 %8, 2047 + %10 = and i64 %4, 4503599627370495 + %11 = and i64 %5, 4503599627370495 + %12 = lshr i64 %4, 63 + %13 = lshr i64 %5, 63 + %14 = icmp eq i64 %7, 2047 + %15 = icmp ne i64 %10, 0 + %16 = and i1 %14, %15 + br i1 %16, label %53, label %17 + +17: ; preds = %3 + %18 = icmp eq i64 %9, 2047 + %19 = icmp ne i64 %11, 0 + %20 = and i1 %18, %19 + br i1 %20, label %53, label %21 + +21: ; preds = %17 + %22 = icmp eq i64 %10, 0 + %23 = and i1 %14, %22 + br i1 %23, label %24, label %30 + +24: ; preds = %21 + %25 = icmp eq i64 %11, 0 + %26 = icmp ne i64 %12, %13 + %27 = and i1 %25, %26 + %28 = and i1 %27, %18 + %29 = select i1 %28, double 0x7FF8000000000000, double %0 + br label %53 + +30: ; preds = %21 + %31 = icmp eq i64 %11, 0 + %32 = and i1 %18, %31 + %33 = or i64 %7, %10 + %34 = icmp eq i64 %33, 0 + %35 = or i1 %32, %34 + br i1 %35, label %53, label %36 + +36: ; preds = %30 + %37 = or i64 %9, %11 + %38 = icmp eq i64 %37, 0 + br i1 %38, label %53, label %39 + +39: ; preds = %36 + %40 = icmp eq i64 %12, %13 + br i1 %40, label %41, label %47 + +41: ; preds = %39 + %42 = icmp ugt i64 %7, %9 + br i1 %42, label %43, label %45 + +43: ; preds = %41 + %44 = tail call spir_func noundef double @_Z17__fp_add_sig_sameIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) #55 + br label %53 + +45: ; preds = %41 + %46 = tail call spir_func noundef double @_Z17__fp_add_sig_sameIdET_S0_S0_i(double noundef %1, double noundef %0, i32 noundef %2) #55 + br label %53 + +47: ; preds = %39 + %48 = icmp ugt i64 %7, %9 + br i1 %48, label %49, label %51 + +49: ; preds = %47 + %50 = tail call spir_func noundef double @_Z17__fp_add_sig_diffIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) #55 + br label %53 + +51: ; preds = %47 + %52 = tail call spir_func noundef double @_Z17__fp_add_sig_diffIdET_S0_S0_i(double noundef %1, double noundef %0, i32 noundef %2) #55 + br label %53 + +53: ; preds = %51, %49, %45, %43, %36, %30, %24, %17, %3 + %54 = phi double [ 0x7FF8000000000000, %17 ], [ 0x7FF8000000000000, %3 ], [ %29, %24 ], [ %1, %30 ], [ %0, %36 ], [ %44, %43 ], [ %46, %45 ], [ %50, %49 ], [ %52, %51 ] + ret double %54 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef double @_Z17__fp_add_sig_sameIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1617 { + %4 = bitcast double %0 to i64 + %5 = bitcast double %1 to i64 + %6 = lshr i64 %4, 52 + %7 = and i64 %6, 2047 + %8 = lshr i64 %5, 52 + %9 = and i64 %8, 2047 + %10 = and i64 %4, 4503599627370495 + %11 = and i64 %5, 4503599627370495 + %12 = icmp eq i64 %9, 0 + br i1 %12, label %13, label %27 + +13: ; preds = %3 + %14 = icmp eq i64 %7, 0 + br i1 %14, label %15, label %24 + +15: ; preds = %13 + %16 = add nuw nsw i64 %10, %11 + %17 = and i64 %16, 4503599627370495 + %18 = icmp ult i64 %16, 4503599627370496 + %19 = select i1 %18, i64 0, i64 4503599627370496 + %20 = and i64 %4, -9223372036854775808 + %21 = or i64 %20, %19 + %22 = or i64 %21, %17 + %23 = bitcast i64 %22 to double + br label %164 + +24: ; preds = %13 + %25 = trunc i64 %7 to i32 + %26 = add nsw i32 %25, -1 + br label %30 + +27: ; preds = %3 + %28 = sub nsw i64 %7, %9 + %29 = trunc i64 %28 to i32 + br label %30 + +30: ; preds = %27, %24 + %31 = phi i32 [ %26, %24 ], [ %29, %27 ] + %32 = phi i32 [ 0, %24 ], [ 1, %27 ] + switch i32 %31, label %39 [ + i32 0, label %76 + i32 1, label %33 + ] + +33: ; preds = %30 + %34 = trunc i64 %5 to i32 + %35 = and i32 %34, 1 + %36 = lshr i64 %11, 1 + %37 = or i64 %36, 2251799813685248 + %38 = select i1 %12, i64 %36, i64 %37 + br label %79 + +39: ; preds = %30 + %40 = icmp ult i32 %31, 53 + br i1 %40, label %41, label %65 + +41: ; preds = %39 + %42 = add nsw i32 %31, -1 + %43 = zext i32 %42 to i64 + %44 = shl nuw i64 1, %43 + %45 = and i64 %11, %44 + %46 = icmp ne i64 %45, 0 + %47 = zext i1 %46 to i32 + %48 = add nsw i32 %31, -2 + %49 = zext i32 %48 to i64 + %50 = shl nuw i64 1, %49 + %51 = freeze i64 %50 + %52 = and i64 %11, %51 + %53 = icmp ne i64 %52, 0 + %54 = zext i1 %53 to i32 + %55 = add i64 %51, -1 + %56 = and i64 %11, %55 + %57 = icmp ne i64 %56, 0 + %58 = zext i32 %31 to i64 + %59 = lshr i64 %11, %58 + %60 = sub nuw nsw i32 52, %31 + %61 = zext i32 %60 to i64 + %62 = shl nuw nsw i64 1, %61 + %63 = select i1 %12, i64 0, i64 %62 + %64 = or i64 %59, %63 + br label %79 + +65: ; preds = %39 + switch i32 %31, label %74 [ + i32 53, label %66 + i32 25, label %72 + ] + +66: ; preds = %65 + %67 = lshr i64 %5, 51 + %68 = trunc i64 %67 to i32 + %69 = and i32 %68, 1 + %70 = and i64 %5, 2251799813685247 + %71 = icmp ne i64 %70, 0 + br label %79 + +72: ; preds = %65 + %73 = icmp ne i64 %11, 0 + br label %79 + +74: ; preds = %65 + %75 = icmp ne i64 %5, 0 + br label %79 + +76: ; preds = %30 + %77 = add nuw nsw i64 %10, %11 + %78 = icmp ugt i64 %77, 4503599627370495 + br i1 %78, label %92, label %105 + +79: ; preds = %74, %72, %66, %41, %33 + %80 = phi i32 [ %47, %41 ], [ %32, %66 ], [ 0, %72 ], [ 0, %74 ], [ %35, %33 ] + %81 = phi i32 [ %54, %41 ], [ %69, %66 ], [ %32, %72 ], [ 0, %74 ], [ 0, %33 ] + %82 = phi i1 [ %57, %41 ], [ %71, %66 ], [ %73, %72 ], [ %75, %74 ], [ false, %33 ] + %83 = phi i64 [ %64, %41 ], [ 0, %66 ], [ 0, %72 ], [ 0, %74 ], [ %38, %33 ] + %84 = zext i1 %82 to i32 + %85 = add nuw nsw i64 %10, %83 + %86 = icmp ugt i64 %85, 4503599627370495 + br i1 %86, label %87, label %111 + +87: ; preds = %79 + %88 = icmp eq i32 %81, 1 + %89 = select i1 %88, i32 1, i32 %84 + %90 = lshr i64 %85, 1 + %91 = and i64 %90, 2251799813685247 + br label %97 + +92: ; preds = %76 + %93 = lshr i64 %77, 1 + %94 = and i64 %93, 2251799813685247 + %95 = or i64 %93, 2251799813685248 + %96 = select i1 %12, i64 %94, i64 %95 + br label %97 + +97: ; preds = %92, %87 + %98 = phi i64 [ %85, %87 ], [ %77, %92 ] + %99 = phi i32 [ %89, %87 ], [ 0, %92 ] + %100 = phi i32 [ %80, %87 ], [ 0, %92 ] + %101 = phi i64 [ %91, %87 ], [ %96, %92 ] + %102 = trunc i64 %98 to i32 + %103 = and i32 %102, 1 + %104 = add nuw nsw i64 %7, 1 + br label %111 + +105: ; preds = %76 + br i1 %12, label %111, label %106 + +106: ; preds = %105 + %107 = trunc i64 %77 to i32 + %108 = and i32 %107, 1 + %109 = lshr i64 %77, 1 + %110 = add nuw nsw i64 %7, 1 + br label %111 + +111: ; preds = %106, %105, %97, %79 + %112 = phi i64 [ %101, %97 ], [ %109, %106 ], [ %77, %105 ], [ %85, %79 ] + %113 = phi i32 [ %103, %97 ], [ %108, %106 ], [ 0, %105 ], [ %80, %79 ] + %114 = phi i32 [ %100, %97 ], [ 0, %106 ], [ 0, %105 ], [ %81, %79 ] + %115 = phi i32 [ %99, %97 ], [ 0, %106 ], [ 0, %105 ], [ %84, %79 ] + %116 = phi i64 [ %104, %97 ], [ %110, %106 ], [ %7, %105 ], [ %7, %79 ] + %117 = shl nuw nsw i32 %113, 2 + %118 = shl nuw nsw i32 %114, 1 + %119 = or i32 %117, %118 + %120 = or i32 %119, %115 + %121 = icmp eq i32 %120, 0 + br i1 %121, label %140, label %122 + +122: ; preds = %111 + %123 = icmp eq i32 %2, 2 + %124 = icmp sgt i64 %4, -1 + %125 = and i1 %123, %124 + br i1 %125, label %140, label %126 + +126: ; preds = %122 + %127 = icmp eq i32 %2, 3 + %128 = icmp slt i64 %4, 0 + %129 = and i1 %127, %128 + br i1 %129, label %140, label %130 + +130: ; preds = %126 + %131 = icmp eq i32 %2, 0 + br i1 %131, label %132, label %139 + +132: ; preds = %130 + %133 = icmp ugt i32 %120, 4 + br i1 %133, label %140, label %134 + +134: ; preds = %132 + %135 = icmp ne i32 %120, 4 + %136 = and i64 %112, 1 + %137 = icmp eq i64 %136, 0 + %138 = or i1 %135, %137 + br i1 %138, label %139, label %140 + +139: ; preds = %134, %130 + br label %140 + +140: ; preds = %139, %134, %132, %126, %122, %111 + %141 = phi i64 [ 0, %139 ], [ 0, %111 ], [ 1, %122 ], [ 1, %126 ], [ 1, %134 ], [ 1, %132 ] + %142 = add nuw nsw i64 %112, %141 + %143 = icmp eq i64 %142, 4503599627370496 + %144 = zext i1 %143 to i64 + %145 = add nuw nsw i64 %116, %144 + %146 = icmp eq i64 %145, 2047 + br i1 %146, label %147, label %157 + +147: ; preds = %140 + %148 = icmp sgt i64 %4, -1 + br i1 %148, label %149, label %153 + +149: ; preds = %147 + %150 = and i32 %2, -3 + %151 = icmp eq i32 %150, 1 + %152 = select i1 %151, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %164 + +153: ; preds = %147 + %154 = add i32 %2, -1 + %155 = icmp ult i32 %154, 2 + %156 = select i1 %155, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %164 + +157: ; preds = %140 + %158 = select i1 %143, i64 0, i64 %142 + %159 = and i64 %4, -9223372036854775808 + %160 = shl nuw i64 %145, 52 + %161 = or i64 %159, %160 + %162 = or i64 %161, %158 + %163 = bitcast i64 %162 to double + br label %164 + +164: ; preds = %157, %153, %149, %15 + %165 = phi double [ %23, %15 ], [ %163, %157 ], [ %152, %149 ], [ %156, %153 ] + ret double %165 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef double @_Z17__fp_add_sig_diffIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1618 { + %4 = bitcast double %0 to i64 + %5 = bitcast double %1 to i64 + %6 = lshr i64 %4, 52 + %7 = and i64 %6, 2047 + %8 = lshr i64 %5, 52 + %9 = and i64 %8, 2047 + %10 = and i64 %4, 4503599627370495 + %11 = and i64 %5, 4503599627370495 + %12 = lshr i64 %4, 63 + %13 = lshr i64 %5, 63 + %14 = icmp eq i64 %9, 0 + br i1 %14, label %15, label %29 + +15: ; preds = %3 + %16 = icmp eq i64 %7, 0 + br i1 %16, label %17, label %26 + +17: ; preds = %15 + %18 = icmp ugt i64 %10, %11 + %19 = sub nsw i64 %10, %11 + %20 = sub nsw i64 %11, %10 + %21 = select i1 %18, i64 %12, i64 %13 + %22 = select i1 %18, i64 %19, i64 %20 + %23 = shl nuw i64 %21, 63 + %24 = or i64 %23, %22 + %25 = bitcast i64 %24 to double + br label %246 + +26: ; preds = %15 + %27 = trunc i64 %7 to i32 + %28 = add nsw i32 %27, -1 + br label %32 + +29: ; preds = %3 + %30 = sub nsw i64 %7, %9 + %31 = trunc i64 %30 to i32 + br label %32 + +32: ; preds = %29, %26 + %33 = phi i32 [ 0, %26 ], [ 1, %29 ] + %34 = phi i32 [ %28, %26 ], [ %31, %29 ] + %35 = icmp eq i32 %34, 0 + br i1 %35, label %96, label %36 + +36: ; preds = %32 + %37 = icmp ne i32 %34, 1 + br i1 %37, label %44, label %38 + +38: ; preds = %36 + %39 = trunc i64 %5 to i32 + %40 = and i32 %39, 1 + %41 = lshr i64 %11, 1 + %42 = or i64 %41, 2251799813685248 + %43 = select i1 %14, i64 %41, i64 %42 + br label %80 + +44: ; preds = %36 + %45 = icmp ult i32 %34, 53 + br i1 %45, label %46, label %69 + +46: ; preds = %44 + %47 = add nsw i32 %34, -1 + %48 = zext i32 %47 to i64 + %49 = shl nuw i64 1, %48 + %50 = and i64 %11, %49 + %51 = icmp ne i64 %50, 0 + %52 = zext i1 %51 to i32 + %53 = add nsw i32 %34, -2 + %54 = zext i32 %53 to i64 + %55 = shl nuw i64 1, %54 + %56 = and i64 %11, %55 + %57 = icmp ne i64 %56, 0 + %58 = zext i1 %57 to i32 + %59 = add i64 %55, -1 + %60 = and i64 %11, %59 + %61 = icmp ne i64 %60, 0 + %62 = zext i32 %34 to i64 + %63 = lshr i64 %11, %62 + %64 = sub nuw nsw i32 52, %34 + %65 = zext i32 %64 to i64 + %66 = shl nuw nsw i64 1, %65 + %67 = select i1 %14, i64 0, i64 %66 + %68 = or i64 %63, %67 + br label %80 + +69: ; preds = %44 + switch i32 %34, label %78 [ + i32 53, label %70 + i32 54, label %76 + ] + +70: ; preds = %69 + %71 = lshr i64 %5, 51 + %72 = trunc i64 %71 to i32 + %73 = and i32 %72, 1 + %74 = and i64 %5, 2251799813685247 + %75 = icmp ne i64 %74, 0 + br label %80 + +76: ; preds = %69 + %77 = icmp ne i64 %11, 0 + br label %80 + +78: ; preds = %69 + %79 = icmp ne i64 %5, 0 + br label %80 + +80: ; preds = %78, %76, %70, %46, %38 + %81 = phi i1 [ %61, %46 ], [ %75, %70 ], [ %77, %76 ], [ %79, %78 ], [ false, %38 ] + %82 = phi i32 [ %58, %46 ], [ %73, %70 ], [ %33, %76 ], [ 0, %78 ], [ 0, %38 ] + %83 = phi i32 [ %52, %46 ], [ %33, %70 ], [ 0, %76 ], [ 0, %78 ], [ %40, %38 ] + %84 = phi i64 [ %68, %46 ], [ 0, %70 ], [ 0, %76 ], [ 0, %78 ], [ %43, %38 ] + %85 = shl nuw nsw i64 %10, 3 + %86 = shl nuw nsw i64 %84, 3 + %87 = shl nuw nsw i32 %83, 2 + %88 = zext nneg i32 %87 to i64 + %89 = or i64 %86, %88 + %90 = shl nuw nsw i32 %82, 1 + %91 = zext nneg i32 %90 to i64 + %92 = or i64 %89, %91 + %93 = zext i1 %81 to i64 + %94 = or i64 %92, %93 + %95 = icmp ult i64 %85, %94 + br i1 %95, label %164, label %159 + +96: ; preds = %32 + %97 = icmp eq i64 %10, %11 + br i1 %97, label %98, label %103 + +98: ; preds = %96 + %99 = and i64 %4, -9223372036854775808 + %100 = or i64 %99, 4503599627370496 + %101 = bitcast i64 %100 to double + %102 = select i1 %14, double %101, double 0.000000e+00 + br label %246 + +103: ; preds = %96 + %104 = icmp ugt i64 %10, %11 + br i1 %104, label %105, label %112 + +105: ; preds = %103 + %106 = sub nsw i64 %10, %11 + br i1 %14, label %107, label %121 + +107: ; preds = %105 + %108 = and i64 %4, -9223372036854775808 + %109 = or i64 %108, %106 + %110 = or i64 %109, 4503599627370496 + %111 = bitcast i64 %110 to double + br label %246 + +112: ; preds = %103 + br i1 %14, label %115, label %113 + +113: ; preds = %112 + %114 = sub nsw i64 %11, %10 + br label %121 + +115: ; preds = %112 + %116 = or i64 %10, 4503599627370496 + %117 = sub nuw nsw i64 %116, %11 + %118 = and i64 %4, -9223372036854775808 + %119 = or i64 %118, %117 + %120 = bitcast i64 %119 to double + br label %246 + +121: ; preds = %113, %105 + %122 = phi i64 [ %12, %105 ], [ %13, %113 ] + %123 = phi i64 [ %106, %105 ], [ %114, %113 ] + br label %124 + +124: ; preds = %133, %121 + %125 = phi i64 [ 2251799813685248, %121 ], [ %134, %133 ] + %126 = phi i64 [ 0, %121 ], [ %135, %133 ] + %127 = icmp ult i64 %126, 52 + br i1 %127, label %128, label %136 + +128: ; preds = %124 + %129 = and i64 %125, %123 + %130 = icmp eq i64 %129, %125 + br i1 %130, label %131, label %133 + +131: ; preds = %128 + %132 = trunc i64 %126 to i32 + br label %136 + +133: ; preds = %128 + %134 = lshr i64 %125, 1 + %135 = add nuw nsw i64 %126, 1 + br label %124, !llvm.loop !1619 + +136: ; preds = %131, %124 + %137 = phi i32 [ %132, %131 ], [ -1, %124 ] + %138 = add nsw i32 %137, 1 + %139 = trunc i64 %7 to i32 + %140 = icmp ult i32 %138, %139 + br i1 %140, label %141, label %149 + +141: ; preds = %136 + %142 = xor i32 %137, -1 + %143 = zext i32 %142 to i64 + %144 = add nuw nsw i64 %7, %143 + %145 = zext i32 %138 to i64 + %146 = shl i64 %123, %145 + %147 = and i64 %146, 4503599627370495 + %148 = shl i64 %144, 52 + br label %152 + +149: ; preds = %136 + %150 = add nsw i64 %7, -1 + %151 = shl i64 %123, %150 + br label %152 + +152: ; preds = %149, %141 + %153 = phi i64 [ %147, %141 ], [ %151, %149 ] + %154 = phi i64 [ %148, %141 ], [ 0, %149 ] + %155 = shl nuw i64 %122, 63 + %156 = or i64 %155, %154 + %157 = or i64 %156, %153 + %158 = bitcast i64 %157 to double + br label %246 + +159: ; preds = %80 + %160 = sub nsw i64 %85, %94 + %161 = trunc i64 %160 to i32 + %162 = and i32 %161, 7 + %163 = lshr i64 %160, 3 + br label %211 + +164: ; preds = %80 + %165 = or i64 %85, 36028797018963968 + %166 = sub nsw i64 %165, %94 + br label %167 + +167: ; preds = %176, %164 + %168 = phi i64 [ 18014398509481984, %164 ], [ %177, %176 ] + %169 = phi i64 [ 0, %164 ], [ %178, %176 ] + %170 = icmp ult i64 %169, 55 + br i1 %170, label %171, label %179 + +171: ; preds = %167 + %172 = and i64 %168, %166 + %173 = icmp eq i64 %172, %168 + br i1 %173, label %174, label %176 + +174: ; preds = %171 + %175 = trunc i64 %169 to i32 + br label %179 + +176: ; preds = %171 + %177 = lshr i64 %168, 1 + %178 = add nuw nsw i64 %169, 1 + br label %167, !llvm.loop !1619 + +179: ; preds = %174, %167 + %180 = phi i32 [ %175, %174 ], [ -1, %167 ] + %181 = or i1 %37, %14 + br i1 %181, label %194, label %182 + +182: ; preds = %179 + %183 = add nsw i32 %180, 1 + %184 = trunc i64 %7 to i32 + %185 = icmp ult i32 %183, %184 + br i1 %185, label %186, label %192 + +186: ; preds = %182 + %187 = xor i32 %180, -1 + %188 = zext i32 %187 to i64 + %189 = add nuw nsw i64 %7, %188 + %190 = zext i32 %183 to i64 + %191 = shl i64 %189, 52 + br label %201 + +192: ; preds = %182 + %193 = add nsw i64 %7, -1 + br label %201 + +194: ; preds = %179 + %195 = trunc i64 %166 to i32 + %196 = lshr i64 %166, 2 + %197 = and i64 %196, 4503599627370495 + %198 = shl i32 %195, 1 + %199 = and i32 %198, 6 + %200 = add nsw i64 %7, -1 + br label %211 + +201: ; preds = %192, %186 + %202 = phi i64 [ %190, %186 ], [ %193, %192 ] + %203 = phi i64 [ %191, %186 ], [ 0, %192 ] + %204 = shl i64 %166, %202 + %205 = lshr i64 %204, 3 + %206 = and i64 %205, 4503599627370495 + %207 = and i64 %4, -9223372036854775808 + %208 = or i64 %207, %203 + %209 = or i64 %208, %206 + %210 = bitcast i64 %209 to double + br label %246 + +211: ; preds = %194, %159 + %212 = phi i64 [ %163, %159 ], [ %197, %194 ] + %213 = phi i32 [ %162, %159 ], [ %199, %194 ] + %214 = phi i64 [ %7, %159 ], [ %200, %194 ] + %215 = icmp eq i32 %213, 0 + br i1 %215, label %234, label %216 + +216: ; preds = %211 + %217 = icmp eq i32 %2, 2 + %218 = icmp sgt i64 %4, -1 + %219 = and i1 %217, %218 + br i1 %219, label %234, label %220 + +220: ; preds = %216 + %221 = icmp eq i32 %2, 3 + %222 = icmp slt i64 %4, 0 + %223 = and i1 %221, %222 + br i1 %223, label %234, label %224 + +224: ; preds = %220 + %225 = icmp eq i32 %2, 0 + br i1 %225, label %226, label %233 + +226: ; preds = %224 + %227 = icmp ugt i32 %213, 4 + br i1 %227, label %234, label %228 + +228: ; preds = %226 + %229 = icmp ne i32 %213, 4 + %230 = and i64 %212, 1 + %231 = icmp eq i64 %230, 0 + %232 = or i1 %229, %231 + br i1 %232, label %233, label %234 + +233: ; preds = %228, %224 + br label %234 + +234: ; preds = %233, %228, %226, %220, %216, %211 + %235 = phi i64 [ 0, %233 ], [ 0, %211 ], [ 1, %216 ], [ 1, %220 ], [ 1, %228 ], [ 1, %226 ] + %236 = add nuw nsw i64 %212, %235 + %237 = icmp ugt i64 %236, 4503599627370495 + %238 = select i1 %237, i64 0, i64 %236 + %239 = zext i1 %237 to i64 + %240 = add nsw i64 %214, %239 + %241 = and i64 %4, -9223372036854775808 + %242 = shl i64 %240, 52 + %243 = or i64 %241, %242 + %244 = or i64 %243, %238 + %245 = bitcast i64 %244 to double + br label %246 + +246: ; preds = %234, %201, %152, %115, %107, %98, %17 + %247 = phi double [ %25, %17 ], [ %102, %98 ], [ %111, %107 ], [ %158, %152 ], [ %120, %115 ], [ %245, %234 ], [ %210, %201 ] + ret double %247 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dadd_rn(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1620 { + %3 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 0) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dadd_ru(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1621 { + %3 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 2) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dadd_rz(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1622 { + %3 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 1) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dsub_rd(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1623 { + %3 = fneg double %1 + %4 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %3, i32 noundef 3) #55 + ret double %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dsub_rn(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1624 { + %3 = fneg double %1 + %4 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %3, i32 noundef 0) #55 + ret double %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dsub_ru(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1625 { + %3 = fneg double %1 + %4 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %3, i32 noundef 2) #55 + ret double %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dsub_rz(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1626 { + %3 = fneg double %1 + %4 = tail call spir_func noundef double @_Z18__fp_add_sub_entryIdET_S0_S0_i(double noundef %0, double noundef %3, i32 noundef 1) #55 + ret double %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dmul_rd(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1627 { + %3 = tail call spir_func noundef double @_Z8__fp_mulIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 3) #55 + ret double %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef double @_Z8__fp_mulIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1628 { + %4 = alloca %class.__iml_ui128, align 8 + %5 = alloca %class.__iml_ui128, align 8 + %6 = alloca %class.__iml_ui128, align 8 + %7 = alloca %class.__iml_ui128, align 8 + %8 = alloca %class.__iml_ui128, align 8 + %9 = alloca %class.__iml_ui128, align 8 + %10 = alloca %class.__iml_ui128, align 8 + %11 = alloca %class.__iml_ui128, align 8 + %12 = alloca %class.__iml_ui128, align 8 + %13 = alloca %class.__iml_ui128, align 8 + %14 = alloca %class.__iml_ui128, align 8 + %15 = alloca %class.__iml_ui128, align 8 + %16 = alloca %class.__iml_ui128, align 8 + %17 = alloca %class.__iml_ui128, align 8 + %18 = alloca %class.__iml_ui128, align 8 + %19 = alloca %class.__iml_ui128, align 8 + %20 = alloca %class.__iml_ui128, align 8 + %21 = alloca %class.__iml_ui128, align 8 + %22 = alloca %class.__iml_ui128, align 8 + %23 = alloca %class.__iml_ui128, align 8 + %24 = alloca %class.__iml_ui128, align 8 + %25 = alloca %class.__iml_ui128, align 8 + %26 = alloca %class.__iml_ui128, align 8 + %27 = alloca %class.__iml_ui128, align 8 + %28 = alloca %class.__iml_ui128, align 8 + %29 = alloca %class.__iml_ui128, align 8 + %30 = alloca %class.__iml_ui128, align 8 + %31 = alloca %class.__iml_ui128, align 8 + %32 = alloca %class.__iml_ui128, align 8 + %33 = addrspacecast ptr %4 to ptr addrspace(4) + %34 = addrspacecast ptr %5 to ptr addrspace(4) + %35 = addrspacecast ptr %6 to ptr addrspace(4) + %36 = addrspacecast ptr %7 to ptr addrspace(4) + %37 = addrspacecast ptr %8 to ptr addrspace(4) + %38 = addrspacecast ptr %9 to ptr addrspace(4) + %39 = addrspacecast ptr %10 to ptr addrspace(4) + %40 = addrspacecast ptr %11 to ptr addrspace(4) + %41 = addrspacecast ptr %12 to ptr addrspace(4) + %42 = addrspacecast ptr %13 to ptr addrspace(4) + %43 = addrspacecast ptr %14 to ptr addrspace(4) + %44 = addrspacecast ptr %15 to ptr addrspace(4) + %45 = addrspacecast ptr %16 to ptr addrspace(4) + %46 = addrspacecast ptr %17 to ptr addrspace(4) + %47 = addrspacecast ptr %18 to ptr addrspace(4) + %48 = addrspacecast ptr %19 to ptr addrspace(4) + %49 = addrspacecast ptr %20 to ptr addrspace(4) + %50 = addrspacecast ptr %21 to ptr addrspace(4) + %51 = addrspacecast ptr %22 to ptr addrspace(4) + %52 = addrspacecast ptr %23 to ptr addrspace(4) + %53 = addrspacecast ptr %24 to ptr addrspace(4) + %54 = addrspacecast ptr %25 to ptr addrspace(4) + %55 = addrspacecast ptr %26 to ptr addrspace(4) + %56 = addrspacecast ptr %27 to ptr addrspace(4) + %57 = addrspacecast ptr %28 to ptr addrspace(4) + %58 = addrspacecast ptr %29 to ptr addrspace(4) + %59 = addrspacecast ptr %30 to ptr addrspace(4) + %60 = addrspacecast ptr %31 to ptr addrspace(4) + %61 = addrspacecast ptr %32 to ptr addrspace(4) + %62 = bitcast double %0 to i64 + %63 = bitcast double %1 to i64 + %64 = lshr i64 %62, 52 + %65 = and i64 %64, 2047 + %66 = lshr i64 %63, 52 + %67 = and i64 %66, 2047 + %68 = and i64 %62, 4503599627370495 + %69 = and i64 %63, 4503599627370495 + %70 = xor i64 %62, %63 + %71 = lshr i64 %70, 63 + %72 = icmp eq i64 %65, 2047 + %73 = icmp ne i64 %68, 0 + %74 = and i1 %72, %73 + br i1 %74, label %369, label %75 + +75: ; preds = %3 + %76 = icmp eq i64 %67, 2047 + %77 = icmp ne i64 %69, 0 + %78 = and i1 %76, %77 + br i1 %78, label %369, label %79 + +79: ; preds = %75 + %80 = icmp eq i64 %68, 0 + %81 = and i1 %72, %80 + %82 = icmp eq i64 %69, 0 + %83 = and i1 %76, %82 + %84 = or i1 %81, %83 + br i1 %84, label %85, label %89 + +85: ; preds = %79 + %86 = and i64 %70, -9223372036854775808 + %87 = or i64 %86, 9218868437227405312 + %88 = bitcast i64 %87 to double + br label %369 + +89: ; preds = %79 + %90 = or i64 %65, %68 + %91 = icmp eq i64 %90, 0 + %92 = or i64 %67, %69 + %93 = icmp eq i64 %92, 0 + %94 = or i1 %91, %93 + br i1 %94, label %369, label %95 + +95: ; preds = %89 + %96 = icmp eq i64 %65, 0 + %97 = icmp eq i64 %67, 0 + %98 = trunc i64 %65 to i32 + %99 = add nsw i32 %98, -1023 + %100 = select i1 %96, i32 -1022, i32 %99 + %101 = select i1 %96, i64 0, i64 4503599627370496 + %102 = trunc i64 %67 to i32 + %103 = add nsw i32 %102, -1023 + %104 = select i1 %97, i32 -1022, i32 %103 + %105 = add nsw i32 %100, %104 + %106 = select i1 %97, i64 0, i64 4503599627370496 + %107 = icmp sgt i32 %105, 1023 + br i1 %107, label %108, label %118 + +108: ; preds = %95 + %109 = icmp sgt i64 %70, -1 + br i1 %109, label %110, label %114 + +110: ; preds = %108 + %111 = and i32 %2, -3 + %112 = icmp eq i32 %111, 1 + %113 = select i1 %112, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %369 + +114: ; preds = %108 + %115 = add i32 %2, -1 + %116 = icmp ult i32 %115, 2 + %117 = select i1 %116, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %369 + +118: ; preds = %95 + %119 = or i64 %64, %66 + %120 = and i64 %119, 2047 + %121 = icmp eq i64 %120, 0 + br i1 %121, label %122, label %129 + +122: ; preds = %118 + %123 = icmp eq i32 %2, 2 + %124 = select i1 %123, double 4.940660e-324, double 0.000000e+00 + %125 = icmp eq i32 %2, 3 + %126 = select i1 %125, double -4.940660e-324, double -0.000000e+00 + %127 = icmp slt i64 %70, 0 + %128 = select i1 %127, double %126, double %124 + br label %369 + +129: ; preds = %118 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #55 + %130 = or i64 %101, %68 + store i64 %130, ptr %4, align 8, !tbaa !719 + %131 = getelementptr inbounds %class.__iml_ui128, ptr %4, i64 0, i32 0, i64 1 + store i64 0, ptr %131, align 8, !tbaa !719 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #55 + %132 = or i64 %106, %69 + store i64 %132, ptr %5, align 8, !tbaa !719 + %133 = getelementptr inbounds %class.__iml_ui128, ptr %5, i64 0, i32 0, i64 1 + store i64 0, ptr %133, align 8, !tbaa !719 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #55 + call spir_func void @_ZN11__iml_ui128mlERKS_(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %35, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %33, ptr addrspace(4) noundef align 8 dereferenceable(16) %34) #55 + %134 = call spir_func noundef i64 @_ZNK11__iml_ui12813ui128_msb_posEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %35) #55 + %135 = trunc i64 %134 to i32 + %136 = add nsw i32 %135, -104 + %137 = add nsw i32 %136, %105 + %138 = icmp sgt i32 %137, 1023 + br i1 %138, label %139, label %149 + +139: ; preds = %129 + %140 = icmp sgt i64 %70, -1 + br i1 %140, label %141, label %145 + +141: ; preds = %139 + %142 = and i32 %2, -3 + %143 = icmp eq i32 %142, 1 + %144 = select i1 %143, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %367 + +145: ; preds = %139 + %146 = add i32 %2, -1 + %147 = icmp ult i32 %146, 2 + %148 = select i1 %147, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %367 + +149: ; preds = %129 + %150 = icmp sgt i32 %137, -1023 + br i1 %150, label %151, label %257 + +151: ; preds = %149 + %152 = add nsw i32 %137, 1023 + %153 = zext nneg i32 %152 to i64 + %154 = icmp ult i64 %134, 53 + br i1 %154, label %155, label %168 + +155: ; preds = %151 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #55 + store i64 1, ptr %8, align 8, !tbaa !719 + %156 = getelementptr inbounds %class.__iml_ui128, ptr %8, i64 0, i32 0, i64 1 + store i64 0, ptr %156, align 8, !tbaa !719 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %36, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %37, i64 noundef %134) #55 + %157 = load i64, ptr %7, align 8, !tbaa !719, !noalias !1629 + %158 = add i64 %157, -1 + %159 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1632 + %160 = and i64 %159, %158 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #55 + %161 = sub nuw nsw i64 52, %134 + %162 = shl i64 %160, %161 + %163 = and i64 %70, -9223372036854775808 + %164 = shl nuw nsw i64 %153, 52 + %165 = or i64 %163, %164 + %166 = or i64 %165, %162 + %167 = bitcast i64 %166 to double + br label %367 + +168: ; preds = %151 + switch i64 %134, label %181 [ + i64 53, label %169 + i64 54, label %174 + ] + +169: ; preds = %168 + %170 = load i64, ptr %6, align 8, !tbaa !719 + %171 = trunc i64 %170 to i32 + %172 = and i32 %171, 1 + %173 = lshr i64 %170, 1 + br label %224 + +174: ; preds = %168 + %175 = load i64, ptr %6, align 8, !tbaa !719 + %176 = trunc i64 %175 to i32 + %177 = and i32 %176, 1 + %178 = lshr i32 %176, 1 + %179 = and i32 %178, 1 + %180 = lshr i64 %175, 2 + br label %224 + +181: ; preds = %168 + %182 = add i64 %134, 4294967244 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #55 + store i64 1, ptr %12, align 8, !tbaa !719 + %183 = getelementptr inbounds %class.__iml_ui128, ptr %12, i64 0, i32 0, i64 1 + store i64 0, ptr %183, align 8, !tbaa !719 + %184 = add i64 %134, 4294967243 + %185 = and i64 %184, 4294967295 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %40, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %41, i64 noundef %185) #55 + call void @llvm.experimental.noalias.scope.decl(metadata !1635) + %186 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1635 + %187 = load i64, ptr %11, align 8, !tbaa !719, !noalias !1635 + %188 = and i64 %186, %187 + store i64 %188, ptr %10, align 8, !tbaa !719, !alias.scope !1635 + %189 = getelementptr inbounds %class.__iml_ui128, ptr %6, i64 0, i32 0, i64 1 + %190 = load i64, ptr %189, align 8, !tbaa !719, !noalias !1635 + %191 = getelementptr inbounds %class.__iml_ui128, ptr %11, i64 0, i32 0, i64 1 + %192 = load i64, ptr %191, align 8, !tbaa !719, !noalias !1635 + %193 = and i64 %190, %192 + %194 = getelementptr inbounds %class.__iml_ui128, ptr %10, i64 0, i32 0, i64 1 + store i64 %193, ptr %194, align 8, !tbaa !719, !alias.scope !1635 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %38, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %39, i64 noundef %185) #55 + %195 = load i64, ptr %9, align 8, !tbaa !719 + %196 = trunc i64 %195 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #55 + store i64 1, ptr %16, align 8, !tbaa !719 + %197 = getelementptr inbounds %class.__iml_ui128, ptr %16, i64 0, i32 0, i64 1 + store i64 0, ptr %197, align 8, !tbaa !719 + %198 = add i64 %134, 4294967242 + %199 = and i64 %198, 4294967295 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %44, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %45, i64 noundef %199) #55 + call void @llvm.experimental.noalias.scope.decl(metadata !1638) + %200 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1638 + %201 = load i64, ptr %15, align 8, !tbaa !719, !noalias !1638 + %202 = and i64 %200, %201 + store i64 %202, ptr %14, align 8, !tbaa !719, !alias.scope !1638 + %203 = load i64, ptr %189, align 8, !tbaa !719, !noalias !1638 + %204 = getelementptr inbounds %class.__iml_ui128, ptr %15, i64 0, i32 0, i64 1 + %205 = load i64, ptr %204, align 8, !tbaa !719, !noalias !1638 + %206 = and i64 %203, %205 + %207 = getelementptr inbounds %class.__iml_ui128, ptr %14, i64 0, i32 0, i64 1 + store i64 %206, ptr %207, align 8, !tbaa !719, !alias.scope !1638 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %42, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %43, i64 noundef %199) #55 + %208 = load i64, ptr %13, align 8, !tbaa !719 + %209 = trunc i64 %208 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #55 + store i64 1, ptr %18, align 8, !tbaa !719 + %210 = getelementptr inbounds %class.__iml_ui128, ptr %18, i64 0, i32 0, i64 1 + store i64 0, ptr %210, align 8, !tbaa !719 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %46, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %47, i64 noundef %199) #55 + %211 = load i64, ptr %17, align 8, !tbaa !719, !noalias !1641 + %212 = add i64 %211, -1 + %213 = icmp eq i64 %211, 0 + %214 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1644 + %215 = and i64 %214, %212 + %216 = load i64, ptr %189, align 8, !tbaa !719, !noalias !1644 + %217 = icmp ne i64 %216, 0 + %218 = select i1 %213, i1 %217, i1 false + %219 = icmp ne i64 %215, 0 + %220 = select i1 %218, i1 true, i1 %219 + %221 = zext i1 %220 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #55 + %222 = and i64 %182, 4294967295 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %48, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %35, i64 noundef %222) #55 + %223 = load i64, ptr %19, align 8, !tbaa !719, !noalias !1647 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #55 + br label %224 + +224: ; preds = %181, %174, %169 + %225 = phi i32 [ 0, %169 ], [ 0, %174 ], [ %221, %181 ] + %226 = phi i32 [ 0, %169 ], [ %177, %174 ], [ %209, %181 ] + %227 = phi i32 [ %172, %169 ], [ %179, %174 ], [ %196, %181 ] + %228 = phi i64 [ %173, %169 ], [ %180, %174 ], [ %223, %181 ] + %229 = and i64 %228, 4503599627370495 + %230 = shl i32 %227, 2 + %231 = shl i32 %226, 1 + %232 = or i32 %230, %231 + %233 = or i32 %232, %225 + %234 = call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %71, i64 noundef %229, i32 noundef %233, i32 noundef %2) #55, !range !1650 + %235 = add nuw nsw i64 %229, %234 + %236 = icmp ugt i64 %235, 4503599627370495 + %237 = zext i1 %236 to i64 + %238 = add nuw nsw i64 %153, %237 + %239 = icmp eq i64 %238, 2047 + br i1 %239, label %240, label %250 + +240: ; preds = %224 + %241 = icmp sgt i64 %70, -1 + br i1 %241, label %242, label %246 + +242: ; preds = %240 + %243 = and i32 %2, -3 + %244 = icmp eq i32 %243, 1 + %245 = select i1 %244, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %367 + +246: ; preds = %240 + %247 = add i32 %2, -1 + %248 = icmp ult i32 %247, 2 + %249 = select i1 %248, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %367 + +250: ; preds = %224 + %251 = select i1 %236, i64 0, i64 %235 + %252 = and i64 %70, -9223372036854775808 + %253 = shl nuw nsw i64 %238, 52 + %254 = or i64 %252, %253 + %255 = or i64 %254, %251 + %256 = bitcast i64 %255 to double + br label %367 + +257: ; preds = %149 + %258 = icmp ult i32 %137, -1074 + br i1 %258, label %259, label %283 + +259: ; preds = %257 + %260 = icmp eq i32 %137, -1075 + br i1 %260, label %261, label %274 + +261: ; preds = %259 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #55 + store i64 1, ptr %21, align 8, !tbaa !719 + %262 = getelementptr inbounds %class.__iml_ui128, ptr %21, i64 0, i32 0, i64 1 + store i64 0, ptr %262, align 8, !tbaa !719 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %49, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %50, i64 noundef %134) #55 + %263 = load i64, ptr %20, align 8, !tbaa !719, !noalias !1651 + %264 = add i64 %263, -1 + %265 = icmp eq i64 %263, 0 + %266 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1654 + %267 = and i64 %266, %264 + %268 = getelementptr inbounds %class.__iml_ui128, ptr %6, i64 0, i32 0, i64 1 + %269 = load i64, ptr %268, align 8, !tbaa !719, !noalias !1654 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #55 + %270 = icmp ne i64 %269, 0 + %271 = select i1 %265, i1 %270, i1 false + %272 = icmp ne i64 %267, 0 + %273 = select i1 %271, i1 true, i1 %272 + br label %274 + +274: ; preds = %261, %259 + %275 = phi i1 [ false, %259 ], [ %273, %261 ] + %276 = icmp sgt i64 %70, -1 + br i1 %276, label %277, label %280 + +277: ; preds = %274 + switch i32 %2, label %279 [ + i32 2, label %367 + i32 0, label %278 + ] + +278: ; preds = %277 + br i1 %275, label %367, label %279 + +279: ; preds = %278, %277 + br label %367 + +280: ; preds = %274 + switch i32 %2, label %282 [ + i32 3, label %367 + i32 0, label %281 + ] + +281: ; preds = %280 + br i1 %275, label %367, label %282 + +282: ; preds = %281, %280 + br label %367 + +283: ; preds = %257 + %284 = add nsw i32 %137, 1075 + %285 = zext i32 %284 to i64 + %286 = add i64 %134, 1 + %287 = icmp ugt i64 %286, %285 + br i1 %287, label %292, label %288 + +288: ; preds = %283 + %289 = load i64, ptr %6, align 8, !tbaa !719 + %290 = sub nsw i64 %285, %286 + %291 = shl i64 %289, %290 + br label %360 + +292: ; preds = %283 + %293 = trunc i64 %286 to i32 + %294 = sub i32 %293, %284 + switch i32 %294, label %305 [ + i32 1, label %295 + i32 2, label %299 + ] + +295: ; preds = %292 + %296 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1657 + %297 = trunc i64 %296 to i32 + %298 = and i32 %297, 1 + br label %345 + +299: ; preds = %292 + %300 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1660 + %301 = trunc i64 %300 to i32 + %302 = lshr i32 %301, 1 + %303 = and i32 %302, 1 + %304 = and i32 %301, 1 + br label %345 + +305: ; preds = %292 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #55 + store i64 1, ptr %25, align 8, !tbaa !719 + %306 = getelementptr inbounds %class.__iml_ui128, ptr %25, i64 0, i32 0, i64 1 + store i64 0, ptr %306, align 8, !tbaa !719 + %307 = add i32 %294, -1 + %308 = zext i32 %307 to i64 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %53, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %54, i64 noundef %308) #55 + call void @llvm.experimental.noalias.scope.decl(metadata !1661) + %309 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1661 + %310 = load i64, ptr %24, align 8, !tbaa !719, !noalias !1661 + %311 = and i64 %309, %310 + store i64 %311, ptr %23, align 8, !tbaa !719, !alias.scope !1661 + %312 = getelementptr inbounds %class.__iml_ui128, ptr %6, i64 0, i32 0, i64 1 + %313 = load i64, ptr %312, align 8, !tbaa !719, !noalias !1661 + %314 = getelementptr inbounds %class.__iml_ui128, ptr %24, i64 0, i32 0, i64 1 + %315 = load i64, ptr %314, align 8, !tbaa !719, !noalias !1661 + %316 = and i64 %313, %315 + %317 = getelementptr inbounds %class.__iml_ui128, ptr %23, i64 0, i32 0, i64 1 + store i64 %316, ptr %317, align 8, !tbaa !719, !alias.scope !1661 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %51, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %52, i64 noundef %308) #55 + %318 = load i64, ptr %22, align 8, !tbaa !719 + %319 = trunc i64 %318 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #55 + store i64 1, ptr %29, align 8, !tbaa !719 + %320 = getelementptr inbounds %class.__iml_ui128, ptr %29, i64 0, i32 0, i64 1 + store i64 0, ptr %320, align 8, !tbaa !719 + %321 = add i32 %294, -2 + %322 = zext i32 %321 to i64 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %57, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %58, i64 noundef %322) #55 + call void @llvm.experimental.noalias.scope.decl(metadata !1664) + %323 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1664 + %324 = load i64, ptr %28, align 8, !tbaa !719, !noalias !1664 + %325 = and i64 %323, %324 + store i64 %325, ptr %27, align 8, !tbaa !719, !alias.scope !1664 + %326 = load i64, ptr %312, align 8, !tbaa !719, !noalias !1664 + %327 = getelementptr inbounds %class.__iml_ui128, ptr %28, i64 0, i32 0, i64 1 + %328 = load i64, ptr %327, align 8, !tbaa !719, !noalias !1664 + %329 = and i64 %326, %328 + %330 = getelementptr inbounds %class.__iml_ui128, ptr %27, i64 0, i32 0, i64 1 + store i64 %329, ptr %330, align 8, !tbaa !719, !alias.scope !1664 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %55, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %56, i64 noundef %322) #55 + %331 = load i64, ptr %26, align 8, !tbaa !719 + %332 = trunc i64 %331 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #55 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #55 + store i64 1, ptr %31, align 8, !tbaa !719 + %333 = getelementptr inbounds %class.__iml_ui128, ptr %31, i64 0, i32 0, i64 1 + store i64 0, ptr %333, align 8, !tbaa !719 + call spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %59, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %60, i64 noundef %322) #55 + %334 = load i64, ptr %30, align 8, !tbaa !719, !noalias !1667 + %335 = add i64 %334, -1 + %336 = icmp eq i64 %334, 0 + %337 = load i64, ptr %6, align 8, !tbaa !719, !noalias !1670 + %338 = and i64 %337, %335 + %339 = load i64, ptr %312, align 8, !tbaa !719, !noalias !1670 + %340 = icmp ne i64 %339, 0 + %341 = select i1 %336, i1 %340, i1 false + %342 = icmp ne i64 %338, 0 + %343 = select i1 %341, i1 true, i1 %342 + %344 = zext i1 %343 to i32 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #55 + br label %345 + +345: ; preds = %305, %299, %295 + %346 = phi i32 [ 0, %295 ], [ 0, %299 ], [ %344, %305 ] + %347 = phi i32 [ 0, %295 ], [ %304, %299 ], [ %332, %305 ] + %348 = phi i32 [ %298, %295 ], [ %303, %299 ], [ %319, %305 ] + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #55 + %349 = zext i32 %294 to i64 + call spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) sret(%class.__iml_ui128) align 8 %61, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %35, i64 noundef %349) #55 + %350 = load i64, ptr %32, align 8, !tbaa !719 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #55 + %351 = shl i32 %348, 2 + %352 = shl i32 %347, 1 + %353 = or i32 %351, %352 + %354 = or i32 %353, %346 + %355 = call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %71, i64 noundef %350, i32 noundef %354, i32 noundef %2) #55, !range !1650 + %356 = add i64 %350, %355 + %357 = icmp ugt i64 %356, 4503599627370495 + %358 = select i1 %357, i64 0, i64 %356 + %359 = select i1 %357, i64 4503599627370496, i64 0 + br label %360 + +360: ; preds = %345, %288 + %361 = phi i64 [ %291, %288 ], [ %358, %345 ] + %362 = phi i64 [ 0, %288 ], [ %359, %345 ] + %363 = and i64 %70, -9223372036854775808 + %364 = or i64 %363, %362 + %365 = or i64 %364, %361 + %366 = bitcast i64 %365 to double + br label %367 + +367: ; preds = %360, %282, %281, %280, %279, %278, %277, %250, %246, %242, %155, %145, %141 + %368 = phi double [ %167, %155 ], [ %256, %250 ], [ %366, %360 ], [ %144, %141 ], [ %148, %145 ], [ %245, %242 ], [ %249, %246 ], [ 0.000000e+00, %279 ], [ -0.000000e+00, %282 ], [ 4.940660e-324, %277 ], [ 4.940660e-324, %278 ], [ -4.940660e-324, %280 ], [ -4.940660e-324, %281 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #55 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #55 + br label %369 + +369: ; preds = %367, %122, %114, %110, %89, %85, %75, %3 + %370 = phi double [ %88, %85 ], [ %368, %367 ], [ 0x7FF8000000000000, %75 ], [ 0x7FF8000000000000, %3 ], [ 0.000000e+00, %89 ], [ %113, %110 ], [ %117, %114 ], [ %128, %122 ] + ret double %370 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN11__iml_ui128mlERKS_(ptr addrspace(4) noalias sret(%class.__iml_ui128) align 8 %0, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %1, ptr addrspace(4) noundef align 8 dereferenceable(16) %2) local_unnamed_addr #33 comdat align 2 !srcloc !1673 { + %4 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + %5 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %1, i64 0, i32 0, i64 1 + tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) + %6 = load i64, ptr addrspace(4) %5, align 8, !tbaa !719 + %7 = icmp eq i64 %6, 0 + br i1 %7, label %8, label %22 + +8: ; preds = %3 + %9 = load i64, ptr addrspace(4) %1, align 8 + br label %10 + +10: ; preds = %17, %8 + %11 = phi i64 [ 0, %8 ], [ %19, %17 ] + %12 = phi i64 [ -9223372036854775808, %8 ], [ %18, %17 ] + %13 = icmp ugt i64 %11, 63 + %14 = and i64 %9, %12 + %15 = icmp eq i64 %14, %12 + %16 = select i1 %13, i1 true, i1 %15 + br i1 %16, label %20, label %17 + +17: ; preds = %10 + %18 = lshr i64 %12, 1 + %19 = add nuw nsw i64 %11, 1 + br label %10, !llvm.loop !1674 + +20: ; preds = %10 + %21 = sub nsw i64 63, %11 + br label %34 + +22: ; preds = %29, %3 + %23 = phi i64 [ %31, %29 ], [ 0, %3 ] + %24 = phi i64 [ %30, %29 ], [ -9223372036854775808, %3 ] + %25 = icmp ugt i64 %23, 63 + %26 = and i64 %6, %24 + %27 = icmp eq i64 %26, %24 + %28 = select i1 %25, i1 true, i1 %27 + br i1 %28, label %32, label %29 + +29: ; preds = %22 + %30 = lshr i64 %24, 1 + %31 = add nuw nsw i64 %23, 1 + br label %22, !llvm.loop !1674 + +32: ; preds = %22 + %33 = sub nsw i64 127, %23 + br label %34 + +34: ; preds = %32, %20 + %35 = phi i64 [ %21, %20 ], [ %33, %32 ] + %36 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %2, i64 0, i32 0, i64 1 + %37 = load i64, ptr addrspace(4) %36, align 8, !tbaa !719 + %38 = icmp eq i64 %37, 0 + br i1 %38, label %39, label %53 + +39: ; preds = %34 + %40 = load i64, ptr addrspace(4) %2, align 8 + br label %41 + +41: ; preds = %48, %39 + %42 = phi i64 [ 0, %39 ], [ %50, %48 ] + %43 = phi i64 [ -9223372036854775808, %39 ], [ %49, %48 ] + %44 = icmp ugt i64 %42, 63 + %45 = and i64 %40, %43 + %46 = icmp eq i64 %45, %43 + %47 = select i1 %44, i1 true, i1 %46 + br i1 %47, label %51, label %48 + +48: ; preds = %41 + %49 = lshr i64 %43, 1 + %50 = add nuw nsw i64 %42, 1 + br label %41, !llvm.loop !1674 + +51: ; preds = %41 + %52 = sub nsw i64 63, %42 + br label %65 + +53: ; preds = %60, %34 + %54 = phi i64 [ %62, %60 ], [ 0, %34 ] + %55 = phi i64 [ %61, %60 ], [ -9223372036854775808, %34 ] + %56 = icmp ugt i64 %54, 63 + %57 = and i64 %37, %55 + %58 = icmp eq i64 %57, %55 + %59 = select i1 %56, i1 true, i1 %58 + br i1 %59, label %63, label %60 + +60: ; preds = %53 + %61 = lshr i64 %55, 1 + %62 = add nuw nsw i64 %54, 1 + br label %53, !llvm.loop !1674 + +63: ; preds = %53 + %64 = sub nsw i64 127, %54 + br label %65 + +65: ; preds = %63, %51 + %66 = phi i64 [ %52, %51 ], [ %64, %63 ] + %67 = icmp ult i64 %35, %66 + %68 = select i1 %67, i64 %6, i64 %37 + %69 = select i1 %67, ptr addrspace(4) %1, ptr addrspace(4) %2 + %70 = select i1 %67, ptr addrspace(4) %2, ptr addrspace(4) %1 + %71 = select i1 %67, i64 %37, i64 %6 + %72 = tail call i64 @llvm.umin.i64(i64 %35, i64 %66) + %73 = load i64, ptr addrspace(4) %70, align 8, !tbaa !719 + %74 = load i64, ptr addrspace(4) %69, align 8, !tbaa !719 + br label %75 + +75: ; preds = %108, %65 + %76 = phi i64 [ 0, %65 ], [ %109, %108 ] + %77 = phi i64 [ 0, %65 ], [ %110, %108 ] + %78 = phi i64 [ %73, %65 ], [ %112, %108 ] + %79 = phi i64 [ %71, %65 ], [ %111, %108 ] + %80 = phi i64 [ 0, %65 ], [ %113, %108 ] + %81 = icmp ugt i64 %80, %72 + br i1 %81, label %82, label %83 + +82: ; preds = %75 + ret void + +83: ; preds = %75 + %84 = icmp eq i64 %80, 0 + br i1 %84, label %94, label %85 + +85: ; preds = %83 + %86 = icmp ugt i64 %80, 127 + br i1 %86, label %94, label %87 + +87: ; preds = %85 + %88 = icmp ugt i64 %80, 63 + %89 = add nsw i64 %80, -64 + %90 = shl nuw i64 1, %89 + %91 = shl nuw i64 1, %80 + %92 = select i1 %88, i64 %90, i64 0 + %93 = select i1 %88, i64 0, i64 %91 + br label %94 + +94: ; preds = %87, %85, %83 + %95 = phi i64 [ 0, %83 ], [ 0, %85 ], [ %92, %87 ] + %96 = phi i64 [ 1, %83 ], [ 0, %85 ], [ %93, %87 ] + %97 = and i64 %74, %96 + %98 = and i64 %68, %95 + %99 = icmp eq i64 %97, %96 + %100 = icmp eq i64 %98, %95 + %101 = select i1 %99, i1 %100, i1 false + br i1 %101, label %102, label %108 + +102: ; preds = %94 + %103 = add i64 %77, %78 + %104 = add i64 %76, %79 + %105 = icmp ult i64 %103, %77 + %106 = zext i1 %105 to i64 + %107 = add i64 %104, %106 + store i64 %103, ptr addrspace(4) %0, align 8, !tbaa !719 + store i64 %107, ptr addrspace(4) %4, align 8, !tbaa !719 + br label %108 + +108: ; preds = %102, %94 + %109 = phi i64 [ %76, %94 ], [ %107, %102 ] + %110 = phi i64 [ %77, %94 ], [ %103, %102 ] + %111 = tail call i64 @llvm.fshl.i64(i64 %79, i64 %78, i64 1) + %112 = shl i64 %78, 1 + %113 = add i64 %80, 1 + br label %75, !llvm.loop !1675 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK11__iml_ui12813ui128_msb_posEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %0) local_unnamed_addr #33 comdat align 2 !srcloc !1676 { + %2 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + %3 = load i64, ptr addrspace(4) %2, align 8, !tbaa !719 + %4 = icmp eq i64 %3, 0 + br i1 %4, label %5, label %19 + +5: ; preds = %1 + %6 = load i64, ptr addrspace(4) %0, align 8 + br label %7 + +7: ; preds = %14, %5 + %8 = phi i64 [ 0, %5 ], [ %16, %14 ] + %9 = phi i64 [ -9223372036854775808, %5 ], [ %15, %14 ] + %10 = icmp ugt i64 %8, 63 + %11 = and i64 %6, %9 + %12 = icmp eq i64 %11, %9 + %13 = select i1 %10, i1 true, i1 %12 + br i1 %13, label %17, label %14 + +14: ; preds = %7 + %15 = lshr i64 %9, 1 + %16 = add nuw nsw i64 %8, 1 + br label %7, !llvm.loop !1674 + +17: ; preds = %7 + %18 = sub nsw i64 63, %8 + br label %31 + +19: ; preds = %26, %1 + %20 = phi i64 [ %28, %26 ], [ 0, %1 ] + %21 = phi i64 [ %27, %26 ], [ -9223372036854775808, %1 ] + %22 = icmp ugt i64 %20, 63 + %23 = and i64 %3, %21 + %24 = icmp eq i64 %23, %21 + %25 = select i1 %22, i1 true, i1 %24 + br i1 %25, label %29, label %26 + +26: ; preds = %19 + %27 = lshr i64 %21, 1 + %28 = add nuw nsw i64 %20, 1 + br label %19, !llvm.loop !1674 + +29: ; preds = %19 + %30 = sub nsw i64 127, %20 + br label %31 + +31: ; preds = %29, %17 + %32 = phi i64 [ %18, %17 ], [ %30, %29 ] + ret i64 %32 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN11__iml_ui128lsEm(ptr addrspace(4) noalias sret(%class.__iml_ui128) align 8 %0, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %1, i64 noundef %2) local_unnamed_addr #33 comdat align 2 !srcloc !1677 { + %4 = icmp eq i64 %2, 0 + br i1 %4, label %5, label %6 + +5: ; preds = %3 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !1568 + br label %27 + +6: ; preds = %3 + %7 = icmp ugt i64 %2, 127 + br i1 %7, label %8, label %9 + +8: ; preds = %6 + tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) + br label %27 + +9: ; preds = %6 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !1568 + %10 = icmp ugt i64 %2, 63 + br i1 %10, label %11, label %16 + +11: ; preds = %9 + %12 = load i64, ptr addrspace(4) %0, align 8, !tbaa !719 + %13 = add nsw i64 %2, -64 + %14 = shl i64 %12, %13 + %15 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + store i64 %14, ptr addrspace(4) %15, align 8, !tbaa !719 + store i64 0, ptr addrspace(4) %0, align 8, !tbaa !719 + br label %27 + +16: ; preds = %9 + %17 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + %18 = load i64, ptr addrspace(4) %17, align 8, !tbaa !719 + %19 = shl i64 %18, %2 + %20 = load i64, ptr addrspace(4) %0, align 8, !tbaa !719 + %21 = sub nuw nsw i64 64, %2 + %22 = shl nsw i64 -1, %21 + %23 = and i64 %20, %22 + %24 = lshr i64 %23, %21 + %25 = or i64 %19, %24 + store i64 %25, ptr addrspace(4) %17, align 8, !tbaa !719 + %26 = shl i64 %20, %2 + store i64 %26, ptr addrspace(4) %0, align 8, !tbaa !719 + br label %27 + +27: ; preds = %16, %11, %8, %5 + ret void +} + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) +declare void @llvm.experimental.noalias.scope.decl(metadata) #47 + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN11__iml_ui128rsEm(ptr addrspace(4) noalias sret(%class.__iml_ui128) align 8 %0, ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %1, i64 noundef %2) local_unnamed_addr #33 comdat align 2 !srcloc !1678 { + %4 = icmp eq i64 %2, 0 + br i1 %4, label %5, label %6 + +5: ; preds = %3 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !1568 + br label %25 + +6: ; preds = %3 + %7 = icmp ugt i64 %2, 127 + br i1 %7, label %8, label %9 + +8: ; preds = %6 + tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, i8 0, i64 16, i1 false) + br label %25 + +9: ; preds = %6 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %1, i64 16, i1 false), !tbaa.struct !1568 + %10 = icmp ugt i64 %2, 63 + br i1 %10, label %11, label %16 + +11: ; preds = %9 + %12 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + %13 = load i64, ptr addrspace(4) %12, align 8, !tbaa !719 + %14 = add nsw i64 %2, -64 + %15 = lshr i64 %13, %14 + store i64 %15, ptr addrspace(4) %0, align 8, !tbaa !719 + store i64 0, ptr addrspace(4) %12, align 8, !tbaa !719 + br label %25 + +16: ; preds = %9 + %17 = load i64, ptr addrspace(4) %0, align 8, !tbaa !719 + %18 = lshr i64 %17, %2 + %19 = getelementptr inbounds %class.__iml_ui128, ptr addrspace(4) %0, i64 0, i32 0, i64 1 + %20 = load i64, ptr addrspace(4) %19, align 8, !tbaa !719 + %21 = sub nuw nsw i64 64, %2 + %22 = shl i64 %20, %21 + %23 = or i64 %18, %22 + store i64 %23, ptr addrspace(4) %0, align 8, !tbaa !719 + %24 = lshr i64 %20, %2 + store i64 %24, ptr addrspace(4) %19, align 8, !tbaa !719 + br label %25 + +25: ; preds = %16, %11, %8, %5 + ret void +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %0, i64 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #42 !srcloc !1679 !sycl_kernel_omit_args !1257 { + %5 = icmp eq i32 %2, 0 + br i1 %5, label %24, label %6 + +6: ; preds = %4 + %7 = icmp eq i32 %3, 2 + %8 = icmp eq i64 %0, 0 + %9 = and i1 %7, %8 + br i1 %9, label %24, label %10 + +10: ; preds = %6 + %11 = icmp eq i32 %3, 3 + %12 = icmp eq i64 %0, 1 + %13 = and i1 %11, %12 + br i1 %13, label %24, label %14 + +14: ; preds = %10 + %15 = icmp eq i32 %3, 0 + br i1 %15, label %16, label %23 + +16: ; preds = %14 + %17 = icmp ugt i32 %2, 4 + br i1 %17, label %24, label %18 + +18: ; preds = %16 + %19 = icmp ne i32 %2, 4 + %20 = and i64 %1, 1 + %21 = icmp eq i64 %20, 0 + %22 = or i1 %19, %21 + br i1 %22, label %23, label %24 + +23: ; preds = %18, %14 + br label %24 + +24: ; preds = %23, %18, %16, %10, %6, %4 + %25 = phi i64 [ 0, %23 ], [ 0, %4 ], [ 1, %6 ], [ 1, %10 ], [ 1, %18 ], [ 1, %16 ] + ret i64 %25 +} + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg) #16 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) +declare void @llvm.memset.p4.i64(ptr addrspace(4) nocapture writeonly, i8, i64, i1 immarg) #48 + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dmul_rn(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1680 { + %3 = tail call spir_func noundef double @_Z8__fp_mulIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 0) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dmul_ru(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1681 { + %3 = tail call spir_func noundef double @_Z8__fp_mulIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 2) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_dmul_rz(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1682 { + %3 = tail call spir_func noundef double @_Z8__fp_mulIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 1) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ddiv_rd(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1683 { + %3 = tail call spir_func noundef double @_Z8__fp_divIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 3) #55 + ret double %3 +} + +; Function Attrs: mustprogress norecurse nounwind +define linkonce_odr dso_local spir_func noundef double @_Z8__fp_divIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef %2) local_unnamed_addr #33 comdat !srcloc !1684 { + %4 = bitcast double %0 to i64 + %5 = bitcast double %1 to i64 + %6 = lshr i64 %4, 52 + %7 = and i64 %6, 2047 + %8 = lshr i64 %5, 52 + %9 = and i64 %8, 2047 + %10 = and i64 %4, 4503599627370495 + %11 = and i64 %5, 4503599627370495 + %12 = xor i64 %4, %5 + %13 = lshr i64 %12, 63 + %14 = icmp eq i64 %7, 2047 + %15 = icmp ne i64 %10, 0 + %16 = and i1 %14, %15 + br i1 %16, label %308, label %17 + +17: ; preds = %3 + %18 = icmp eq i64 %9, 2047 + %19 = icmp ne i64 %11, 0 + %20 = and i1 %18, %19 + br i1 %20, label %308, label %21 + +21: ; preds = %17 + %22 = tail call double @llvm.fabs.f64(double %1) + %23 = bitcast double %22 to i64 + %24 = icmp eq i64 %23, 0 + br i1 %24, label %308, label %25 + +25: ; preds = %21 + %26 = icmp eq i64 %10, 0 + %27 = and i1 %14, %26 + br i1 %27, label %28, label %35 + +28: ; preds = %25 + %29 = icmp eq i64 %11, 0 + %30 = and i1 %18, %29 + %31 = and i64 %12, -9223372036854775808 + %32 = or i64 %31, 9218868437227405312 + %33 = bitcast i64 %32 to double + %34 = select i1 %30, double 0x7FF8000000000000, double %33 + br label %308 + +35: ; preds = %25 + %36 = tail call double @llvm.fabs.f64(double %0) + %37 = bitcast double %36 to i64 + %38 = icmp eq i64 %37, 0 + br i1 %38, label %39, label %42 + +39: ; preds = %35 + %40 = and i64 %12, -9223372036854775808 + %41 = bitcast i64 %40 to double + br label %308 + +42: ; preds = %35 + %43 = icmp eq i64 %11, 0 + %44 = and i1 %18, %43 + br i1 %44, label %45, label %48 + +45: ; preds = %42 + %46 = and i64 %12, -9223372036854775808 + %47 = bitcast i64 %46 to double + br label %308 + +48: ; preds = %42 + %49 = trunc i64 %7 to i32 + %50 = trunc i64 %9 to i32 + %51 = icmp eq i32 %49, 0 + %52 = add nsw i32 %49, -1023 + %53 = select i1 %51, i32 -1022, i32 %52 + %54 = icmp eq i32 %50, 0 + %55 = add nsw i32 %50, -1023 + %56 = select i1 %54, i32 -1022, i32 %55 + %57 = sub nsw i32 %53, %56 + %58 = icmp eq i64 %7, 0 + %59 = or i64 %10, 4503599627370496 + %60 = select i1 %58, i64 %10, i64 %59 + %61 = icmp eq i64 %9, 0 + %62 = or i64 %11, 4503599627370496 + %63 = select i1 %61, i64 %11, i64 %62 + %64 = icmp ult i64 %60, %63 + br i1 %64, label %210, label %65 + +65: ; preds = %48 + %66 = udiv i64 %60, %63 + %67 = mul i64 %63, %66 + %68 = sub i64 %60, %67 + br label %69 + +69: ; preds = %76, %65 + %70 = phi i64 [ 0, %65 ], [ %78, %76 ] + %71 = phi i64 [ -9223372036854775808, %65 ], [ %77, %76 ] + %72 = icmp ugt i64 %70, 63 + %73 = and i64 %66, %71 + %74 = icmp eq i64 %73, %71 + %75 = select i1 %72, i1 true, i1 %74 + br i1 %75, label %79, label %76 + +76: ; preds = %69 + %77 = lshr i64 %71, 1 + %78 = add nuw nsw i64 %70, 1 + br label %69, !llvm.loop !1674 + +79: ; preds = %69 + %80 = sub nsw i64 63, %70 + %81 = trunc i64 %80 to i32 + %82 = add nsw i32 %57, %81 + %83 = icmp sgt i32 %82, 1023 + br i1 %83, label %84, label %94 + +84: ; preds = %79 + %85 = icmp sgt i64 %12, -1 + br i1 %85, label %86, label %90 + +86: ; preds = %84 + %87 = and i32 %2, -3 + %88 = icmp eq i32 %87, 1 + %89 = select i1 %88, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %308 + +90: ; preds = %84 + %91 = add i32 %2, -1 + %92 = icmp ult i32 %91, 2 + %93 = select i1 %92, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %308 + +94: ; preds = %79 + %95 = icmp sgt i32 %82, -1023 + br i1 %95, label %96, label %138 + +96: ; preds = %94 + %97 = add nsw i32 %82, 1023 + %98 = zext nneg i32 %97 to i64 + %99 = and i64 %80, 4294967295 + %100 = shl nsw i64 -1, %99 + %101 = xor i64 %100, -1 + %102 = and i64 %66, %101 + %103 = add nuw i64 %70, 4294967285 + %104 = and i64 %103, 4294967295 + %105 = shl i64 %102, %104 + %106 = sub i32 55, %81 + %107 = tail call spir_func noundef i64 @_ZL12fra_uint_divImET_S0_S0_j(i64 noundef %68, i64 noundef %63, i32 noundef %106) #55 + %108 = lshr i64 %107, 3 + %109 = or i64 %105, %108 + %110 = trunc i64 %107 to i32 + %111 = and i32 %110, 7 + %112 = tail call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %13, i64 noundef %109, i32 noundef %111, i32 noundef %2) #55, !range !1650 + %113 = icmp eq i64 %112, 0 + br i1 %113, label %130, label %114 + +114: ; preds = %96 + %115 = add i64 %109, 1 + %116 = icmp ugt i64 %115, 4503599627370495 + br i1 %116, label %117, label %130 + +117: ; preds = %114 + %118 = add nuw nsw i64 %98, 1 + %119 = icmp eq i64 %118, 2047 + br i1 %119, label %120, label %130 + +120: ; preds = %117 + %121 = icmp sgt i64 %12, -1 + br i1 %121, label %122, label %126 + +122: ; preds = %120 + %123 = and i32 %2, -3 + %124 = icmp eq i32 %123, 1 + %125 = select i1 %124, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %308 + +126: ; preds = %120 + %127 = add i32 %2, -1 + %128 = icmp ult i32 %127, 2 + %129 = select i1 %128, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %308 + +130: ; preds = %117, %114, %96 + %131 = phi i64 [ %115, %117 ], [ %115, %114 ], [ %109, %96 ] + %132 = phi i64 [ %118, %117 ], [ %98, %114 ], [ %98, %96 ] + %133 = and i64 %12, -9223372036854775808 + %134 = shl nuw nsw i64 %132, 52 + %135 = or i64 %133, %134 + %136 = or i64 %135, %131 + %137 = bitcast i64 %136 to double + br label %308 + +138: ; preds = %94 + %139 = xor i32 %82, -1 + %140 = icmp ult i32 %82, -1074 + br i1 %140, label %141, label %158 + +141: ; preds = %138 + %142 = icmp eq i32 %82, -1075 + br i1 %142, label %143, label %149 + +143: ; preds = %141 + %144 = icmp ne i64 %60, %67 + %145 = and i64 %80, 4294967295 + %146 = shl nuw i64 1, %145 + %147 = icmp ne i64 %66, %146 + %148 = select i1 %144, i1 true, i1 %147 + br label %149 + +149: ; preds = %143, %141 + %150 = phi i1 [ %148, %143 ], [ false, %141 ] + %151 = icmp sgt i64 %12, -1 + br i1 %151, label %152, label %155 + +152: ; preds = %149 + switch i32 %2, label %154 [ + i32 2, label %308 + i32 0, label %153 + ] + +153: ; preds = %152 + br i1 %150, label %308, label %154 + +154: ; preds = %153, %152 + br label %308 + +155: ; preds = %149 + switch i32 %2, label %157 [ + i32 3, label %308 + i32 0, label %156 + ] + +156: ; preds = %155 + br i1 %150, label %308, label %157 + +157: ; preds = %156, %155 + br label %308 + +158: ; preds = %138 + %159 = add nsw i32 %82, 1077 + %160 = icmp sgt i32 %159, %81 + br i1 %160, label %186, label %161 + +161: ; preds = %158 + %162 = add nsw i32 %81, -1073 + %163 = add nsw i32 %162, %139 + %164 = zext i32 %163 to i64 + %165 = lshr i64 %66, %164 + %166 = add nsw i32 %163, -3 + %167 = zext i32 %166 to i64 + %168 = lshr i64 %66, %167 + %169 = trunc i64 %168 to i32 + %170 = and i32 %169, 7 + %171 = and i32 %169, 1 + %172 = icmp eq i32 %171, 0 + br i1 %172, label %173, label %183 + +173: ; preds = %161 + %174 = shl nsw i32 -1, %166 + %175 = xor i32 %174, -1 + %176 = zext nneg i32 %175 to i64 + %177 = and i64 %66, %176 + %178 = icmp ne i64 %177, 0 + %179 = icmp ne i64 %60, %67 + %180 = or i1 %178, %179 + %181 = zext i1 %180 to i32 + %182 = or i32 %170, %181 + br label %183 + +183: ; preds = %173, %161 + %184 = phi i32 [ %170, %161 ], [ %182, %173 ] + %185 = tail call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %13, i64 noundef %165, i32 noundef %184, i32 noundef %2) #55, !range !1650 + br label %196 + +186: ; preds = %158 + %187 = sub nsw i32 %159, %81 + %188 = zext i32 %187 to i64 + %189 = shl i64 %66, %188 + %190 = tail call spir_func noundef i64 @_ZL12fra_uint_divImET_S0_S0_j(i64 noundef %68, i64 noundef %63, i32 noundef %187) #55 + %191 = or i64 %189, %190 + %192 = trunc i64 %191 to i32 + %193 = and i32 %192, 7 + %194 = lshr i64 %191, 3 + %195 = tail call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %13, i64 noundef %194, i32 noundef %193, i32 noundef %2) #55, !range !1650 + br label %196 + +196: ; preds = %186, %183 + %197 = phi i64 [ %185, %183 ], [ %195, %186 ] + %198 = phi i64 [ %165, %183 ], [ %194, %186 ] + %199 = icmp eq i64 %197, 0 + %200 = add nuw nsw i64 %198, 1 + %201 = icmp ugt i64 %198, 4503599627370494 + %202 = select i1 %201, i64 0, i64 %200 + %203 = select i1 %201, i64 4503599627370496, i64 0 + %204 = select i1 %199, i64 %198, i64 %202 + %205 = select i1 %199, i64 0, i64 %203 + %206 = and i64 %12, -9223372036854775808 + %207 = or i64 %206, %205 + %208 = or i64 %207, %204 + %209 = bitcast i64 %208 to double + br label %308 + +210: ; preds = %215, %48 + %211 = phi i32 [ %216, %215 ], [ 0, %48 ] + %212 = phi i64 [ %213, %215 ], [ %60, %48 ] + %213 = shl nuw nsw i64 %212, 1 + %214 = icmp ult i64 %213, %63 + br i1 %214, label %215, label %217 + +215: ; preds = %210 + %216 = add i32 %211, 1 + br label %210, !llvm.loop !1685 + +217: ; preds = %210 + %218 = xor i32 %211, -1 + %219 = add i32 %57, %218 + %220 = icmp sgt i32 %219, 1023 + br i1 %220, label %221, label %231 + +221: ; preds = %217 + %222 = icmp sgt i64 %12, -1 + br i1 %222, label %223, label %227 + +223: ; preds = %221 + %224 = and i32 %2, -3 + %225 = icmp eq i32 %224, 1 + %226 = select i1 %225, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %308 + +227: ; preds = %221 + %228 = add i32 %2, -1 + %229 = icmp ult i32 %228, 2 + %230 = select i1 %229, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %308 + +231: ; preds = %217 + %232 = icmp sgt i32 %219, -1023 + br i1 %232, label %233, label %269 + +233: ; preds = %231 + %234 = add nsw i32 %219, 1023 + %235 = zext nneg i32 %234 to i64 + %236 = zext i32 %211 to i64 + %237 = shl i64 %60, %236 + %238 = tail call spir_func noundef i64 @_ZL12fra_uint_divImET_S0_S0_j(i64 noundef %237, i64 noundef %63, i32 noundef 56) #55 + %239 = lshr i64 %238, 3 + %240 = and i64 %239, 4503599627370495 + %241 = trunc i64 %238 to i32 + %242 = and i32 %241, 7 + %243 = tail call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %13, i64 noundef %240, i32 noundef %242, i32 noundef %2) #55, !range !1650 + %244 = icmp eq i64 %243, 0 + br i1 %244, label %261, label %245 + +245: ; preds = %233 + %246 = add nuw nsw i64 %240, 1 + %247 = icmp eq i64 %240, 4503599627370495 + br i1 %247, label %248, label %261 + +248: ; preds = %245 + %249 = add nuw nsw i64 %235, 1 + %250 = icmp eq i64 %249, 2047 + br i1 %250, label %251, label %261 + +251: ; preds = %248 + %252 = icmp sgt i64 %12, -1 + br i1 %252, label %253, label %257 + +253: ; preds = %251 + %254 = and i32 %2, -3 + %255 = icmp eq i32 %254, 1 + %256 = select i1 %255, double 0x7FEFFFFFFFFFFFFF, double 0x7FF0000000000000 + br label %308 + +257: ; preds = %251 + %258 = add i32 %2, -1 + %259 = icmp ult i32 %258, 2 + %260 = select i1 %259, double 0xFFEFFFFFFFFFFFFF, double 0xFFF0000000000000 + br label %308 + +261: ; preds = %248, %245, %233 + %262 = phi i64 [ 0, %248 ], [ %246, %245 ], [ %240, %233 ] + %263 = phi i64 [ %249, %248 ], [ %235, %245 ], [ %235, %233 ] + %264 = and i64 %12, -9223372036854775808 + %265 = shl nuw nsw i64 %263, 52 + %266 = or i64 %264, %265 + %267 = or i64 %266, %262 + %268 = bitcast i64 %267 to double + br label %308 + +269: ; preds = %231 + %270 = add i32 %211, -1023 + %271 = sub i32 %270, %57 + %272 = add i32 %271, 1 + %273 = icmp ugt i32 %272, 51 + br i1 %273, label %274, label %288 + +274: ; preds = %269 + %275 = icmp eq i32 %272, 52 + %276 = add i32 %211, 1 + %277 = zext i32 %276 to i64 + %278 = shl i64 %60, %277 + %279 = icmp ugt i64 %278, %63 + %280 = select i1 %275, i1 %279, i1 false + %281 = icmp sgt i64 %12, -1 + br i1 %281, label %282, label %285 + +282: ; preds = %274 + switch i32 %2, label %284 [ + i32 2, label %308 + i32 0, label %283 + ] + +283: ; preds = %282 + br i1 %280, label %308, label %284 + +284: ; preds = %283, %282 + br label %308 + +285: ; preds = %274 + switch i32 %2, label %287 [ + i32 3, label %308 + i32 0, label %286 + ] + +286: ; preds = %285 + br i1 %280, label %308, label %287 + +287: ; preds = %286, %285 + br label %308 + +288: ; preds = %269 + %289 = zext i32 %211 to i64 + %290 = shl i64 %60, %289 + %291 = sub nsw i32 54, %271 + %292 = tail call spir_func noundef i64 @_ZL12fra_uint_divImET_S0_S0_j(i64 noundef %290, i64 noundef %63, i32 noundef %291) #55 + %293 = lshr i64 %292, 3 + %294 = trunc i64 %292 to i32 + %295 = and i32 %294, 7 + %296 = tail call spir_func noundef i64 @_ZL19__handling_roundingImET_S0_S0_ji(i64 noundef %13, i64 noundef %293, i32 noundef %295, i32 noundef %2) #55, !range !1650 + %297 = icmp eq i64 %296, 0 + %298 = add nuw nsw i64 %293, 1 + %299 = icmp ugt i64 %292, 36028797018963959 + %300 = select i1 %299, i64 0, i64 %298 + %301 = select i1 %299, i64 4503599627370496, i64 0 + %302 = select i1 %297, i64 %293, i64 %300 + %303 = select i1 %297, i64 0, i64 %301 + %304 = and i64 %12, -9223372036854775808 + %305 = or i64 %304, %303 + %306 = or i64 %305, %302 + %307 = bitcast i64 %306 to double + br label %308 + +308: ; preds = %288, %287, %286, %285, %284, %283, %282, %261, %257, %253, %227, %223, %196, %157, %156, %155, %154, %153, %152, %130, %126, %122, %90, %86, %45, %39, %28, %21, %17, %3 + %309 = phi double [ %41, %39 ], [ %47, %45 ], [ 0x7FF8000000000000, %17 ], [ 0x7FF8000000000000, %3 ], [ 0x7FF8000000000000, %21 ], [ %34, %28 ], [ %268, %261 ], [ %307, %288 ], [ %209, %196 ], [ %137, %130 ], [ %89, %86 ], [ %93, %90 ], [ %125, %122 ], [ %129, %126 ], [ 0.000000e+00, %154 ], [ -0.000000e+00, %157 ], [ 4.940660e-324, %152 ], [ 4.940660e-324, %153 ], [ -4.940660e-324, %155 ], [ -4.940660e-324, %156 ], [ %226, %223 ], [ %230, %227 ], [ %256, %253 ], [ %260, %257 ], [ 0.000000e+00, %284 ], [ -0.000000e+00, %287 ], [ 4.940660e-324, %282 ], [ 4.940660e-324, %283 ], [ -4.940660e-324, %285 ], [ -4.940660e-324, %286 ] + ret double %309 +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef i64 @_ZL12fra_uint_divImET_S0_S0_j(i64 noundef %0, i64 noundef %1, i32 noundef %2) unnamed_addr #42 !srcloc !1686 !sycl_kernel_omit_args !1235 { + %4 = icmp eq i64 %0, 0 + br i1 %4, label %31, label %5 + +5: ; preds = %25, %3 + %6 = phi i64 [ %26, %25 ], [ %0, %3 ] + %7 = phi i64 [ %27, %25 ], [ 0, %3 ] + %8 = phi i32 [ %28, %25 ], [ 0, %3 ] + %9 = icmp ult i32 %8, %2 + br i1 %9, label %10, label %29 + +10: ; preds = %5 + %11 = shl i64 %7, 1 + %12 = shl i64 %6, 1 + %13 = icmp ugt i64 %12, %1 + br i1 %13, label %14, label %17 + +14: ; preds = %10 + %15 = sub i64 %12, %1 + %16 = or i64 %11, 1 + br label %25 + +17: ; preds = %10 + %18 = icmp eq i64 %12, %1 + br i1 %18, label %19, label %25 + +19: ; preds = %17 + %20 = or i64 %11, 1 + %21 = xor i32 %8, -1 + %22 = add i32 %21, %2 + %23 = zext i32 %22 to i64 + %24 = shl i64 %20, %23 + br label %31 + +25: ; preds = %17, %14 + %26 = phi i64 [ %15, %14 ], [ %12, %17 ] + %27 = phi i64 [ %16, %14 ], [ %11, %17 ] + %28 = add i32 %8, 1 + br label %5, !llvm.loop !1687 + +29: ; preds = %5 + %30 = or i64 %7, 1 + br label %31 + +31: ; preds = %29, %19, %3 + %32 = phi i64 [ %24, %19 ], [ %30, %29 ], [ 0, %3 ] + ret i64 %32 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ddiv_rn(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1688 { + %3 = tail call spir_func noundef double @_Z8__fp_divIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 0) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ddiv_ru(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1689 { + %3 = tail call spir_func noundef double @_Z8__fp_divIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 2) #55 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ddiv_rz(double noundef %0, double noundef %1) local_unnamed_addr #44 !srcloc !1690 { + %3 = tail call spir_func noundef double @_Z8__fp_divIdET_S0_S0_i(double noundef %0, double noundef %1, i32 noundef 1) #55 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fma(double noundef %0, double noundef %1, double noundef %2) local_unnamed_addr #43 !srcloc !1691 { + %4 = tail call spir_func noundef double @_Z15__spirv_ocl_fmaddd(double noundef %0, double noundef %1, double noundef %2) #56 + ret double %4 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_floor(double noundef %0) local_unnamed_addr #43 !srcloc !1692 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_floord(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_ceil(double noundef %0) local_unnamed_addr #43 !srcloc !1693 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_ceild(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef double @_Z16__spirv_ocl_ceild(double noundef) local_unnamed_addr #22 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_trunc(double noundef %0) local_unnamed_addr #43 !srcloc !1694 { + %2 = tail call spir_func noundef double @_Z17__spirv_ocl_truncd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rint(double noundef %0) local_unnamed_addr #43 !srcloc !1695 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_nearbyint(double noundef %0) local_unnamed_addr #43 !srcloc !1696 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_rintd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_sqrt(double noundef %0) local_unnamed_addr #43 !srcloc !1697 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_rsqrt(double noundef %0) local_unnamed_addr #43 !srcloc !1698 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_sqrtd(double noundef %0) #56 + %3 = fdiv double 1.000000e+00, %2 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_inv(double noundef %0) local_unnamed_addr #44 !srcloc !1699 { + %2 = fdiv double 1.000000e+00, %0 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_copysign(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1700 { + %3 = tail call spir_func noundef double @_Z20__spirv_ocl_copysigndd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fabs(double noundef %0) local_unnamed_addr #43 !srcloc !1701 { + %2 = tail call spir_func noundef double @_Z16__spirv_ocl_fabsd(double noundef %0) #56 + ret double %2 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fmax(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1702 { + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fmaxdd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func double @__devicelib_imf_fmin(double noundef %0, double noundef %1) local_unnamed_addr #43 !srcloc !1703 { + %3 = tail call spir_func noundef double @_Z16__spirv_ocl_fmindd(double noundef %0, double noundef %1) #56 + ret double %3 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func float @__devicelib_imf_bfloat162float(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1704 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + ret float %4 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_float2bfloat16(float noundef %0) local_unnamed_addr #49 !srcloc !1705 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + %4 = lshr i32 %2, 23 + %5 = and i32 %2, 8388607 + %6 = lshr i32 %5, 16 + %7 = trunc i32 %6 to i16 + %8 = icmp eq i32 %4, 255 + br i1 %8, label %9, label %19 + +9: ; preds = %1 + %10 = icmp eq i32 %5, 0 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = icmp sgt i32 %2, -1 + %13 = select i1 %12, i16 32640, i16 -128 + br label %38 + +14: ; preds = %9 + %15 = shl nuw nsw i32 %3, 15 + %16 = or i32 %15, %6 + %17 = trunc i32 %16 to i16 + %18 = or i16 %17, 32640 + br label %38 + +19: ; preds = %1 + %20 = icmp eq i32 %2, 0 + br i1 %20, label %38, label %21 + +21: ; preds = %19 + %22 = trunc i32 %2 to i16 + %23 = icmp ugt i16 %22, -32768 + %24 = and i32 %2, 131071 + %25 = icmp eq i32 %24, 98304 + %26 = or i1 %23, %25 + %27 = zext i1 %26 to i16 + %28 = add nuw nsw i16 %7, %27 + %29 = icmp eq i16 %28, 128 + %30 = zext i1 %29 to i32 + %31 = add nuw nsw i32 %4, %30 + %32 = select i1 %29, i16 0, i16 %28 + %33 = shl nuw nsw i32 %3, 15 + %34 = shl nuw nsw i32 %31, 7 + %35 = or i32 %33, %34 + %36 = trunc i32 %35 to i16 + %37 = or i16 %32, %36 + br label %38 + +38: ; preds = %21, %19, %14, %11 + %39 = phi i16 [ %18, %14 ], [ %13, %11 ], [ %37, %21 ], [ 0, %19 ] + ret i16 %39 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rd(float noundef %0) local_unnamed_addr #49 !srcloc !1706 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + %4 = lshr i32 %2, 23 + %5 = and i32 %2, 8388607 + %6 = lshr i32 %5, 16 + %7 = trunc i32 %6 to i16 + %8 = icmp eq i32 %4, 255 + br i1 %8, label %9, label %19 + +9: ; preds = %1 + %10 = icmp eq i32 %5, 0 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = icmp sgt i32 %2, -1 + %13 = select i1 %12, i16 32640, i16 -128 + br label %37 + +14: ; preds = %9 + %15 = shl nuw nsw i32 %3, 15 + %16 = or i32 %15, %6 + %17 = trunc i32 %16 to i16 + %18 = or i16 %17, 32640 + br label %37 + +19: ; preds = %1 + %20 = icmp eq i32 %2, 0 + br i1 %20, label %37, label %21 + +21: ; preds = %19 + %22 = trunc i32 %2 to i16 + %23 = icmp slt i32 %2, 0 + %24 = icmp ne i16 %22, 0 + %25 = and i1 %23, %24 + %26 = zext i1 %25 to i16 + %27 = add nuw nsw i16 %7, %26 + %28 = icmp eq i16 %27, 128 + %29 = zext i1 %28 to i32 + %30 = add nuw nsw i32 %4, %29 + %31 = select i1 %28, i16 0, i16 %27 + %32 = shl nuw nsw i32 %3, 15 + %33 = shl nuw nsw i32 %30, 7 + %34 = or i32 %32, %33 + %35 = trunc i32 %34 to i16 + %36 = or i16 %31, %35 + br label %37 + +37: ; preds = %21, %19, %14, %11 + %38 = phi i16 [ %18, %14 ], [ %13, %11 ], [ %36, %21 ], [ 0, %19 ] + ret i16 %38 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rn(float noundef %0) local_unnamed_addr #49 !srcloc !1707 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + %4 = lshr i32 %2, 23 + %5 = and i32 %2, 8388607 + %6 = lshr i32 %5, 16 + %7 = trunc i32 %6 to i16 + %8 = icmp eq i32 %4, 255 + br i1 %8, label %9, label %19 + +9: ; preds = %1 + %10 = icmp eq i32 %5, 0 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = icmp sgt i32 %2, -1 + %13 = select i1 %12, i16 32640, i16 -128 + br label %38 + +14: ; preds = %9 + %15 = shl nuw nsw i32 %3, 15 + %16 = or i32 %15, %6 + %17 = trunc i32 %16 to i16 + %18 = or i16 %17, 32640 + br label %38 + +19: ; preds = %1 + %20 = icmp eq i32 %2, 0 + br i1 %20, label %38, label %21 + +21: ; preds = %19 + %22 = trunc i32 %2 to i16 + %23 = icmp ugt i16 %22, -32768 + %24 = and i32 %2, 131071 + %25 = icmp eq i32 %24, 98304 + %26 = or i1 %23, %25 + %27 = zext i1 %26 to i16 + %28 = add nuw nsw i16 %7, %27 + %29 = icmp eq i16 %28, 128 + %30 = zext i1 %29 to i32 + %31 = add nuw nsw i32 %4, %30 + %32 = select i1 %29, i16 0, i16 %28 + %33 = shl nuw nsw i32 %3, 15 + %34 = shl nuw nsw i32 %31, 7 + %35 = or i32 %33, %34 + %36 = trunc i32 %35 to i16 + %37 = or i16 %32, %36 + br label %38 + +38: ; preds = %21, %19, %14, %11 + %39 = phi i16 [ %18, %14 ], [ %13, %11 ], [ %37, %21 ], [ 0, %19 ] + ret i16 %39 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_float2bfloat16_ru(float noundef %0) local_unnamed_addr #49 !srcloc !72 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + %4 = lshr i32 %2, 23 + %5 = and i32 %2, 8388607 + %6 = lshr i32 %5, 16 + %7 = trunc i32 %6 to i16 + %8 = icmp eq i32 %4, 255 + br i1 %8, label %9, label %19 + +9: ; preds = %1 + %10 = icmp eq i32 %5, 0 + br i1 %10, label %11, label %14 + +11: ; preds = %9 + %12 = icmp sgt i32 %2, -1 + %13 = select i1 %12, i16 32640, i16 -128 + br label %37 + +14: ; preds = %9 + %15 = shl nuw nsw i32 %3, 15 + %16 = or i32 %15, %6 + %17 = trunc i32 %16 to i16 + %18 = or i16 %17, 32640 + br label %37 + +19: ; preds = %1 + %20 = icmp eq i32 %2, 0 + br i1 %20, label %37, label %21 + +21: ; preds = %19 + %22 = trunc i32 %2 to i16 + %23 = icmp sgt i32 %2, -1 + %24 = icmp ne i16 %22, 0 + %25 = and i1 %23, %24 + %26 = zext i1 %25 to i16 + %27 = add nuw nsw i16 %7, %26 + %28 = icmp eq i16 %27, 128 + %29 = zext i1 %28 to i32 + %30 = add nuw nsw i32 %4, %29 + %31 = select i1 %28, i16 0, i16 %27 + %32 = shl nuw nsw i32 %3, 15 + %33 = shl nuw nsw i32 %30, 7 + %34 = or i32 %32, %33 + %35 = trunc i32 %34 to i16 + %36 = or i16 %31, %35 + br label %37 + +37: ; preds = %21, %19, %14, %11 + %38 = phi i16 [ %18, %14 ], [ %13, %11 ], [ %36, %21 ], [ 0, %19 ] + ret i16 %38 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_float2bfloat16_rz(float noundef %0) local_unnamed_addr #49 !srcloc !1708 { + %2 = bitcast float %0 to i32 + %3 = lshr i32 %2, 31 + %4 = lshr i32 %2, 23 + %5 = and i32 %2, 8388607 + %6 = lshr i32 %5, 16 + %7 = icmp eq i32 %4, 255 + br i1 %7, label %8, label %18 + +8: ; preds = %1 + %9 = icmp eq i32 %5, 0 + br i1 %9, label %10, label %13 + +10: ; preds = %8 + %11 = icmp sgt i32 %2, -1 + %12 = select i1 %11, i16 32640, i16 -128 + br label %26 + +13: ; preds = %8 + %14 = shl nuw nsw i32 %3, 15 + %15 = or i32 %14, %6 + %16 = trunc i32 %15 to i16 + %17 = or i16 %16, 32640 + br label %26 + +18: ; preds = %1 + %19 = icmp eq i32 %2, 0 + %20 = shl nuw nsw i32 %3, 15 + %21 = shl nuw nsw i32 %4, 7 + %22 = or i32 %20, %21 + %23 = or i32 %6, %22 + %24 = trunc i32 %23 to i16 + %25 = select i1 %19, i16 0, i16 %24 + br label %26 + +26: ; preds = %18, %13, %10 + %27 = phi i16 [ %17, %13 ], [ %12, %10 ], [ %25, %18 ] + ret i16 %27 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162uint_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1709 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %30 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %30, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %30 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %30, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i32 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 3200 + br i1 %20, label %21, label %23 + +21: ; preds = %14 + %22 = shl nuw i32 %16, %18 + br label %30 + +23: ; preds = %14 + %24 = icmp ugt i16 %0, 20351 + %25 = icmp ult i16 %0, 16128 + %26 = sub nsw i32 0, %18 + %27 = lshr i32 %16, %26 + %28 = select i1 %25, i32 0, i32 %27 + %29 = select i1 %24, i32 -1, i32 %28 + br label %30 + +30: ; preds = %23, %21, %12, %7, %3, %1 + %31 = phi i32 [ 0, %1 ], [ 0, %12 ], [ %22, %21 ], [ -1, %7 ], [ %29, %23 ], [ 0, %3 ] + ret i32 %31 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162uint_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1710 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %45 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %45, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %45 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %45, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i32 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 3200 + br i1 %20, label %21, label %23 + +21: ; preds = %14 + %22 = shl nuw i32 %16, %18 + br label %45 + +23: ; preds = %14 + %24 = icmp ugt i16 %0, 20351 + br i1 %24, label %45, label %25 + +25: ; preds = %23 + %26 = icmp ult i16 %0, 16128 + br i1 %26, label %45, label %27 + +27: ; preds = %25 + %28 = sub nsw i32 0, %18 + %29 = shl nsw i32 -1, %28 + %30 = xor i32 %29, -1 + %31 = and i32 %16, %30 + %32 = xor i32 %18, -1 + %33 = shl nuw nsw i32 1, %32 + %34 = lshr i32 %16, %28 + %35 = icmp eq i32 %31, 0 + br i1 %35, label %45, label %36 + +36: ; preds = %27 + %37 = icmp ugt i32 %31, %33 + br i1 %37, label %43, label %38 + +38: ; preds = %36 + %39 = icmp ne i32 %31, %33 + %40 = and i32 %34, 1 + %41 = icmp eq i32 %40, 0 + %42 = select i1 %39, i1 true, i1 %41 + br i1 %42, label %45, label %43 + +43: ; preds = %38, %36 + %44 = add nuw nsw i32 %34, 1 + br label %45 + +45: ; preds = %43, %38, %27, %25, %23, %21, %12, %7, %3, %1 + %46 = phi i32 [ 0, %1 ], [ 0, %12 ], [ %22, %21 ], [ %34, %27 ], [ %44, %43 ], [ %34, %38 ], [ -1, %7 ], [ -1, %23 ], [ 0, %3 ], [ 0, %25 ] + ret i32 %46 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162uint_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !890 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %39 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %7, label %10 + +7: ; preds = %3 + %8 = icmp ne i16 %5, 0 + %9 = zext i1 %8 to i32 + br label %39 + +10: ; preds = %3 + %11 = icmp eq i16 %4, 255 + %12 = xor i1 %11, true + %13 = icmp ne i16 %5, 0 + %14 = or i1 %13, %12 + br i1 %14, label %15, label %39 + +15: ; preds = %10 + %16 = and i1 %11, %13 + br i1 %16, label %39, label %17 + +17: ; preds = %15 + %18 = or i16 %5, 128 + %19 = zext nneg i16 %18 to i32 + %20 = add nsw i16 %4, -134 + %21 = sext i16 %20 to i32 + %22 = add nsw i16 %0, -17152 + %23 = icmp ult i16 %22, 3200 + br i1 %23, label %24, label %26 + +24: ; preds = %17 + %25 = shl nuw i32 %19, %21 + br label %39 + +26: ; preds = %17 + %27 = icmp ugt i16 %0, 20351 + br i1 %27, label %39, label %28 + +28: ; preds = %26 + %29 = icmp ult i16 %0, 16128 + br i1 %29, label %39, label %30 + +30: ; preds = %28 + %31 = sub nsw i32 0, %21 + %32 = shl nsw i32 -1, %31 + %33 = xor i32 %32, -1 + %34 = and i32 %19, %33 + %35 = lshr i32 %19, %31 + %36 = icmp ne i32 %34, 0 + %37 = zext i1 %36 to i32 + %38 = add nuw nsw i32 %35, %37 + br label %39 + +39: ; preds = %30, %28, %26, %24, %15, %10, %7, %1 + %40 = phi i32 [ 0, %1 ], [ %9, %7 ], [ 0, %15 ], [ %25, %24 ], [ -1, %10 ], [ -1, %26 ], [ 1, %28 ], [ %38, %30 ] + ret i32 %40 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162uint_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1711 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %30 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %30, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %30 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %30, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i32 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 3200 + br i1 %20, label %21, label %23 + +21: ; preds = %14 + %22 = shl nuw i32 %16, %18 + br label %30 + +23: ; preds = %14 + %24 = icmp ugt i16 %0, 20351 + %25 = icmp ult i16 %0, 16128 + %26 = sub nsw i32 0, %18 + %27 = lshr i32 %16, %26 + %28 = select i1 %25, i32 0, i32 %27 + %29 = select i1 %24, i32 -1, i32 %28 + br label %30 + +30: ; preds = %23, %21, %12, %7, %3, %1 + %31 = phi i32 [ 0, %1 ], [ 0, %12 ], [ %22, %21 ], [ -1, %7 ], [ %29, %23 ], [ 0, %3 ] + ret i32 %31 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1712 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %33 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %33, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %33 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %33, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = add nsw i16 %4, -134 + %17 = sext i16 %16 to i32 + %18 = add nsw i16 %0, -17152 + %19 = icmp ult i16 %18, 1152 + br i1 %19, label %20, label %24 + +20: ; preds = %14 + %21 = zext nneg i16 %15 to i32 + %22 = shl nuw nsw i32 %21, %17 + %23 = trunc i32 %22 to i16 + br label %33 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 18303 + br i1 %25, label %33, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + %28 = sub nsw i32 0, %17 + %29 = zext nneg i16 %15 to i32 + %30 = lshr i32 %29, %28 + %31 = trunc i32 %30 to i16 + %32 = select i1 %27, i16 0, i16 %31 + br label %33 + +33: ; preds = %26, %24, %20, %12, %7, %3, %1 + %34 = phi i16 [ 0, %1 ], [ 0, %12 ], [ %23, %20 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ %32, %26 ] + ret i16 %34 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1713 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %51 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %51, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %51 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %51, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = add nsw i16 %4, -134 + %17 = sext i16 %16 to i32 + %18 = add nsw i16 %0, -17152 + %19 = icmp ult i16 %18, 1152 + br i1 %19, label %20, label %24 + +20: ; preds = %14 + %21 = zext nneg i16 %15 to i32 + %22 = shl nuw nsw i32 %21, %17 + %23 = trunc i32 %22 to i16 + br label %51 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 18303 + br i1 %25, label %51, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + br i1 %27, label %51, label %28 + +28: ; preds = %26 + %29 = sub nsw i32 0, %17 + %30 = zext nneg i16 %15 to i32 + %31 = shl nsw i32 -1, %29 + %32 = trunc i32 %31 to i16 + %33 = xor i16 %32, -1 + %34 = and i16 %15, %33 + %35 = lshr i32 %30, %29 + %36 = trunc i32 %35 to i16 + %37 = icmp eq i16 %34, 0 + br i1 %37, label %51, label %38 + +38: ; preds = %28 + %39 = xor i32 %17, -1 + %40 = shl nuw nsw i32 1, %39 + %41 = zext nneg i16 %34 to i32 + %42 = and i32 %40, 65535 + %43 = icmp ult i32 %42, %41 + br i1 %43, label %49, label %44 + +44: ; preds = %38 + %45 = icmp ne i32 %42, %41 + %46 = and i32 %35, 1 + %47 = icmp eq i32 %46, 0 + %48 = select i1 %45, i1 true, i1 %47 + br i1 %48, label %51, label %49 + +49: ; preds = %44, %38 + %50 = add nuw nsw i16 %36, 1 + br label %51 + +51: ; preds = %49, %44, %28, %26, %24, %20, %12, %7, %3, %1 + %52 = phi i16 [ 0, %1 ], [ 0, %12 ], [ %23, %20 ], [ %36, %28 ], [ %50, %49 ], [ %36, %44 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ 0, %26 ] + ret i16 %52 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1714 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %43 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %7, label %10 + +7: ; preds = %3 + %8 = icmp ne i16 %5, 0 + %9 = zext i1 %8 to i16 + br label %43 + +10: ; preds = %3 + %11 = icmp eq i16 %4, 255 + %12 = xor i1 %11, true + %13 = icmp ne i16 %5, 0 + %14 = or i1 %13, %12 + br i1 %14, label %15, label %43 + +15: ; preds = %10 + %16 = and i1 %11, %13 + br i1 %16, label %43, label %17 + +17: ; preds = %15 + %18 = or i16 %5, 128 + %19 = add nsw i16 %4, -134 + %20 = sext i16 %19 to i32 + %21 = add nsw i16 %0, -17152 + %22 = icmp ult i16 %21, 1152 + br i1 %22, label %23, label %27 + +23: ; preds = %17 + %24 = zext nneg i16 %18 to i32 + %25 = shl nuw nsw i32 %24, %20 + %26 = trunc i32 %25 to i16 + br label %43 + +27: ; preds = %17 + %28 = icmp ugt i16 %0, 18303 + br i1 %28, label %43, label %29 + +29: ; preds = %27 + %30 = icmp ult i16 %0, 16128 + br i1 %30, label %43, label %31 + +31: ; preds = %29 + %32 = sub nsw i32 0, %20 + %33 = zext nneg i16 %18 to i32 + %34 = shl nsw i32 -1, %32 + %35 = trunc i32 %34 to i16 + %36 = xor i16 %35, -1 + %37 = and i16 %18, %36 + %38 = lshr i32 %33, %32 + %39 = trunc i32 %38 to i16 + %40 = icmp ne i16 %37, 0 + %41 = zext i1 %40 to i16 + %42 = add nuw nsw i16 %39, %41 + br label %43 + +43: ; preds = %31, %29, %27, %23, %15, %10, %7, %1 + %44 = phi i16 [ 0, %1 ], [ %9, %7 ], [ 0, %15 ], [ %26, %23 ], [ -1, %10 ], [ -1, %27 ], [ 1, %29 ], [ %42, %31 ] + ret i16 %44 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_bfloat162ushort_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1715 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %33 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %33, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %33 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %33, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = add nsw i16 %4, -134 + %17 = sext i16 %16 to i32 + %18 = add nsw i16 %0, -17152 + %19 = icmp ult i16 %18, 1152 + br i1 %19, label %20, label %24 + +20: ; preds = %14 + %21 = zext nneg i16 %15 to i32 + %22 = shl nuw nsw i32 %21, %17 + %23 = trunc i32 %22 to i16 + br label %33 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 18303 + br i1 %25, label %33, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + %28 = sub nsw i32 0, %17 + %29 = zext nneg i16 %15 to i32 + %30 = lshr i32 %29, %28 + %31 = trunc i32 %30 to i16 + %32 = select i1 %27, i16 0, i16 %31 + br label %33 + +33: ; preds = %26, %24, %20, %12, %7, %3, %1 + %34 = phi i16 [ 0, %1 ], [ 0, %12 ], [ %23, %20 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ %32, %26 ] + ret i16 %34 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ull_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1716 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %32 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %32, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %32 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %32, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i64 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 7296 + br i1 %20, label %21, label %24 + +21: ; preds = %14 + %22 = zext i32 %18 to i64 + %23 = shl nuw i64 %16, %22 + br label %32 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 24447 + br i1 %25, label %32, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + %28 = sub nsw i32 0, %18 + %29 = zext i32 %28 to i64 + %30 = lshr i64 %16, %29 + %31 = select i1 %27, i64 0, i64 %30 + br label %32 + +32: ; preds = %26, %24, %21, %12, %7, %3, %1 + %33 = phi i64 [ 0, %1 ], [ -9223372036854775808, %12 ], [ %23, %21 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ %31, %26 ] + ret i64 %33 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ull_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1717 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %48 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %48, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %48 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %48, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i64 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 7296 + br i1 %20, label %21, label %24 + +21: ; preds = %14 + %22 = zext i32 %18 to i64 + %23 = shl nuw i64 %16, %22 + br label %48 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 24447 + br i1 %25, label %48, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + br i1 %27, label %48, label %28 + +28: ; preds = %26 + %29 = sub nsw i32 0, %18 + %30 = zext i32 %29 to i64 + %31 = shl nsw i64 -1, %30 + %32 = xor i64 %31, -1 + %33 = and i64 %16, %32 + %34 = xor i32 %18, -1 + %35 = shl nuw nsw i32 1, %34 + %36 = lshr i64 %16, %30 + %37 = icmp eq i64 %33, 0 + br i1 %37, label %48, label %38 + +38: ; preds = %28 + %39 = trunc i64 %33 to i32 + %40 = icmp ult i32 %35, %39 + br i1 %40, label %46, label %41 + +41: ; preds = %38 + %42 = icmp ne i32 %35, %39 + %43 = and i64 %36, 1 + %44 = icmp eq i64 %43, 0 + %45 = select i1 %42, i1 true, i1 %44 + br i1 %45, label %48, label %46 + +46: ; preds = %41, %38 + %47 = add nuw nsw i64 %36, 1 + br label %48 + +48: ; preds = %46, %41, %28, %26, %24, %21, %12, %7, %3, %1 + %49 = phi i64 [ 0, %1 ], [ -9223372036854775808, %12 ], [ %23, %21 ], [ %36, %28 ], [ %47, %46 ], [ %36, %41 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ 0, %26 ] + ret i64 %49 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ull_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1718 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %41 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %7, label %10 + +7: ; preds = %3 + %8 = icmp ne i16 %5, 0 + %9 = zext i1 %8 to i64 + br label %41 + +10: ; preds = %3 + %11 = icmp eq i16 %4, 255 + %12 = xor i1 %11, true + %13 = icmp ne i16 %5, 0 + %14 = or i1 %13, %12 + br i1 %14, label %15, label %41 + +15: ; preds = %10 + %16 = and i1 %11, %13 + br i1 %16, label %41, label %17 + +17: ; preds = %15 + %18 = or i16 %5, 128 + %19 = zext nneg i16 %18 to i64 + %20 = add nsw i16 %4, -134 + %21 = sext i16 %20 to i32 + %22 = add nsw i16 %0, -17152 + %23 = icmp ult i16 %22, 7296 + br i1 %23, label %24, label %27 + +24: ; preds = %17 + %25 = zext i32 %21 to i64 + %26 = shl nuw i64 %19, %25 + br label %41 + +27: ; preds = %17 + %28 = icmp ugt i16 %0, 24447 + br i1 %28, label %41, label %29 + +29: ; preds = %27 + %30 = icmp ult i16 %0, 16128 + br i1 %30, label %41, label %31 + +31: ; preds = %29 + %32 = sub nsw i32 0, %21 + %33 = zext i32 %32 to i64 + %34 = shl nsw i64 -1, %33 + %35 = xor i64 %34, -1 + %36 = and i64 %19, %35 + %37 = lshr i64 %19, %33 + %38 = icmp ne i64 %36, 0 + %39 = zext i1 %38 to i64 + %40 = add nuw nsw i64 %37, %39 + br label %41 + +41: ; preds = %31, %29, %27, %24, %15, %10, %7, %1 + %42 = phi i64 [ 0, %1 ], [ %9, %7 ], [ -9223372036854775808, %15 ], [ %26, %24 ], [ -1, %10 ], [ -1, %27 ], [ 1, %29 ], [ %40, %31 ] + ret i64 %42 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ull_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1719 { + %2 = icmp sgt i16 %0, -1 + br i1 %2, label %3, label %32 + +3: ; preds = %1 + %4 = lshr i16 %0, 7 + %5 = and i16 %0, 127 + %6 = icmp ult i16 %0, 128 + br i1 %6, label %32, label %7 + +7: ; preds = %3 + %8 = icmp eq i16 %4, 255 + %9 = xor i1 %8, true + %10 = icmp ne i16 %5, 0 + %11 = or i1 %10, %9 + br i1 %11, label %12, label %32 + +12: ; preds = %7 + %13 = and i1 %8, %10 + br i1 %13, label %32, label %14 + +14: ; preds = %12 + %15 = or i16 %5, 128 + %16 = zext nneg i16 %15 to i64 + %17 = add nsw i16 %4, -134 + %18 = sext i16 %17 to i32 + %19 = add nsw i16 %0, -17152 + %20 = icmp ult i16 %19, 7296 + br i1 %20, label %21, label %24 + +21: ; preds = %14 + %22 = zext i32 %18 to i64 + %23 = shl nuw i64 %16, %22 + br label %32 + +24: ; preds = %14 + %25 = icmp ugt i16 %0, 24447 + br i1 %25, label %32, label %26 + +26: ; preds = %24 + %27 = icmp ult i16 %0, 16128 + %28 = sub nsw i32 0, %18 + %29 = zext i32 %28 to i64 + %30 = lshr i64 %16, %29 + %31 = select i1 %27, i64 0, i64 %30 + br label %32 + +32: ; preds = %26, %24, %21, %12, %7, %3, %1 + %33 = phi i64 [ 0, %1 ], [ -9223372036854775808, %12 ], [ %23, %21 ], [ -1, %7 ], [ -1, %24 ], [ 0, %3 ], [ %31, %26 ] + ret i64 %33 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162int_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !865 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %16 [ + i8 0, label %6 + i8 -1, label %11 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = ashr i16 %0, 15 + %9 = select i1 %7, i16 0, i16 %8 + %10 = sext i16 %9 to i32 + br label %51 + +11: ; preds = %1 + %12 = icmp eq i16 %4, 0 + %13 = icmp slt i16 %0, 0 + %14 = select i1 %13, i32 -2147483648, i32 2147483647 + %15 = select i1 %12, i32 %14, i32 0 + br label %51 + +16: ; preds = %1 + %17 = or i16 %4, 128 + %18 = zext nneg i16 %17 to i32 + %19 = add nsw i16 %3, -134 + %20 = sext i16 %19 to i32 + %21 = icmp ugt i16 %3, 157 + br i1 %21, label %22, label %25 + +22: ; preds = %16 + %23 = icmp slt i16 %0, 0 + %24 = select i1 %23, i32 -2147483648, i32 2147483647 + br label %51 + +25: ; preds = %16 + %26 = icmp ugt i16 %3, 133 + br i1 %26, label %27, label %32 + +27: ; preds = %25 + %28 = shl nuw nsw i32 %18, %20 + %29 = sub nsw i32 0, %28 + %30 = icmp slt i16 %0, 0 + %31 = select i1 %30, i32 %29, i32 %28 + br label %51 + +32: ; preds = %25 + %33 = icmp ult i16 %3, 126 + br i1 %33, label %34, label %37 + +34: ; preds = %32 + %35 = ashr i16 %0, 15 + %36 = sext i16 %35 to i32 + br label %51 + +37: ; preds = %32 + %38 = sub nsw i32 0, %20 + %39 = shl nsw i32 -1, %38 + %40 = xor i32 %39, -1 + %41 = and i32 %18, %40 + %42 = lshr i32 %18, %38 + %43 = icmp eq i32 %41, 0 + br i1 %43, label %51, label %44 + +44: ; preds = %37 + %45 = lshr i16 %0, 15 + %46 = zext nneg i16 %45 to i32 + %47 = add nuw nsw i32 %42, %46 + %48 = sub nsw i32 0, %47 + %49 = icmp slt i16 %0, 0 + %50 = select i1 %49, i32 %48, i32 %47 + br label %51 + +51: ; preds = %44, %37, %34, %27, %22, %11, %6 + %52 = phi i32 [ %10, %6 ], [ %15, %11 ], [ %24, %22 ], [ %31, %27 ], [ %36, %34 ], [ %50, %44 ], [ %42, %37 ] + ret i32 %52 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162int_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1720 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %11 [ + i8 0, label %52 + i8 -1, label %6 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = icmp slt i16 %0, 0 + %9 = select i1 %8, i32 -2147483648, i32 2147483647 + %10 = select i1 %7, i32 %9, i32 0 + br label %52 + +11: ; preds = %1 + %12 = or i16 %4, 128 + %13 = zext nneg i16 %12 to i32 + %14 = add nsw i16 %3, -134 + %15 = sext i16 %14 to i32 + %16 = icmp ugt i16 %3, 157 + br i1 %16, label %17, label %20 + +17: ; preds = %11 + %18 = icmp slt i16 %0, 0 + %19 = select i1 %18, i32 -2147483648, i32 2147483647 + br label %52 + +20: ; preds = %11 + %21 = icmp ugt i16 %3, 133 + br i1 %21, label %22, label %27 + +22: ; preds = %20 + %23 = shl nuw nsw i32 %13, %15 + %24 = sub nsw i32 0, %23 + %25 = icmp slt i16 %0, 0 + %26 = select i1 %25, i32 %24, i32 %23 + br label %52 + +27: ; preds = %20 + %28 = icmp ult i16 %3, 126 + br i1 %28, label %52, label %29 + +29: ; preds = %27 + %30 = sub nsw i32 0, %15 + %31 = shl nsw i32 -1, %30 + %32 = xor i32 %31, -1 + %33 = and i32 %13, %32 + %34 = xor i32 %15, -1 + %35 = shl nuw nsw i32 1, %34 + %36 = lshr i32 %13, %30 + %37 = icmp eq i32 %33, 0 + br i1 %37, label %52, label %38 + +38: ; preds = %29 + %39 = icmp ugt i32 %33, %35 + br i1 %39, label %45, label %40 + +40: ; preds = %38 + %41 = icmp ne i32 %33, %35 + %42 = and i32 %36, 1 + %43 = icmp eq i32 %42, 0 + %44 = select i1 %41, i1 true, i1 %43 + br i1 %44, label %47, label %45 + +45: ; preds = %40, %38 + %46 = add nuw nsw i32 %36, 1 + br label %47 + +47: ; preds = %45, %40 + %48 = phi i32 [ %46, %45 ], [ %36, %40 ] + %49 = sub nsw i32 0, %48 + %50 = icmp slt i16 %0, 0 + %51 = select i1 %50, i32 %49, i32 %48 + br label %52 + +52: ; preds = %47, %29, %27, %22, %17, %6, %1 + %53 = phi i32 [ %10, %6 ], [ %19, %17 ], [ %26, %22 ], [ %51, %47 ], [ %36, %29 ], [ 0, %27 ], [ 0, %1 ] + ret i32 %53 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162int_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1721 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %16 [ + i8 0, label %6 + i8 -1, label %11 + ] + +6: ; preds = %1 + %7 = icmp ne i16 %4, 0 + %8 = icmp sgt i16 %0, -1 + %9 = and i1 %7, %8 + %10 = zext i1 %9 to i32 + br label %51 + +11: ; preds = %1 + %12 = icmp eq i16 %4, 0 + %13 = icmp slt i16 %0, 0 + %14 = select i1 %13, i32 -2147483648, i32 2147483647 + %15 = select i1 %12, i32 %14, i32 0 + br label %51 + +16: ; preds = %1 + %17 = or i16 %4, 128 + %18 = zext nneg i16 %17 to i32 + %19 = add nsw i16 %3, -134 + %20 = sext i16 %19 to i32 + %21 = icmp ugt i16 %3, 157 + br i1 %21, label %22, label %25 + +22: ; preds = %16 + %23 = icmp slt i16 %0, 0 + %24 = select i1 %23, i32 -2147483648, i32 2147483647 + br label %51 + +25: ; preds = %16 + %26 = icmp ugt i16 %3, 133 + br i1 %26, label %27, label %32 + +27: ; preds = %25 + %28 = shl nuw nsw i32 %18, %20 + %29 = sub nsw i32 0, %28 + %30 = icmp slt i16 %0, 0 + %31 = select i1 %30, i32 %29, i32 %28 + br label %51 + +32: ; preds = %25 + %33 = icmp ult i16 %3, 126 + br i1 %33, label %34, label %37 + +34: ; preds = %32 + %35 = icmp sgt i16 %0, -1 + %36 = zext i1 %35 to i32 + br label %51 + +37: ; preds = %32 + %38 = sub nsw i32 0, %20 + %39 = shl nsw i32 -1, %38 + %40 = xor i32 %39, -1 + %41 = and i32 %18, %40 + %42 = lshr i32 %18, %38 + %43 = icmp eq i32 %41, 0 + br i1 %43, label %51, label %44 + +44: ; preds = %37 + %45 = icmp sgt i16 %0, -1 + %46 = zext i1 %45 to i32 + %47 = add nuw nsw i32 %42, %46 + %48 = sub nsw i32 0, %47 + %49 = icmp slt i16 %0, 0 + %50 = select i1 %49, i32 %48, i32 %47 + br label %51 + +51: ; preds = %44, %37, %34, %27, %22, %11, %6 + %52 = phi i32 [ %10, %6 ], [ %15, %11 ], [ %24, %22 ], [ %31, %27 ], [ %36, %34 ], [ %50, %44 ], [ %42, %37 ] + ret i32 %52 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i32 @__devicelib_imf_bfloat162int_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1722 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %11 [ + i8 0, label %40 + i8 -1, label %6 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = icmp slt i16 %0, 0 + %9 = select i1 %8, i32 -2147483648, i32 2147483647 + %10 = select i1 %7, i32 %9, i32 0 + br label %40 + +11: ; preds = %1 + %12 = or i16 %4, 128 + %13 = zext nneg i16 %12 to i32 + %14 = add nsw i16 %3, -134 + %15 = sext i16 %14 to i32 + %16 = icmp ugt i16 %3, 157 + br i1 %16, label %17, label %20 + +17: ; preds = %11 + %18 = icmp slt i16 %0, 0 + %19 = select i1 %18, i32 -2147483648, i32 2147483647 + br label %40 + +20: ; preds = %11 + %21 = icmp ugt i16 %3, 133 + br i1 %21, label %22, label %27 + +22: ; preds = %20 + %23 = shl nuw nsw i32 %13, %15 + %24 = sub nsw i32 0, %23 + %25 = icmp slt i16 %0, 0 + %26 = select i1 %25, i32 %24, i32 %23 + br label %40 + +27: ; preds = %20 + %28 = icmp ult i16 %3, 126 + br i1 %28, label %40, label %29 + +29: ; preds = %27 + %30 = sub nsw i32 0, %15 + %31 = shl nsw i32 -1, %30 + %32 = xor i32 %31, -1 + %33 = and i32 %13, %32 + %34 = lshr i32 %13, %30 + %35 = icmp eq i32 %33, 0 + %36 = sub nsw i32 0, %34 + %37 = icmp slt i16 %0, 0 + %38 = select i1 %37, i32 %36, i32 %34 + %39 = select i1 %35, i32 %34, i32 %38 + br label %40 + +40: ; preds = %29, %27, %22, %17, %6, %1 + %41 = phi i32 [ %10, %6 ], [ %19, %17 ], [ %26, %22 ], [ %39, %29 ], [ 0, %27 ], [ 0, %1 ] + ret i32 %41 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_bfloat162short_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1723 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %15 [ + i8 0, label %6 + i8 -1, label %10 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = ashr i16 %0, 15 + %9 = select i1 %7, i16 0, i16 %8 + br label %52 + +10: ; preds = %1 + %11 = icmp eq i16 %4, 0 + %12 = icmp slt i16 %0, 0 + %13 = select i1 %12, i16 -32768, i16 32767 + %14 = select i1 %11, i16 %13, i16 0 + br label %52 + +15: ; preds = %1 + %16 = or i16 %4, 128 + %17 = add nsw i16 %3, -134 + %18 = sext i16 %17 to i32 + %19 = icmp ugt i16 %3, 141 + br i1 %19, label %20, label %23 + +20: ; preds = %15 + %21 = icmp slt i16 %0, 0 + %22 = select i1 %21, i16 -32768, i16 32767 + br label %52 + +23: ; preds = %15 + %24 = icmp ugt i16 %3, 133 + br i1 %24, label %25, label %32 + +25: ; preds = %23 + %26 = zext nneg i16 %16 to i32 + %27 = shl nuw nsw i32 %26, %18 + %28 = sub nsw i32 0, %27 + %29 = icmp slt i16 %0, 0 + %30 = select i1 %29, i32 %28, i32 %27 + %31 = trunc i32 %30 to i16 + br label %52 + +32: ; preds = %23 + %33 = icmp ult i16 %3, 126 + br i1 %33, label %34, label %36 + +34: ; preds = %32 + %35 = ashr i16 %0, 15 + br label %52 + +36: ; preds = %32 + %37 = sub nsw i32 0, %18 + %38 = zext nneg i16 %16 to i32 + %39 = shl nsw i32 -1, %37 + %40 = trunc i32 %39 to i16 + %41 = xor i16 %40, -1 + %42 = and i16 %16, %41 + %43 = lshr i32 %38, %37 + %44 = trunc i32 %43 to i16 + %45 = icmp eq i16 %42, 0 + br i1 %45, label %52, label %46 + +46: ; preds = %36 + %47 = lshr i16 %0, 15 + %48 = add nuw nsw i16 %47, %44 + %49 = sub nsw i16 0, %48 + %50 = icmp slt i16 %0, 0 + %51 = select i1 %50, i16 %49, i16 %48 + br label %52 + +52: ; preds = %46, %36, %34, %25, %20, %10, %6 + %53 = phi i16 [ %9, %6 ], [ %14, %10 ], [ %22, %20 ], [ %31, %25 ], [ %35, %34 ], [ %51, %46 ], [ %44, %36 ] + ret i16 %53 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_bfloat162short_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1724 { + %2 = tail call spir_func noundef signext i16 @_ZL25__iml_bfloat162integral_sIsET_t19__iml_rounding_mode(i16 noundef zeroext %0, i32 noundef 0) #55 + ret i16 %2 +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef signext i16 @_ZL25__iml_bfloat162integral_sIsET_t19__iml_rounding_mode(i16 noundef zeroext %0, i32 noundef %1) unnamed_addr #42 !srcloc !1725 !sycl_kernel_omit_args !1186 { + %3 = lshr i16 %0, 7 + %4 = and i16 %3, 255 + %5 = and i16 %0, 127 + %6 = trunc i16 %3 to i8 + switch i8 %6, label %23 [ + i8 0, label %7 + i8 -1, label %18 + ] + +7: ; preds = %2 + %8 = icmp eq i16 %5, 0 + br i1 %8, label %87, label %9 + +9: ; preds = %7 + %10 = icmp slt i16 %0, 0 + %11 = icmp eq i32 %1, 3 + %12 = and i1 %10, %11 + %13 = icmp ne i32 %1, 2 + %14 = or i1 %13, %10 + %15 = xor i1 %14, true + %16 = zext i1 %15 to i16 + %17 = select i1 %12, i16 -1, i16 %16 + br label %87 + +18: ; preds = %2 + %19 = icmp eq i16 %5, 0 + %20 = icmp slt i16 %0, 0 + %21 = select i1 %20, i16 -32768, i16 32767 + %22 = select i1 %19, i16 %21, i16 0 + br label %87 + +23: ; preds = %2 + %24 = or i16 %5, 128 + %25 = add nsw i16 %4, -134 + %26 = sext i16 %25 to i32 + %27 = icmp ugt i16 %4, 141 + br i1 %27, label %28, label %31 + +28: ; preds = %23 + %29 = icmp slt i16 %0, 0 + %30 = select i1 %29, i16 -32768, i16 32767 + br label %87 + +31: ; preds = %23 + %32 = icmp ugt i16 %4, 133 + br i1 %32, label %33, label %40 + +33: ; preds = %31 + %34 = zext nneg i16 %24 to i32 + %35 = shl nuw nsw i32 %34, %26 + %36 = sub nsw i32 0, %35 + %37 = icmp slt i16 %0, 0 + %38 = select i1 %37, i32 %36, i32 %35 + %39 = trunc i32 %38 to i16 + br label %87 + +40: ; preds = %31 + %41 = icmp ult i16 %4, 126 + br i1 %41, label %42, label %51 + +42: ; preds = %40 + %43 = icmp slt i16 %0, 0 + %44 = icmp eq i32 %1, 3 + %45 = and i1 %43, %44 + %46 = icmp ne i32 %1, 2 + %47 = or i1 %46, %43 + %48 = xor i1 %47, true + %49 = zext i1 %48 to i16 + %50 = select i1 %45, i16 -1, i16 %49 + br label %87 + +51: ; preds = %40 + %52 = sub nsw i32 0, %26 + %53 = zext nneg i16 %24 to i32 + %54 = shl nsw i32 -1, %52 + %55 = trunc i32 %54 to i16 + %56 = xor i16 %55, -1 + %57 = and i16 %24, %56 + %58 = xor i32 %26, -1 + %59 = shl nuw nsw i32 1, %58 + %60 = lshr i32 %53, %52 + %61 = trunc i32 %60 to i16 + %62 = icmp eq i16 %57, 0 + br i1 %62, label %87, label %63 + +63: ; preds = %51 + switch i32 %1, label %82 [ + i32 0, label %64 + i32 3, label %75 + i32 2, label %78 + ] + +64: ; preds = %63 + %65 = zext nneg i16 %57 to i32 + %66 = and i32 %59, 65535 + %67 = icmp ult i32 %66, %65 + br i1 %67, label %73, label %68 + +68: ; preds = %64 + %69 = icmp ne i32 %66, %65 + %70 = and i32 %60, 1 + %71 = icmp eq i32 %70, 0 + %72 = select i1 %69, i1 true, i1 %71 + br i1 %72, label %82, label %73 + +73: ; preds = %68, %64 + %74 = add nuw nsw i16 %61, 1 + br label %82 + +75: ; preds = %63 + %76 = lshr i16 %0, 15 + %77 = add nuw nsw i16 %76, %61 + br label %82 + +78: ; preds = %63 + %79 = icmp sgt i16 %0, -1 + %80 = zext i1 %79 to i16 + %81 = add nuw nsw i16 %61, %80 + br label %82 + +82: ; preds = %78, %75, %73, %68, %63 + %83 = phi i16 [ %61, %63 ], [ %74, %73 ], [ %61, %68 ], [ %77, %75 ], [ %81, %78 ] + %84 = sub nsw i16 0, %83 + %85 = icmp slt i16 %0, 0 + %86 = select i1 %85, i16 %84, i16 %83 + br label %87 + +87: ; preds = %82, %51, %42, %33, %28, %18, %9, %7 + %88 = phi i16 [ 0, %7 ], [ %17, %9 ], [ %22, %18 ], [ %30, %28 ], [ %39, %33 ], [ %50, %42 ], [ %86, %82 ], [ %61, %51 ] + ret i16 %88 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_bfloat162short_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1726 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %16 [ + i8 0, label %6 + i8 -1, label %11 + ] + +6: ; preds = %1 + %7 = icmp ne i16 %4, 0 + %8 = icmp sgt i16 %0, -1 + %9 = and i1 %7, %8 + %10 = zext i1 %9 to i16 + br label %55 + +11: ; preds = %1 + %12 = icmp eq i16 %4, 0 + %13 = icmp slt i16 %0, 0 + %14 = select i1 %13, i16 -32768, i16 32767 + %15 = select i1 %12, i16 %14, i16 0 + br label %55 + +16: ; preds = %1 + %17 = or i16 %4, 128 + %18 = add nsw i16 %3, -134 + %19 = sext i16 %18 to i32 + %20 = icmp ugt i16 %3, 141 + br i1 %20, label %21, label %24 + +21: ; preds = %16 + %22 = icmp slt i16 %0, 0 + %23 = select i1 %22, i16 -32768, i16 32767 + br label %55 + +24: ; preds = %16 + %25 = icmp ugt i16 %3, 133 + br i1 %25, label %26, label %33 + +26: ; preds = %24 + %27 = zext nneg i16 %17 to i32 + %28 = shl nuw nsw i32 %27, %19 + %29 = sub nsw i32 0, %28 + %30 = icmp slt i16 %0, 0 + %31 = select i1 %30, i32 %29, i32 %28 + %32 = trunc i32 %31 to i16 + br label %55 + +33: ; preds = %24 + %34 = icmp ult i16 %3, 126 + br i1 %34, label %35, label %38 + +35: ; preds = %33 + %36 = icmp sgt i16 %0, -1 + %37 = zext i1 %36 to i16 + br label %55 + +38: ; preds = %33 + %39 = sub nsw i32 0, %19 + %40 = zext nneg i16 %17 to i32 + %41 = shl nsw i32 -1, %39 + %42 = trunc i32 %41 to i16 + %43 = xor i16 %42, -1 + %44 = and i16 %17, %43 + %45 = lshr i32 %40, %39 + %46 = trunc i32 %45 to i16 + %47 = icmp eq i16 %44, 0 + br i1 %47, label %55, label %48 + +48: ; preds = %38 + %49 = icmp sgt i16 %0, -1 + %50 = zext i1 %49 to i16 + %51 = add nuw nsw i16 %46, %50 + %52 = sub nsw i16 0, %51 + %53 = icmp slt i16 %0, 0 + %54 = select i1 %53, i16 %52, i16 %51 + br label %55 + +55: ; preds = %48, %38, %35, %26, %21, %11, %6 + %56 = phi i16 [ %10, %6 ], [ %15, %11 ], [ %23, %21 ], [ %32, %26 ], [ %37, %35 ], [ %54, %48 ], [ %46, %38 ] + ret i16 %56 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_bfloat162short_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1727 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %11 [ + i8 0, label %44 + i8 -1, label %6 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = icmp slt i16 %0, 0 + %9 = select i1 %8, i16 -32768, i16 32767 + %10 = select i1 %7, i16 %9, i16 0 + br label %44 + +11: ; preds = %1 + %12 = or i16 %4, 128 + %13 = add nsw i16 %3, -134 + %14 = sext i16 %13 to i32 + %15 = icmp ugt i16 %3, 141 + br i1 %15, label %16, label %19 + +16: ; preds = %11 + %17 = icmp slt i16 %0, 0 + %18 = select i1 %17, i16 -32768, i16 32767 + br label %44 + +19: ; preds = %11 + %20 = icmp ugt i16 %3, 133 + br i1 %20, label %21, label %28 + +21: ; preds = %19 + %22 = zext nneg i16 %12 to i32 + %23 = shl nuw nsw i32 %22, %14 + %24 = sub nsw i32 0, %23 + %25 = icmp slt i16 %0, 0 + %26 = select i1 %25, i32 %24, i32 %23 + %27 = trunc i32 %26 to i16 + br label %44 + +28: ; preds = %19 + %29 = icmp ult i16 %3, 126 + br i1 %29, label %44, label %30 + +30: ; preds = %28 + %31 = sub nsw i32 0, %14 + %32 = zext nneg i16 %12 to i32 + %33 = shl nsw i32 -1, %31 + %34 = trunc i32 %33 to i16 + %35 = xor i16 %34, -1 + %36 = and i16 %12, %35 + %37 = lshr i32 %32, %31 + %38 = trunc i32 %37 to i16 + %39 = icmp eq i16 %36, 0 + %40 = sub nsw i16 0, %38 + %41 = icmp slt i16 %0, 0 + %42 = select i1 %41, i16 %40, i16 %38 + %43 = select i1 %39, i16 %38, i16 %42 + br label %44 + +44: ; preds = %30, %28, %21, %16, %6, %1 + %45 = phi i16 [ %10, %6 ], [ %18, %16 ], [ %27, %21 ], [ %43, %30 ], [ 0, %28 ], [ 0, %1 ] + ret i16 %45 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ll_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1728 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %16 [ + i8 0, label %6 + i8 -1, label %11 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = ashr i16 %0, 15 + %9 = select i1 %7, i16 0, i16 %8 + %10 = sext i16 %9 to i64 + br label %53 + +11: ; preds = %1 + %12 = icmp eq i16 %4, 0 + %13 = icmp slt i16 %0, 0 + %14 = select i1 %13, i64 -9223372036854775808, i64 9223372036854775807 + %15 = select i1 %12, i64 %14, i64 -9223372036854775808 + br label %53 + +16: ; preds = %1 + %17 = or i16 %4, 128 + %18 = zext nneg i16 %17 to i64 + %19 = add nsw i16 %3, -134 + %20 = sext i16 %19 to i32 + %21 = icmp ugt i16 %3, 189 + br i1 %21, label %22, label %25 + +22: ; preds = %16 + %23 = icmp slt i16 %0, 0 + %24 = select i1 %23, i64 -9223372036854775808, i64 9223372036854775807 + br label %53 + +25: ; preds = %16 + %26 = icmp ugt i16 %3, 133 + br i1 %26, label %27, label %33 + +27: ; preds = %25 + %28 = zext i32 %20 to i64 + %29 = shl nuw nsw i64 %18, %28 + %30 = sub nsw i64 0, %29 + %31 = icmp slt i16 %0, 0 + %32 = select i1 %31, i64 %30, i64 %29 + br label %53 + +33: ; preds = %25 + %34 = icmp ult i16 %3, 126 + br i1 %34, label %35, label %38 + +35: ; preds = %33 + %36 = ashr i16 %0, 15 + %37 = sext i16 %36 to i64 + br label %53 + +38: ; preds = %33 + %39 = sub nsw i32 0, %20 + %40 = zext i32 %39 to i64 + %41 = shl nsw i64 -1, %40 + %42 = xor i64 %41, -1 + %43 = and i64 %18, %42 + %44 = lshr i64 %18, %40 + %45 = icmp eq i64 %43, 0 + br i1 %45, label %53, label %46 + +46: ; preds = %38 + %47 = lshr i16 %0, 15 + %48 = zext nneg i16 %47 to i64 + %49 = add nuw nsw i64 %44, %48 + %50 = sub nsw i64 0, %49 + %51 = icmp slt i16 %0, 0 + %52 = select i1 %51, i64 %50, i64 %49 + br label %53 + +53: ; preds = %46, %38, %35, %27, %22, %11, %6 + %54 = phi i64 [ %10, %6 ], [ %15, %11 ], [ %24, %22 ], [ %32, %27 ], [ %37, %35 ], [ %52, %46 ], [ %44, %38 ] + ret i64 %54 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ll_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1729 { + %2 = tail call spir_func noundef i64 @_ZL25__iml_bfloat162integral_sIxET_t19__iml_rounding_mode(i16 noundef zeroext %0, i32 noundef 0) #55 + ret i64 %2 +} + +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) +define internal spir_func noundef i64 @_ZL25__iml_bfloat162integral_sIxET_t19__iml_rounding_mode(i16 noundef zeroext %0, i32 noundef %1) unnamed_addr #42 !srcloc !1725 !sycl_kernel_omit_args !1186 { + %3 = lshr i16 %0, 7 + %4 = and i16 %3, 255 + %5 = and i16 %0, 127 + %6 = trunc i16 %3 to i8 + switch i8 %6, label %23 [ + i8 0, label %7 + i8 -1, label %18 + ] + +7: ; preds = %2 + %8 = icmp eq i16 %5, 0 + br i1 %8, label %85, label %9 + +9: ; preds = %7 + %10 = icmp slt i16 %0, 0 + %11 = icmp eq i32 %1, 3 + %12 = and i1 %10, %11 + %13 = icmp ne i32 %1, 2 + %14 = or i1 %13, %10 + %15 = xor i1 %14, true + %16 = zext i1 %15 to i64 + %17 = select i1 %12, i64 -1, i64 %16 + br label %85 + +18: ; preds = %2 + %19 = icmp eq i16 %5, 0 + %20 = icmp slt i16 %0, 0 + %21 = select i1 %20, i64 -9223372036854775808, i64 9223372036854775807 + %22 = select i1 %19, i64 %21, i64 -9223372036854775808 + br label %85 + +23: ; preds = %2 + %24 = or i16 %5, 128 + %25 = zext nneg i16 %24 to i64 + %26 = add nsw i16 %4, -134 + %27 = sext i16 %26 to i32 + %28 = icmp ugt i16 %4, 189 + br i1 %28, label %29, label %32 + +29: ; preds = %23 + %30 = icmp slt i16 %0, 0 + %31 = select i1 %30, i64 -9223372036854775808, i64 9223372036854775807 + br label %85 + +32: ; preds = %23 + %33 = icmp ugt i16 %4, 133 + br i1 %33, label %34, label %40 + +34: ; preds = %32 + %35 = zext i32 %27 to i64 + %36 = shl nuw nsw i64 %25, %35 + %37 = sub nsw i64 0, %36 + %38 = icmp slt i16 %0, 0 + %39 = select i1 %38, i64 %37, i64 %36 + br label %85 + +40: ; preds = %32 + %41 = icmp ult i16 %4, 126 + br i1 %41, label %42, label %51 + +42: ; preds = %40 + %43 = icmp slt i16 %0, 0 + %44 = icmp eq i32 %1, 3 + %45 = and i1 %43, %44 + %46 = icmp ne i32 %1, 2 + %47 = or i1 %46, %43 + %48 = xor i1 %47, true + %49 = zext i1 %48 to i64 + %50 = select i1 %45, i64 -1, i64 %49 + br label %85 + +51: ; preds = %40 + %52 = sub nsw i32 0, %27 + %53 = zext i32 %52 to i64 + %54 = shl nsw i64 -1, %53 + %55 = xor i64 %54, -1 + %56 = and i64 %25, %55 + %57 = xor i32 %27, -1 + %58 = zext i32 %57 to i64 + %59 = shl nuw nsw i64 1, %58 + %60 = lshr i64 %25, %53 + %61 = icmp eq i64 %56, 0 + br i1 %61, label %85, label %62 + +62: ; preds = %51 + switch i32 %1, label %80 [ + i32 0, label %63 + i32 3, label %72 + i32 2, label %76 + ] + +63: ; preds = %62 + %64 = icmp ugt i64 %56, %59 + br i1 %64, label %70, label %65 + +65: ; preds = %63 + %66 = icmp ne i64 %56, %59 + %67 = and i64 %60, 1 + %68 = icmp eq i64 %67, 0 + %69 = select i1 %66, i1 true, i1 %68 + br i1 %69, label %80, label %70 + +70: ; preds = %65, %63 + %71 = add nuw nsw i64 %60, 1 + br label %80 + +72: ; preds = %62 + %73 = lshr i16 %0, 15 + %74 = zext nneg i16 %73 to i64 + %75 = add nuw nsw i64 %60, %74 + br label %80 + +76: ; preds = %62 + %77 = icmp sgt i16 %0, -1 + %78 = zext i1 %77 to i64 + %79 = add nuw nsw i64 %60, %78 + br label %80 + +80: ; preds = %76, %72, %70, %65, %62 + %81 = phi i64 [ %60, %62 ], [ %71, %70 ], [ %60, %65 ], [ %75, %72 ], [ %79, %76 ] + %82 = sub nsw i64 0, %81 + %83 = icmp slt i16 %0, 0 + %84 = select i1 %83, i64 %82, i64 %81 + br label %85 + +85: ; preds = %80, %51, %42, %34, %29, %18, %9, %7 + %86 = phi i64 [ 0, %7 ], [ %17, %9 ], [ %22, %18 ], [ %31, %29 ], [ %39, %34 ], [ %50, %42 ], [ %84, %80 ], [ %60, %51 ] + ret i64 %86 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ll_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1730 { + %2 = tail call spir_func noundef i64 @_ZL25__iml_bfloat162integral_sIxET_t19__iml_rounding_mode(i16 noundef zeroext %0, i32 noundef 2) #55 + ret i64 %2 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func i64 @__devicelib_imf_bfloat162ll_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1731 { + %2 = lshr i16 %0, 7 + %3 = and i16 %2, 255 + %4 = and i16 %0, 127 + %5 = trunc i16 %2 to i8 + switch i8 %5, label %11 [ + i8 0, label %42 + i8 -1, label %6 + ] + +6: ; preds = %1 + %7 = icmp eq i16 %4, 0 + %8 = icmp slt i16 %0, 0 + %9 = select i1 %8, i64 -9223372036854775808, i64 9223372036854775807 + %10 = select i1 %7, i64 %9, i64 -9223372036854775808 + br label %42 + +11: ; preds = %1 + %12 = or i16 %4, 128 + %13 = zext nneg i16 %12 to i64 + %14 = add nsw i16 %3, -134 + %15 = sext i16 %14 to i32 + %16 = icmp ugt i16 %3, 189 + br i1 %16, label %17, label %20 + +17: ; preds = %11 + %18 = icmp slt i16 %0, 0 + %19 = select i1 %18, i64 -9223372036854775808, i64 9223372036854775807 + br label %42 + +20: ; preds = %11 + %21 = icmp ugt i16 %3, 133 + br i1 %21, label %22, label %28 + +22: ; preds = %20 + %23 = zext i32 %15 to i64 + %24 = shl nuw nsw i64 %13, %23 + %25 = sub nsw i64 0, %24 + %26 = icmp slt i16 %0, 0 + %27 = select i1 %26, i64 %25, i64 %24 + br label %42 + +28: ; preds = %20 + %29 = icmp ult i16 %3, 126 + br i1 %29, label %42, label %30 + +30: ; preds = %28 + %31 = sub nsw i32 0, %15 + %32 = zext i32 %31 to i64 + %33 = shl nsw i64 -1, %32 + %34 = xor i64 %33, -1 + %35 = and i64 %13, %34 + %36 = lshr i64 %13, %32 + %37 = icmp eq i64 %35, 0 + %38 = sub nsw i64 0, %36 + %39 = icmp slt i16 %0, 0 + %40 = select i1 %39, i64 %38, i64 %36 + %41 = select i1 %37, i64 %36, i64 %40 + br label %42 + +42: ; preds = %30, %28, %22, %17, %6, %1 + %43 = phi i64 [ %10, %6 ], [ %19, %17 ], [ %27, %22 ], [ %41, %30 ], [ 0, %28 ], [ 0, %1 ] + ret i64 %43 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rd(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1732 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %45, label %3 + +3: ; preds = %1 + %4 = zext i16 %0 to i32 + br label %5 + +5: ; preds = %13, %3 + %6 = phi i64 [ 0, %3 ], [ %15, %13 ] + %7 = phi i32 [ 32768, %3 ], [ %14, %13 ] + %8 = icmp ult i64 %6, 16 + br i1 %8, label %9, label %18 + +9: ; preds = %5 + %10 = and i32 %7, 65535 + %11 = and i32 %7, %4 + %12 = icmp eq i32 %11, %10 + br i1 %12, label %16, label %13 + +13: ; preds = %9 + %14 = lshr i32 %10, 1 + %15 = add nuw nsw i64 %6, 1 + br label %5, !llvm.loop !1733 + +16: ; preds = %9 + %17 = icmp eq i64 %6, 15 + br i1 %17, label %45, label %18 + +18: ; preds = %16, %5 + %19 = sub nsw i64 15, %6 + %20 = trunc i64 %19 to i32 + %21 = shl nsw i32 -1, %20 + %22 = trunc i32 %21 to i16 + %23 = xor i16 %22, -1 + %24 = and i16 %23, %0 + %25 = trunc i64 %19 to i16 + %26 = icmp ult i64 %19, 8 + br i1 %26, label %27, label %31 + +27: ; preds = %18 + %28 = zext i16 %24 to i32 + %29 = sub i32 7, %20 + %30 = shl nuw nsw i32 %28, %29 + br label %35 + +31: ; preds = %18 + %32 = zext i16 %24 to i32 + %33 = add i32 %20, -7 + %34 = lshr i32 %32, %33 + br label %35 + +35: ; preds = %31, %27 + %36 = phi i32 [ %30, %27 ], [ %34, %31 ] + %37 = trunc i32 %36 to i16 + %38 = icmp eq i16 %37, 128 + %39 = zext i1 %38 to i16 + %40 = add i16 %25, %39 + %41 = select i1 %38, i16 0, i16 %37 + %42 = shl i16 %40, 7 + %43 = add i16 %42, 16256 + %44 = or i16 %43, %41 + br label %45 + +45: ; preds = %35, %16, %1 + %46 = phi i16 [ 0, %1 ], [ %44, %35 ], [ 16256, %16 ] + ret i16 %46 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rn(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1734 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %62, label %3 + +3: ; preds = %1 + %4 = zext i16 %0 to i32 + br label %5 + +5: ; preds = %13, %3 + %6 = phi i64 [ 0, %3 ], [ %15, %13 ] + %7 = phi i32 [ 32768, %3 ], [ %14, %13 ] + %8 = icmp ult i64 %6, 16 + br i1 %8, label %9, label %18 + +9: ; preds = %5 + %10 = and i32 %7, 65535 + %11 = and i32 %7, %4 + %12 = icmp eq i32 %11, %10 + br i1 %12, label %16, label %13 + +13: ; preds = %9 + %14 = lshr i32 %10, 1 + %15 = add nuw nsw i64 %6, 1 + br label %5, !llvm.loop !1733 + +16: ; preds = %9 + %17 = icmp eq i64 %6, 15 + br i1 %17, label %62, label %18 + +18: ; preds = %16, %5 + %19 = sub nsw i64 15, %6 + %20 = trunc i64 %19 to i32 + %21 = shl nsw i32 -1, %20 + %22 = trunc i32 %21 to i16 + %23 = xor i16 %22, -1 + %24 = and i16 %23, %0 + %25 = trunc i64 %19 to i16 + %26 = icmp ult i64 %19, 8 + br i1 %26, label %27, label %32 + +27: ; preds = %18 + %28 = zext i16 %24 to i32 + %29 = sub i32 7, %20 + %30 = shl nuw nsw i32 %28, %29 + %31 = trunc i32 %30 to i16 + br label %53 + +32: ; preds = %18 + %33 = zext i16 %24 to i32 + %34 = add i32 %20, -7 + %35 = lshr i32 %33, %34 + %36 = trunc i32 %35 to i16 + %37 = shl nsw i32 -1, %34 + %38 = trunc i32 %37 to i16 + %39 = xor i16 %38, -1 + %40 = and i16 %24, %39 + %41 = add i32 %20, -8 + %42 = shl nuw i32 1, %41 + %43 = zext i16 %40 to i32 + %44 = and i32 %42, 65535 + %45 = icmp ult i32 %44, %43 + br i1 %45, label %51, label %46 + +46: ; preds = %32 + %47 = icmp ne i32 %44, %43 + %48 = and i32 %35, 1 + %49 = icmp eq i32 %48, 0 + %50 = select i1 %47, i1 true, i1 %49 + br i1 %50, label %53, label %51 + +51: ; preds = %46, %32 + %52 = add i16 %36, 1 + br label %53 + +53: ; preds = %51, %46, %27 + %54 = phi i16 [ %31, %27 ], [ %52, %51 ], [ %36, %46 ] + %55 = icmp eq i16 %54, 128 + %56 = zext i1 %55 to i16 + %57 = add i16 %25, %56 + %58 = select i1 %55, i16 0, i16 %54 + %59 = shl i16 %57, 7 + %60 = add i16 %59, 16256 + %61 = or i16 %60, %58 + br label %62 + +62: ; preds = %53, %16, %1 + %63 = phi i16 [ 0, %1 ], [ %61, %53 ], [ 16256, %16 ] + ret i16 %63 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_ru(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1735 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %53, label %3 + +3: ; preds = %1 + %4 = zext i16 %0 to i32 + br label %5 + +5: ; preds = %13, %3 + %6 = phi i64 [ 0, %3 ], [ %15, %13 ] + %7 = phi i32 [ 32768, %3 ], [ %14, %13 ] + %8 = icmp ult i64 %6, 16 + br i1 %8, label %9, label %18 + +9: ; preds = %5 + %10 = and i32 %7, 65535 + %11 = and i32 %7, %4 + %12 = icmp eq i32 %11, %10 + br i1 %12, label %16, label %13 + +13: ; preds = %9 + %14 = lshr i32 %10, 1 + %15 = add nuw nsw i64 %6, 1 + br label %5, !llvm.loop !1733 + +16: ; preds = %9 + %17 = icmp eq i64 %6, 15 + br i1 %17, label %53, label %18 + +18: ; preds = %16, %5 + %19 = sub nsw i64 15, %6 + %20 = trunc i64 %19 to i32 + %21 = shl nsw i32 -1, %20 + %22 = trunc i32 %21 to i16 + %23 = xor i16 %22, -1 + %24 = and i16 %23, %0 + %25 = trunc i64 %19 to i16 + %26 = icmp ult i64 %19, 8 + br i1 %26, label %27, label %32 + +27: ; preds = %18 + %28 = zext i16 %24 to i32 + %29 = sub i32 7, %20 + %30 = shl nuw nsw i32 %28, %29 + %31 = trunc i32 %30 to i16 + br label %44 + +32: ; preds = %18 + %33 = zext i16 %24 to i32 + %34 = add i32 %20, -7 + %35 = lshr i32 %33, %34 + %36 = trunc i32 %35 to i16 + %37 = shl nsw i32 -1, %34 + %38 = trunc i32 %37 to i16 + %39 = xor i16 %38, -1 + %40 = and i16 %24, %39 + %41 = icmp ne i16 %40, 0 + %42 = zext i1 %41 to i16 + %43 = add i16 %36, %42 + br label %44 + +44: ; preds = %32, %27 + %45 = phi i16 [ %31, %27 ], [ %43, %32 ] + %46 = icmp eq i16 %45, 128 + %47 = zext i1 %46 to i16 + %48 = add i16 %25, %47 + %49 = select i1 %46, i16 0, i16 %45 + %50 = shl i16 %48, 7 + %51 = add i16 %50, 16256 + %52 = or i16 %51, %49 + br label %53 + +53: ; preds = %44, %16, %1 + %54 = phi i16 [ 0, %1 ], [ %52, %44 ], [ 16256, %16 ] + ret i16 %54 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ushort2bfloat16_rz(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1736 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %45, label %3 + +3: ; preds = %1 + %4 = zext i16 %0 to i32 + br label %5 + +5: ; preds = %13, %3 + %6 = phi i64 [ 0, %3 ], [ %15, %13 ] + %7 = phi i32 [ 32768, %3 ], [ %14, %13 ] + %8 = icmp ult i64 %6, 16 + br i1 %8, label %9, label %18 + +9: ; preds = %5 + %10 = and i32 %7, 65535 + %11 = and i32 %7, %4 + %12 = icmp eq i32 %11, %10 + br i1 %12, label %16, label %13 + +13: ; preds = %9 + %14 = lshr i32 %10, 1 + %15 = add nuw nsw i64 %6, 1 + br label %5, !llvm.loop !1733 + +16: ; preds = %9 + %17 = icmp eq i64 %6, 15 + br i1 %17, label %45, label %18 + +18: ; preds = %16, %5 + %19 = sub nsw i64 15, %6 + %20 = trunc i64 %19 to i32 + %21 = shl nsw i32 -1, %20 + %22 = trunc i32 %21 to i16 + %23 = xor i16 %22, -1 + %24 = and i16 %23, %0 + %25 = trunc i64 %19 to i16 + %26 = icmp ult i64 %19, 8 + br i1 %26, label %27, label %31 + +27: ; preds = %18 + %28 = zext i16 %24 to i32 + %29 = sub i32 7, %20 + %30 = shl nuw nsw i32 %28, %29 + br label %35 + +31: ; preds = %18 + %32 = zext i16 %24 to i32 + %33 = add i32 %20, -7 + %34 = lshr i32 %32, %33 + br label %35 + +35: ; preds = %31, %27 + %36 = phi i32 [ %30, %27 ], [ %34, %31 ] + %37 = trunc i32 %36 to i16 + %38 = icmp eq i16 %37, 128 + %39 = zext i1 %38 to i16 + %40 = add i16 %25, %39 + %41 = select i1 %38, i16 0, i16 %37 + %42 = shl i16 %40, 7 + %43 = add i16 %42, 16256 + %44 = or i16 %43, %41 + br label %45 + +45: ; preds = %35, %16, %1 + %46 = phi i16 [ 0, %1 ], [ %44, %35 ], [ 16256, %16 ] + ret i16 %46 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rd(i32 noundef %0) local_unnamed_addr #49 !srcloc !1737 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %36, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i32 [ %11, %10 ], [ -2147483648, %1 ] + %6 = icmp ugt i64 %4, 31 + %7 = and i32 %5, %0 + %8 = icmp eq i32 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i32 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1738 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 31 + br i1 %14, label %36, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 31, %4 + %17 = trunc i64 %16 to i32 + %18 = shl nsw i32 -1, %17 + %19 = xor i32 %18, -1 + %20 = and i32 %19, %0 + %21 = trunc i64 %16 to i16 + %22 = icmp ult i64 %16, 8 + %23 = sub i32 7, %17 + %24 = shl i32 %20, %23 + %25 = add i32 %17, -7 + %26 = lshr i32 %20, %25 + %27 = select i1 %22, i32 %24, i32 %26 + %28 = trunc i32 %27 to i16 + %29 = icmp eq i16 %28, 128 + %30 = zext i1 %29 to i16 + %31 = add i16 %21, %30 + %32 = select i1 %29, i16 0, i16 %28 + %33 = shl i16 %31, 7 + %34 = add i16 %33, 16256 + %35 = or i16 %34, %32 + br label %36 + +36: ; preds = %15, %13, %1 + %37 = phi i16 [ 0, %1 ], [ %35, %15 ], [ 16256, %13 ] + ret i16 %37 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rn(i32 noundef %0) local_unnamed_addr #49 !srcloc !1739 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %53, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i32 [ %11, %10 ], [ -2147483648, %1 ] + %6 = icmp ugt i64 %4, 31 + %7 = and i32 %5, %0 + %8 = icmp eq i32 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i32 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1738 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 31 + br i1 %14, label %53, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 31, %4 + %17 = trunc i64 %16 to i32 + %18 = shl nsw i32 -1, %17 + %19 = xor i32 %18, -1 + %20 = and i32 %19, %0 + %21 = trunc i64 %16 to i16 + %22 = icmp ult i64 %16, 8 + br i1 %22, label %23, label %27 + +23: ; preds = %15 + %24 = sub i32 7, %17 + %25 = shl i32 %20, %24 + %26 = trunc i32 %25 to i16 + br label %44 + +27: ; preds = %15 + %28 = add i32 %17, -7 + %29 = lshr i32 %20, %28 + %30 = trunc i32 %29 to i16 + %31 = shl nsw i32 -1, %28 + %32 = xor i32 %31, -1 + %33 = and i32 %20, %32 + %34 = add i32 %17, -8 + %35 = shl nuw i32 1, %34 + %36 = icmp ugt i32 %33, %35 + br i1 %36, label %42, label %37 + +37: ; preds = %27 + %38 = icmp ne i32 %33, %35 + %39 = and i32 %29, 1 + %40 = icmp eq i32 %39, 0 + %41 = select i1 %38, i1 true, i1 %40 + br i1 %41, label %44, label %42 + +42: ; preds = %37, %27 + %43 = add i16 %30, 1 + br label %44 + +44: ; preds = %42, %37, %23 + %45 = phi i16 [ %26, %23 ], [ %43, %42 ], [ %30, %37 ] + %46 = icmp eq i16 %45, 128 + %47 = zext i1 %46 to i16 + %48 = add i16 %21, %47 + %49 = select i1 %46, i16 0, i16 %45 + %50 = shl i16 %48, 7 + %51 = add i16 %50, 16256 + %52 = or i16 %51, %49 + br label %53 + +53: ; preds = %44, %13, %1 + %54 = phi i16 [ 0, %1 ], [ %52, %44 ], [ 16256, %13 ] + ret i16 %54 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_ru(i32 noundef %0) local_unnamed_addr #49 !srcloc !1740 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %46, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i32 [ %11, %10 ], [ -2147483648, %1 ] + %6 = icmp ugt i64 %4, 31 + %7 = and i32 %5, %0 + %8 = icmp eq i32 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i32 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1738 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 31 + br i1 %14, label %46, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 31, %4 + %17 = trunc i64 %16 to i32 + %18 = shl nsw i32 -1, %17 + %19 = xor i32 %18, -1 + %20 = and i32 %19, %0 + %21 = trunc i64 %16 to i16 + %22 = icmp ult i64 %16, 8 + br i1 %22, label %23, label %27 + +23: ; preds = %15 + %24 = sub i32 7, %17 + %25 = shl i32 %20, %24 + %26 = trunc i32 %25 to i16 + br label %37 + +27: ; preds = %15 + %28 = add i32 %17, -7 + %29 = lshr i32 %20, %28 + %30 = trunc i32 %29 to i16 + %31 = shl nsw i32 -1, %28 + %32 = xor i32 %31, -1 + %33 = and i32 %20, %32 + %34 = icmp ne i32 %33, 0 + %35 = zext i1 %34 to i16 + %36 = add i16 %30, %35 + br label %37 + +37: ; preds = %27, %23 + %38 = phi i16 [ %26, %23 ], [ %36, %27 ] + %39 = icmp eq i16 %38, 128 + %40 = zext i1 %39 to i16 + %41 = add i16 %21, %40 + %42 = select i1 %39, i16 0, i16 %38 + %43 = shl i16 %41, 7 + %44 = add i16 %43, 16256 + %45 = or i16 %44, %42 + br label %46 + +46: ; preds = %37, %13, %1 + %47 = phi i16 [ 0, %1 ], [ %45, %37 ], [ 16256, %13 ] + ret i16 %47 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_uint2bfloat16_rz(i32 noundef %0) local_unnamed_addr #49 !srcloc !1741 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %36, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i32 [ %11, %10 ], [ -2147483648, %1 ] + %6 = icmp ugt i64 %4, 31 + %7 = and i32 %5, %0 + %8 = icmp eq i32 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i32 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1738 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 31 + br i1 %14, label %36, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 31, %4 + %17 = trunc i64 %16 to i32 + %18 = shl nsw i32 -1, %17 + %19 = xor i32 %18, -1 + %20 = and i32 %19, %0 + %21 = trunc i64 %16 to i16 + %22 = icmp ult i64 %16, 8 + %23 = sub i32 7, %17 + %24 = shl i32 %20, %23 + %25 = add i32 %17, -7 + %26 = lshr i32 %20, %25 + %27 = select i1 %22, i32 %24, i32 %26 + %28 = trunc i32 %27 to i16 + %29 = icmp eq i16 %28, 128 + %30 = zext i1 %29 to i16 + %31 = add i16 %21, %30 + %32 = select i1 %29, i16 0, i16 %28 + %33 = shl i16 %31, 7 + %34 = add i16 %33, 16256 + %35 = or i16 %34, %32 + br label %36 + +36: ; preds = %15, %13, %1 + %37 = phi i16 [ 0, %1 ], [ %35, %15 ], [ 16256, %13 ] + ret i16 %37 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rd(i64 noundef %0) local_unnamed_addr #49 !srcloc !1742 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %35, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i64 [ %11, %10 ], [ -9223372036854775808, %1 ] + %6 = icmp ugt i64 %4, 63 + %7 = and i64 %5, %0 + %8 = icmp eq i64 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i64 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1743 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 63 + br i1 %14, label %35, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 63, %4 + %17 = shl nsw i64 -1, %16 + %18 = xor i64 %17, -1 + %19 = and i64 %18, %0 + %20 = trunc i64 %16 to i16 + %21 = icmp ult i64 %16, 8 + %22 = add nsw i64 %4, -56 + %23 = shl i64 %19, %22 + %24 = sub nsw i64 56, %4 + %25 = lshr i64 %19, %24 + %26 = select i1 %21, i64 %23, i64 %25 + %27 = trunc i64 %26 to i16 + %28 = icmp eq i16 %27, 128 + %29 = zext i1 %28 to i16 + %30 = add i16 %20, %29 + %31 = select i1 %28, i16 0, i16 %27 + %32 = shl i16 %30, 7 + %33 = add i16 %32, 16256 + %34 = or i16 %33, %31 + br label %35 + +35: ; preds = %15, %13, %1 + %36 = phi i16 [ 0, %1 ], [ %34, %15 ], [ 16256, %13 ] + ret i16 %36 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rn(i64 noundef %0) local_unnamed_addr #49 !srcloc !1744 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %52, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i64 [ %11, %10 ], [ -9223372036854775808, %1 ] + %6 = icmp ugt i64 %4, 63 + %7 = and i64 %5, %0 + %8 = icmp eq i64 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i64 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1743 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 63 + br i1 %14, label %52, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 63, %4 + %17 = shl nsw i64 -1, %16 + %18 = xor i64 %17, -1 + %19 = and i64 %18, %0 + %20 = trunc i64 %16 to i16 + %21 = icmp ult i64 %16, 8 + br i1 %21, label %22, label %26 + +22: ; preds = %15 + %23 = add nsw i64 %4, -56 + %24 = shl i64 %19, %23 + %25 = trunc i64 %24 to i16 + br label %43 + +26: ; preds = %15 + %27 = sub nsw i64 56, %4 + %28 = lshr i64 %19, %27 + %29 = trunc i64 %28 to i16 + %30 = shl nsw i64 -1, %27 + %31 = xor i64 %30, -1 + %32 = and i64 %19, %31 + %33 = sub nsw i64 55, %4 + %34 = shl nuw i64 1, %33 + %35 = icmp ugt i64 %32, %34 + br i1 %35, label %41, label %36 + +36: ; preds = %26 + %37 = icmp ne i64 %32, %34 + %38 = and i64 %28, 1 + %39 = icmp eq i64 %38, 0 + %40 = select i1 %37, i1 true, i1 %39 + br i1 %40, label %43, label %41 + +41: ; preds = %36, %26 + %42 = add i16 %29, 1 + br label %43 + +43: ; preds = %41, %36, %22 + %44 = phi i16 [ %25, %22 ], [ %42, %41 ], [ %29, %36 ] + %45 = icmp eq i16 %44, 128 + %46 = zext i1 %45 to i16 + %47 = add i16 %20, %46 + %48 = select i1 %45, i16 0, i16 %44 + %49 = shl i16 %47, 7 + %50 = add i16 %49, 16256 + %51 = or i16 %50, %48 + br label %52 + +52: ; preds = %43, %13, %1 + %53 = phi i16 [ 0, %1 ], [ %51, %43 ], [ 16256, %13 ] + ret i16 %53 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_ru(i64 noundef %0) local_unnamed_addr #49 !srcloc !769 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %45, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i64 [ %11, %10 ], [ -9223372036854775808, %1 ] + %6 = icmp ugt i64 %4, 63 + %7 = and i64 %5, %0 + %8 = icmp eq i64 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i64 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1743 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 63 + br i1 %14, label %45, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 63, %4 + %17 = shl nsw i64 -1, %16 + %18 = xor i64 %17, -1 + %19 = and i64 %18, %0 + %20 = trunc i64 %16 to i16 + %21 = icmp ult i64 %16, 8 + br i1 %21, label %22, label %26 + +22: ; preds = %15 + %23 = add nsw i64 %4, -56 + %24 = shl i64 %19, %23 + %25 = trunc i64 %24 to i16 + br label %36 + +26: ; preds = %15 + %27 = sub nsw i64 56, %4 + %28 = lshr i64 %19, %27 + %29 = trunc i64 %28 to i16 + %30 = shl nsw i64 -1, %27 + %31 = xor i64 %30, -1 + %32 = and i64 %19, %31 + %33 = icmp ne i64 %32, 0 + %34 = zext i1 %33 to i16 + %35 = add i16 %29, %34 + br label %36 + +36: ; preds = %26, %22 + %37 = phi i16 [ %25, %22 ], [ %35, %26 ] + %38 = icmp eq i16 %37, 128 + %39 = zext i1 %38 to i16 + %40 = add i16 %20, %39 + %41 = select i1 %38, i16 0, i16 %37 + %42 = shl i16 %40, 7 + %43 = add i16 %42, 16256 + %44 = or i16 %43, %41 + br label %45 + +45: ; preds = %36, %13, %1 + %46 = phi i16 [ 0, %1 ], [ %44, %36 ], [ 16256, %13 ] + ret i16 %46 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ull2bfloat16_rz(i64 noundef %0) local_unnamed_addr #49 !srcloc !1745 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %35, label %3 + +3: ; preds = %10, %1 + %4 = phi i64 [ %12, %10 ], [ 0, %1 ] + %5 = phi i64 [ %11, %10 ], [ -9223372036854775808, %1 ] + %6 = icmp ugt i64 %4, 63 + %7 = and i64 %5, %0 + %8 = icmp eq i64 %7, %5 + %9 = select i1 %6, i1 true, i1 %8 + br i1 %9, label %13, label %10 + +10: ; preds = %3 + %11 = lshr i64 %5, 1 + %12 = add nuw nsw i64 %4, 1 + br label %3, !llvm.loop !1743 + +13: ; preds = %3 + %14 = icmp eq i64 %4, 63 + br i1 %14, label %35, label %15 + +15: ; preds = %13 + %16 = sub nsw i64 63, %4 + %17 = shl nsw i64 -1, %16 + %18 = xor i64 %17, -1 + %19 = and i64 %18, %0 + %20 = trunc i64 %16 to i16 + %21 = icmp ult i64 %16, 8 + %22 = add nsw i64 %4, -56 + %23 = shl i64 %19, %22 + %24 = sub nsw i64 56, %4 + %25 = lshr i64 %19, %24 + %26 = select i1 %21, i64 %23, i64 %25 + %27 = trunc i64 %26 to i16 + %28 = icmp eq i16 %27, 128 + %29 = zext i1 %28 to i16 + %30 = add i16 %20, %29 + %31 = select i1 %28, i16 0, i16 %27 + %32 = shl i16 %30, 7 + %33 = add i16 %32, 16256 + %34 = or i16 %33, %31 + br label %35 + +35: ; preds = %15, %13, %1 + %36 = phi i16 [ 0, %1 ], [ %34, %15 ], [ 16256, %13 ] + ret i16 %36 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rd(i16 noundef signext %0) local_unnamed_addr #49 !srcloc !1746 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %60, label %3 + +3: ; preds = %1 + %4 = and i16 %0, -32768 + %5 = tail call i16 @llvm.abs.i16(i16 %0, i1 false) + %6 = zext i16 %5 to i32 + br label %7 + +7: ; preds = %15, %3 + %8 = phi i64 [ 0, %3 ], [ %17, %15 ] + %9 = phi i32 [ 32768, %3 ], [ %16, %15 ] + %10 = icmp ult i64 %8, 16 + br i1 %10, label %11, label %22 + +11: ; preds = %7 + %12 = and i32 %9, 65535 + %13 = and i32 %9, %6 + %14 = icmp eq i32 %13, %12 + br i1 %14, label %18, label %15 + +15: ; preds = %11 + %16 = lshr i32 %12, 1 + %17 = add nuw nsw i64 %8, 1 + br label %7, !llvm.loop !1733 + +18: ; preds = %11 + %19 = icmp eq i64 %8, 15 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %4, 16256 + br label %60 + +22: ; preds = %18, %7 + %23 = sub nsw i64 15, %8 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = trunc i32 %25 to i16 + %27 = xor i16 %26, -1 + %28 = and i16 %5, %27 + %29 = trunc i64 %23 to i16 + %30 = icmp ult i64 %23, 8 + br i1 %30, label %31, label %36 + +31: ; preds = %22 + %32 = zext i16 %28 to i32 + %33 = sub i32 7, %24 + %34 = shl nuw nsw i32 %32, %33 + %35 = trunc i32 %34 to i16 + br label %50 + +36: ; preds = %22 + %37 = zext i16 %28 to i32 + %38 = add i32 %24, -7 + %39 = lshr i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = shl nsw i32 -1, %38 + %42 = trunc i32 %41 to i16 + %43 = xor i16 %42, -1 + %44 = and i16 %28, %43 + %45 = icmp ne i16 %44, 0 + %46 = icmp ne i16 %4, 0 + %47 = and i1 %45, %46 + %48 = zext i1 %47 to i16 + %49 = add nuw i16 %40, %48 + br label %50 + +50: ; preds = %36, %31 + %51 = phi i16 [ %35, %31 ], [ %49, %36 ] + %52 = icmp eq i16 %51, 128 + %53 = zext i1 %52 to i16 + %54 = add i16 %29, %53 + %55 = select i1 %52, i16 0, i16 %51 + %56 = shl i16 %54, 7 + %57 = add i16 %56, 16256 + %58 = or i16 %57, %55 + %59 = or i16 %58, %4 + br label %60 + +60: ; preds = %50, %20, %1 + %61 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %59, %50 ] + ret i16 %61 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rn(i16 noundef signext %0) local_unnamed_addr #49 !srcloc !1747 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %67, label %3 + +3: ; preds = %1 + %4 = and i16 %0, -32768 + %5 = tail call i16 @llvm.abs.i16(i16 %0, i1 false) + %6 = zext i16 %5 to i32 + br label %7 + +7: ; preds = %15, %3 + %8 = phi i64 [ 0, %3 ], [ %17, %15 ] + %9 = phi i32 [ 32768, %3 ], [ %16, %15 ] + %10 = icmp ult i64 %8, 16 + br i1 %10, label %11, label %22 + +11: ; preds = %7 + %12 = and i32 %9, 65535 + %13 = and i32 %9, %6 + %14 = icmp eq i32 %13, %12 + br i1 %14, label %18, label %15 + +15: ; preds = %11 + %16 = lshr i32 %12, 1 + %17 = add nuw nsw i64 %8, 1 + br label %7, !llvm.loop !1733 + +18: ; preds = %11 + %19 = icmp eq i64 %8, 15 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %4, 16256 + br label %67 + +22: ; preds = %18, %7 + %23 = sub nsw i64 15, %8 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = trunc i32 %25 to i16 + %27 = xor i16 %26, -1 + %28 = and i16 %5, %27 + %29 = trunc i64 %23 to i16 + %30 = icmp ult i64 %23, 8 + br i1 %30, label %31, label %36 + +31: ; preds = %22 + %32 = zext i16 %28 to i32 + %33 = sub i32 7, %24 + %34 = shl nuw nsw i32 %32, %33 + %35 = trunc i32 %34 to i16 + br label %57 + +36: ; preds = %22 + %37 = zext i16 %28 to i32 + %38 = add i32 %24, -7 + %39 = lshr i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = shl nsw i32 -1, %38 + %42 = trunc i32 %41 to i16 + %43 = xor i16 %42, -1 + %44 = and i16 %28, %43 + %45 = add i32 %24, -8 + %46 = sext i16 %44 to i32 + %47 = shl i32 65536, %45 + %48 = ashr exact i32 %47, 16 + %49 = icmp slt i32 %48, %46 + br i1 %49, label %55, label %50 + +50: ; preds = %36 + %51 = icmp ne i32 %48, %46 + %52 = and i32 %39, 1 + %53 = icmp eq i32 %52, 0 + %54 = select i1 %51, i1 true, i1 %53 + br i1 %54, label %57, label %55 + +55: ; preds = %50, %36 + %56 = add nuw i16 %40, 1 + br label %57 + +57: ; preds = %55, %50, %31 + %58 = phi i16 [ %35, %31 ], [ %56, %55 ], [ %40, %50 ] + %59 = icmp eq i16 %58, 128 + %60 = zext i1 %59 to i16 + %61 = add i16 %29, %60 + %62 = select i1 %59, i16 0, i16 %58 + %63 = shl i16 %61, 7 + %64 = add i16 %63, 16256 + %65 = or i16 %64, %62 + %66 = or i16 %65, %4 + br label %67 + +67: ; preds = %57, %20, %1 + %68 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %66, %57 ] + ret i16 %68 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_short2bfloat16_ru(i16 noundef signext %0) local_unnamed_addr #49 !srcloc !1748 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %60, label %3 + +3: ; preds = %1 + %4 = and i16 %0, -32768 + %5 = tail call i16 @llvm.abs.i16(i16 %0, i1 false) + %6 = zext i16 %5 to i32 + br label %7 + +7: ; preds = %15, %3 + %8 = phi i64 [ 0, %3 ], [ %17, %15 ] + %9 = phi i32 [ 32768, %3 ], [ %16, %15 ] + %10 = icmp ult i64 %8, 16 + br i1 %10, label %11, label %22 + +11: ; preds = %7 + %12 = and i32 %9, 65535 + %13 = and i32 %9, %6 + %14 = icmp eq i32 %13, %12 + br i1 %14, label %18, label %15 + +15: ; preds = %11 + %16 = lshr i32 %12, 1 + %17 = add nuw nsw i64 %8, 1 + br label %7, !llvm.loop !1733 + +18: ; preds = %11 + %19 = icmp eq i64 %8, 15 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %4, 16256 + br label %60 + +22: ; preds = %18, %7 + %23 = sub nsw i64 15, %8 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = trunc i32 %25 to i16 + %27 = xor i16 %26, -1 + %28 = and i16 %5, %27 + %29 = trunc i64 %23 to i16 + %30 = icmp ult i64 %23, 8 + br i1 %30, label %31, label %36 + +31: ; preds = %22 + %32 = zext i16 %28 to i32 + %33 = sub i32 7, %24 + %34 = shl nuw nsw i32 %32, %33 + %35 = trunc i32 %34 to i16 + br label %50 + +36: ; preds = %22 + %37 = zext i16 %28 to i32 + %38 = add i32 %24, -7 + %39 = lshr i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = shl nsw i32 -1, %38 + %42 = trunc i32 %41 to i16 + %43 = xor i16 %42, -1 + %44 = and i16 %28, %43 + %45 = icmp ne i16 %44, 0 + %46 = icmp eq i16 %4, 0 + %47 = and i1 %45, %46 + %48 = zext i1 %47 to i16 + %49 = add nuw i16 %40, %48 + br label %50 + +50: ; preds = %36, %31 + %51 = phi i16 [ %35, %31 ], [ %49, %36 ] + %52 = icmp eq i16 %51, 128 + %53 = zext i1 %52 to i16 + %54 = add i16 %29, %53 + %55 = select i1 %52, i16 0, i16 %51 + %56 = shl i16 %54, 7 + %57 = add i16 %56, 16256 + %58 = or i16 %57, %55 + %59 = or i16 %58, %4 + br label %60 + +60: ; preds = %50, %20, %1 + %61 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %59, %50 ] + ret i16 %61 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_short2bfloat16_rz(i16 noundef signext %0) local_unnamed_addr #49 !srcloc !1749 { + %2 = icmp eq i16 %0, 0 + br i1 %2, label %50, label %3 + +3: ; preds = %1 + %4 = and i16 %0, -32768 + %5 = tail call i16 @llvm.abs.i16(i16 %0, i1 false) + %6 = zext i16 %5 to i32 + br label %7 + +7: ; preds = %15, %3 + %8 = phi i64 [ 0, %3 ], [ %17, %15 ] + %9 = phi i32 [ 32768, %3 ], [ %16, %15 ] + %10 = icmp ult i64 %8, 16 + br i1 %10, label %11, label %22 + +11: ; preds = %7 + %12 = and i32 %9, 65535 + %13 = and i32 %9, %6 + %14 = icmp eq i32 %13, %12 + br i1 %14, label %18, label %15 + +15: ; preds = %11 + %16 = lshr i32 %12, 1 + %17 = add nuw nsw i64 %8, 1 + br label %7, !llvm.loop !1733 + +18: ; preds = %11 + %19 = icmp eq i64 %8, 15 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %4, 16256 + br label %50 + +22: ; preds = %18, %7 + %23 = sub nsw i64 15, %8 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = trunc i32 %25 to i16 + %27 = xor i16 %26, -1 + %28 = and i16 %5, %27 + %29 = trunc i64 %23 to i16 + %30 = icmp ult i64 %23, 8 + br i1 %30, label %31, label %35 + +31: ; preds = %22 + %32 = zext i16 %28 to i32 + %33 = sub i32 7, %24 + %34 = shl nuw nsw i32 %32, %33 + br label %39 + +35: ; preds = %22 + %36 = zext i16 %28 to i32 + %37 = add i32 %24, -7 + %38 = lshr i32 %36, %37 + br label %39 + +39: ; preds = %35, %31 + %40 = phi i32 [ %34, %31 ], [ %38, %35 ] + %41 = trunc i32 %40 to i16 + %42 = icmp eq i16 %41, 128 + %43 = zext i1 %42 to i16 + %44 = add i16 %29, %43 + %45 = select i1 %42, i16 0, i16 %41 + %46 = shl i16 %44, 7 + %47 = add i16 %46, 16256 + %48 = or i16 %47, %45 + %49 = or i16 %48, %4 + br label %50 + +50: ; preds = %39, %20, %1 + %51 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %49, %39 ] + ret i16 %51 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rd(i32 noundef %0) local_unnamed_addr #49 !srcloc !1750 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %57, label %3 + +3: ; preds = %1 + %4 = lshr i32 %0, 16 + %5 = trunc i32 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i32 [ -2147483648, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 31 + %12 = and i32 %7, %10 + %13 = icmp eq i32 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i32 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1738 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 31 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %57 + +22: ; preds = %18 + %23 = sub nsw i64 31, %9 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = xor i32 %25, -1 + %27 = and i32 %7, %26 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = sub i32 7, %24 + %31 = shl i32 %27, %30 + %32 = trunc i32 %31 to i16 + br label %45 + +33: ; preds = %22 + %34 = add i32 %24, -7 + %35 = lshr i32 %27, %34 + %36 = trunc i32 %35 to i16 + %37 = shl nsw i32 -1, %34 + %38 = xor i32 %37, -1 + %39 = and i32 %27, %38 + %40 = icmp ne i32 %39, 0 + %41 = icmp ne i16 %6, 0 + %42 = and i1 %40, %41 + %43 = zext i1 %42 to i16 + %44 = add i16 %36, %43 + br label %45 + +45: ; preds = %33, %29 + %46 = phi i16 [ %32, %29 ], [ %44, %33 ] + %47 = icmp eq i16 %46, 128 + %48 = zext i1 %47 to i32 + %49 = add i32 %24, %48 + %50 = select i1 %47, i16 0, i16 %46 + %51 = and i32 %4, 32768 + %52 = shl i32 %49, 7 + %53 = add i32 %52, 16256 + %54 = or i32 %51, %53 + %55 = trunc i32 %54 to i16 + %56 = or i16 %50, %55 + br label %57 + +57: ; preds = %45, %20, %1 + %58 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %56, %45 ] + ret i16 %58 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rn(i32 noundef %0) local_unnamed_addr #49 !srcloc !1751 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %62, label %3 + +3: ; preds = %1 + %4 = lshr i32 %0, 16 + %5 = trunc i32 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i32 [ -2147483648, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 31 + %12 = and i32 %7, %10 + %13 = icmp eq i32 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i32 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1738 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 31 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %62 + +22: ; preds = %18 + %23 = sub nsw i64 31, %9 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = xor i32 %25, -1 + %27 = and i32 %7, %26 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = sub i32 7, %24 + %31 = shl i32 %27, %30 + %32 = trunc i32 %31 to i16 + br label %50 + +33: ; preds = %22 + %34 = add i32 %24, -7 + %35 = lshr i32 %27, %34 + %36 = trunc i32 %35 to i16 + %37 = shl nsw i32 -1, %34 + %38 = xor i32 %37, -1 + %39 = and i32 %27, %38 + %40 = add i32 %24, -8 + %41 = shl nuw i32 1, %40 + %42 = icmp sgt i32 %39, %41 + br i1 %42, label %48, label %43 + +43: ; preds = %33 + %44 = icmp ne i32 %39, %41 + %45 = and i32 %35, 1 + %46 = icmp eq i32 %45, 0 + %47 = select i1 %44, i1 true, i1 %46 + br i1 %47, label %50, label %48 + +48: ; preds = %43, %33 + %49 = add i16 %36, 1 + br label %50 + +50: ; preds = %48, %43, %29 + %51 = phi i16 [ %32, %29 ], [ %49, %48 ], [ %36, %43 ] + %52 = icmp eq i16 %51, 128 + %53 = zext i1 %52 to i32 + %54 = add i32 %24, %53 + %55 = select i1 %52, i16 0, i16 %51 + %56 = and i32 %4, 32768 + %57 = shl i32 %54, 7 + %58 = add i32 %57, 16256 + %59 = or i32 %56, %58 + %60 = trunc i32 %59 to i16 + %61 = or i16 %55, %60 + br label %62 + +62: ; preds = %50, %20, %1 + %63 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %61, %50 ] + ret i16 %63 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_int2bfloat16_ru(i32 noundef %0) local_unnamed_addr #49 !srcloc !1752 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %57, label %3 + +3: ; preds = %1 + %4 = lshr i32 %0, 16 + %5 = trunc i32 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i32 [ -2147483648, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 31 + %12 = and i32 %7, %10 + %13 = icmp eq i32 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i32 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1738 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 31 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %57 + +22: ; preds = %18 + %23 = sub nsw i64 31, %9 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = xor i32 %25, -1 + %27 = and i32 %7, %26 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = sub i32 7, %24 + %31 = shl i32 %27, %30 + %32 = trunc i32 %31 to i16 + br label %45 + +33: ; preds = %22 + %34 = add i32 %24, -7 + %35 = lshr i32 %27, %34 + %36 = trunc i32 %35 to i16 + %37 = shl nsw i32 -1, %34 + %38 = xor i32 %37, -1 + %39 = and i32 %27, %38 + %40 = icmp ne i32 %39, 0 + %41 = icmp eq i16 %6, 0 + %42 = and i1 %40, %41 + %43 = zext i1 %42 to i16 + %44 = add i16 %36, %43 + br label %45 + +45: ; preds = %33, %29 + %46 = phi i16 [ %32, %29 ], [ %44, %33 ] + %47 = icmp eq i16 %46, 128 + %48 = zext i1 %47 to i32 + %49 = add i32 %24, %48 + %50 = select i1 %47, i16 0, i16 %46 + %51 = and i32 %4, 32768 + %52 = shl i32 %49, 7 + %53 = add i32 %52, 16256 + %54 = or i32 %51, %53 + %55 = trunc i32 %54 to i16 + %56 = or i16 %50, %55 + br label %57 + +57: ; preds = %45, %20, %1 + %58 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %56, %45 ] + ret i16 %58 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_int2bfloat16_rz(i32 noundef %0) local_unnamed_addr #49 !srcloc !1753 { + %2 = icmp eq i32 %0, 0 + br i1 %2, label %45, label %3 + +3: ; preds = %1 + %4 = lshr i32 %0, 16 + %5 = trunc i32 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i32 @llvm.abs.i32(i32 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i32 [ -2147483648, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 31 + %12 = and i32 %7, %10 + %13 = icmp eq i32 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i32 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1738 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 31 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %45 + +22: ; preds = %18 + %23 = sub nsw i64 31, %9 + %24 = trunc i64 %23 to i32 + %25 = shl nsw i32 -1, %24 + %26 = xor i32 %25, -1 + %27 = and i32 %7, %26 + %28 = icmp ult i64 %23, 8 + %29 = sub i32 7, %24 + %30 = shl i32 %27, %29 + %31 = add i32 %24, -7 + %32 = lshr i32 %27, %31 + %33 = select i1 %28, i32 %30, i32 %32 + %34 = trunc i32 %33 to i16 + %35 = icmp eq i16 %34, 128 + %36 = zext i1 %35 to i32 + %37 = add i32 %24, %36 + %38 = select i1 %35, i16 0, i16 %34 + %39 = and i32 %4, 32768 + %40 = shl i32 %37, 7 + %41 = add i32 %40, 16256 + %42 = or i32 %39, %41 + %43 = trunc i32 %42 to i16 + %44 = or i16 %38, %43 + br label %45 + +45: ; preds = %22, %20, %1 + %46 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %44, %22 ] + ret i16 %46 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rd(i64 noundef %0) local_unnamed_addr #49 !srcloc !1754 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %55, label %3 + +3: ; preds = %1 + %4 = lshr i64 %0, 48 + %5 = trunc i64 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i64 [ -9223372036854775808, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 63 + %12 = and i64 %7, %10 + %13 = icmp eq i64 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i64 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1755 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 63 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %55 + +22: ; preds = %18 + %23 = sub nsw i64 63, %9 + %24 = shl nsw i64 -1, %23 + %25 = xor i64 %24, -1 + %26 = and i64 %7, %25 + %27 = trunc i64 %23 to i16 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = add nsw i64 %9, -56 + %31 = shl i64 %26, %30 + %32 = trunc i64 %31 to i16 + br label %45 + +33: ; preds = %22 + %34 = sub nsw i64 56, %9 + %35 = lshr i64 %26, %34 + %36 = trunc i64 %35 to i16 + %37 = shl nsw i64 -1, %34 + %38 = xor i64 %37, -1 + %39 = and i64 %26, %38 + %40 = icmp ne i64 %39, 0 + %41 = icmp ne i16 %6, 0 + %42 = and i1 %40, %41 + %43 = zext i1 %42 to i16 + %44 = add i16 %36, %43 + br label %45 + +45: ; preds = %33, %29 + %46 = phi i16 [ %32, %29 ], [ %44, %33 ] + %47 = icmp eq i16 %46, 128 + %48 = zext i1 %47 to i16 + %49 = add i16 %27, %48 + %50 = select i1 %47, i16 0, i16 %46 + %51 = shl i16 %49, 7 + %52 = add i16 %51, 16256 + %53 = or i16 %52, %50 + %54 = or i16 %53, %6 + br label %55 + +55: ; preds = %45, %20, %1 + %56 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %54, %45 ] + ret i16 %56 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rn(i64 noundef %0) local_unnamed_addr #49 !srcloc !1756 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %60, label %3 + +3: ; preds = %1 + %4 = lshr i64 %0, 48 + %5 = trunc i64 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i64 [ -9223372036854775808, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 63 + %12 = and i64 %7, %10 + %13 = icmp eq i64 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i64 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1755 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 63 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %60 + +22: ; preds = %18 + %23 = sub nsw i64 63, %9 + %24 = shl nsw i64 -1, %23 + %25 = xor i64 %24, -1 + %26 = and i64 %7, %25 + %27 = trunc i64 %23 to i16 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = add nsw i64 %9, -56 + %31 = shl i64 %26, %30 + %32 = trunc i64 %31 to i16 + br label %50 + +33: ; preds = %22 + %34 = sub nsw i64 56, %9 + %35 = lshr i64 %26, %34 + %36 = trunc i64 %35 to i16 + %37 = shl nsw i64 -1, %34 + %38 = xor i64 %37, -1 + %39 = and i64 %26, %38 + %40 = sub nsw i64 55, %9 + %41 = shl nuw i64 1, %40 + %42 = icmp sgt i64 %39, %41 + br i1 %42, label %48, label %43 + +43: ; preds = %33 + %44 = icmp ne i64 %39, %41 + %45 = and i64 %35, 1 + %46 = icmp eq i64 %45, 0 + %47 = select i1 %44, i1 true, i1 %46 + br i1 %47, label %50, label %48 + +48: ; preds = %43, %33 + %49 = add i16 %36, 1 + br label %50 + +50: ; preds = %48, %43, %29 + %51 = phi i16 [ %32, %29 ], [ %49, %48 ], [ %36, %43 ] + %52 = icmp eq i16 %51, 128 + %53 = zext i1 %52 to i16 + %54 = add i16 %27, %53 + %55 = select i1 %52, i16 0, i16 %51 + %56 = shl i16 %54, 7 + %57 = add i16 %56, 16256 + %58 = or i16 %57, %55 + %59 = or i16 %58, %6 + br label %60 + +60: ; preds = %50, %20, %1 + %61 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %59, %50 ] + ret i16 %61 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_ru(i64 noundef %0) local_unnamed_addr #49 !srcloc !1757 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %55, label %3 + +3: ; preds = %1 + %4 = lshr i64 %0, 48 + %5 = trunc i64 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i64 [ -9223372036854775808, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 63 + %12 = and i64 %7, %10 + %13 = icmp eq i64 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i64 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1755 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 63 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %55 + +22: ; preds = %18 + %23 = sub nsw i64 63, %9 + %24 = shl nsw i64 -1, %23 + %25 = xor i64 %24, -1 + %26 = and i64 %7, %25 + %27 = trunc i64 %23 to i16 + %28 = icmp ult i64 %23, 8 + br i1 %28, label %29, label %33 + +29: ; preds = %22 + %30 = add nsw i64 %9, -56 + %31 = shl i64 %26, %30 + %32 = trunc i64 %31 to i16 + br label %45 + +33: ; preds = %22 + %34 = sub nsw i64 56, %9 + %35 = lshr i64 %26, %34 + %36 = trunc i64 %35 to i16 + %37 = shl nsw i64 -1, %34 + %38 = xor i64 %37, -1 + %39 = and i64 %26, %38 + %40 = icmp ne i64 %39, 0 + %41 = icmp eq i16 %6, 0 + %42 = and i1 %40, %41 + %43 = zext i1 %42 to i16 + %44 = add i16 %36, %43 + br label %45 + +45: ; preds = %33, %29 + %46 = phi i16 [ %32, %29 ], [ %44, %33 ] + %47 = icmp eq i16 %46, 128 + %48 = zext i1 %47 to i16 + %49 = add i16 %27, %48 + %50 = select i1 %47, i16 0, i16 %46 + %51 = shl i16 %49, 7 + %52 = add i16 %51, 16256 + %53 = or i16 %52, %50 + %54 = or i16 %53, %6 + br label %55 + +55: ; preds = %45, %20, %1 + %56 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %54, %45 ] + ret i16 %56 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ll2bfloat16_rz(i64 noundef %0) local_unnamed_addr #49 !srcloc !1758 { + %2 = icmp eq i64 %0, 0 + br i1 %2, label %43, label %3 + +3: ; preds = %1 + %4 = lshr i64 %0, 48 + %5 = trunc i64 %4 to i16 + %6 = and i16 %5, -32768 + %7 = tail call i64 @llvm.abs.i64(i64 %0, i1 true) + br label %8 + +8: ; preds = %15, %3 + %9 = phi i64 [ 0, %3 ], [ %17, %15 ] + %10 = phi i64 [ -9223372036854775808, %3 ], [ %16, %15 ] + %11 = icmp ugt i64 %9, 63 + %12 = and i64 %7, %10 + %13 = icmp eq i64 %12, %10 + %14 = select i1 %11, i1 true, i1 %13 + br i1 %14, label %18, label %15 + +15: ; preds = %8 + %16 = lshr i64 %10, 1 + %17 = add nuw nsw i64 %9, 1 + br label %8, !llvm.loop !1755 + +18: ; preds = %8 + %19 = icmp eq i64 %9, 63 + br i1 %19, label %20, label %22 + +20: ; preds = %18 + %21 = or i16 %6, 16256 + br label %43 + +22: ; preds = %18 + %23 = sub nsw i64 63, %9 + %24 = shl nsw i64 -1, %23 + %25 = xor i64 %24, -1 + %26 = and i64 %7, %25 + %27 = trunc i64 %23 to i16 + %28 = icmp ult i64 %23, 8 + %29 = add nsw i64 %9, -56 + %30 = shl i64 %26, %29 + %31 = sub nsw i64 56, %9 + %32 = lshr i64 %26, %31 + %33 = select i1 %28, i64 %30, i64 %32 + %34 = trunc i64 %33 to i16 + %35 = icmp eq i16 %34, 128 + %36 = zext i1 %35 to i16 + %37 = add i16 %27, %36 + %38 = select i1 %35, i16 0, i16 %34 + %39 = shl i16 %37, 7 + %40 = add i16 %39, 16256 + %41 = or i16 %40, %38 + %42 = or i16 %41, %6 + br label %43 + +43: ; preds = %22, %20, %1 + %44 = phi i16 [ 0, %1 ], [ %21, %20 ], [ %42, %22 ] + ret i16 %44 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func signext i16 @__devicelib_imf_bfloat16_as_short(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1759 { + ret i16 %0 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_bfloat16_as_ushort(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1760 { + ret i16 %0 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_short_as_bfloat16(i16 noundef signext %0) local_unnamed_addr #49 !srcloc !1761 { + ret i16 %0 +} + +; Function Attrs: alwaysinline mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ushort_as_bfloat16(i16 noundef zeroext %0) local_unnamed_addr #49 !srcloc !1762 { + ret i16 %0 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_fmabf16(i16 noundef zeroext %0, i16 noundef zeroext %1, i16 noundef zeroext %2) local_unnamed_addr #50 !srcloc !1763 { + %4 = zext i16 %0 to i32 + %5 = shl nuw i32 %4, 16 + %6 = bitcast i32 %5 to float + %7 = zext i16 %1 to i32 + %8 = shl nuw i32 %7, 16 + %9 = bitcast i32 %8 to float + %10 = zext i16 %2 to i32 + %11 = shl nuw i32 %10, 16 + %12 = bitcast i32 %11 to float + %13 = tail call spir_func noundef float @_Z15__spirv_ocl_fmafff(float noundef %6, float noundef %9, float noundef %12) #56 + %14 = bitcast float %13 to i32 + %15 = lshr i32 %14, 31 + %16 = lshr i32 %14, 23 + %17 = and i32 %14, 8388607 + %18 = lshr i32 %17, 16 + %19 = trunc i32 %18 to i16 + %20 = icmp eq i32 %16, 255 + br i1 %20, label %21, label %31 + +21: ; preds = %3 + %22 = icmp eq i32 %17, 0 + br i1 %22, label %23, label %26 + +23: ; preds = %21 + %24 = icmp sgt i32 %14, -1 + %25 = select i1 %24, i16 32640, i16 -128 + br label %50 + +26: ; preds = %21 + %27 = shl nuw nsw i32 %15, 15 + %28 = or i32 %27, %18 + %29 = trunc i32 %28 to i16 + %30 = or i16 %29, 32640 + br label %50 + +31: ; preds = %3 + %32 = icmp eq i32 %14, 0 + br i1 %32, label %50, label %33 + +33: ; preds = %31 + %34 = trunc i32 %14 to i16 + %35 = icmp ugt i16 %34, -32768 + %36 = and i32 %14, 131071 + %37 = icmp eq i32 %36, 98304 + %38 = or i1 %35, %37 + %39 = zext i1 %38 to i16 + %40 = add nuw nsw i16 %19, %39 + %41 = icmp eq i16 %40, 128 + %42 = zext i1 %41 to i32 + %43 = add nuw nsw i32 %16, %42 + %44 = select i1 %41, i16 0, i16 %40 + %45 = shl nuw nsw i32 %15, 15 + %46 = shl nuw nsw i32 %43, 7 + %47 = or i32 %45, %46 + %48 = trunc i32 %47 to i16 + %49 = or i16 %44, %48 + br label %50 + +50: ; preds = %33, %31, %26, %23 + %51 = phi i16 [ %30, %26 ], [ %25, %23 ], [ %49, %33 ], [ 0, %31 ] + ret i16 %51 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_sqrtbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !926 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_sqrtf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_rsqrtbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1764 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z17__spirv_ocl_rsqrtf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_fminbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #50 !srcloc !1765 { + %3 = zext i16 %0 to i32 + %4 = shl nuw i32 %3, 16 + %5 = bitcast i32 %4 to float + %6 = zext i16 %1 to i32 + %7 = shl nuw i32 %6, 16 + %8 = bitcast i32 %7 to float + %9 = tail call spir_func noundef float @_Z16__spirv_ocl_fminff(float noundef %5, float noundef %8) #56 + %10 = bitcast float %9 to i32 + %11 = lshr i32 %10, 31 + %12 = lshr i32 %10, 23 + %13 = and i32 %10, 8388607 + %14 = lshr i32 %13, 16 + %15 = trunc i32 %14 to i16 + %16 = icmp eq i32 %12, 255 + br i1 %16, label %17, label %27 + +17: ; preds = %2 + %18 = icmp eq i32 %13, 0 + br i1 %18, label %19, label %22 + +19: ; preds = %17 + %20 = icmp sgt i32 %10, -1 + %21 = select i1 %20, i16 32640, i16 -128 + br label %46 + +22: ; preds = %17 + %23 = shl nuw nsw i32 %11, 15 + %24 = or i32 %23, %14 + %25 = trunc i32 %24 to i16 + %26 = or i16 %25, 32640 + br label %46 + +27: ; preds = %2 + %28 = icmp eq i32 %10, 0 + br i1 %28, label %46, label %29 + +29: ; preds = %27 + %30 = trunc i32 %10 to i16 + %31 = icmp ugt i16 %30, -32768 + %32 = and i32 %10, 131071 + %33 = icmp eq i32 %32, 98304 + %34 = or i1 %31, %33 + %35 = zext i1 %34 to i16 + %36 = add nuw nsw i16 %15, %35 + %37 = icmp eq i16 %36, 128 + %38 = zext i1 %37 to i32 + %39 = add nuw nsw i32 %12, %38 + %40 = select i1 %37, i16 0, i16 %36 + %41 = shl nuw nsw i32 %11, 15 + %42 = shl nuw nsw i32 %39, 7 + %43 = or i32 %41, %42 + %44 = trunc i32 %43 to i16 + %45 = or i16 %40, %44 + br label %46 + +46: ; preds = %29, %27, %22, %19 + %47 = phi i16 [ %26, %22 ], [ %21, %19 ], [ %45, %29 ], [ 0, %27 ] + ret i16 %47 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_fmaxbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #50 !srcloc !1766 { + %3 = zext i16 %0 to i32 + %4 = shl nuw i32 %3, 16 + %5 = bitcast i32 %4 to float + %6 = zext i16 %1 to i32 + %7 = shl nuw i32 %6, 16 + %8 = bitcast i32 %7 to float + %9 = tail call spir_func noundef float @_Z16__spirv_ocl_fmaxff(float noundef %5, float noundef %8) #56 + %10 = bitcast float %9 to i32 + %11 = lshr i32 %10, 31 + %12 = lshr i32 %10, 23 + %13 = and i32 %10, 8388607 + %14 = lshr i32 %13, 16 + %15 = trunc i32 %14 to i16 + %16 = icmp eq i32 %12, 255 + br i1 %16, label %17, label %27 + +17: ; preds = %2 + %18 = icmp eq i32 %13, 0 + br i1 %18, label %19, label %22 + +19: ; preds = %17 + %20 = icmp sgt i32 %10, -1 + %21 = select i1 %20, i16 32640, i16 -128 + br label %46 + +22: ; preds = %17 + %23 = shl nuw nsw i32 %11, 15 + %24 = or i32 %23, %14 + %25 = trunc i32 %24 to i16 + %26 = or i16 %25, 32640 + br label %46 + +27: ; preds = %2 + %28 = icmp eq i32 %10, 0 + br i1 %28, label %46, label %29 + +29: ; preds = %27 + %30 = trunc i32 %10 to i16 + %31 = icmp ugt i16 %30, -32768 + %32 = and i32 %10, 131071 + %33 = icmp eq i32 %32, 98304 + %34 = or i1 %31, %33 + %35 = zext i1 %34 to i16 + %36 = add nuw nsw i16 %15, %35 + %37 = icmp eq i16 %36, 128 + %38 = zext i1 %37 to i32 + %39 = add nuw nsw i32 %12, %38 + %40 = select i1 %37, i16 0, i16 %36 + %41 = shl nuw nsw i32 %11, 15 + %42 = shl nuw nsw i32 %39, 7 + %43 = or i32 %41, %42 + %44 = trunc i32 %43 to i16 + %45 = or i16 %40, %44 + br label %46 + +46: ; preds = %29, %27, %22, %19 + %47 = phi i16 [ %26, %22 ], [ %21, %19 ], [ %45, %29 ], [ 0, %27 ] + ret i16 %47 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_copysignbf16(i16 noundef zeroext %0, i16 noundef zeroext %1) local_unnamed_addr #50 !srcloc !1767 { + %3 = zext i16 %0 to i32 + %4 = shl nuw i32 %3, 16 + %5 = bitcast i32 %4 to float + %6 = zext i16 %1 to i32 + %7 = shl nuw i32 %6, 16 + %8 = bitcast i32 %7 to float + %9 = tail call spir_func noundef float @_Z20__spirv_ocl_copysignff(float noundef %5, float noundef %8) #56 + %10 = bitcast float %9 to i32 + %11 = lshr i32 %10, 31 + %12 = lshr i32 %10, 23 + %13 = and i32 %10, 8388607 + %14 = lshr i32 %13, 16 + %15 = trunc i32 %14 to i16 + %16 = icmp eq i32 %12, 255 + br i1 %16, label %17, label %27 + +17: ; preds = %2 + %18 = icmp eq i32 %13, 0 + br i1 %18, label %19, label %22 + +19: ; preds = %17 + %20 = icmp sgt i32 %10, -1 + %21 = select i1 %20, i16 32640, i16 -128 + br label %46 + +22: ; preds = %17 + %23 = shl nuw nsw i32 %11, 15 + %24 = or i32 %23, %14 + %25 = trunc i32 %24 to i16 + %26 = or i16 %25, 32640 + br label %46 + +27: ; preds = %2 + %28 = icmp eq i32 %10, 0 + br i1 %28, label %46, label %29 + +29: ; preds = %27 + %30 = trunc i32 %10 to i16 + %31 = icmp ugt i16 %30, -32768 + %32 = and i32 %10, 131071 + %33 = icmp eq i32 %32, 98304 + %34 = or i1 %31, %33 + %35 = zext i1 %34 to i16 + %36 = add nuw nsw i16 %15, %35 + %37 = icmp eq i16 %36, 128 + %38 = zext i1 %37 to i32 + %39 = add nuw nsw i32 %12, %38 + %40 = select i1 %37, i16 0, i16 %36 + %41 = shl nuw nsw i32 %11, 15 + %42 = shl nuw nsw i32 %39, 7 + %43 = or i32 %41, %42 + %44 = trunc i32 %43 to i16 + %45 = or i16 %40, %44 + br label %46 + +46: ; preds = %29, %27, %22, %19 + %47 = phi i16 [ %26, %22 ], [ %21, %19 ], [ %45, %29 ], [ 0, %27 ] + ret i16 %47 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_fabsbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1768 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_fabsf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_rintbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1769 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_rintf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_floorbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1770 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z17__spirv_ocl_floorf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_ceilbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1771 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z16__spirv_ocl_ceilf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func zeroext i16 @__devicelib_imf_truncbf16(i16 noundef zeroext %0) local_unnamed_addr #50 !srcloc !1772 { + %2 = zext i16 %0 to i32 + %3 = shl nuw i32 %2, 16 + %4 = bitcast i32 %3 to float + %5 = tail call spir_func noundef float @_Z17__spirv_ocl_truncf(float noundef %4) #56 + %6 = bitcast float %5 to i32 + %7 = lshr i32 %6, 31 + %8 = lshr i32 %6, 23 + %9 = and i32 %6, 8388607 + %10 = lshr i32 %9, 16 + %11 = trunc i32 %10 to i16 + %12 = icmp eq i32 %8, 255 + br i1 %12, label %13, label %23 + +13: ; preds = %1 + %14 = icmp eq i32 %9, 0 + br i1 %14, label %15, label %18 + +15: ; preds = %13 + %16 = icmp sgt i32 %6, -1 + %17 = select i1 %16, i16 32640, i16 -128 + br label %42 + +18: ; preds = %13 + %19 = shl nuw nsw i32 %7, 15 + %20 = or i32 %19, %10 + %21 = trunc i32 %20 to i16 + %22 = or i16 %21, 32640 + br label %42 + +23: ; preds = %1 + %24 = icmp eq i32 %6, 0 + br i1 %24, label %42, label %25 + +25: ; preds = %23 + %26 = trunc i32 %6 to i16 + %27 = icmp ugt i16 %26, -32768 + %28 = and i32 %6, 131071 + %29 = icmp eq i32 %28, 98304 + %30 = or i1 %27, %29 + %31 = zext i1 %30 to i16 + %32 = add nuw nsw i16 %11, %31 + %33 = icmp eq i16 %32, 128 + %34 = zext i1 %33 to i32 + %35 = add nuw nsw i32 %8, %34 + %36 = select i1 %33, i16 0, i16 %32 + %37 = shl nuw nsw i32 %7, 15 + %38 = shl nuw nsw i32 %35, 7 + %39 = or i32 %37, %38 + %40 = trunc i32 %39 to i16 + %41 = or i16 %36, %40 + br label %42 + +42: ; preds = %25, %23, %18, %15 + %43 = phi i16 [ %22, %18 ], [ %17, %15 ], [ %41, %25 ], [ 0, %23 ] + ret i16 %43 +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_start(ptr addrspace(4) noundef %0, i64 noundef %1, i32 noundef %2) local_unnamed_addr #51 !srcloc !1773 { + %4 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %5 = icmp eq i8 %4, 0 + br i1 %5, label %7, label %6 + +6: ; preds = %3 + tail call spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %0, i64 noundef %1, i32 noundef %2) #54 + br label %7 + +7: ; preds = %6, %3 + ret void +} + +; Function Attrs: convergent nounwind +declare dso_local spir_func signext i8 @__spirv_SpecConstant(i32 noundef, i8 noundef signext) local_unnamed_addr #15 + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_finish(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #51 !srcloc !1774 { + %3 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %4 = icmp eq i8 %3, 0 + br i1 %4, label %6, label %5 + +5: ; preds = %2 + tail call spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %0, i64 noundef %1) #54 + br label %6 + +6: ; preds = %5, %2 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wg_barrier(i64 noundef %0) local_unnamed_addr #51 !srcloc !1775 { + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %5, label %4 + +4: ; preds = %1 + tail call spir_func void @__itt_offload_wg_barrier_stub(i64 noundef %0) #54 + br label %5 + +5: ; preds = %4, %1 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_resume(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #51 !srcloc !1776 { + %3 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %4 = icmp eq i8 %3, 0 + br i1 %4, label %6, label %5 + +5: ; preds = %2 + tail call spir_func void @__itt_offload_wi_resume_stub(ptr addrspace(4) noundef %0, i64 noundef %1) #54 + br label %6 + +6: ; preds = %5, %2 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_sync_acquired(i64 noundef %0) local_unnamed_addr #51 !srcloc !1777 { + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %5, label %4 + +4: ; preds = %1 + tail call spir_func void @__itt_offload_sync_acquired_stub(i64 noundef %0) #54 + br label %5 + +5: ; preds = %4, %1 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_sync_releasing(i64 noundef %0) local_unnamed_addr #51 !srcloc !1778 { + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %5, label %4 + +4: ; preds = %1 + tail call spir_func void @__itt_offload_sync_releasing_stub(i64 noundef %0) #54 + br label %5 + +5: ; preds = %4, %1 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wg_local_range(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #51 !srcloc !123 { + %3 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %4 = icmp eq i8 %3, 0 + br i1 %4, label %6, label %5 + +5: ; preds = %2 + tail call spir_func void @__itt_offload_wg_local_range_stub(ptr addrspace(4) noundef %0, i64 noundef %1) #54 + br label %6 + +6: ; preds = %5, %2 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_atomic_op_start(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #51 !srcloc !1779 { + %4 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %5 = icmp eq i8 %4, 0 + br i1 %5, label %7, label %6 + +6: ; preds = %3 + tail call spir_func void @__itt_offload_atomic_op_start_stub(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) #54 + br label %7 + +7: ; preds = %6, %3 + ret void +} + +; Function Attrs: convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_atomic_op_finish(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #51 !srcloc !1780 { + %4 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %5 = icmp eq i8 %4, 0 + br i1 %5, label %7, label %6 + +6: ; preds = %3 + tail call spir_func void @__itt_offload_atomic_op_finish_stub(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) #54 + br label %7 + +7: ; preds = %6, %3 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_start_wrapper() local_unnamed_addr #52 !srcloc !1773 { + %1 = alloca [3 x i64], align 8 + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %20, label %4 + +4: ; preds = %0 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1) #55 + %5 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 0 + %6 = addrspacecast ptr %5 to ptr addrspace(4) + %7 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + %8 = extractelement <3 x i64> %7, i64 0 + store i64 %8, ptr %5, align 8, !tbaa !719 + %9 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 1 + %10 = extractelement <3 x i64> %7, i64 1 + store i64 %10, ptr %9, align 8, !tbaa !719 + %11 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 2 + %12 = extractelement <3 x i64> %7, i64 2 + store i64 %12, ptr %11, align 8, !tbaa !719 + %13 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !719 + %14 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, align 32 + %15 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 8), align 8 + %16 = mul i64 %14, %15 + %17 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 16), align 16 + %18 = mul i64 %16, %17 + %19 = trunc i64 %18 to i32 + call spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %6, i64 noundef %13, i32 noundef %19) #54 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1) #55 + br label %20 + +20: ; preds = %4, %0 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_finish_wrapper() local_unnamed_addr #52 !srcloc !1781 { + %1 = alloca [3 x i64], align 8 + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %14, label %4 + +4: ; preds = %0 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1) #55 + %5 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 0 + %6 = addrspacecast ptr %5 to ptr addrspace(4) + %7 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + %8 = extractelement <3 x i64> %7, i64 0 + store i64 %8, ptr %5, align 8, !tbaa !719 + %9 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 1 + %10 = extractelement <3 x i64> %7, i64 1 + store i64 %10, ptr %9, align 8, !tbaa !719 + %11 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 2 + %12 = extractelement <3 x i64> %7, i64 2 + store i64 %12, ptr %11, align 8, !tbaa !719 + %13 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !719 + call spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %6, i64 noundef %13) #54 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1) #55 + br label %14 + +14: ; preds = %4, %0 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wg_barrier_wrapper() local_unnamed_addr #52 !srcloc !1782 { + %1 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %2 = icmp eq i8 %1, 0 + br i1 %2, label %4, label %3 + +3: ; preds = %0 + tail call spir_func void @__itt_offload_wg_barrier_stub(i64 noundef 0) #54 + br label %4 + +4: ; preds = %3, %0 + ret void +} + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define dso_local spir_func void @__itt_offload_wi_resume_wrapper() local_unnamed_addr #52 !srcloc !1783 { + %1 = alloca [3 x i64], align 8 + %2 = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #54 + %3 = icmp eq i8 %2, 0 + br i1 %3, label %14, label %4 + +4: ; preds = %0 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1) #55 + %5 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 0 + %6 = addrspacecast ptr %5 to ptr addrspace(4) + %7 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + %8 = extractelement <3 x i64> %7, i64 0 + store i64 %8, ptr %5, align 8, !tbaa !719 + %9 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 1 + %10 = extractelement <3 x i64> %7, i64 1 + store i64 %10, ptr %9, align 8, !tbaa !719 + %11 = getelementptr inbounds [3 x i64], ptr %1, i64 0, i64 2 + %12 = extractelement <3 x i64> %7, i64 2 + store i64 %12, ptr %11, align 8, !tbaa !719 + %13 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !719 + call spir_func void @__itt_offload_wi_resume_stub(ptr addrspace(4) noundef %6, i64 noundef %13) #54 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1) #55 + br label %14 + +14: ; preds = %4, %0 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %0, i64 noundef %1, i32 noundef %2) local_unnamed_addr #53 !srcloc !1784 { + %4 = alloca ptr addrspace(4), align 8 + %5 = alloca i64, align 8 + %6 = alloca i32, align 4 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %7, align 8, !tbaa !1032 + store i64 %1, ptr addrspace(4) %8, align 8, !tbaa !719 + store i32 %2, ptr addrspace(4) %9, align 4, !tbaa !717 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #53 !srcloc !1785 { + %3 = alloca ptr addrspace(4), align 8 + %4 = alloca i64, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = addrspacecast ptr %4 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %5, align 8, !tbaa !1032 + store i64 %1, ptr addrspace(4) %6, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_wg_barrier_stub(i64 noundef %0) local_unnamed_addr #53 !srcloc !1786 { + %2 = alloca i64, align 8 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + store i64 %0, ptr addrspace(4) %3, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_wi_resume_stub(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #53 !srcloc !1787 { + %3 = alloca ptr addrspace(4), align 8 + %4 = alloca i64, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = addrspacecast ptr %4 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %5, align 8, !tbaa !1032 + store i64 %1, ptr addrspace(4) %6, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_sync_acquired_stub(i64 noundef %0) local_unnamed_addr #53 !srcloc !1788 { + %2 = alloca i64, align 8 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + store i64 %0, ptr addrspace(4) %3, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_sync_releasing_stub(i64 noundef %0) local_unnamed_addr #53 !srcloc !1789 { + %2 = alloca i64, align 8 + %3 = addrspacecast ptr %2 to ptr addrspace(4) + store i64 %0, ptr addrspace(4) %3, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_wg_local_range_stub(ptr addrspace(4) noundef %0, i64 noundef %1) local_unnamed_addr #53 !srcloc !1790 { + %3 = alloca ptr addrspace(4), align 8 + %4 = alloca i64, align 8 + %5 = addrspacecast ptr %3 to ptr addrspace(4) + %6 = addrspacecast ptr %4 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %5, align 8, !tbaa !1032 + store i64 %1, ptr addrspace(4) %6, align 8, !tbaa !719 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_atomic_op_start_stub(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #53 !srcloc !1791 { + %4 = alloca ptr addrspace(4), align 8 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %7, align 8, !tbaa !1032 + store i32 %1, ptr addrspace(4) %8, align 4, !tbaa !1792 + store i32 %2, ptr addrspace(4) %9, align 4, !tbaa !1794 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define dso_local spir_func void @__itt_offload_atomic_op_finish_stub(ptr addrspace(4) noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #53 !srcloc !1796 { + %4 = alloca ptr addrspace(4), align 8 + %5 = alloca i32, align 4 + %6 = alloca i32, align 4 + %7 = addrspacecast ptr %4 to ptr addrspace(4) + %8 = addrspacecast ptr %5 to ptr addrspace(4) + %9 = addrspacecast ptr %6 to ptr addrspace(4) + store ptr addrspace(4) %0, ptr addrspace(4) %7, align 8, !tbaa !1032 + store i32 %1, ptr addrspace(4) %8, align 4, !tbaa !1792 + store i32 %2, ptr addrspace(4) %9, align 4, !tbaa !1794 + ret void +} + +attributes #0 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/crt_wrapper.cpp" "sycl-optlevel"="2" } +attributes #1 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/crt_wrapper.cpp" "sycl-optlevel"="2" } +attributes #2 = { inlinehint mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/crt_wrapper.cpp" "sycl-optlevel"="2" } +attributes #3 = { alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/complex_wrapper.cpp" "sycl-optlevel"="2" } +attributes #4 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/complex_wrapper.cpp" "sycl-optlevel"="2" } +attributes #5 = { alwaysinline convergent mustprogress norecurse nounwind willreturn memory(argmem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/complex_wrapper_fp64.cpp" "sycl-optlevel"="2" } +attributes #6 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/complex_wrapper_fp64.cpp" "sycl-optlevel"="2" } +attributes #7 = { alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/cmath_wrapper.cpp" "sycl-optlevel"="2" } +attributes #8 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/cmath_wrapper.cpp" "sycl-optlevel"="2" } +attributes #9 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/cmath_wrapper_fp64.cpp" "sycl-optlevel"="2" } +attributes #10 = { alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/cmath_wrapper_fp64.cpp" "sycl-optlevel"="2" } +attributes #11 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/imf_wrapper.cpp" "sycl-optlevel"="2" } +attributes #12 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/imf_wrapper_fp64.cpp" "sycl-optlevel"="2" } +attributes #13 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/imf_wrapper_bf16.cpp" "sycl-optlevel"="2" } +attributes #14 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-cassert.cpp" "sycl-optlevel"="2" } +attributes #15 = { convergent nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } +attributes #16 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } +attributes #17 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } +attributes #18 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-cstring.cpp" "sycl-optlevel"="2" } +attributes #19 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #20 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex.cpp" "sycl-optlevel"="2" } +attributes #21 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex.cpp" "sycl-optlevel"="2" } +attributes #22 = { convergent mustprogress nofree nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } +attributes #23 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex.cpp" "sycl-optlevel"="2" } +attributes #24 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex-fp64.cpp" "sycl-optlevel"="2" } +attributes #25 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex-fp64.cpp" "sycl-optlevel"="2" } +attributes #26 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-complex-fp64.cpp" "sycl-optlevel"="2" } +attributes #27 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-cmath.cpp" "sycl-optlevel"="2" } +attributes #28 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-cmath.cpp" "sycl-optlevel"="2" } +attributes #29 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/fallback-cmath-fp64.cpp" "sycl-optlevel"="2" } +attributes #30 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_fp32_fallback.cpp" "sycl-optlevel"="2" } +attributes #31 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_fp32_fallback.cpp" "sycl-optlevel"="2" } +attributes #32 = { convergent mustprogress noinline norecurse nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #33 = { mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #34 = { inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #35 = { inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #36 = { convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: write) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #37 = { inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: write) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #38 = { inlinehint mustprogress nofree norecurse nounwind memory(argmem: readwrite, inaccessiblemem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #39 = { inlinehint mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #40 = { inlinehint mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #41 = { convergent mustprogress nofree norecurse nounwind willreturn memory(argmem: write) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #42 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #43 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_fp64_fallback.cpp" "sycl-optlevel"="2" } +attributes #44 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_fp64_fallback.cpp" "sycl-optlevel"="2" } +attributes #45 = { convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(argmem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #46 = { convergent inlinehint mustprogress nofree norecurse nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="2" } +attributes #47 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } +attributes #48 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #49 = { alwaysinline mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_bf16_fallback.cpp" "sycl-optlevel"="2" } +attributes #50 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/builds/xmainefi2linux_pgouse_sreleaseusingrelease/llvm/./lib/libdevice/imf_bf16_fallback.cpp" "sycl-optlevel"="2" } +attributes #51 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/itt_user_wrappers.cpp" "sycl-optlevel"="2" } +attributes #52 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/itt_compiler_wrappers.cpp" "sycl-optlevel"="2" } +attributes #53 = { convergent mustprogress noinline norecurse nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb74266_00/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/libdevice/itt_stubs.cpp" "sycl-optlevel"="2" } +attributes #54 = { convergent nounwind } +attributes #55 = { nounwind } +attributes #56 = { convergent nounwind willreturn memory(none) } + +!opencl.spir.version = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0} +!spirv.Source = !{!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} +!llvm.module.flags = !{!3, !4} + +!0 = !{i32 1, i32 2} +!1 = !{i32 3, i32 100000} +!2 = !{!"Intel(R) oneAPI DPC++/C++ Compiler 2024.1.0 (2024.1.0.20240216)"} +!3 = !{i32 1, !"wchar_size", i32 4} +!4 = !{i32 7, !"frame-pointer", i32 2} +!5 = !{i32 579} +!6 = !{i32 702} +!7 = !{i32 811} +!8 = !{i32 2036} +!9 = !{i32 196381} +!10 = !{i32 196492} +!11 = !{i32 196603} +!12 = !{i32 196715} +!13 = !{i32 196824} +!14 = !{i32 196933} +!15 = !{i32 1235} +!16 = !{i32 1327} +!17 = !{i32 1419} +!18 = !{i32 1509} +!19 = !{i32 1611} +!20 = !{i32 1715} +!21 = !{i32 1817} +!22 = !{i32 1919} +!23 = !{i32 2047} +!24 = !{i32 2167} +!25 = !{i32 2271} +!26 = !{i32 2375} +!27 = !{i32 2479} +!28 = !{i32 2583} +!29 = !{i32 2685} +!30 = !{i32 2787} +!31 = !{i32 2889} +!32 = !{i32 2993} +!33 = !{i32 3101} +!34 = !{i32 3205} +!35 = !{i32 3313} +!36 = !{i32 3421} +!37 = !{i32 3582} +!38 = !{i32 3792} +!39 = !{i32 4051} +!40 = !{i32 4159} +!41 = !{i32 1261} +!42 = !{i32 1353} +!43 = !{i32 1445} +!44 = !{i32 1535} +!45 = !{i32 1637} +!46 = !{i32 1741} +!47 = !{i32 1843} +!48 = !{i32 1945} +!49 = !{i32 2074} +!50 = !{i32 2195} +!51 = !{i32 2299} +!52 = !{i32 2403} +!53 = !{i32 2507} +!54 = !{i32 2611} +!55 = !{i32 2713} +!56 = !{i32 2815} +!57 = !{i32 2917} +!58 = !{i32 3021} +!59 = !{i32 3129} +!60 = !{i32 3233} +!61 = !{i32 3341} +!62 = !{i32 3449} +!63 = !{i32 3610} +!64 = !{i32 3825} +!65 = !{i32 4085} +!66 = !{i32 4193} +!67 = !{i32 581} +!68 = !{i32 656} +!69 = !{i32 743} +!70 = !{i32 829} +!71 = !{i32 912} +!72 = !{i32 1000} +!73 = !{i32 1098} +!74 = !{i32 1178} +!75 = !{i32 1258} +!76 = !{i32 1350} +!77 = !{i32 1426} +!78 = !{i32 1502} +!79 = !{i32 1597} +!80 = !{i32 1691} +!81 = !{i32 1771} +!82 = !{i32 1874} +!83 = !{i32 1952} +!84 = !{i32 2030} +!85 = !{i32 2110} +!86 = !{i32 2190} +!87 = !{i32 2268} +!88 = !{i32 2346} +!89 = !{i32 2424} +!90 = !{i32 2502} +!91 = !{i32 2594} +!92 = !{i32 2670} +!93 = !{i32 2748} +!94 = !{i32 2830} +!95 = !{i32 2912} +!96 = !{i32 3002} +!97 = !{i32 3102} +!98 = !{i32 3207} +!99 = !{i32 3307} +!100 = !{i32 3397} +!101 = !{i32 3497} +!102 = !{i32 3573} +!103 = !{i32 3649} +!104 = !{i32 3725} +!105 = !{i32 3813} +!106 = !{i32 3891} +!107 = !{i32 3969} +!108 = !{i32 4047} +!109 = !{i32 4139} +!110 = !{i32 4217} +!111 = !{i32 4295} +!112 = !{i32 4373} +!113 = !{i32 4453} +!114 = !{i32 4533} +!115 = !{i32 854} +!116 = !{i32 930} +!117 = !{i32 1010} +!118 = !{i32 1090} +!119 = !{i32 1166} +!120 = !{i32 1355} +!121 = !{i32 1435} +!122 = !{i32 1539} +!123 = !{i32 1617} +!124 = !{i32 1694} +!125 = !{i32 1774} +!126 = !{i32 1854} +!127 = !{i32 1932} +!128 = !{i32 2010} +!129 = !{i32 2088} +!130 = !{i32 2166} +!131 = !{i32 2259} +!132 = !{i32 2335} +!133 = !{i32 2413} +!134 = !{i32 2495} +!135 = !{i32 2577} +!136 = !{i32 2668} +!137 = !{i32 2769} +!138 = !{i32 2877} +!139 = !{i32 2978} +!140 = !{i32 3069} +!141 = !{i32 3171} +!142 = !{i32 3247} +!143 = !{i32 3323} +!144 = !{i32 3399} +!145 = !{i32 3488} +!146 = !{i32 3566} +!147 = !{i32 3644} +!148 = !{i32 3722} +!149 = !{i32 3815} +!150 = !{i32 3893} +!151 = !{i32 3971} +!152 = !{i32 4049} +!153 = !{i32 4129} +!154 = !{i32 4209} +!155 = !{i32 4289} +!156 = !{i32 3947} +!157 = !{i32 4041} +!158 = !{i32 4141} +!159 = !{i32 4241} +!160 = !{i32 4341} +!161 = !{i32 4450} +!162 = !{i32 4563} +!163 = !{i32 4676} +!164 = !{i32 4789} +!165 = !{i32 4903} +!166 = !{i32 5013} +!167 = !{i32 5123} +!168 = !{i32 5233} +!169 = !{i32 5352} +!170 = !{i32 5473} +!171 = !{i32 5594} +!172 = !{i32 5715} +!173 = !{i32 5817} +!174 = !{i32 5926} +!175 = !{i32 6032} +!176 = !{i32 6132} +!177 = !{i32 6232} +!178 = !{i32 6332} +!179 = !{i32 6432} +!180 = !{i32 6532} +!181 = !{i32 6642} +!182 = !{i32 6752} +!183 = !{i32 6862} +!184 = !{i32 6972} +!185 = !{i32 7085} +!186 = !{i32 7198} +!187 = !{i32 7311} +!188 = !{i32 7424} +!189 = !{i32 7537} +!190 = !{i32 7658} +!191 = !{i32 7779} +!192 = !{i32 7900} +!193 = !{i32 8021} +!194 = !{i32 8946} +!195 = !{i32 9072} +!196 = !{i32 9188} +!197 = !{i32 9278} +!198 = !{i32 9387} +!199 = !{i32 9578} +!200 = !{i32 9759} +!201 = !{i32 9880} +!202 = !{i32 10169} +!203 = !{i32 10279} +!204 = !{i32 10506} +!205 = !{i32 10586} +!206 = !{i32 10820} +!207 = !{i32 10911} +!208 = !{i32 11208} +!209 = !{i32 11328} +!210 = !{i32 11613} +!211 = !{i32 11808} +!212 = !{i32 11954} +!213 = !{i32 12328} +!214 = !{i32 12422} +!215 = !{i32 12523} +!216 = !{i32 12646} +!217 = !{i32 12912} +!218 = !{i32 13015} +!219 = !{i32 13553} +!220 = !{i32 13692} +!221 = !{i32 13870} +!222 = !{i32 13973} +!223 = !{i32 14164} +!224 = !{i32 14337} +!225 = !{i32 14487} +!226 = !{i32 14636} +!227 = !{i32 14786} +!228 = !{i32 14939} +!229 = !{i32 15097} +!230 = !{i32 15246} +!231 = !{i32 15395} +!232 = !{i32 15545} +!233 = !{i32 15697} +!234 = !{i32 15847} +!235 = !{i32 16002} +!236 = !{i32 16169} +!237 = !{i32 16340} +!238 = !{i32 16674} +!239 = !{i32 16963} +!240 = !{i32 17173} +!241 = !{i32 17382} +!242 = !{i32 17592} +!243 = !{i32 17805} +!244 = !{i32 18023} +!245 = !{i32 18232} +!246 = !{i32 18441} +!247 = !{i32 18647} +!248 = !{i32 18918} +!249 = !{i32 19214} +!250 = !{i32 19518} +!251 = !{i32 25547} +!252 = !{i32 25664} +!253 = !{i32 25785} +!254 = !{i32 25904} +!255 = !{i32 26021} +!256 = !{i32 26138} +!257 = !{i32 26259} +!258 = !{i32 26378} +!259 = !{i32 26507} +!260 = !{i32 26598} +!261 = !{i32 26687} +!262 = !{i32 26778} +!263 = !{i32 26867} +!264 = !{i32 26970} +!265 = !{i32 27061} +!266 = !{i32 27150} +!267 = !{i32 27239} +!268 = !{i32 27328} +!269 = !{i32 27419} +!270 = !{i32 27506} +!271 = !{i32 27601} +!272 = !{i32 27690} +!273 = !{i32 27783} +!274 = !{i32 27870} +!275 = !{i32 27961} +!276 = !{i32 28050} +!277 = !{i32 28141} +!278 = !{i32 28228} +!279 = !{i32 28329} +!280 = !{i32 28430} +!281 = !{i32 28538} +!282 = !{i32 28629} +!283 = !{i32 28720} +!284 = !{i32 28825} +!285 = !{i32 28918} +!286 = !{i32 29005} +!287 = !{i32 29096} +!288 = !{i32 29187} +!289 = !{i32 29276} +!290 = !{i32 29365} +!291 = !{i32 29467} +!292 = !{i32 29578} +!293 = !{i32 29684} +!294 = !{i32 29801} +!295 = !{i32 29930} +!296 = !{i32 30029} +!297 = !{i32 30140} +!298 = !{i32 30260} +!299 = !{i32 30365} +!300 = !{i32 30473} +!301 = !{i32 30592} +!302 = !{i32 30723} +!303 = !{i32 30813} +!304 = !{i32 30932} +!305 = !{i32 31056} +!306 = !{i32 31145} +!307 = !{i32 31236} +!308 = !{i32 31323} +!309 = !{i32 31412} +!310 = !{i32 31499} +!311 = !{i32 31592} +!312 = !{i32 31675} +!313 = !{i32 31758} +!314 = !{i32 31841} +!315 = !{i32 31924} +!316 = !{i32 32017} +!317 = !{i32 32100} +!318 = !{i32 32183} +!319 = !{i32 32276} +!320 = !{i32 32373} +!321 = !{i32 32468} +!322 = !{i32 32569} +!323 = !{i32 32660} +!324 = !{i32 32761} +!325 = !{i32 32856} +!326 = !{i32 32945} +!327 = !{i32 33038} +!328 = !{i32 33133} +!329 = !{i32 33231} +!330 = !{i32 33347} +!331 = !{i32 33462} +!332 = !{i32 33555} +!333 = !{i32 33660} +!334 = !{i32 41074} +!335 = !{i32 41176} +!336 = !{i32 41278} +!337 = !{i32 41380} +!338 = !{i32 41482} +!339 = !{i32 41590} +!340 = !{i32 41698} +!341 = !{i32 41831} +!342 = !{i32 41964} +!343 = !{i32 42097} +!344 = !{i32 42230} +!345 = !{i32 42338} +!346 = !{i32 42446} +!347 = !{i32 42569} +!348 = !{i32 42692} +!349 = !{i32 42819} +!350 = !{i32 42946} +!351 = !{i32 43073} +!352 = !{i32 43200} +!353 = !{i32 43323} +!354 = !{i32 43446} +!355 = !{i32 43573} +!356 = !{i32 43700} +!357 = !{i32 43827} +!358 = !{i32 43954} +!359 = !{i32 44081} +!360 = !{i32 44208} +!361 = !{i32 44333} +!362 = !{i32 44458} +!363 = !{i32 44583} +!364 = !{i32 44708} +!365 = !{i32 44835} +!366 = !{i32 44962} +!367 = !{i32 45091} +!368 = !{i32 45220} +!369 = !{i32 45349} +!370 = !{i32 45478} +!371 = !{i32 45607} +!372 = !{i32 45736} +!373 = !{i32 45865} +!374 = !{i32 45994} +!375 = !{i32 46123} +!376 = !{i32 46252} +!377 = !{i32 46381} +!378 = !{i32 46510} +!379 = !{i32 46639} +!380 = !{i32 46768} +!381 = !{i32 46897} +!382 = !{i32 47026} +!383 = !{i32 47153} +!384 = !{i32 47280} +!385 = !{i32 47405} +!386 = !{i32 47530} +!387 = !{i32 47655} +!388 = !{i32 47780} +!389 = !{i32 47905} +!390 = !{i32 48030} +!391 = !{i32 48155} +!392 = !{i32 48280} +!393 = !{i32 48407} +!394 = !{i32 48534} +!395 = !{i32 48661} +!396 = !{i32 48788} +!397 = !{i32 48917} +!398 = !{i32 49046} +!399 = !{i32 49175} +!400 = !{i32 49304} +!401 = !{i32 49433} +!402 = !{i32 49562} +!403 = !{i32 49691} +!404 = !{i32 49820} +!405 = !{i32 49949} +!406 = !{i32 50078} +!407 = !{i32 50207} +!408 = !{i32 50336} +!409 = !{i32 50465} +!410 = !{i32 50594} +!411 = !{i32 50723} +!412 = !{i32 50852} +!413 = !{i32 50977} +!414 = !{i32 51102} +!415 = !{i32 51227} +!416 = !{i32 51710} +!417 = !{i32 51829} +!418 = !{i32 51948} +!419 = !{i32 52067} +!420 = !{i32 52479} +!421 = !{i32 52592} +!422 = !{i32 52705} +!423 = !{i32 52818} +!424 = !{i32 53265} +!425 = !{i32 53382} +!426 = !{i32 53499} +!427 = !{i32 53616} +!428 = !{i32 54053} +!429 = !{i32 54172} +!430 = !{i32 54291} +!431 = !{i32 54410} +!432 = !{i32 54884} +!433 = !{i32 55008} +!434 = !{i32 55132} +!435 = !{i32 55256} +!436 = !{i32 55754} +!437 = !{i32 55882} +!438 = !{i32 56010} +!439 = !{i32 56138} +!440 = !{i32 56626} +!441 = !{i32 56756} +!442 = !{i32 56886} +!443 = !{i32 57016} +!444 = !{i32 57309} +!445 = !{i32 57437} +!446 = !{i32 57879} +!447 = !{i32 57992} +!448 = !{i32 58105} +!449 = !{i32 58218} +!450 = !{i32 58659} +!451 = !{i32 58776} +!452 = !{i32 58893} +!453 = !{i32 59010} +!454 = !{i32 59451} +!455 = !{i32 59570} +!456 = !{i32 59689} +!457 = !{i32 59808} +!458 = !{i32 60008} +!459 = !{i32 60475} +!460 = !{i32 60599} +!461 = !{i32 60723} +!462 = !{i32 60847} +!463 = !{i32 61339} +!464 = !{i32 61467} +!465 = !{i32 61595} +!466 = !{i32 61723} +!467 = !{i32 62215} +!468 = !{i32 62345} +!469 = !{i32 62475} +!470 = !{i32 62605} +!471 = !{i32 62826} +!472 = !{i32 63009} +!473 = !{i32 63173} +!474 = !{i32 63344} +!475 = !{i32 63526} +!476 = !{i32 63687} +!477 = !{i32 63851} +!478 = !{i32 64022} +!479 = !{i32 64201} +!480 = !{i32 64374} +!481 = !{i32 64547} +!482 = !{i32 64720} +!483 = !{i32 64893} +!484 = !{i32 65066} +!485 = !{i32 65239} +!486 = !{i32 65412} +!487 = !{i32 65585} +!488 = !{i32 65758} +!489 = !{i32 65931} +!490 = !{i32 66104} +!491 = !{i32 66277} +!492 = !{i32 66381} +!493 = !{i32 66548} +!494 = !{i32 66652} +!495 = !{i32 66819} +!496 = !{i32 66923} +!497 = !{i32 67090} +!498 = !{i32 67194} +!499 = !{i32 3835} +!500 = !{i32 3946} +!501 = !{i32 4057} +!502 = !{i32 4168} +!503 = !{i32 4277} +!504 = !{i32 4380} +!505 = !{i32 4483} +!506 = !{i32 4586} +!507 = !{i32 4882} +!508 = !{i32 4983} +!509 = !{i32 5093} +!510 = !{i32 5209} +!511 = !{i32 5325} +!512 = !{i32 5441} +!513 = !{i32 5558} +!514 = !{i32 5671} +!515 = !{i32 5784} +!516 = !{i32 5897} +!517 = !{i32 6019} +!518 = !{i32 6143} +!519 = !{i32 6267} +!520 = !{i32 6391} +!521 = !{i32 6506} +!522 = !{i32 6624} +!523 = !{i32 6745} +!524 = !{i32 6848} +!525 = !{i32 6961} +!526 = !{i32 7074} +!527 = !{i32 7187} +!528 = !{i32 7300} +!529 = !{i32 7425} +!530 = !{i32 7541} +!531 = !{i32 7665} +!532 = !{i32 7789} +!533 = !{i32 7913} +!534 = !{i32 8113} +!535 = !{i32 8289} +!536 = !{i32 8440} +!537 = !{i32 8590} +!538 = !{i32 8741} +!539 = !{i32 8895} +!540 = !{i32 9054} +!541 = !{i32 9204} +!542 = !{i32 9354} +!543 = !{i32 9501} +!544 = !{i32 9658} +!545 = !{i32 9828} +!546 = !{i32 10002} +!547 = !{i32 15155} +!548 = !{i32 15335} +!549 = !{i32 15426} +!550 = !{i32 15515} +!551 = !{i32 15606} +!552 = !{i32 15710} +!553 = !{i32 15799} +!554 = !{i32 15890} +!555 = !{i32 15979} +!556 = !{i32 16074} +!557 = !{i32 16175} +!558 = !{i32 16262} +!559 = !{i32 16351} +!560 = !{i32 16442} +!561 = !{i32 16531} +!562 = !{i32 16626} +!563 = !{i32 16717} +!564 = !{i32 16804} +!565 = !{i32 16895} +!566 = !{i32 16984} +!567 = !{i32 17071} +!568 = !{i32 17162} +!569 = !{i32 17264} +!570 = !{i32 17366} +!571 = !{i32 17468} +!572 = !{i32 17569} +!573 = !{i32 17660} +!574 = !{i32 17748} +!575 = !{i32 17842} +!576 = !{i32 17930} +!577 = !{i32 18021} +!578 = !{i32 18129} +!579 = !{i32 18229} +!580 = !{i32 18324} +!581 = !{i32 18411} +!582 = !{i32 18502} +!583 = !{i32 18593} +!584 = !{i32 18682} +!585 = !{i32 18773} +!586 = !{i32 18889} +!587 = !{i32 19005} +!588 = !{i32 19108} +!589 = !{i32 19200} +!590 = !{i32 19312} +!591 = !{i32 19418} +!592 = !{i32 19537} +!593 = !{i32 19669} +!594 = !{i32 19769} +!595 = !{i32 19881} +!596 = !{i32 19998} +!597 = !{i32 20104} +!598 = !{i32 20212} +!599 = !{i32 20333} +!600 = !{i32 20467} +!601 = !{i32 20558} +!602 = !{i32 20658} +!603 = !{i32 20751} +!604 = !{i32 20871} +!605 = !{i32 20997} +!606 = !{i32 21084} +!607 = !{i32 21173} +!608 = !{i32 21264} +!609 = !{i32 21351} +!610 = !{i32 21440} +!611 = !{i32 21533} +!612 = !{i32 21626} +!613 = !{i32 21709} +!614 = !{i32 21792} +!615 = !{i32 21875} +!616 = !{i32 21958} +!617 = !{i32 22041} +!618 = !{i32 22124} +!619 = !{i32 22345} +!620 = !{i32 22545} +!621 = !{i32 22729} +!622 = !{i32 22910} +!623 = !{i32 23091} +!624 = !{i32 23272} +!625 = !{i32 23453} +!626 = !{i32 23634} +!627 = !{i32 23815} +!628 = !{i32 23996} +!629 = !{i32 24177} +!630 = !{i32 24358} +!631 = !{i32 24539} +!632 = !{i32 24720} +!633 = !{i32 24901} +!634 = !{i32 25010} +!635 = !{i32 25181} +!636 = !{i32 25290} +!637 = !{i32 25461} +!638 = !{i32 25570} +!639 = !{i32 25741} +!640 = !{i32 25850} +!641 = !{i32 559} +!642 = !{i32 775} +!643 = !{i32 981} +!644 = !{i32 1193} +!645 = !{i32 1405} +!646 = !{i32 1829} +!647 = !{i32 2052} +!648 = !{i32 2275} +!649 = !{i32 2498} +!650 = !{i32 2702} +!651 = !{i32 2904} +!652 = !{i32 3106} +!653 = !{i32 3308} +!654 = !{i32 3535} +!655 = !{i32 3768} +!656 = !{i32 4001} +!657 = !{i32 4234} +!658 = !{i32 4448} +!659 = !{i32 4660} +!660 = !{i32 4872} +!661 = !{i32 5084} +!662 = !{i32 5320} +!663 = !{i32 5552} +!664 = !{i32 6016} +!665 = !{i32 6229} +!666 = !{i32 6440} +!667 = !{i32 6651} +!668 = !{i32 7091} +!669 = !{i32 7324} +!670 = !{i32 7557} +!671 = !{i32 7790} +!672 = !{i32 8019} +!673 = !{i32 8242} +!674 = !{i32 8465} +!675 = !{i32 8688} +!676 = !{i32 8916} +!677 = !{i32 9148} +!678 = !{i32 9380} +!679 = !{i32 9612} +!680 = !{i32 9833} +!681 = !{i32 10045} +!682 = !{i32 10257} +!683 = !{i32 10469} +!684 = !{i32 10677} +!685 = !{i32 10879} +!686 = !{i32 11081} +!687 = !{i32 11283} +!688 = !{i32 11490} +!689 = !{i32 11701} +!690 = !{i32 11912} +!691 = !{i32 12123} +!692 = !{i32 12320} +!693 = !{i32 12551} +!694 = !{i32 12778} +!695 = !{i32 13000} +!696 = !{i32 13352} +!697 = !{i32 13644} +!698 = !{i32 13856} +!699 = !{i32 14133} +!700 = !{i32 14433} +!701 = !{i32 14669} +!702 = !{i32 14952} +!703 = !{i32 15234} +!704 = !{i32 15446} +!705 = !{i32 15659} +!706 = !{i32 15871} +!707 = !{i32 1690} +!708 = !{!709, !710, i64 0} +!709 = !{!"_ZTS14AssertHappened", !710, i64 0, !711, i64 4, !711, i64 261, !711, i64 518, !710, i64 648, !713, i64 656, !713, i64 664, !713, i64 672, !713, i64 680, !713, i64 688, !713, i64 696} +!710 = !{!"int", !711, i64 0} +!711 = !{!"omnipotent char", !712, i64 0} +!712 = !{!"Simple C++ TBAA"} +!713 = !{!"long", !711, i64 0} +!714 = distinct !{!714, !715} +!715 = !{!"llvm.loop.mustprogress"} +!716 = !{i64 0, i64 4, !717, i64 4, i64 257, !718, i64 261, i64 257, !718, i64 518, i64 129, !718, i64 648, i64 4, !717, i64 656, i64 8, !719, i64 664, i64 8, !719, i64 672, i64 8, !719, i64 680, i64 8, !719, i64 688, i64 8, !719, i64 696, i64 8, !719} +!717 = !{!710, !710, i64 0} +!718 = !{!711, !711, i64 0} +!719 = !{!713, !713, i64 0} +!720 = !{i32 1729} +!721 = distinct !{!721, !715} +!722 = distinct !{!722, !715} +!723 = !{i32 3721} +!724 = distinct !{!724, !715} +!725 = distinct !{!725, !715} +!726 = distinct !{!726, !715} +!727 = !{i32 5859} +!728 = distinct !{!728, !715} +!729 = distinct !{!729, !715} +!730 = !{i32 1446} +!731 = !{!732, !732, i64 0} +!732 = !{!"float", !711, i64 0} +!733 = !{i32 1540} +!734 = !{i32 1703} +!735 = !{i32 3729} +!736 = !{i32 5533} +!737 = !{i32 5680} +!738 = !{i32 5839} +!739 = !{i32 6131} +!740 = !{i32 6786} +!741 = !{i32 6949} +!742 = !{i32 7303} +!743 = !{i32 7902} +!744 = !{i32 8596} +!745 = !{i32 9131} +!746 = !{i32 9790} +!747 = !{i32 10593} +!748 = !{i32 10847} +!749 = !{i32 11023} +!750 = !{i32 11277} +!751 = !{i32 11511} +!752 = !{i32 12827} +!753 = !{i32 13848} +!754 = !{i32 14105} +!755 = !{i32 15337} +!756 = !{i32 16702} +!757 = !{i32 16959} +!758 = !{i32 17174} +!759 = !{i32 1472} +!760 = !{!761, !761, i64 0} +!761 = !{!"double", !711, i64 0} +!762 = !{i32 1567} +!763 = !{i32 1731} +!764 = !{i32 3598} +!765 = !{i32 5413} +!766 = !{i32 5559} +!767 = !{i32 5717} +!768 = !{i32 6006} +!769 = !{i32 6656} +!770 = !{i32 6817} +!771 = !{i32 7205} +!772 = !{i32 7802} +!773 = !{i32 8483} +!774 = !{i32 9015} +!775 = !{i32 9669} +!776 = !{i32 10424} +!777 = !{i32 10673} +!778 = !{i32 10839} +!779 = !{i32 11088} +!780 = !{i32 11321} +!781 = !{i32 12611} +!782 = !{i32 13616} +!783 = !{i32 13867} +!784 = !{i32 15080} +!785 = !{i32 16441} +!786 = !{i32 16693} +!787 = !{i32 16912} +!788 = !{i32 995} +!789 = !{i32 1089} +!790 = !{i32 1181} +!791 = !{!792, !710, i64 0} +!792 = !{!"_ZTS20__devicelib_div_t_32", !710, i64 0, !710, i64 4} +!793 = !{!792, !710, i64 4} +!794 = !{i32 1269} +!795 = !{!796, !713, i64 0} +!796 = !{!"_ZTS20__devicelib_div_t_64", !713, i64 0, !713, i64 8} +!797 = !{!796, !713, i64 8} +!798 = !{i32 1361} +!799 = !{i32 1462} +!800 = !{i32 1564} +!801 = !{i32 1655} +!802 = !{i32 1746} +!803 = !{i32 1833} +!804 = !{i32 1920} +!805 = !{i32 2028} +!806 = !{i32 2133} +!807 = !{i32 2224} +!808 = !{i32 2340} +!809 = !{i32 2429} +!810 = !{i32 2518} +!811 = !{i32 2609} +!812 = !{i32 2700} +!813 = !{i32 2789} +!814 = !{i32 2878} +!815 = !{i32 2967} +!816 = !{i32 3056} +!817 = !{i32 3159} +!818 = !{i32 3246} +!819 = !{i32 3335} +!820 = !{i32 3428} +!821 = !{i32 3521} +!822 = !{i32 3622} +!823 = !{i32 3735} +!824 = !{i32 3853} +!825 = !{i32 3966} +!826 = !{i32 4067} +!827 = !{i32 4180} +!828 = !{i32 4267} +!829 = !{i32 4354} +!830 = !{i32 4441} +!831 = !{i32 4540} +!832 = !{i32 4629} +!833 = !{i32 4718} +!834 = !{i32 4807} +!835 = !{i32 4910} +!836 = !{i32 4999} +!837 = !{i32 5088} +!838 = !{i32 5177} +!839 = !{i32 5268} +!840 = !{i32 5359} +!841 = !{i32 801} +!842 = !{i32 889} +!843 = !{i32 977} +!844 = !{i32 1086} +!845 = !{i32 1194} +!846 = !{i32 1286} +!847 = !{i32 1404} +!848 = !{i32 1496} +!849 = !{i32 1588} +!850 = !{i32 1678} +!851 = !{i32 1767} +!852 = !{i32 1859} +!853 = !{i32 1951} +!854 = !{i32 2041} +!855 = !{i32 2131} +!856 = !{i32 2221} +!857 = !{i32 2311} +!858 = !{i32 2416} +!859 = !{i32 2504} +!860 = !{i32 2688} +!861 = !{i32 2782} +!862 = !{i32 2885} +!863 = !{i32 3000} +!864 = !{i32 3120} +!865 = !{i32 3235} +!866 = !{i32 3338} +!867 = !{i32 3454} +!868 = !{i32 3542} +!869 = !{i32 3630} +!870 = !{i32 3718} +!871 = !{i32 3819} +!872 = !{i32 3909} +!873 = !{i32 3999} +!874 = !{i32 4089} +!875 = !{i32 4194} +!876 = !{i32 4284} +!877 = !{i32 4374} +!878 = !{i32 4464} +!879 = !{i32 4556} +!880 = !{i32 4648} +!881 = !{i32 4740} +!882 = !{i32 490} +!883 = distinct !{!883, !715} +!884 = !{i32 786} +!885 = distinct !{!885, !715} +!886 = !{i32 1095} +!887 = !{i32 1171} +!888 = !{i32 1348} +!889 = !{i32 1458} +!890 = !{i32 1576} +!891 = !{i32 1812} +!892 = distinct !{!892, !715} +!893 = distinct !{!893, !715} +!894 = !{i32 2699} +!895 = distinct !{!895, !715} +!896 = distinct !{!896, !715} +!897 = !{i32 2977} +!898 = !{i32 3096} +!899 = !{i32 3208} +!900 = !{i32 3405} +!901 = !{i32 3612} +!902 = !{i32 3901} +!903 = !{i32 4222} +!904 = !{i32 4606} +!905 = !{i32 5561} +!906 = !{i32 5683} +!907 = !{i32 5882} +!908 = !{i32 6081} +!909 = !{i32 6280} +!910 = !{i32 6464} +!911 = !{i32 6678} +!912 = !{i32 6892} +!913 = !{i32 7106} +!914 = !{i32 7326} +!915 = !{i32 7552} +!916 = !{i32 7778} +!917 = !{i32 8004} +!918 = !{i32 8226} +!919 = !{i32 8448} +!920 = !{i32 8670} +!921 = !{i32 8892} +!922 = !{i32 9121} +!923 = !{i32 9355} +!924 = !{i32 9589} +!925 = !{i32 9823} +!926 = !{i32 10063} +!927 = !{i32 10309} +!928 = !{i32 10555} +!929 = !{i32 10801} +!930 = !{i32 11043} +!931 = !{i32 11285} +!932 = !{i32 11527} +!933 = !{i32 11769} +!934 = !{i32 12002} +!935 = !{i32 12136} +!936 = !{i32 12284} +!937 = !{i32 12495} +!938 = !{i32 12706} +!939 = !{i32 12917} +!940 = !{i32 13128} +!941 = !{i32 13359} +!942 = !{i32 13590} +!943 = !{i32 13821} +!944 = !{i32 14052} +!945 = !{i32 14269} +!946 = !{i32 14486} +!947 = !{i32 14703} +!948 = !{i32 14920} +!949 = !{i32 15058} +!950 = !{i32 15288} +!951 = !{i32 15518} +!952 = !{i32 15748} +!953 = !{i32 15978} +!954 = !{i32 16229} +!955 = !{i32 16480} +!956 = !{i32 16731} +!957 = !{i32 16982} +!958 = !{i32 17218} +!959 = !{i32 17454} +!960 = !{i32 17690} +!961 = !{i32 17926} +!962 = !{i32 19355} +!963 = !{i32 19451} +!964 = !{i32 19547} +!965 = !{i32 19643} +!966 = !{i32 20753} +!967 = !{i32 20862} +!968 = !{i32 20971} +!969 = !{i32 21080} +!970 = !{i32 22087} +!971 = !{i32 22191} +!972 = !{i32 22295} +!973 = !{i32 22399} +!974 = !{i32 23597} +!975 = !{i32 23714} +!976 = !{i32 23831} +!977 = !{i32 23948} +!978 = !{i32 24046} +!979 = !{i32 24159} +!980 = !{i32 25142} +!981 = !{i32 25238} +!982 = !{i32 25334} +!983 = !{i32 25430} +!984 = !{i32 25526} +!985 = !{i32 26651} +!986 = !{i32 26755} +!987 = !{i32 26859} +!988 = !{i32 26963} +!989 = !{i32 28008} +!990 = !{i32 28117} +!991 = !{i32 28226} +!992 = !{i32 28335} +!993 = !{i32 28444} +!994 = !{i32 28569} +!995 = !{i32 28862} +!996 = !{i32 29156} +!997 = !{i32 29447} +!998 = !{i32 41046} +!999 = !{!1000, !1000, i64 0} +!1000 = !{!"short", !711, i64 0} +!1001 = distinct !{!1001, !715} +!1002 = distinct !{!1002, !715} +!1003 = !{i32 41330} +!1004 = distinct !{!1004, !715} +!1005 = !{i32 41640} +!1006 = distinct !{!1006, !715} +!1007 = !{i32 41953} +!1008 = distinct !{!1008, !715} +!1009 = !{i32 42240} +!1010 = distinct !{!1010, !715} +!1011 = !{i32 42524} +!1012 = distinct !{!1012, !715} +!1013 = !{i32 42834} +!1014 = distinct !{!1014, !715} +!1015 = !{i32 43148} +!1016 = distinct !{!1016, !715} +!1017 = !{i32 43458} +!1018 = distinct !{!1018, !715} +!1019 = !{i32 43796} +!1020 = distinct !{!1020, !715} +!1021 = !{i32 44136} +!1022 = distinct !{!1022, !715} +!1023 = !{i32 44477} +!1024 = distinct !{!1024, !715} +!1025 = !{i32 44815} +!1026 = distinct !{!1026, !715} +!1027 = !{i32 45141} +!1028 = distinct !{!1028, !715} +!1029 = !{i32 45481} +!1030 = distinct !{!1030, !715} +!1031 = !{i32 37106} +!1032 = !{!1033, !1033, i64 0} +!1033 = !{!"any pointer", !711, i64 0} +!1034 = !{i32 2014120} +!1035 = !{i32 32863} +!1036 = !{i32 2014223} +!1037 = !{i32 32741} +!1038 = !{i32 45825} +!1039 = distinct !{!1039, !715} +!1040 = !{i32 2001863} +!1041 = !{i32 2001973} +!1042 = !{i32 46171} +!1043 = distinct !{!1043, !715} +!1044 = !{i32 46518} +!1045 = distinct !{!1045, !715} +!1046 = !{i32 46859} +!1047 = distinct !{!1047, !715} +!1048 = !{i32 47195} +!1049 = distinct !{!1049, !715} +!1050 = !{i32 47538} +!1051 = distinct !{!1051, !715} +!1052 = !{i32 38419} +!1053 = !{i32 47885} +!1054 = distinct !{!1054, !715} +!1055 = !{i32 48234} +!1056 = distinct !{!1056, !715} +!1057 = !{i32 48584} +!1058 = distinct !{!1058, !715} +!1059 = !{i32 48920} +!1060 = distinct !{!1060, !715} +!1061 = !{i32 49252} +!1062 = distinct !{!1062, !715} +!1063 = !{i32 49586} +!1064 = distinct !{!1064, !715} +!1065 = !{i32 49921} +!1066 = distinct !{!1066, !715} +!1067 = !{i32 50248} +!1068 = distinct !{!1068, !715} +!1069 = !{i32 50577} +!1070 = distinct !{!1070, !715} +!1071 = !{i32 50939} +!1072 = distinct !{!1072, !715} +!1073 = !{i32 51296} +!1074 = distinct !{!1074, !715} +!1075 = !{i32 51654} +!1076 = distinct !{!1076, !715} +!1077 = !{i32 52010} +!1078 = distinct !{!1078, !715} +!1079 = !{i32 52370} +!1080 = distinct !{!1080, !715} +!1081 = !{i32 52729} +!1082 = distinct !{!1082, !715} +!1083 = !{i32 53087} +!1084 = distinct !{!1084, !715} +!1085 = !{i32 53442} +!1086 = distinct !{!1086, !715} +!1087 = !{i32 53801} +!1088 = distinct !{!1088, !715} +!1089 = !{i32 54159} +!1090 = distinct !{!1090, !715} +!1091 = !{i32 54518} +!1092 = distinct !{!1092, !715} +!1093 = !{i32 54874} +!1094 = distinct !{!1094, !715} +!1095 = !{i32 55234} +!1096 = distinct !{!1096, !715} +!1097 = !{i32 55593} +!1098 = distinct !{!1098, !715} +!1099 = !{i32 55951} +!1100 = distinct !{!1100, !715} +!1101 = !{i32 56306} +!1102 = distinct !{!1102, !715} +!1103 = !{i32 56665} +!1104 = distinct !{!1104, !715} +!1105 = !{i32 57023} +!1106 = distinct !{!1106, !715} +!1107 = !{i32 57387} +!1108 = distinct !{!1108, !715} +!1109 = !{i32 57749} +!1110 = distinct !{!1110, !715} +!1111 = !{i32 58085} +!1112 = distinct !{!1112, !715} +!1113 = !{i32 58419} +!1114 = distinct !{!1114, !715} +!1115 = !{i32 58755} +!1116 = distinct !{!1116, !715} +!1117 = !{i32 59092} +!1118 = distinct !{!1118, !715} +!1119 = !{i32 59427} +!1120 = distinct !{!1120, !715} +!1121 = !{i32 59761} +!1122 = distinct !{!1122, !715} +!1123 = !{i32 60097} +!1124 = distinct !{!1124, !715} +!1125 = !{i32 60434} +!1126 = distinct !{!1126, !715} +!1127 = !{i32 60788} +!1128 = distinct !{!1128, !715} +!1129 = !{i32 61146} +!1130 = distinct !{!1130, !715} +!1131 = !{i32 61508} +!1132 = distinct !{!1132, !715} +!1133 = !{i32 61871} +!1134 = distinct !{!1134, !715} +!1135 = !{i32 62229} +!1136 = distinct !{!1136, !715} +!1137 = !{i32 62586} +!1138 = distinct !{!1138, !715} +!1139 = !{i32 62945} +!1140 = distinct !{!1140, !715} +!1141 = !{i32 63305} +!1142 = distinct !{!1142, !715} +!1143 = !{i32 63662} +!1144 = distinct !{!1144, !715} +!1145 = !{i32 64018} +!1146 = distinct !{!1146, !715} +!1147 = !{i32 64376} +!1148 = distinct !{!1148, !715} +!1149 = !{i32 64735} +!1150 = distinct !{!1150, !715} +!1151 = !{i32 65093} +!1152 = distinct !{!1152, !715} +!1153 = !{i32 65450} +!1154 = distinct !{!1154, !715} +!1155 = !{i32 65809} +!1156 = distinct !{!1156, !715} +!1157 = !{i32 66169} +!1158 = distinct !{!1158, !715} +!1159 = !{i32 66526} +!1160 = distinct !{!1160, !715} +!1161 = !{i32 66882} +!1162 = distinct !{!1162, !715} +!1163 = !{i32 67240} +!1164 = distinct !{!1164, !715} +!1165 = !{i32 67599} +!1166 = distinct !{!1166, !715} +!1167 = !{i32 68778} +!1168 = distinct !{!1168, !715} +!1169 = !{i32 69056} +!1170 = distinct !{!1170, !715} +!1171 = !{i32 69336} +!1172 = distinct !{!1172, !715} +!1173 = !{i32 69617} +!1174 = distinct !{!1174, !715} +!1175 = !{i32 107541} +!1176 = !{!"branch_weights", i32 1, i32 2000} +!1177 = !{!"branch_weights", i32 -2147483648, i32 -2147483648} +!1178 = !{i32 129274} +!1179 = !{i32 167109} +!1180 = !{i32 188581} +!1181 = !{i32 192393} +!1182 = !{i32 195737} +!1183 = !{i32 199595} +!1184 = !{i32 226563} +!1185 = !{i32 220971} +!1186 = !{i1 false, i1 false} +!1187 = !{i32 232190} +!1188 = !{i32 262610} +!1189 = !{!"branch_weights", i32 2000, i32 1} +!1190 = !{i32 256620} +!1191 = !{i32 295919} +!1192 = !{i32 290169} +!1193 = !{i32 303917} +!1194 = !{i32 339401} +!1195 = distinct !{!1195, !715} +!1196 = distinct !{!1196, !715} +!1197 = distinct !{!1197, !715} +!1198 = !{i32 347940} +!1199 = !{i32 352218} +!1200 = !{i32 356578} +!1201 = !{i32 361760} +!1202 = !{i32 367927} +!1203 = !{i32 373235} +!1204 = !{i32 378530} +!1205 = !{i32 385880} +!1206 = !{i32 529063} +!1207 = !{i32 527117} +!1208 = !{i32 538569} +!1209 = !{i32 542985} +!1210 = !{i32 556249} +!1211 = !{i32 567847} +!1212 = !{i32 585799} +!1213 = !{i32 590244} +!1214 = !{i32 608256} +!1215 = !{i32 621602} +!1216 = !{i32 634928} +!1217 = !{i32 642321} +!1218 = !{i32 640706} +!1219 = !{i32 648159} +!1220 = !{i32 655263} +!1221 = distinct !{!1221, !715} +!1222 = distinct !{!1222, !715} +!1223 = distinct !{!1223, !715} +!1224 = distinct !{!1224, !715} +!1225 = !{i32 657258} +!1226 = !{i32 663406} +!1227 = !{i32 686356} +!1228 = !{i32 789437} +!1229 = !{i32 791935} +!1230 = distinct !{!1230, !715} +!1231 = distinct !{!1231, !715} +!1232 = !{i32 793830} +!1233 = !{i32 802782} +!1234 = !{i32 800689} +!1235 = !{i1 false, i1 false, i1 false} +!1236 = !{i32 807366} +!1237 = !{i32 828380} +!1238 = distinct !{!1238, !715} +!1239 = distinct !{!1239, !715} +!1240 = !{i32 832099} +!1241 = !{i32 859591} +!1242 = !{i32 861895} +!1243 = !{i32 964795} +!1244 = !{i32 996670} +!1245 = !{i32 994965} +!1246 = !{i32 1038595} +!1247 = !{i32 1063286} +!1248 = !{i32 1067578} +!1249 = !{i32 1070950} +!1250 = distinct !{!1250, !715} +!1251 = distinct !{!1251, !715} +!1252 = !{i32 1072796} +!1253 = !{i32 1080325} +!1254 = !{i32 1087159} +!1255 = !{i32 1097372} +!1256 = !{i32 1092990} +!1257 = !{i1 false, i1 false, i1 false, i1 false} +!1258 = distinct !{!1258, !715} +!1259 = distinct !{!1259, !715} +!1260 = distinct !{!1260, !715} +!1261 = distinct !{!1261, !715} +!1262 = !{i32 1106413} +!1263 = distinct !{!1263, !715} +!1264 = distinct !{!1264, !715} +!1265 = distinct !{!1265, !715} +!1266 = distinct !{!1266, !715} +!1267 = !{i32 1108319} +!1268 = !{i32 1136766} +!1269 = distinct !{!1269, !715} +!1270 = !{i32 1163302} +!1271 = !{i32 1198393} +!1272 = !{i32 1285435} +!1273 = !{i32 1283238} +!1274 = !{i32 1293378} +!1275 = !{i32 1303526} +!1276 = !{i32 1304707} +!1277 = !{i32 1306267} +!1278 = !{i32 1307813} +!1279 = !{i32 1309364} +!1280 = !{i32 1311709} +!1281 = !{i32 1314438} +!1282 = !{i32 1316776} +!1283 = !{i32 1321106} +!1284 = !{i32 1325034} +!1285 = !{i32 1328443} +!1286 = !{i32 1348334} +!1287 = !{i32 1365679} +!1288 = !{i32 1388312} +!1289 = !{i32 1408725} +!1290 = !{i32 1522374} +!1291 = distinct !{!1291, !715} +!1292 = distinct !{!1292, !715} +!1293 = !{i64 0, i64 8, !719, i64 0, i64 8, !718} +!1294 = distinct !{!1294, !715} +!1295 = distinct !{!1295, !715} +!1296 = distinct !{!1296, !715} +!1297 = distinct !{!1297, !715} +!1298 = distinct !{!1298, !715} +!1299 = !{i32 1472697} +!1300 = !{i32 1503646} +!1301 = !{i32 1413245} +!1302 = distinct !{!1302, !715} +!1303 = !{i32 1423310} +!1304 = !{i64 0, i64 4, !719, i64 0, i64 4, !718} +!1305 = distinct !{!1305, !715} +!1306 = distinct !{!1306, !715} +!1307 = distinct !{!1307, !715} +!1308 = distinct !{!1308, !715} +!1309 = !{i32 1439763} +!1310 = distinct !{!1310, !715} +!1311 = distinct !{!1311, !715} +!1312 = !{i32 1434028} +!1313 = !{i32 1422656} +!1314 = distinct !{!1314, !715} +!1315 = distinct !{!1315, !715} +!1316 = !{!1317} +!1317 = distinct !{!1317, !1318, !"_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_addENS0_6dp_intES1_: argument 0"} +!1318 = distinct !{!1318, !"_ZN18__imf_impl_jn_s_ep12_GLOBAL__N_16dp_addENS0_6dp_intES1_"} +!1319 = !{i32 1410499} +!1320 = !{i1 false} +!1321 = !{i32 1454003} +!1322 = !{i32 1568040} +!1323 = !{i32 1528498} +!1324 = !{i32 1604132} +!1325 = !{i32 1574149} +!1326 = !{i32 1704141} +!1327 = distinct !{!1327, !715} +!1328 = distinct !{!1328, !715} +!1329 = distinct !{!1329, !715} +!1330 = distinct !{!1330, !715} +!1331 = distinct !{!1331, !715} +!1332 = !{i32 1623279} +!1333 = !{i32 1663559} +!1334 = !{i32 1610579} +!1335 = !{i32 1684147} +!1336 = !{i32 1606522} +!1337 = !{i32 1740295} +!1338 = distinct !{!1338, !715} +!1339 = distinct !{!1339, !715} +!1340 = distinct !{!1340, !715} +!1341 = distinct !{!1341, !715} +!1342 = !{i32 1740949} +!1343 = !{i32 2193923} +!1344 = !{i32 2182582} +!1345 = !{i32 2187531} +!1346 = distinct !{!1346, !715} +!1347 = !{i32 1741071} +!1348 = !{i32 1741193} +!1349 = !{i32 1741315} +!1350 = !{i32 1741437} +!1351 = !{i32 1741560} +!1352 = !{i32 1741683} +!1353 = !{i32 1741806} +!1354 = !{i32 1741929} +!1355 = !{i32 2195508} +!1356 = distinct !{!1356, !715} +!1357 = !{i32 0, i32 2} +!1358 = !{i32 2182194} +!1359 = !{i32 1742041} +!1360 = !{i32 1742153} +!1361 = !{i32 1742265} +!1362 = !{i32 1742377} +!1363 = !{i32 2204641} +!1364 = distinct !{!1364, !715} +!1365 = distinct !{!1365, !715} +!1366 = !{i32 2204206} +!1367 = distinct !{!1367, !715} +!1368 = !{i32 1742489} +!1369 = !{i32 1742601} +!1370 = !{i32 1742713} +!1371 = !{i32 1743276} +!1372 = !{i32 1743493} +!1373 = !{i32 1743643} +!1374 = !{i32 1743791} +!1375 = !{i32 1743941} +!1376 = !{i32 1744089} +!1377 = !{i32 1744242} +!1378 = !{i32 1744390} +!1379 = !{i32 1744540} +!1380 = !{i32 1744696} +!1381 = !{i32 1744877} +!1382 = !{i32 1745058} +!1383 = !{i32 1745206} +!1384 = !{i32 1745382} +!1385 = !{i32 1745481} +!1386 = !{i32 1745588} +!1387 = !{i32 1745675} +!1388 = !{i32 1745760} +!1389 = !{i32 1745847} +!1390 = !{i32 1745932} +!1391 = !{i32 1746022} +!1392 = !{i32 1746107} +!1393 = !{i32 1746194} +!1394 = !{i32 1746275} +!1395 = !{i32 1747216} +!1396 = !{i32 1747309} +!1397 = !{i32 1747396} +!1398 = !{i32 1747487} +!1399 = !{i32 1747583} +!1400 = !{i32 1747675} +!1401 = !{i32 1747789} +!1402 = !{i32 1747881} +!1403 = !{i32 1747975} +!1404 = !{i32 1748071} +!1405 = !{i32 1748173} +!1406 = !{i32 1748261} +!1407 = !{i32 1748349} +!1408 = !{i32 1748448} +!1409 = !{i32 1748569} +!1410 = !{i32 1748699} +!1411 = !{i32 1748894} +!1412 = !{i32 1749079} +!1413 = !{i32 1749196} +!1414 = !{i32 1749306} +!1415 = !{i32 1749403} +!1416 = !{i32 1326} +!1417 = !{i32 1431} +!1418 = !{i32 1536} +!1419 = !{i32 1641} +!1420 = !{i32 2573} +!1421 = !{i32 2672} +!1422 = !{i32 2771} +!1423 = !{i32 2870} +!1424 = !{i32 2969} +!1425 = !{i32 3133} +!1426 = !{i32 4423} +!1427 = !{i32 4535} +!1428 = !{i32 4647} +!1429 = !{i32 4759} +!1430 = !{i32 5781} +!1431 = !{i32 5890} +!1432 = !{i32 5999} +!1433 = !{i32 6108} +!1434 = !{i32 7323} +!1435 = !{i32 7443} +!1436 = !{i32 7563} +!1437 = !{i32 7683} +!1438 = !{i32 7794} +!1439 = !{i32 8468} +!1440 = !{i32 9604} +!1441 = !{i32 9713} +!1442 = !{i32 9822} +!1443 = !{i32 9931} +!1444 = !{i32 10040} +!1445 = !{i32 10415} +!1446 = !{i32 11624} +!1447 = !{i32 11744} +!1448 = !{i32 11864} +!1449 = !{i32 11984} +!1450 = !{i32 12116} +!1451 = !{i32 12355} +!1452 = !{i32 26300} +!1453 = distinct !{!1453, !715} +!1454 = !{i32 40364} +!1455 = distinct !{!1455, !715} +!1456 = !{i32 46577} +!1457 = !{i32 76070} +!1458 = !{i32 68674} +!1459 = !{i32 84508} +!1460 = !{i32 150367} +!1461 = !{i32 144900} +!1462 = !{i32 207948} +!1463 = !{i32 201961} +!1464 = !{i32 236599} +!1465 = !{i32 230991} +!1466 = !{i32 332268} +!1467 = !{i32 325355} +!1468 = !{i32 339579} +!1469 = !{i32 439929} +!1470 = !{i32 929563} +!1471 = !{i32 924509} +!1472 = !{i32 961349} +!1473 = !{i32 1010995} +!1474 = !{i32 1009230} +!1475 = !{i32 1041815} +!1476 = !{i32 1090437} +!1477 = !{i32 1150704} +!1478 = !{!"branch_weights", i32 0, i32 -2147483648} +!1479 = !{i32 1127236} +!1480 = !{i32 1200608} +!1481 = !{i32 1191451} +!1482 = !{i32 1256438} +!1483 = !{i32 1254910} +!1484 = !{i32 1271781} +!1485 = !{i32 1614794} +!1486 = !{i32 1594325} +!1487 = !{i32 2762438} +!1488 = !{i32 2588004} +!1489 = !{i32 2801382} +!1490 = !{i32 2794141} +!1491 = !{i32 2811617} +!1492 = !{i32 3131257} +!1493 = !{i32 3110667} +!1494 = !{i32 4281098} +!1495 = !{i32 4113806} +!1496 = !{i32 4293825} +!1497 = !{i32 4319690} +!1498 = !{i32 4326276} +!1499 = !{i32 4328419} +!1500 = !{i32 4327712} +!1501 = !{i32 4338969} +!1502 = !{i32 4333273} +!1503 = distinct !{!1503, !715} +!1504 = distinct !{!1504, !715} +!1505 = distinct !{!1505, !715} +!1506 = distinct !{!1506, !715} +!1507 = !{i32 4344355} +!1508 = !{i32 4392831} +!1509 = !{i32 4386548} +!1510 = !{i32 4398398} +!1511 = !{i32 4445786} +!1512 = !{i32 4439043} +!1513 = distinct !{!1513, !715} +!1514 = !{i32 4452158} +!1515 = !{i32 4453750} +!1516 = !{i32 4455328} +!1517 = !{i32 4460026} +!1518 = !{i32 4463713} +!1519 = !{i32 4466044} +!1520 = !{i32 4468707} +!1521 = !{i32 4471031} +!1522 = !{i32 4475803} +!1523 = !{i32 4473742} +!1524 = !{i32 4479510} +!1525 = !{i32 4484288} +!1526 = !{i32 4481661} +!1527 = !{!1528, !1528, i64 0} +!1528 = !{!"long long", !711, i64 0} +!1529 = !{i32 4489786} +!1530 = distinct !{!1530, !715} +!1531 = distinct !{!1531, !715} +!1532 = !{i32 4491944} +!1533 = !{i32 4500895} +!1534 = !{i32 4515502} +!1535 = !{i32 4511416} +!1536 = distinct !{!1536, !715} +!1537 = distinct !{!1537, !715} +!1538 = distinct !{!1538, !715} +!1539 = distinct !{!1539, !715} +!1540 = !{i32 4526055} +!1541 = !{i32 4521606} +!1542 = distinct !{!1542, !715} +!1543 = distinct !{!1543, !715} +!1544 = distinct !{!1544, !715} +!1545 = distinct !{!1545, !715} +!1546 = !{i32 4532435} +!1547 = !{i32 4540152} +!1548 = distinct !{!1548, !715} +!1549 = distinct !{!1549, !715} +!1550 = !{i32 4542252} +!1551 = !{i32 4550954} +!1552 = !{i32 4560648} +!1553 = !{i32 4565985} +!1554 = !{i32 4569678} +!1555 = !{i32 4581782} +!1556 = distinct !{!1556, !715} +!1557 = !{i32 4584212} +!1558 = !{i32 4636593} +!1559 = !{i32 4625140} +!1560 = !{i32 4645984} +!1561 = !{i32 5077962} +!1562 = !{i32 5191104} +!1563 = !{i32 5189995} +!1564 = !{i32 5245808} +!1565 = !{!1566} +!1566 = distinct !{!1566, !1567, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1567 = distinct !{!1567, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1568 = !{i64 0, i64 16, !718} +!1569 = !{!1570} +!1570 = distinct !{!1570, !1571, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1571 = distinct !{!1571, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1572 = !{!1573} +!1573 = distinct !{!1573, !1574, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1574 = distinct !{!1574, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1575 = !{!1576} +!1576 = distinct !{!1576, !1577, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1577 = distinct !{!1577, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1578 = !{!1579} +!1579 = distinct !{!1579, !1580, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1580 = distinct !{!1580, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1581 = !{!1582} +!1582 = distinct !{!1582, !1583, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1583 = distinct !{!1583, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1584 = !{!1585} +!1585 = distinct !{!1585, !1586, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1586 = distinct !{!1586, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1587 = !{!1588} +!1588 = distinct !{!1588, !1589, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd: argument 0"} +!1589 = distinct !{!1589, !"_ZN22__imf_impl_tgamma_d_ep12_GLOBAL__N_129__dtgamma_ep_mp_double_init_hEd"} +!1590 = !{i64 0, i64 8, !718} +!1591 = distinct !{!1591, !715} +!1592 = !{i32 5205070} +!1593 = !{i32 5204050} +!1594 = !{i32 5203651} +!1595 = !{i32 5268724} +!1596 = !{i32 5253878} +!1597 = !{i32 5351204} +!1598 = !{i32 5305958} +!1599 = !{i32 5432863} +!1600 = !{i32 5387780} +!1601 = !{i32 5472677} +!1602 = distinct !{!1602, !715} +!1603 = distinct !{!1603, !715} +!1604 = !{i32 5512114} +!1605 = distinct !{!1605, !715} +!1606 = distinct !{!1606, !715} +!1607 = !{i32 5574379} +!1608 = distinct !{!1608, !715} +!1609 = distinct !{!1609, !715} +!1610 = !{i32 5626843} +!1611 = distinct !{!1611, !715} +!1612 = distinct !{!1612, !715} +!1613 = !{i32 5728865} +!1614 = distinct !{!1614, !715} +!1615 = !{i32 5729521} +!1616 = !{i32 6178389} +!1617 = !{i32 6167048} +!1618 = !{i32 6171997} +!1619 = distinct !{!1619, !715} +!1620 = !{i32 5729646} +!1621 = !{i32 5729771} +!1622 = !{i32 5729896} +!1623 = !{i32 5730021} +!1624 = !{i32 5730147} +!1625 = !{i32 5730273} +!1626 = !{i32 5730399} +!1627 = !{i32 5730525} +!1628 = !{i32 6179974} +!1629 = !{!1630} +!1630 = distinct !{!1630, !1631, !"_ZN11__iml_ui128miERKm: argument 0"} +!1631 = distinct !{!1631, !"_ZN11__iml_ui128miERKm"} +!1632 = !{!1633} +!1633 = distinct !{!1633, !1634, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1634 = distinct !{!1634, !"_ZN11__iml_ui128anERKS_"} +!1635 = !{!1636} +!1636 = distinct !{!1636, !1637, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1637 = distinct !{!1637, !"_ZN11__iml_ui128anERKS_"} +!1638 = !{!1639} +!1639 = distinct !{!1639, !1640, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1640 = distinct !{!1640, !"_ZN11__iml_ui128anERKS_"} +!1641 = !{!1642} +!1642 = distinct !{!1642, !1643, !"_ZN11__iml_ui128miERKm: argument 0"} +!1643 = distinct !{!1643, !"_ZN11__iml_ui128miERKm"} +!1644 = !{!1645} +!1645 = distinct !{!1645, !1646, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1646 = distinct !{!1646, !"_ZN11__iml_ui128anERKS_"} +!1647 = !{!1648} +!1648 = distinct !{!1648, !1649, !"_ZN11__iml_ui128anERKm: argument 0"} +!1649 = distinct !{!1649, !"_ZN11__iml_ui128anERKm"} +!1650 = !{i64 0, i64 2} +!1651 = !{!1652} +!1652 = distinct !{!1652, !1653, !"_ZN11__iml_ui128miERKm: argument 0"} +!1653 = distinct !{!1653, !"_ZN11__iml_ui128miERKm"} +!1654 = !{!1655} +!1655 = distinct !{!1655, !1656, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1656 = distinct !{!1656, !"_ZN11__iml_ui128anERKS_"} +!1657 = !{!1658} +!1658 = distinct !{!1658, !1659, !"_ZN11__iml_ui128anERKm: argument 0"} +!1659 = distinct !{!1659, !"_ZN11__iml_ui128anERKm"} +!1660 = !{} +!1661 = !{!1662} +!1662 = distinct !{!1662, !1663, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1663 = distinct !{!1663, !"_ZN11__iml_ui128anERKS_"} +!1664 = !{!1665} +!1665 = distinct !{!1665, !1666, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1666 = distinct !{!1666, !"_ZN11__iml_ui128anERKS_"} +!1667 = !{!1668} +!1668 = distinct !{!1668, !1669, !"_ZN11__iml_ui128miERKm: argument 0"} +!1669 = distinct !{!1669, !"_ZN11__iml_ui128miERKm"} +!1670 = !{!1671} +!1671 = distinct !{!1671, !1672, !"_ZN11__iml_ui128anERKS_: argument 0"} +!1672 = distinct !{!1672, !"_ZN11__iml_ui128anERKS_"} +!1673 = !{i32 5807209} +!1674 = distinct !{!1674, !715} +!1675 = distinct !{!1675, !715} +!1676 = !{i32 5806984} +!1677 = !{i32 5804488} +!1678 = !{i32 5804980} +!1679 = !{i32 6166660} +!1680 = !{i32 5730640} +!1681 = !{i32 5730755} +!1682 = !{i32 5730870} +!1683 = !{i32 5730985} +!1684 = !{i32 6189107} +!1685 = distinct !{!1685, !715} +!1686 = !{i32 6188672} +!1687 = distinct !{!1687, !715} +!1688 = !{i32 5731100} +!1689 = !{i32 5731215} +!1690 = !{i32 5731330} +!1691 = !{i32 5731883} +!1692 = !{i32 5732043} +!1693 = !{i32 5732131} +!1694 = !{i32 5732217} +!1695 = !{i32 5732305} +!1696 = !{i32 5732391} +!1697 = !{i32 5732482} +!1698 = !{i32 5732568} +!1699 = !{i32 5732661} +!1700 = !{i32 5732742} +!1701 = !{i32 5733683} +!1702 = !{i32 5733769} +!1703 = !{i32 5733868} +!1704 = !{i32 480} +!1705 = !{i32 610} +!1706 = !{i32 738} +!1707 = !{i32 869} +!1708 = !{i32 1131} +!1709 = !{i32 1256} +!1710 = !{i32 1416} +!1711 = !{i32 1736} +!1712 = !{i32 1898} +!1713 = !{i32 2064} +!1714 = !{i32 2230} +!1715 = !{i32 2396} +!1716 = !{i32 2566} +!1717 = !{i32 2737} +!1718 = !{i32 2908} +!1719 = !{i32 3079} +!1720 = !{i32 3376} +!1721 = !{i32 3517} +!1722 = !{i32 3658} +!1723 = !{i32 3801} +!1724 = !{i32 3948} +!1725 = !{i32 72441} +!1726 = !{i32 4095} +!1727 = !{i32 4242} +!1728 = !{i32 4393} +!1729 = !{i32 4545} +!1730 = !{i32 4697} +!1731 = !{i32 4849} +!1732 = !{i32 5010} +!1733 = distinct !{!1733, !715} +!1734 = !{i32 5176} +!1735 = !{i32 5342} +!1736 = !{i32 5508} +!1737 = !{i32 5674} +!1738 = distinct !{!1738, !715} +!1739 = !{i32 5834} +!1740 = !{i32 5994} +!1741 = !{i32 6154} +!1742 = !{i32 6314} +!1743 = distinct !{!1743, !715} +!1744 = !{i32 6485} +!1745 = !{i32 6827} +!1746 = !{i32 6998} +!1747 = !{i32 7145} +!1748 = !{i32 7292} +!1749 = !{i32 7439} +!1750 = !{i32 7586} +!1751 = !{i32 7727} +!1752 = !{i32 7868} +!1753 = !{i32 8009} +!1754 = !{i32 8150} +!1755 = distinct !{!1755, !715} +!1756 = !{i32 8302} +!1757 = !{i32 8454} +!1758 = !{i32 8606} +!1759 = !{i32 8745} +!1760 = !{i32 8883} +!1761 = !{i32 9035} +!1762 = !{i32 9177} +!1763 = !{i32 9767} +!1764 = !{i32 10203} +!1765 = !{i32 10345} +!1766 = !{i32 10565} +!1767 = !{i32 10785} +!1768 = !{i32 11017} +!1769 = !{i32 11157} +!1770 = !{i32 11297} +!1771 = !{i32 11439} +!1772 = !{i32 11579} +!1773 = !{i32 553} +!1774 = !{i32 740} +!1775 = !{i32 954} +!1776 = !{i32 1103} +!1777 = !{i32 1317} +!1778 = !{i32 1466} +!1779 = !{i32 1832} +!1780 = !{i32 2096} +!1781 = !{i32 1141} +!1782 = !{i32 1498} +!1783 = !{i32 1638} +!1784 = !{i32 573} +!1785 = !{i32 703} +!1786 = !{i32 816} +!1787 = !{i32 920} +!1788 = !{i32 1033} +!1789 = !{i32 1136} +!1790 = !{i32 1240} +!1791 = !{i32 1349} +!1792 = !{!1793, !1793, i64 0} +!1793 = !{!"_ZTS21__itt_atomic_mem_op_t", !711, i64 0} +!1794 = !{!1795, !1795, i64 0} +!1795 = !{!"_ZTS24__itt_atomic_mem_order_t", !711, i64 0} +!1796 = !{i32 1551}