/******************************************************************* This file has been automatically generated by ispc DO NOT EDIT THIS FILE DIRECTLY *******************************************************************/ /* Provide Declarations */ #include #include #include #include #ifdef _MSC_VER #define NOMINMAX #include #endif // _MSC_VER #include #include /* get a declaration for alloca */ #ifdef _MSC_VER #include #define alloca _alloca #else #include #endif #undef ISPC_FAST_MATH #include "generic_defs.h" /* Basic Library Function Declarations */ extern "C" { int puts(unsigned char *); unsigned int putchar(unsigned int); int fflush(void *); int printf(const unsigned char *, ...); uint8_t *memcpy(uint8_t *, uint8_t *, uint64_t ); uint8_t *memset(uint8_t *, uint8_t, uint64_t ); void memset_pattern16(void *, const void *, uint64_t ); } #ifndef __GNUC__ /* Can only support "linkonce" vars with GCC */ #define __attribute__(X) #endif #if defined(__GNUC__) && defined(__APPLE_CC__) #define __EXTERNAL_WEAK__ __attribute__((weak_import)) #elif defined(__GNUC__) #define __EXTERNAL_WEAK__ __attribute__((weak)) #else #define __EXTERNAL_WEAK__ #endif #if defined(__GNUC__) && defined(__APPLE_CC__) #define __ATTRIBUTE_WEAK__ #elif defined(__GNUC__) #define __ATTRIBUTE_WEAK__ __attribute__((weak)) #else #define __ATTRIBUTE_WEAK__ #endif #if defined(__GNUC__) #define __HIDDEN__ __attribute__((visibility("hidden"))) #endif #if (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER) #define LLVM_NAN(NanStr) __builtin_nan(NanStr) /* Double */ #define LLVM_NANF(NanStr) __builtin_nanf(NanStr) /* Float */ #define LLVM_NANS(NanStr) __builtin_nans(NanStr) /* Double */ #define LLVM_NANSF(NanStr) __builtin_nansf(NanStr) /* Float */ #define LLVM_INF __builtin_inf() /* Double */ #define LLVM_INFF __builtin_inff() /* Float */ //#define LLVM_PREFETCH(addr,rw,locality) __builtin_prefetch(addr,rw,locality) //#define __ATTRIBUTE_CTOR__ __attribute__((constructor)) //#define __ATTRIBUTE_DTOR__ __attribute__((destructor)) #elif defined(_MSC_VER) || defined(__INTEL_COMPILER) #include #define LLVM_NAN(NanStr) std::numeric_limits::quiet_NaN() #define LLVM_NANF(NanStr) std::numeric_limits::quiet_NaN() #define LLVM_NANS(NanStr) std::numeric_limits::signaling_NaN() #define LLVM_NANSF(NanStr) std::numeric_limits::signaling_NaN() #define LLVM_INF std::numeric_limits::infinity() #define LLVM_INFF std::numeric_limits::infinity() //#define LLVM_PREFETCH(addr,rw,locality) /* PREFETCH */ //#define __ATTRIBUTE_CTOR__ //#define __ATTRIBUTE_DTOR__ #else #error "Not MSVC, clang, or g++?" #endif #if (defined(__GNUC__) || defined(__clang__)) #define LLVM_ASM(X) __asm(X) #endif #if defined(__clang__) || defined(__INTEL_COMPILER) || (__GNUC__ < 4) /* Old GCCs, or compilers not GCC */ #define __builtin_stack_save() 0 /* not implemented */ #define __builtin_stack_restore(X) /* noop */ #endif #define CODE_FOR_MAIN() /* Any target-specific code for main()*/ #ifndef __cplusplus typedef unsigned char bool; #endif /* Support for floating point constants */ typedef uint64_t ConstantDoubleTy; typedef uint32_t ConstantFloatTy; typedef struct { unsigned long long f1; unsigned short f2; unsigned short pad[3]; } ConstantFP80Ty; typedef struct { uint64_t f1, f2; } ConstantFP128Ty; /* Global Declarations */ /* Helper union for bitcasts */ typedef union { unsigned int Int32; unsigned long long Int64; float Float; double Double; } llvmBitCastUnion; /* This is special class, designed for operations with long int.*/ namespace { template struct iN { int num[num_bits / (sizeof (int) * 8)]; iN () {} iN (const char *val) { if (val == NULL) return; int length = num_bits / (sizeof (int) * 8); int val_len = 0; for (val_len = 0; val[val_len]; (val_len)++); for (int i = 0; (i < val_len && i < num_bits); i++) num[i / (sizeof (int) * 8)] = (num[i / (sizeof (int) * 8)] << 1) | (val[i] - '0'); } ~iN () {} iN operator >> (const iN rhs) { iN res; int length = num_bits / (sizeof (int) * 8); int cells_shift = rhs.num[0] / (sizeof(int) * 8); int small_shift = rhs.num[0] % (sizeof(int) * 8); for (int i = 0; i < (length - cells_shift); i++) res.num[i] = this->num[cells_shift + i]; for (int i = 0; i < length - 1; i++) { res.num[i] = this->num[i] >> small_shift; res.num[i] = ((this->num[i + 1] << ((sizeof(int) * 8) - small_shift))) | res.num[i]; } res.num[length - 1] = res.num[length - 1] >> small_shift; return res; } iN operator & (iN rhs) { iN res; int length = num_bits / (sizeof (int) * 8); for (int i = 0; i < length; i++) res.num[i] = (this->num[i]) & (rhs.num[i]); return res; } operator uint32_t() { return this->num[0]; } template friend iN __cast_bits(iN to, T from) { for (int i = 0; i <32; i++) to.num[i] = ((int*)(&from))[i]; return to; } template friend T __cast_bits(T to, iN from) { for (int i = 0; i <32; i++) ((int*)(&to))[i] = from.num[i]; return to; } template friend void __store(T *p, iN val) { for (int i = 0; i <32; i++) ((int*)p)[i] = val.num[i]; } }; }; /* Function Declarations */ extern "C" { __vec32_d factorial___vyi(__vec32_i32 num_, __vec32_i1 __mask_); void sinx___uniuniun_3C_unf_3E_un_3C_unf_3E_(uint32_t N_, uint32_t terms_, float *x_, float *result_, __vec32_i1 __mask_); void sinx(uint32_t N_, uint32_t terms_, float *x_, float *result_); } /* Function Bodies */ template static inline int llvm_fcmp_ord(A X, B Y) { return X == X && Y == Y; } template static inline int llvm_fcmp_uno(A X, B Y) { return X != X || Y != Y; } template static inline int llvm_fcmp_ueq(A X, B Y) { return X == Y || llvm_fcmp_uno(X, Y); } template static inline int llvm_fcmp_une(A X, B Y) { return X != Y; } template static inline int llvm_fcmp_ult(A X, B Y) { return X < Y || llvm_fcmp_uno(X, Y); } template static inline int llvm_fcmp_ugt(A X, B Y) { return X > Y || llvm_fcmp_uno(X, Y); } template static inline int llvm_fcmp_ule(A X, B Y) { return X <= Y || llvm_fcmp_uno(X, Y); } template static inline int llvm_fcmp_uge(A X, B Y) { return X >= Y || llvm_fcmp_uno(X, Y); } template static inline int llvm_fcmp_oeq(A X, B Y) { return X == Y ; } template static inline int llvm_fcmp_one(A X, B Y) { return X != Y && llvm_fcmp_ord(X, Y); } template static inline int llvm_fcmp_olt(A X, B Y) { return X < Y ; } template static inline int llvm_fcmp_ogt(A X, B Y) { return X > Y ; } template static inline int llvm_fcmp_ole(A X, B Y) { return X <= Y ; } template static inline int llvm_fcmp_oge(A X, B Y) { return X >= Y ; } template A *Memset(A *ptr, int count, size_t len) { return (A *)memset(ptr, count, len); } __vec32_d factorial___vyi(__vec32_i32 num_, __vec32_i1 __mask_) { __vec32_i1 lessequal_i_load_num_load25_; __vec32_i1 internal_mask_26_function_mask726_and_mask_; bool internal_mask_26_function_mask7_any27_; __vec32_i1 oldMask_26_test30_; __vec32_i1 oldMask_26_test30___PHI; __vec32_i32 i_2e_029_; __vec32_i32 i_2e_029___PHI; __vec32_d fact_2e_028_; __vec32_d fact_2e_028___PHI; __vec32_d v1_2e_i_; __vec32_i32 i_load16_plus1_; __vec32_i1 oldMask_26_test_and_mask_; bool internal_mask_26_function_mask7_any_; __vec32_d fact_2e_0_2e_lcssa_; __vec32_d fact_2e_0_2e_lcssa___PHI; lessequal_i_load_num_load25_ = __signed_greater_than_i32(num_, __setzero_i32<__vec32_i32>()); internal_mask_26_function_mask726_and_mask_ = __signed_greater_than_i32_and_mask(num_, __setzero_i32<__vec32_i32>(), __mask_); internal_mask_26_function_mask7_any27_ = (( /*tail*/ __any(internal_mask_26_function_mask726_and_mask_))&1); if (internal_mask_26_function_mask7_any27_) { oldMask_26_test30___PHI = lessequal_i_load_num_load25_; /* for PHI node */ i_2e_029___PHI = __smear_i32<__vec32_i32>(1u); /* for PHI node */ fact_2e_028___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_loop_label; } else { fact_2e_0_2e_lcssa___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_exit_label; } do { /* Syntactic loop 'for_loop' to make GCC happy */ for_loop_label: { oldMask_26_test30_ = oldMask_26_test30___PHI; i_2e_029_ = i_2e_029___PHI; fact_2e_028_ = fact_2e_028___PHI; v1_2e_i_ = __select(oldMask_26_test30_, (__mul(fact_2e_028_, ((__cast_sitofp(__vec32_d (), i_2e_029_))))), fact_2e_028_); i_load16_plus1_ = __add(i_2e_029_, __smear_i32<__vec32_i32>(1u)); oldMask_26_test_and_mask_ = __signed_less_equal_i32_and_mask(i_load16_plus1_, num_, oldMask_26_test30_); internal_mask_26_function_mask7_any_ = (( /*tail*/ __any((__and(oldMask_26_test_and_mask_, __mask_))))&1); if (internal_mask_26_function_mask7_any_) { oldMask_26_test30___PHI = oldMask_26_test_and_mask_; /* for PHI node */ i_2e_029___PHI = i_load16_plus1_; /* for PHI node */ fact_2e_028___PHI = v1_2e_i_; /* for PHI node */ goto for_loop_label; } else { fact_2e_0_2e_lcssa___PHI = v1_2e_i_; /* for PHI node */ goto for_exit_label; } } } while (1); /* end of syntactic loop 'for_loop' */ for_exit_label: { fact_2e_0_2e_lcssa_ = fact_2e_0_2e_lcssa___PHI; return fact_2e_0_2e_lcssa_; } } static const int32_t __attribute__ ((aligned(64))) VectorConstant0[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 12u, 13u, 14u, 15u, 16u, 17u, 18u, 19u, 20u, 21u, 22u, 23u, 24u, 25u, 26u, 27u, 28u, 29u, 30u, 31u, }; void sinx___uniuniun_3C_unf_3E_un_3C_unf_3E_(uint32_t N_, uint32_t terms_, float *x_, float *result_, __vec32_i1 __mask_) { uint32_t aligned_end_; uint8_t *x_load_ptr2int_2void_; uint8_t *result_load_ptr2int_2void_; uint32_t counter_2e_1277_2e_us_; uint32_t counter_2e_1277_2e_us___PHI; uint64_t tmp__1_; __vec32_f ptr_masked_load195_2e_us_; uint32_t new_counter_2e_us_; uint32_t counter_2e_1277_; uint32_t counter_2e_1277___PHI; uint64_t tmp__2_; __vec32_f ptr_masked_load195_; uint32_t counter_2e_1_2e_lcssa_; uint32_t counter_2e_1_2e_lcssa___PHI; uint32_t j_2e_0274_; uint32_t j_2e_0274___PHI; uint32_t sign_2e_0273_; uint32_t sign_2e_0273___PHI; __vec32_f value_2e_0272_; __vec32_f value_2e_0272___PHI; __vec32_f sign_load_to_float_smear_; uint32_t add_mul__j_load57__; __vec32_f add_mul__j_load57__to_float_smear_; __vec32_f calltmp_2e_i_; __vec32_d mul_sign_load_to_float_broadcast_calltmp_to_double_; __vec32_i32 add_mul__j_load57__smear_; __vec32_i1 lessequal_i_load_num_load_2e_i264_; bool internal_mask_26_function_mask7_any_2e_i266_; __vec32_i1 oldMask_26_test_2e_i269_; __vec32_i1 oldMask_26_test_2e_i269___PHI; __vec32_i32 i_2e_0_2e_i268_; __vec32_i32 i_2e_0_2e_i268___PHI; __vec32_d fact_2e_i_2e_0267_; __vec32_d fact_2e_i_2e_0267___PHI; __vec32_d v1_2e_i_; __vec32_i32 i_load16_plus1_2e_i_; __vec32_i1 oldMask_26_test_2e_i_and_mask_; bool internal_mask_26_function_mask7_any_2e_i_; __vec32_d fact_2e_i_2e_0_2e_lcssa_; __vec32_d fact_2e_i_2e_0_2e_lcssa___PHI; __vec32_f add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_; uint32_t mul_sign_load66__; uint32_t j_load67_plus1_; uint32_t new_counter_; __vec32_i32 counter_2e_1_2e_lcssa_smear_; __vec32_i32 iter_val82_; __vec32_i32 N_smear_; __vec32_i1 cmp85_; uint64_t tmp__3_; __vec32_f ptr198_masked_load_; uint32_t j122_2e_0262_; uint32_t j122_2e_0262___PHI; uint32_t sign116_2e_0261_; uint32_t sign116_2e_0261___PHI; __vec32_f value90_2e_0260_; __vec32_f value90_2e_0260___PHI; __vec32_f sign_load127_to_float_smear_; uint32_t add_mul__j_load134__; __vec32_f add_mul__j_load134__to_float_smear_; __vec32_f calltmp_2e_i229_; __vec32_d mul_sign_load127_to_float_broadcast_calltmp137_to_double_; __vec32_i32 add_mul__j_load134__smear_; __vec32_i1 lessequal_i_load_num_load_2e_i233252_; __vec32_i1 internal_mask_26_function_mask7_2e_i254_and_mask_; bool internal_mask_26_function_mask7_any_2e_i235255_; __vec32_i1 oldMask_26_test_2e_i234258_; __vec32_i1 oldMask_26_test_2e_i234258___PHI; __vec32_i32 i_2e_0_2e_i232257_; __vec32_i32 i_2e_0_2e_i232257___PHI; __vec32_d fact_2e_i230_2e_0256_; __vec32_d fact_2e_i230_2e_0256___PHI; __vec32_d v1_2e_i245_; __vec32_i32 i_load16_plus1_2e_i240_; __vec32_i1 oldMask_26_test_2e_i234_and_mask_; __vec32_i1 internal_mask_26_function_mask7_2e_i_and_mask_; bool internal_mask_26_function_mask7_any_2e_i235_; __vec32_d fact_2e_i230_2e_0_2e_lcssa_; __vec32_d fact_2e_i230_2e_0_2e_lcssa___PHI; __vec32_f add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; uint32_t mul_sign116_load__; uint32_t j_load144_plus1_; __vec32_f value90_2e_0_2e_lcssa_; __vec32_f value90_2e_0_2e_lcssa___PHI; aligned_end_ = ((uint32_t )(((uint32_t )N_) - ((uint32_t )(((int32_t )(((int32_t )N_) % ((int32_t )32u))))))); if ((((int32_t )aligned_end_) > ((int32_t )0u))) { goto foreach_full_body_2e_lr_2e_ph_label; } else { counter_2e_1_2e_lcssa___PHI = 0u; /* for PHI node */ goto partial_inner_all_outer_label; } foreach_full_body_2e_lr_2e_ph_label: { x_load_ptr2int_2void_ = ((uint8_t *)x_); result_load_ptr2int_2void_ = ((uint8_t *)result_); if ((((int32_t )terms_) < ((int32_t )1u))) { counter_2e_1277_2e_us___PHI = 0u; /* for PHI node */ goto for_exit_2e_us_label; } else { counter_2e_1277___PHI = 0u; /* for PHI node */ goto for_loop_2e_lr_2e_ph_label; } } do { /* Syntactic loop 'for_exit.us' to make GCC happy */ for_exit_2e_us_label: { counter_2e_1277_2e_us_ = counter_2e_1277_2e_us___PHI; tmp__1_ = ((int64_t )(int32_t )(counter_2e_1277_2e_us_ << 2u)); ptr_masked_load195_2e_us_ = __load<4>((((__vec32_f (*))((&x_load_ptr2int_2void_[((int64_t )tmp__1_)]))))); __store<4>((((__vec32_f (*))((&result_load_ptr2int_2void_[((int64_t )tmp__1_)])))), ptr_masked_load195_2e_us_); new_counter_2e_us_ = ((uint32_t )(((uint32_t )counter_2e_1277_2e_us_) + ((uint32_t )32u))); if ((((int32_t )new_counter_2e_us_) < ((int32_t )aligned_end_))) { counter_2e_1277_2e_us___PHI = new_counter_2e_us_; /* for PHI node */ goto for_exit_2e_us_label; } else { counter_2e_1_2e_lcssa___PHI = new_counter_2e_us_; /* for PHI node */ goto partial_inner_all_outer_label; } } } while (1); /* end of syntactic loop 'for_exit.us' */ do { /* Syntactic loop 'for_loop.lr.ph' to make GCC happy */ for_loop_2e_lr_2e_ph_label: { counter_2e_1277_ = counter_2e_1277___PHI; tmp__2_ = ((int64_t )(int32_t )(counter_2e_1277_ << 2u)); ptr_masked_load195_ = __load<4>((((__vec32_f (*))((&x_load_ptr2int_2void_[((int64_t )tmp__2_)]))))); j_2e_0274___PHI = 1u; /* for PHI node */ sign_2e_0273___PHI = 4294967295u; /* for PHI node */ value_2e_0272___PHI = ptr_masked_load195_; /* for PHI node */ goto for_loop_label; } do { /* Syntactic loop 'for_loop' to make GCC happy */ for_loop_label: { j_2e_0274_ = j_2e_0274___PHI; sign_2e_0273_ = sign_2e_0273___PHI; value_2e_0272_ = value_2e_0272___PHI; sign_load_to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )sign_2e_0273_))); add_mul__j_load57__ = (j_2e_0274_ << 1u) | 1u; add_mul__j_load57__to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )add_mul__j_load57__))); calltmp_2e_i_ = /*tail*/ __pow_varying_float(ptr_masked_load195_, add_mul__j_load57__to_float_smear_); mul_sign_load_to_float_broadcast_calltmp_to_double_ = (__cast_fpext(__vec32_d (), (__mul(sign_load_to_float_smear_, calltmp_2e_i_)))); add_mul__j_load57__smear_ = __smear_i32<__vec32_i32>(add_mul__j_load57__); lessequal_i_load_num_load_2e_i264_ = __signed_greater_than_i32(add_mul__j_load57__smear_, __setzero_i32<__vec32_i32>()); internal_mask_26_function_mask7_any_2e_i266_ = (( /*tail*/ __any(lessequal_i_load_num_load_2e_i264_))&1); if (internal_mask_26_function_mask7_any_2e_i266_) { oldMask_26_test_2e_i269___PHI = lessequal_i_load_num_load_2e_i264_; /* for PHI node */ i_2e_0_2e_i268___PHI = __smear_i32<__vec32_i32>(1u); /* for PHI node */ fact_2e_i_2e_0267___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_loop_2e_i_label; } else { fact_2e_i_2e_0_2e_lcssa___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto factorial___vyi_2e_exit_label; } } do { /* Syntactic loop 'for_loop.i' to make GCC happy */ for_loop_2e_i_label: { oldMask_26_test_2e_i269_ = oldMask_26_test_2e_i269___PHI; i_2e_0_2e_i268_ = i_2e_0_2e_i268___PHI; fact_2e_i_2e_0267_ = fact_2e_i_2e_0267___PHI; v1_2e_i_ = __select(oldMask_26_test_2e_i269_, (__mul(fact_2e_i_2e_0267_, ((__cast_sitofp(__vec32_d (), i_2e_0_2e_i268_))))), fact_2e_i_2e_0267_); i_load16_plus1_2e_i_ = __add(i_2e_0_2e_i268_, __smear_i32<__vec32_i32>(1u)); oldMask_26_test_2e_i_and_mask_ = __signed_less_equal_i32_and_mask(i_load16_plus1_2e_i_, add_mul__j_load57__smear_, oldMask_26_test_2e_i269_); internal_mask_26_function_mask7_any_2e_i_ = (( /*tail*/ __any(oldMask_26_test_2e_i_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i_) { oldMask_26_test_2e_i269___PHI = oldMask_26_test_2e_i_and_mask_; /* for PHI node */ i_2e_0_2e_i268___PHI = i_load16_plus1_2e_i_; /* for PHI node */ fact_2e_i_2e_0267___PHI = v1_2e_i_; /* for PHI node */ goto for_loop_2e_i_label; } else { fact_2e_i_2e_0_2e_lcssa___PHI = v1_2e_i_; /* for PHI node */ goto factorial___vyi_2e_exit_label; } } } while (1); /* end of syntactic loop 'for_loop.i' */ factorial___vyi_2e_exit_label: { fact_2e_i_2e_0_2e_lcssa_ = fact_2e_i_2e_0_2e_lcssa___PHI; add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_ = __add(value_2e_0272_, ((__cast_fptrunc(__vec32_f (), (__div(mul_sign_load_to_float_broadcast_calltmp_to_double_, fact_2e_i_2e_0_2e_lcssa_)))))); mul_sign_load66__ = -(sign_2e_0273_); j_load67_plus1_ = ((uint32_t )(((uint32_t )j_2e_0274_) + ((uint32_t )1u))); if ((((int32_t )j_load67_plus1_) > ((int32_t )terms_))) { goto for_exit_label; } else { j_2e_0274___PHI = j_load67_plus1_; /* for PHI node */ sign_2e_0273___PHI = mul_sign_load66__; /* for PHI node */ value_2e_0272___PHI = add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_; /* for PHI node */ goto for_loop_label; } } } while (1); /* end of syntactic loop 'for_loop' */ for_exit_label: { __store<4>((((__vec32_f (*))((&result_load_ptr2int_2void_[((int64_t )tmp__2_)])))), add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_); new_counter_ = ((uint32_t )(((uint32_t )counter_2e_1277_) + ((uint32_t )32u))); if ((((int32_t )new_counter_) < ((int32_t )aligned_end_))) { counter_2e_1277___PHI = new_counter_; /* for PHI node */ goto for_loop_2e_lr_2e_ph_label; } else { counter_2e_1_2e_lcssa___PHI = new_counter_; /* for PHI node */ goto partial_inner_all_outer_label; } } } while (1); /* end of syntactic loop 'for_loop.lr.ph' */ foreach_reset_label: { return; } partial_inner_all_outer_label: { counter_2e_1_2e_lcssa_ = counter_2e_1_2e_lcssa___PHI; if ((((int32_t )counter_2e_1_2e_lcssa_) < ((int32_t )N_))) { goto partial_inner_only_label; } else { goto foreach_reset_label; } } partial_inner_only_label: { counter_2e_1_2e_lcssa_smear_ = __smear_i32<__vec32_i32>(counter_2e_1_2e_lcssa_); iter_val82_ = __add(counter_2e_1_2e_lcssa_smear_, __load<64>((const __vec32_i32 *)(VectorConstant0))); N_smear_ = __smear_i32<__vec32_i32>(N_); cmp85_ = __signed_less_than_i32(iter_val82_, N_smear_); tmp__3_ = ((int64_t )(int32_t )(counter_2e_1_2e_lcssa_ << 2u)); ptr198_masked_load_ = /*tail*/ __masked_load_float(((&(((uint8_t *)x_))[((int64_t )tmp__3_)])), cmp85_); if ((((int32_t )terms_) < ((int32_t )1u))) { value90_2e_0_2e_lcssa___PHI = ptr198_masked_load_; /* for PHI node */ goto for_exit120_label; } else { j122_2e_0262___PHI = 1u; /* for PHI node */ sign116_2e_0261___PHI = 4294967295u; /* for PHI node */ value90_2e_0260___PHI = ptr198_masked_load_; /* for PHI node */ goto for_loop119_label; } } do { /* Syntactic loop 'for_loop119' to make GCC happy */ for_loop119_label: { j122_2e_0262_ = j122_2e_0262___PHI; sign116_2e_0261_ = sign116_2e_0261___PHI; value90_2e_0260_ = value90_2e_0260___PHI; sign_load127_to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )sign116_2e_0261_))); add_mul__j_load134__ = (j122_2e_0262_ << 1u) | 1u; add_mul__j_load134__to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )add_mul__j_load134__))); calltmp_2e_i229_ = /*tail*/ __pow_varying_float(ptr198_masked_load_, add_mul__j_load134__to_float_smear_); mul_sign_load127_to_float_broadcast_calltmp137_to_double_ = (__cast_fpext(__vec32_d (), (__mul(sign_load127_to_float_smear_, calltmp_2e_i229_)))); add_mul__j_load134__smear_ = __smear_i32<__vec32_i32>(add_mul__j_load134__); lessequal_i_load_num_load_2e_i233252_ = __signed_greater_than_i32(add_mul__j_load134__smear_, __setzero_i32<__vec32_i32>()); internal_mask_26_function_mask7_2e_i254_and_mask_ = __signed_greater_than_i32_and_mask(add_mul__j_load134__smear_, __setzero_i32<__vec32_i32>(), cmp85_); internal_mask_26_function_mask7_any_2e_i235255_ = (( /*tail*/ __any(internal_mask_26_function_mask7_2e_i254_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i235255_) { oldMask_26_test_2e_i234258___PHI = lessequal_i_load_num_load_2e_i233252_; /* for PHI node */ i_2e_0_2e_i232257___PHI = __smear_i32<__vec32_i32>(1u); /* for PHI node */ fact_2e_i230_2e_0256___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_loop_2e_i241_label; } else { fact_2e_i230_2e_0_2e_lcssa___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto factorial___vyi_2e_exit243_label; } } do { /* Syntactic loop 'for_loop.i241' to make GCC happy */ for_loop_2e_i241_label: { oldMask_26_test_2e_i234258_ = oldMask_26_test_2e_i234258___PHI; i_2e_0_2e_i232257_ = i_2e_0_2e_i232257___PHI; fact_2e_i230_2e_0256_ = fact_2e_i230_2e_0256___PHI; v1_2e_i245_ = __select(oldMask_26_test_2e_i234258_, (__mul(fact_2e_i230_2e_0256_, ((__cast_sitofp(__vec32_d (), i_2e_0_2e_i232257_))))), fact_2e_i230_2e_0256_); i_load16_plus1_2e_i240_ = __add(i_2e_0_2e_i232257_, __smear_i32<__vec32_i32>(1u)); oldMask_26_test_2e_i234_and_mask_ = __signed_less_equal_i32_and_mask(i_load16_plus1_2e_i240_, add_mul__j_load134__smear_, oldMask_26_test_2e_i234258_); internal_mask_26_function_mask7_2e_i_and_mask_ = __signed_less_than_i32_and_mask(iter_val82_, N_smear_, oldMask_26_test_2e_i234_and_mask_); internal_mask_26_function_mask7_any_2e_i235_ = (( /*tail*/ __any(internal_mask_26_function_mask7_2e_i_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i235_) { oldMask_26_test_2e_i234258___PHI = oldMask_26_test_2e_i234_and_mask_; /* for PHI node */ i_2e_0_2e_i232257___PHI = i_load16_plus1_2e_i240_; /* for PHI node */ fact_2e_i230_2e_0256___PHI = v1_2e_i245_; /* for PHI node */ goto for_loop_2e_i241_label; } else { fact_2e_i230_2e_0_2e_lcssa___PHI = v1_2e_i245_; /* for PHI node */ goto factorial___vyi_2e_exit243_label; } } } while (1); /* end of syntactic loop 'for_loop.i241' */ factorial___vyi_2e_exit243_label: { fact_2e_i230_2e_0_2e_lcssa_ = fact_2e_i230_2e_0_2e_lcssa___PHI; add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_ = __add(value90_2e_0260_, ((__cast_fptrunc(__vec32_f (), (__div(mul_sign_load127_to_float_broadcast_calltmp137_to_double_, fact_2e_i230_2e_0_2e_lcssa_)))))); mul_sign116_load__ = -(sign116_2e_0261_); j_load144_plus1_ = ((uint32_t )(((uint32_t )j122_2e_0262_) + ((uint32_t )1u))); if ((((int32_t )j_load144_plus1_) > ((int32_t )terms_))) { value90_2e_0_2e_lcssa___PHI = add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; /* for PHI node */ goto for_exit120_label; } else { j122_2e_0262___PHI = j_load144_plus1_; /* for PHI node */ sign116_2e_0261___PHI = mul_sign116_load__; /* for PHI node */ value90_2e_0260___PHI = add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; /* for PHI node */ goto for_loop119_label; } } } while (1); /* end of syntactic loop 'for_loop119' */ for_exit120_label: { value90_2e_0_2e_lcssa_ = value90_2e_0_2e_lcssa___PHI; __masked_store_float((((__vec32_f (*))((&(((uint8_t *)result_))[((int64_t )tmp__3_)])))), value90_2e_0_2e_lcssa_, cmp85_); goto foreach_reset_label; } } static const int32_t __attribute__ ((aligned(64))) VectorConstant1[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 12u, 13u, 14u, 15u, 16u, 17u, 18u, 19u, 20u, 21u, 22u, 23u, 24u, 25u, 26u, 27u, 28u, 29u, 30u, 31u, }; void sinx(uint32_t N_, uint32_t terms_, float *x_, float *result_) { uint32_t aligned_end_; uint8_t *x_load_ptr2int_2void_; uint8_t *result_load_ptr2int_2void_; uint32_t counter_2e_1277_2e_us_; uint32_t counter_2e_1277_2e_us___PHI; uint64_t tmp__4_; __vec32_f ptr_masked_load195_2e_us_; uint32_t new_counter_2e_us_; uint32_t counter_2e_1277_; uint32_t counter_2e_1277___PHI; uint64_t tmp__5_; __vec32_f ptr_masked_load195_; uint32_t counter_2e_1_2e_lcssa_; uint32_t counter_2e_1_2e_lcssa___PHI; uint32_t j_2e_0274_; uint32_t j_2e_0274___PHI; uint32_t sign_2e_0273_; uint32_t sign_2e_0273___PHI; __vec32_f value_2e_0272_; __vec32_f value_2e_0272___PHI; __vec32_f sign_load_to_float_smear_; uint32_t add_mul__j_load57__; __vec32_f add_mul__j_load57__to_float_smear_; __vec32_f calltmp_2e_i_; __vec32_d mul_sign_load_to_float_broadcast_calltmp_to_double_; __vec32_i32 add_mul__j_load57__smear_; __vec32_i1 lessequal_i_load_num_load_2e_i264_; bool internal_mask_26_function_mask7_any_2e_i266_; __vec32_i1 oldMask_26_test_2e_i269_; __vec32_i1 oldMask_26_test_2e_i269___PHI; __vec32_i32 i_2e_0_2e_i268_; __vec32_i32 i_2e_0_2e_i268___PHI; __vec32_d fact_2e_i_2e_0267_; __vec32_d fact_2e_i_2e_0267___PHI; __vec32_d v1_2e_i_; __vec32_i32 i_load16_plus1_2e_i_; __vec32_i1 oldMask_26_test_2e_i_and_mask_; bool internal_mask_26_function_mask7_any_2e_i_; __vec32_d fact_2e_i_2e_0_2e_lcssa_; __vec32_d fact_2e_i_2e_0_2e_lcssa___PHI; __vec32_f add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_; uint32_t mul_sign_load66__; uint32_t j_load67_plus1_; uint32_t new_counter_; __vec32_i32 counter_2e_1_2e_lcssa_smear_; __vec32_i32 iter_val82_; __vec32_i32 N_smear_; __vec32_i1 cmp85_; uint64_t tmp__6_; __vec32_f ptr198_masked_load_; uint32_t j122_2e_0262_; uint32_t j122_2e_0262___PHI; uint32_t sign116_2e_0261_; uint32_t sign116_2e_0261___PHI; __vec32_f value90_2e_0260_; __vec32_f value90_2e_0260___PHI; __vec32_f sign_load127_to_float_smear_; uint32_t add_mul__j_load134__; __vec32_f add_mul__j_load134__to_float_smear_; __vec32_f calltmp_2e_i229_; __vec32_d mul_sign_load127_to_float_broadcast_calltmp137_to_double_; __vec32_i32 add_mul__j_load134__smear_; __vec32_i1 lessequal_i_load_num_load_2e_i233252_; __vec32_i1 internal_mask_26_function_mask7_2e_i254_and_mask_; bool internal_mask_26_function_mask7_any_2e_i235255_; __vec32_i1 oldMask_26_test_2e_i234258_; __vec32_i1 oldMask_26_test_2e_i234258___PHI; __vec32_i32 i_2e_0_2e_i232257_; __vec32_i32 i_2e_0_2e_i232257___PHI; __vec32_d fact_2e_i230_2e_0256_; __vec32_d fact_2e_i230_2e_0256___PHI; __vec32_d v1_2e_i245_; __vec32_i32 i_load16_plus1_2e_i240_; __vec32_i1 oldMask_26_test_2e_i234_and_mask_; __vec32_i1 internal_mask_26_function_mask7_2e_i_and_mask_; bool internal_mask_26_function_mask7_any_2e_i235_; __vec32_d fact_2e_i230_2e_0_2e_lcssa_; __vec32_d fact_2e_i230_2e_0_2e_lcssa___PHI; __vec32_f add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; uint32_t mul_sign116_load__; uint32_t j_load144_plus1_; __vec32_f value90_2e_0_2e_lcssa_; __vec32_f value90_2e_0_2e_lcssa___PHI; aligned_end_ = ((uint32_t )(((uint32_t )N_) - ((uint32_t )(((int32_t )(((int32_t )N_) % ((int32_t )32u))))))); if ((((int32_t )aligned_end_) > ((int32_t )0u))) { goto foreach_full_body_2e_lr_2e_ph_label; } else { counter_2e_1_2e_lcssa___PHI = 0u; /* for PHI node */ goto partial_inner_all_outer_label; } foreach_full_body_2e_lr_2e_ph_label: { x_load_ptr2int_2void_ = ((uint8_t *)x_); result_load_ptr2int_2void_ = ((uint8_t *)result_); if ((((int32_t )terms_) < ((int32_t )1u))) { counter_2e_1277_2e_us___PHI = 0u; /* for PHI node */ goto for_exit_2e_us_label; } else { counter_2e_1277___PHI = 0u; /* for PHI node */ goto for_loop_2e_lr_2e_ph_label; } } do { /* Syntactic loop 'for_exit.us' to make GCC happy */ for_exit_2e_us_label: { counter_2e_1277_2e_us_ = counter_2e_1277_2e_us___PHI; tmp__4_ = ((int64_t )(int32_t )(counter_2e_1277_2e_us_ << 2u)); ptr_masked_load195_2e_us_ = __load<4>((((__vec32_f (*))((&x_load_ptr2int_2void_[((int64_t )tmp__4_)]))))); __store<4>((((__vec32_f (*))((&result_load_ptr2int_2void_[((int64_t )tmp__4_)])))), ptr_masked_load195_2e_us_); new_counter_2e_us_ = ((uint32_t )(((uint32_t )counter_2e_1277_2e_us_) + ((uint32_t )32u))); if ((((int32_t )new_counter_2e_us_) < ((int32_t )aligned_end_))) { counter_2e_1277_2e_us___PHI = new_counter_2e_us_; /* for PHI node */ goto for_exit_2e_us_label; } else { counter_2e_1_2e_lcssa___PHI = new_counter_2e_us_; /* for PHI node */ goto partial_inner_all_outer_label; } } } while (1); /* end of syntactic loop 'for_exit.us' */ do { /* Syntactic loop 'for_loop.lr.ph' to make GCC happy */ for_loop_2e_lr_2e_ph_label: { counter_2e_1277_ = counter_2e_1277___PHI; tmp__5_ = ((int64_t )(int32_t )(counter_2e_1277_ << 2u)); ptr_masked_load195_ = __load<4>((((__vec32_f (*))((&x_load_ptr2int_2void_[((int64_t )tmp__5_)]))))); j_2e_0274___PHI = 1u; /* for PHI node */ sign_2e_0273___PHI = 4294967295u; /* for PHI node */ value_2e_0272___PHI = ptr_masked_load195_; /* for PHI node */ goto for_loop_label; } do { /* Syntactic loop 'for_loop' to make GCC happy */ for_loop_label: { j_2e_0274_ = j_2e_0274___PHI; sign_2e_0273_ = sign_2e_0273___PHI; value_2e_0272_ = value_2e_0272___PHI; sign_load_to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )sign_2e_0273_))); add_mul__j_load57__ = (j_2e_0274_ << 1u) | 1u; add_mul__j_load57__to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )add_mul__j_load57__))); calltmp_2e_i_ = /*tail*/ __pow_varying_float(ptr_masked_load195_, add_mul__j_load57__to_float_smear_); mul_sign_load_to_float_broadcast_calltmp_to_double_ = (__cast_fpext(__vec32_d (), (__mul(sign_load_to_float_smear_, calltmp_2e_i_)))); add_mul__j_load57__smear_ = __smear_i32<__vec32_i32>(add_mul__j_load57__); lessequal_i_load_num_load_2e_i264_ = __signed_greater_than_i32(add_mul__j_load57__smear_, __setzero_i32<__vec32_i32>()); internal_mask_26_function_mask7_any_2e_i266_ = (( /*tail*/ __any(lessequal_i_load_num_load_2e_i264_))&1); if (internal_mask_26_function_mask7_any_2e_i266_) { oldMask_26_test_2e_i269___PHI = lessequal_i_load_num_load_2e_i264_; /* for PHI node */ i_2e_0_2e_i268___PHI = __smear_i32<__vec32_i32>(1u); /* for PHI node */ fact_2e_i_2e_0267___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_loop_2e_i_label; } else { fact_2e_i_2e_0_2e_lcssa___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto factorial___vyi_2e_exit_label; } } do { /* Syntactic loop 'for_loop.i' to make GCC happy */ for_loop_2e_i_label: { oldMask_26_test_2e_i269_ = oldMask_26_test_2e_i269___PHI; i_2e_0_2e_i268_ = i_2e_0_2e_i268___PHI; fact_2e_i_2e_0267_ = fact_2e_i_2e_0267___PHI; v1_2e_i_ = __select(oldMask_26_test_2e_i269_, (__mul(fact_2e_i_2e_0267_, ((__cast_sitofp(__vec32_d (), i_2e_0_2e_i268_))))), fact_2e_i_2e_0267_); i_load16_plus1_2e_i_ = __add(i_2e_0_2e_i268_, __smear_i32<__vec32_i32>(1u)); oldMask_26_test_2e_i_and_mask_ = __signed_less_equal_i32_and_mask(i_load16_plus1_2e_i_, add_mul__j_load57__smear_, oldMask_26_test_2e_i269_); internal_mask_26_function_mask7_any_2e_i_ = (( /*tail*/ __any(oldMask_26_test_2e_i_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i_) { oldMask_26_test_2e_i269___PHI = oldMask_26_test_2e_i_and_mask_; /* for PHI node */ i_2e_0_2e_i268___PHI = i_load16_plus1_2e_i_; /* for PHI node */ fact_2e_i_2e_0267___PHI = v1_2e_i_; /* for PHI node */ goto for_loop_2e_i_label; } else { fact_2e_i_2e_0_2e_lcssa___PHI = v1_2e_i_; /* for PHI node */ goto factorial___vyi_2e_exit_label; } } } while (1); /* end of syntactic loop 'for_loop.i' */ factorial___vyi_2e_exit_label: { fact_2e_i_2e_0_2e_lcssa_ = fact_2e_i_2e_0_2e_lcssa___PHI; add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_ = __add(value_2e_0272_, ((__cast_fptrunc(__vec32_f (), (__div(mul_sign_load_to_float_broadcast_calltmp_to_double_, fact_2e_i_2e_0_2e_lcssa_)))))); mul_sign_load66__ = -(sign_2e_0273_); j_load67_plus1_ = ((uint32_t )(((uint32_t )j_2e_0274_) + ((uint32_t )1u))); if ((((int32_t )j_load67_plus1_) > ((int32_t )terms_))) { goto for_exit_label; } else { j_2e_0274___PHI = j_load67_plus1_; /* for PHI node */ sign_2e_0273___PHI = mul_sign_load66__; /* for PHI node */ value_2e_0272___PHI = add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_; /* for PHI node */ goto for_loop_label; } } } while (1); /* end of syntactic loop 'for_loop' */ for_exit_label: { __store<4>((((__vec32_f (*))((&result_load_ptr2int_2void_[((int64_t )tmp__5_)])))), add_value_load_div_mul_sign_load_to_float_broadcast_calltmp_to_double_calltmp63_to_float_); new_counter_ = ((uint32_t )(((uint32_t )counter_2e_1277_) + ((uint32_t )32u))); if ((((int32_t )new_counter_) < ((int32_t )aligned_end_))) { counter_2e_1277___PHI = new_counter_; /* for PHI node */ goto for_loop_2e_lr_2e_ph_label; } else { counter_2e_1_2e_lcssa___PHI = new_counter_; /* for PHI node */ goto partial_inner_all_outer_label; } } } while (1); /* end of syntactic loop 'for_loop.lr.ph' */ foreach_reset_label: { return; } partial_inner_all_outer_label: { counter_2e_1_2e_lcssa_ = counter_2e_1_2e_lcssa___PHI; if ((((int32_t )counter_2e_1_2e_lcssa_) < ((int32_t )N_))) { goto partial_inner_only_label; } else { goto foreach_reset_label; } } partial_inner_only_label: { counter_2e_1_2e_lcssa_smear_ = __smear_i32<__vec32_i32>(counter_2e_1_2e_lcssa_); iter_val82_ = __add(counter_2e_1_2e_lcssa_smear_, __load<64>((const __vec32_i32 *)(VectorConstant1))); N_smear_ = __smear_i32<__vec32_i32>(N_); cmp85_ = __signed_less_than_i32(iter_val82_, N_smear_); tmp__6_ = ((int64_t )(int32_t )(counter_2e_1_2e_lcssa_ << 2u)); ptr198_masked_load_ = /*tail*/ __masked_load_float(((&(((uint8_t *)x_))[((int64_t )tmp__6_)])), cmp85_); if ((((int32_t )terms_) < ((int32_t )1u))) { value90_2e_0_2e_lcssa___PHI = ptr198_masked_load_; /* for PHI node */ goto for_exit120_label; } else { j122_2e_0262___PHI = 1u; /* for PHI node */ sign116_2e_0261___PHI = 4294967295u; /* for PHI node */ value90_2e_0260___PHI = ptr198_masked_load_; /* for PHI node */ goto for_loop119_label; } } do { /* Syntactic loop 'for_loop119' to make GCC happy */ for_loop119_label: { j122_2e_0262_ = j122_2e_0262___PHI; sign116_2e_0261_ = sign116_2e_0261___PHI; value90_2e_0260_ = value90_2e_0260___PHI; sign_load127_to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )sign116_2e_0261_))); add_mul__j_load134__ = (j122_2e_0262_ << 1u) | 1u; add_mul__j_load134__to_float_smear_ = __smear_float<__vec32_f>((((float )(int32_t )add_mul__j_load134__))); calltmp_2e_i229_ = /*tail*/ __pow_varying_float(ptr198_masked_load_, add_mul__j_load134__to_float_smear_); mul_sign_load127_to_float_broadcast_calltmp137_to_double_ = (__cast_fpext(__vec32_d (), (__mul(sign_load127_to_float_smear_, calltmp_2e_i229_)))); add_mul__j_load134__smear_ = __smear_i32<__vec32_i32>(add_mul__j_load134__); lessequal_i_load_num_load_2e_i233252_ = __signed_greater_than_i32(add_mul__j_load134__smear_, __setzero_i32<__vec32_i32>()); internal_mask_26_function_mask7_2e_i254_and_mask_ = __signed_greater_than_i32_and_mask(add_mul__j_load134__smear_, __setzero_i32<__vec32_i32>(), cmp85_); internal_mask_26_function_mask7_any_2e_i235255_ = (( /*tail*/ __any(internal_mask_26_function_mask7_2e_i254_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i235255_) { oldMask_26_test_2e_i234258___PHI = lessequal_i_load_num_load_2e_i233252_; /* for PHI node */ i_2e_0_2e_i232257___PHI = __smear_i32<__vec32_i32>(1u); /* for PHI node */ fact_2e_i230_2e_0256___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto for_loop_2e_i241_label; } else { fact_2e_i230_2e_0_2e_lcssa___PHI = __smear_double<__vec32_d>(0x1p+0); /* for PHI node */ goto factorial___vyi_2e_exit243_label; } } do { /* Syntactic loop 'for_loop.i241' to make GCC happy */ for_loop_2e_i241_label: { oldMask_26_test_2e_i234258_ = oldMask_26_test_2e_i234258___PHI; i_2e_0_2e_i232257_ = i_2e_0_2e_i232257___PHI; fact_2e_i230_2e_0256_ = fact_2e_i230_2e_0256___PHI; v1_2e_i245_ = __select(oldMask_26_test_2e_i234258_, (__mul(fact_2e_i230_2e_0256_, ((__cast_sitofp(__vec32_d (), i_2e_0_2e_i232257_))))), fact_2e_i230_2e_0256_); i_load16_plus1_2e_i240_ = __add(i_2e_0_2e_i232257_, __smear_i32<__vec32_i32>(1u)); oldMask_26_test_2e_i234_and_mask_ = __signed_less_equal_i32_and_mask(i_load16_plus1_2e_i240_, add_mul__j_load134__smear_, oldMask_26_test_2e_i234258_); internal_mask_26_function_mask7_2e_i_and_mask_ = __signed_less_than_i32_and_mask(iter_val82_, N_smear_, oldMask_26_test_2e_i234_and_mask_); internal_mask_26_function_mask7_any_2e_i235_ = (( /*tail*/ __any(internal_mask_26_function_mask7_2e_i_and_mask_))&1); if (internal_mask_26_function_mask7_any_2e_i235_) { oldMask_26_test_2e_i234258___PHI = oldMask_26_test_2e_i234_and_mask_; /* for PHI node */ i_2e_0_2e_i232257___PHI = i_load16_plus1_2e_i240_; /* for PHI node */ fact_2e_i230_2e_0256___PHI = v1_2e_i245_; /* for PHI node */ goto for_loop_2e_i241_label; } else { fact_2e_i230_2e_0_2e_lcssa___PHI = v1_2e_i245_; /* for PHI node */ goto factorial___vyi_2e_exit243_label; } } } while (1); /* end of syntactic loop 'for_loop.i241' */ factorial___vyi_2e_exit243_label: { fact_2e_i230_2e_0_2e_lcssa_ = fact_2e_i230_2e_0_2e_lcssa___PHI; add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_ = __add(value90_2e_0260_, ((__cast_fptrunc(__vec32_f (), (__div(mul_sign_load127_to_float_broadcast_calltmp137_to_double_, fact_2e_i230_2e_0_2e_lcssa_)))))); mul_sign116_load__ = -(sign116_2e_0261_); j_load144_plus1_ = ((uint32_t )(((uint32_t )j122_2e_0262_) + ((uint32_t )1u))); if ((((int32_t )j_load144_plus1_) > ((int32_t )terms_))) { value90_2e_0_2e_lcssa___PHI = add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; /* for PHI node */ goto for_exit120_label; } else { j122_2e_0262___PHI = j_load144_plus1_; /* for PHI node */ sign116_2e_0261___PHI = mul_sign116_load__; /* for PHI node */ value90_2e_0260___PHI = add_value90_load_div_mul_sign_load127_to_float_broadcast_calltmp137_to_double_calltmp141_to_float_; /* for PHI node */ goto for_loop119_label; } } } while (1); /* end of syntactic loop 'for_loop119' */ for_exit120_label: { value90_2e_0_2e_lcssa_ = value90_2e_0_2e_lcssa___PHI; __masked_store_float((((__vec32_f (*))((&(((uint8_t *)result_))[((int64_t )tmp__6_)])))), value90_2e_0_2e_lcssa_, cmp85_); goto foreach_reset_label; } }