; LLVM IR from Dimandragon/non-parametric-dsp :: alglib-cpp/src/specialfunctions.ll (ZN11alglib_impl18bivariatenormalcdfEdddPNS_8ae_stateE)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str.1 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef, ptr noundef) #1

; Function Attrs: mustprogress uwtable
define dso_local noundef double @_ZN11alglib_impl18bivariatenormalcdfEdddPNS_8ae_stateE(double noundef %0, double noundef %1, double noundef %2, ptr noundef %3) #1 {
  %5 = alloca double, align 8
  %6 = alloca double, align 8
  %7 = alloca double, align 8
  %8 = alloca double, align 8
  %9 = alloca ptr, align 8
  %10 = alloca double, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca double, align 8
  %17 = alloca double, align 8
  %18 = alloca double, align 8
  %19 = alloca double, align 8
  %20 = alloca double, align 8
  %21 = alloca i32, align 4
  store double %0, ptr %6, align 8, !tbaa !5
  store double %1, ptr %7, align 8, !tbaa !5
  store double %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #4
  %22 = load double, ptr %6, align 8, !tbaa !5
  %23 = load ptr, ptr %9, align 8, !tbaa !9
  %24 = call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %22, ptr noundef %23)
  %25 = load ptr, ptr %9, align 8, !tbaa !9
  call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %24, ptr noundef @.str.1, ptr noundef %25)
  %26 = load double, ptr %7, align 8, !tbaa !5
  %27 = load ptr, ptr %9, align 8, !tbaa !9
  %28 = call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %26, ptr noundef %27)
  %29 = load ptr, ptr %9, align 8, !tbaa !9
  call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %28, ptr noundef @.str.2, ptr noundef %29)
  %30 = load double, ptr %8, align 8, !tbaa !5
  %31 = load ptr, ptr %9, align 8, !tbaa !9
  %32 = call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %30, ptr noundef %31)
  %33 = load ptr, ptr %9, align 8, !tbaa !9
  call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %32, ptr noundef @.str.3, ptr noundef %33)
  %34 = load double, ptr %8, align 8, !tbaa !5
  %35 = call noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef -1.000000e+00, double noundef %34)
  br i1 %35, label %36, label %39

36:                                               ; preds = %4
  %37 = load double, ptr %8, align 8, !tbaa !5
  %38 = call noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef %37, double noundef 1.000000e+00)
  br label %39

39:                                               ; preds = %36, %4
  %40 = phi i1 [ false, %4 ], [ %38, %36 ]
  %41 = load ptr, ptr %9, align 8, !tbaa !9
  call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %40, ptr noundef @.str.4, ptr noundef %41)
  %42 = load double, ptr %8, align 8, !tbaa !5
  %43 = call noundef zeroext i1 @_ZN11alglib_impl8ae_fp_eqEdd(double noundef %42, double noundef 0.000000e+00)
  br i1 %43, label %44, label %53

44:                                               ; preds = %39
  %45 = load double, ptr %6, align 8, !tbaa !5
  %46 = load ptr, ptr %9, align 8, !tbaa !9
  %47 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %45, ptr noundef %46)
  %48 = load double, ptr %7, align 8, !tbaa !5
  %49 = load ptr, ptr %9, align 8, !tbaa !9
  %50 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %48, ptr noundef %49)
  %51 = fmul double %47, %50
  store double %51, ptr %20, align 8, !tbaa !5
  %52 = load double, ptr %20, align 8, !tbaa !5
  store double %52, ptr %5, align 8
  store i32 1, ptr %21, align 4
  br label %485

53:                                               ; preds = %39
  %54 = load double, ptr %8, align 8, !tbaa !5
  %55 = load ptr, ptr %9, align 8, !tbaa !9
  %56 = call noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef %54, ptr noundef %55)
  %57 = call noundef zeroext i1 @_ZN11alglib_impl13ae_fp_less_eqEdd(double noundef %56, double noundef 8.000000e-01)
  br i1 %57, label %58, label %173

58:                                               ; preds = %53
  store double 0.000000e+00, ptr %10, align 8, !tbaa !5
  %59 = load double, ptr %8, align 8, !tbaa !5
  %60 = load ptr, ptr %9, align 8, !tbaa !9
  %61 = call noundef double @_ZN11alglib_impl7ae_asinEdPNS_8ae_stateE(double noundef %59, ptr noundef %60)
  store double %61, ptr %11, align 8, !tbaa !5
  store double 0.000000e+00, ptr %13, align 8, !tbaa !5
  %62 = load double, ptr %13, align 8, !tbaa !5
  %63 = load double, ptr %10, align 8, !tbaa !5
  %64 = load double, ptr %11, align 8, !tbaa !5
  %65 = load double, ptr %6, align 8, !tbaa !5
  %66 = load double, ptr %7, align 8, !tbaa !5
  %67 = load ptr, ptr %9, align 8, !tbaa !9
  %68 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %63, double noundef %64, double noundef %65, double noundef %66, double noundef 0x3FCFE40CE6D4F026, double noundef 0xBFC007A5F8F630E4, ptr noundef %67)
  %69 = fadd double %62, %68
  store double %69, ptr %13, align 8, !tbaa !5
  %70 = load double, ptr %13, align 8, !tbaa !5
  %71 = load double, ptr %10, align 8, !tbaa !5
  %72 = load double, ptr %11, align 8, !tbaa !5
  %73 = load double, ptr %6, align 8, !tbaa !5
  %74 = load double, ptr %7, align 8, !tbaa !5
  %75 = load ptr, ptr %9, align 8, !tbaa !9
  %76 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %71, double noundef %72, double noundef %73, double noundef %74, double noundef 0x3FCFE40CE6D4F026, double noundef 0x3FC007A5F8F630E4, ptr noundef %75)
  %77 = fadd double %70, %76
  store double %77, ptr %13, align 8, !tbaa !5
  %78 = load double, ptr %13, align 8, !tbaa !5
  %79 = load double, ptr %10, align 8, !tbaa !5
  %80 = load double, ptr %11, align 8, !tbaa !5
  %81 = load double, ptr %6, align 8, !tbaa !5
  %82 = load double, ptr %7, align 8, !tbaa !5
  %83 = load ptr, ptr %9, align 8, !tbaa !9
  %84 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %79, double noundef %80, double noundef %81, double noundef %82, double noundef 0x3FCDE3155C256AB5, double noundef 0xBFD78A8D20A8B19D, ptr noundef %83)
  %85 = fadd double %78, %84
  store double %85, ptr %13, align 8, !tbaa !5
  %86 = load double, ptr %13, align 8, !tbaa !5
  %87 = load double, ptr %10, align 8, !tbaa !5
  %88 = load double, ptr %11, align 8, !tbaa !5
  %89 = load double, ptr %6, align 8, !tbaa !5
  %90 = load double, ptr %7, align 8, !tbaa !5
  %91 = load ptr, ptr %9, align 8, !tbaa !9
  %92 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %87, double noundef %88, double noundef %89, double noundef %90, double noundef 0x3FCDE3155C256AB5, double noundef 0x3FD78A8D20A8B19D, ptr noundef %91)
  %93 = fadd double %86, %92
  store double %93, ptr %13, align 8, !tbaa !5
  %94 = load double, ptr %13, align 8, !tbaa !5
  %95 = load double, ptr %10, align 8, !tbaa !5
  %96 = load double, ptr %11, align 8, !tbaa !5
  %97 = load double, ptr %6, align 8, !tbaa !5
  %98 = load double, ptr %7, align 8, !tbaa !5
  %99 = load ptr, ptr %9, align 8, !tbaa !9
  %100 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %95, double noundef %96, double noundef %97, double noundef %98, double noundef 0x3FCA0163E6B1AB71, double noundef 0xBFE2CB4F05C077F9, ptr noundef %99)
  %101 = fadd double %94, %100
  store double %101, ptr %13, align 8, !tbaa !5
  %102 = load double, ptr %13, align 8, !tbaa !5
  %103 = load double, ptr %10, align 8, !tbaa !5
  %104 = load double, ptr %11, align 8, !tbaa !5
  %105 = load double, ptr %6, align 8, !tbaa !5
  %106 = load double, ptr %7, align 8, !tbaa !5
  %107 = load ptr, ptr %9, align 8, !tbaa !9
  %108 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %103, double noundef %104, double noundef %105, double noundef %106, double noundef 0x3FCA0163E6B1AB71, double noundef 0x3FE2CB4F05C077F9, ptr noundef %107)
  %109 = fadd double %102, %108
  store double %109, ptr %13, align 8, !tbaa !5
  %110 = load double, ptr %13, align 8, !tbaa !5
  %111 = load double, ptr %10, align 8, !tbaa !5
  %112 = load double, ptr %11, align 8, !tbaa !5
  %113 = load double, ptr %6, align 8, !tbaa !5
  %114 = load double, ptr %7, align 8, !tbaa !5
  %115 = load ptr, ptr %9, align 8, !tbaa !9
  %116 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %111, double noundef %112, double noundef %113, double noundef %114, double noundef 0x3FC47D7258F22D8E, double noundef 0xBFE8A30AEED88F36, ptr noundef %115)
  %117 = fadd double %110, %116
  store double %117, ptr %13, align 8, !tbaa !5
  %118 = load double, ptr %13, align 8, !tbaa !5
  %119 = load double, ptr %10, align 8, !tbaa !5
  %120 = load double, ptr %11, align 8, !tbaa !5
  %121 = load double, ptr %6, align 8, !tbaa !5
  %122 = load double, ptr %7, align 8, !tbaa !5
  %123 = load ptr, ptr %9, align 8, !tbaa !9
  %124 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %119, double noundef %120, double noundef %121, double noundef %122, double noundef 0x3FC47D7258F22D8E, double noundef 0x3FE8A30AEED88F36, ptr noundef %123)
  %125 = fadd double %118, %124
  store double %125, ptr %13, align 8, !tbaa !5
  %126 = load double, ptr %13, align 8, !tbaa !5
  %127 = load double, ptr %10, align 8, !tbaa !5
  %128 = load double, ptr %11, align 8, !tbaa !5
  %129 = load double, ptr %6, align 8, !tbaa !5
  %130 = load double, ptr %7, align 8, !tbaa !5
  %131 = load ptr, ptr %9, align 8, !tbaa !9
  %132 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %127, double noundef %128, double noundef %129, double noundef %130, double noundef 0x3FBB60602BCE617F, double noundef 0xBFECEE874FFB88B4, ptr noundef %131)
  %133 = fadd double %126, %132
  store double %133, ptr %13, align 8, !tbaa !5
  %134 = load double, ptr %13, align 8, !tbaa !5
  %135 = load double, ptr %10, align 8, !tbaa !5
  %136 = load double, ptr %11, align 8, !tbaa !5
  %137 = load double, ptr %6, align 8, !tbaa !5
  %138 = load double, ptr %7, align 8, !tbaa !5
  %139 = load ptr, ptr %9, align 8, !tbaa !9
  %140 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %135, double noundef %136, double noundef %137, double noundef %138, double noundef 0x3FBB60602BCE617F, double noundef 0x3FECEE874FFB88B4, ptr noundef %139)
  %141 = fadd double %134, %140
  store double %141, ptr %13, align 8, !tbaa !5
  %142 = load double, ptr %13, align 8, !tbaa !5
  %143 = load double, ptr %10, align 8, !tbaa !5
  %144 = load double, ptr %11, align 8, !tbaa !5
  %145 = load double, ptr %6, align 8, !tbaa !5
  %146 = load double, ptr %7, align 8, !tbaa !5
  %147 = load ptr, ptr %9, align 8, !tbaa !9
  %148 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %143, double noundef %144, double noundef %145, double noundef %146, double noundef 0x3FA8275D9DEA6D8B, double noundef 0xBFEF68F1D8E42E81, ptr noundef %147)
  %149 = fadd double %142, %148
  store double %149, ptr %13, align 8, !tbaa !5
  %150 = load double, ptr %13, align 8, !tbaa !5
  %151 = load double, ptr %10, align 8, !tbaa !5
  %152 = load double, ptr %11, align 8, !tbaa !5
  %153 = load double, ptr %6, align 8, !tbaa !5
  %154 = load double, ptr %7, align 8, !tbaa !5
  %155 = load ptr, ptr %9, align 8, !tbaa !9
  %156 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef %151, double noundef %152, double noundef %153, double noundef %154, double noundef 0x3FA8275D9DEA6D8B, double noundef 0x3FEF68F1D8E42E81, ptr noundef %155)
  %157 = fadd double %150, %156
  store double %157, ptr %13, align 8, !tbaa !5
  %158 = load double, ptr %13, align 8, !tbaa !5
  %159 = fmul double %158, 5.000000e-01
  %160 = load double, ptr %11, align 8, !tbaa !5
  %161 = load double, ptr %10, align 8, !tbaa !5
  %162 = fsub double %160, %161
  %163 = fmul double %159, %162
  %164 = fdiv double %163, 0x401921FB54442D18
  store double %164, ptr %13, align 8, !tbaa !5
  %165 = load double, ptr %6, align 8, !tbaa !5
  %166 = load ptr, ptr %9, align 8, !tbaa !9
  %167 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %165, ptr noundef %166)
  %168 = load double, ptr %7, align 8, !tbaa !5
  %169 = load ptr, ptr %9, align 8, !tbaa !9
  %170 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %168, ptr noundef %169)
  %171 = load double, ptr %13, align 8, !tbaa !5
  %172 = call double @llvm.fmuladd.f64(double %167, double %170, double %171)
  store double %172, ptr %20, align 8, !tbaa !5
  br label %477

173:                                              ; preds = %53
  %174 = load double, ptr %6, align 8, !tbaa !5
  %175 = fneg double %174
  store double %175, ptr %6, align 8, !tbaa !5
  %176 = load double, ptr %7, align 8, !tbaa !5
  %177 = fneg double %176
  store double %177, ptr %7, align 8, !tbaa !5
  %178 = load double, ptr %8, align 8, !tbaa !5
  %179 = load ptr, ptr %9, align 8, !tbaa !9
  %180 = call noundef i64 @_ZN11alglib_impl7ae_signEdPNS_8ae_stateE(double noundef %178, ptr noundef %179)
  %181 = sitofp i64 %180 to double
  store double %181, ptr %12, align 8, !tbaa !5
  %182 = load double, ptr %12, align 8, !tbaa !5
  %183 = call noundef zeroext i1 @_ZN11alglib_impl13ae_fp_greaterEdd(double noundef %182, double noundef 0.000000e+00)
  br i1 %183, label %184, label %192

184:                                              ; preds = %173
  %185 = load double, ptr %6, align 8, !tbaa !5
  %186 = load double, ptr %7, align 8, !tbaa !5
  %187 = load ptr, ptr %9, align 8, !tbaa !9
  %188 = call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef %185, double noundef %186, ptr noundef %187)
  %189 = fneg double %188
  %190 = load ptr, ptr %9, align 8, !tbaa !9
  %191 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %189, ptr noundef %190)
  store double %191, ptr %16, align 8, !tbaa !5
  br label %203

192:                                              ; preds = %173
  %193 = load double, ptr %6, align 8, !tbaa !5
  %194 = fneg double %193
  %195 = load ptr, ptr %9, align 8, !tbaa !9
  %196 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %194, ptr noundef %195)
  %197 = load double, ptr %7, align 8, !tbaa !5
  %198 = load ptr, ptr %9, align 8, !tbaa !9
  %199 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %197, ptr noundef %198)
  %200 = fsub double %196, %199
  %201 = load ptr, ptr %9, align 8, !tbaa !9
  %202 = call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %200, ptr noundef %201)
  store double %202, ptr %16, align 8, !tbaa !5
  br label %203

203:                                              ; preds = %192, %184
  store double 0.000000e+00, ptr %10, align 8, !tbaa !5
  %204 = load double, ptr %8, align 8, !tbaa !5
  %205 = fsub double 1.000000e+00, %204
  %206 = load double, ptr %8, align 8, !tbaa !5
  %207 = fadd double 1.000000e+00, %206
  %208 = fmul double %205, %207
  %209 = load ptr, ptr %9, align 8, !tbaa !9
  %210 = call noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef %208, ptr noundef %209)
  store double %210, ptr %11, align 8, !tbaa !5
  %211 = load double, ptr %11, align 8, !tbaa !5
  store double %211, ptr %17, align 8, !tbaa !5
  %212 = load double, ptr %6, align 8, !tbaa !5
  %213 = load double, ptr %12, align 8, !tbaa !5
  %214 = load double, ptr %7, align 8, !tbaa !5
  %215 = fneg double %213
  %216 = call double @llvm.fmuladd.f64(double %215, double %214, double %212)
  %217 = load ptr, ptr %9, align 8, !tbaa !9
  %218 = call noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef %216, ptr noundef %217)
  store double %218, ptr %18, align 8, !tbaa !5
  %219 = load double, ptr %12, align 8, !tbaa !5
  %220 = load double, ptr %6, align 8, !tbaa !5
  %221 = fmul double %219, %220
  %222 = load double, ptr %7, align 8, !tbaa !5
  %223 = fneg double %221
  %224 = call double @llvm.fmuladd.f64(double %223, double %222, double 4.000000e+00)
  %225 = fdiv double %224, 8.000000e+00
  store double %225, ptr %19, align 8, !tbaa !5
  %226 = load double, ptr %17, align 8, !tbaa !5
  %227 = load double, ptr %19, align 8, !tbaa !5
  %228 = load double, ptr %18, align 8, !tbaa !5
  %229 = load double, ptr %18, align 8, !tbaa !5
  %230 = load double, ptr %17, align 8, !tbaa !5
  %231 = load double, ptr %17, align 8, !tbaa !5
  %232 = fmul double %230, %231
  %233 = fneg double %232
  %234 = call double @llvm.fmuladd.f64(double %228, double %229, double %233)
  %235 = fmul double %227, %234
  %236 = fdiv double %235, 3.000000e+00
  %237 = fsub double 1.000000e+00, %236
  %238 = fmul double %226, %237
  %239 = load double, ptr %18, align 8, !tbaa !5
  %240 = fneg double %239
  %241 = load double, ptr %18, align 8, !tbaa !5
  %242 = fmul double %240, %241
  %243 = load double, ptr %17, align 8, !tbaa !5
  %244 = fmul double 2.000000e+00, %243
  %245 = load double, ptr %17, align 8, !tbaa !5
  %246 = fmul double %244, %245
  %247 = fdiv double %242, %246
  %248 = load ptr, ptr %9, align 8, !tbaa !9
  %249 = call noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef %247, ptr noundef %248)
  %250 = load double, ptr %18, align 8, !tbaa !5
  %251 = load double, ptr %19, align 8, !tbaa !5
  %252 = load double, ptr %18, align 8, !tbaa !5
  %253 = fmul double %251, %252
  %254 = load double, ptr %18, align 8, !tbaa !5
  %255 = fmul double %253, %254
  %256 = fdiv double %255, 3.000000e+00
  %257 = fsub double 1.000000e+00, %256
  %258 = fmul double %250, %257
  %259 = load ptr, ptr %9, align 8, !tbaa !9
  %260 = call noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef 0x401921FB54442D18, ptr noundef %259)
  %261 = fmul double %258, %260
  %262 = load double, ptr %18, align 8, !tbaa !5
  %263 = fneg double %262
  %264 = load double, ptr %17, align 8, !tbaa !5
  %265 = fdiv double %263, %264
  %266 = load ptr, ptr %9, align 8, !tbaa !9
  %267 = call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %265, ptr noundef %266)
  %268 = fmul double %261, %267
  %269 = fneg double %268
  %270 = call double @llvm.fmuladd.f64(double %238, double %249, double %269)
  store double %270, ptr %14, align 8, !tbaa !5
  %271 = load double, ptr %14, align 8, !tbaa !5
  %272 = load double, ptr %12, align 8, !tbaa !5
  %273 = fneg double %272
  %274 = load double, ptr %6, align 8, !tbaa !5
  %275 = fmul double %273, %274
  %276 = load double, ptr %7, align 8, !tbaa !5
  %277 = fmul double %275, %276
  %278 = fdiv double %277, 2.000000e+00
  %279 = load ptr, ptr %9, align 8, !tbaa !9
  %280 = call noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef %278, ptr noundef %279)
  %281 = fmul double %271, %280
  %282 = fdiv double %281, 0x401921FB54442D18
  store double %282, ptr %14, align 8, !tbaa !5
  store double 0.000000e+00, ptr %15, align 8, !tbaa !5
  %283 = load double, ptr %15, align 8, !tbaa !5
  %284 = load double, ptr %10, align 8, !tbaa !5
  %285 = load double, ptr %11, align 8, !tbaa !5
  %286 = load double, ptr %6, align 8, !tbaa !5
  %287 = load double, ptr %7, align 8, !tbaa !5
  %288 = load double, ptr %12, align 8, !tbaa !5
  %289 = load ptr, ptr %9, align 8, !tbaa !9
  %290 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %284, double noundef %285, double noundef %286, double noundef %287, double noundef %288, double noundef 0x3FC38D6C490A336F, double noundef 0xBFB3973DF98B86AD, ptr noundef %289)
  %291 = fadd double %283, %290
  store double %291, ptr %15, align 8, !tbaa !5
  %292 = load double, ptr %15, align 8, !tbaa !5
  %293 = load double, ptr %10, align 8, !tbaa !5
  %294 = load double, ptr %11, align 8, !tbaa !5
  %295 = load double, ptr %6, align 8, !tbaa !5
  %296 = load double, ptr %7, align 8, !tbaa !5
  %297 = load double, ptr %12, align 8, !tbaa !5
  %298 = load ptr, ptr %9, align 8, !tbaa !9
  %299 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %293, double noundef %294, double noundef %295, double noundef %296, double noundef %297, double noundef 0x3FC38D6C490A336F, double noundef 0x3FB3973DF98B86AD, ptr noundef %298)
  %300 = fadd double %292, %299
  store double %300, ptr %15, align 8, !tbaa !5
  %301 = load double, ptr %15, align 8, !tbaa !5
  %302 = load double, ptr %10, align 8, !tbaa !5
  %303 = load double, ptr %11, align 8, !tbaa !5
  %304 = load double, ptr %6, align 8, !tbaa !5
  %305 = load double, ptr %7, align 8, !tbaa !5
  %306 = load double, ptr %12, align 8, !tbaa !5
  %307 = load ptr, ptr %9, align 8, !tbaa !9
  %308 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %302, double noundef %303, double noundef %304, double noundef %305, double noundef %306, double noundef 0x3FC31819B52C5991, double noundef 0xBFCD281636928BC1, ptr noundef %307)
  %309 = fadd double %301, %308
  store double %309, ptr %15, align 8, !tbaa !5
  %310 = load double, ptr %15, align 8, !tbaa !5
  %311 = load double, ptr %10, align 8, !tbaa !5
  %312 = load double, ptr %11, align 8, !tbaa !5
  %313 = load double, ptr %6, align 8, !tbaa !5
  %314 = load double, ptr %7, align 8, !tbaa !5
  %315 = load double, ptr %12, align 8, !tbaa !5
  %316 = load ptr, ptr %9, align 8, !tbaa !9
  %317 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %311, double noundef %312, double noundef %313, double noundef %314, double noundef %315, double noundef 0x3FC31819B52C5991, double noundef 0x3FCD281636928BC1, ptr noundef %316)
  %318 = fadd double %310, %317
  store double %318, ptr %15, align 8, !tbaa !5
  %319 = load double, ptr %15, align 8, !tbaa !5
  %320 = load double, ptr %10, align 8, !tbaa !5
  %321 = load double, ptr %11, align 8, !tbaa !5
  %322 = load double, ptr %6, align 8, !tbaa !5
  %323 = load double, ptr %7, align 8, !tbaa !5
  %324 = load double, ptr %12, align 8, !tbaa !5
  %325 = load ptr, ptr %9, align 8, !tbaa !9
  %326 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %320, double noundef %321, double noundef %322, double noundef %323, double noundef %324, double noundef 0x3FC230348F34A534, double noundef 0xBFD7EACCF15652C3, ptr noundef %325)
  %327 = fadd double %319, %326
  store double %327, ptr %15, align 8, !tbaa !5
  %328 = load double, ptr %15, align 8, !tbaa !5
  %329 = load double, ptr %10, align 8, !tbaa !5
  %330 = load double, ptr %11, align 8, !tbaa !5
  %331 = load double, ptr %6, align 8, !tbaa !5
  %332 = load double, ptr %7, align 8, !tbaa !5
  %333 = load double, ptr %12, align 8, !tbaa !5
  %334 = load ptr, ptr %9, align 8, !tbaa !9
  %335 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %329, double noundef %330, double noundef %331, double noundef %332, double noundef %333, double noundef 0x3FC230348F34A534, double noundef 0x3FD7EACCF15652C3, ptr noundef %334)
  %336 = fadd double %328, %335
  store double %336, ptr %15, align 8, !tbaa !5
  %337 = load double, ptr %15, align 8, !tbaa !5
  %338 = load double, ptr %10, align 8, !tbaa !5
  %339 = load double, ptr %11, align 8, !tbaa !5
  %340 = load double, ptr %6, align 8, !tbaa !5
  %341 = load double, ptr %7, align 8, !tbaa !5
  %342 = load double, ptr %12, align 8, !tbaa !5
  %343 = load ptr, ptr %9, align 8, !tbaa !9
  %344 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %338, double noundef %339, double noundef %340, double noundef %341, double noundef %342, double noundef 0x3FC0DB2C5DB26DFE, double noundef 0xBFE05905C13F7FF7, ptr noundef %343)
  %345 = fadd double %337, %344
  store double %345, ptr %15, align 8, !tbaa !5
  %346 = load double, ptr %15, align 8, !tbaa !5
  %347 = load double, ptr %10, align 8, !tbaa !5
  %348 = load double, ptr %11, align 8, !tbaa !5
  %349 = load double, ptr %6, align 8, !tbaa !5
  %350 = load double, ptr %7, align 8, !tbaa !5
  %351 = load double, ptr %12, align 8, !tbaa !5
  %352 = load ptr, ptr %9, align 8, !tbaa !9
  %353 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %347, double noundef %348, double noundef %349, double noundef %350, double noundef %351, double noundef 0x3FC0DB2C5DB26DFE, double noundef 0x3FE05905C13F7FF7, ptr noundef %352)
  %354 = fadd double %346, %353
  store double %354, ptr %15, align 8, !tbaa !5
  %355 = load double, ptr %15, align 8, !tbaa !5
  %356 = load double, ptr %10, align 8, !tbaa !5
  %357 = load double, ptr %11, align 8, !tbaa !5
  %358 = load double, ptr %6, align 8, !tbaa !5
  %359 = load double, ptr %7, align 8, !tbaa !5
  %360 = load double, ptr %12, align 8, !tbaa !5
  %361 = load ptr, ptr %9, align 8, !tbaa !9
  %362 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %356, double noundef %357, double noundef %358, double noundef %359, double noundef %360, double noundef 0x3FBE41FF31573B47, double noundef 0xBFE45A8D3FA710DB, ptr noundef %361)
  %363 = fadd double %355, %362
  store double %363, ptr %15, align 8, !tbaa !5
  %364 = load double, ptr %15, align 8, !tbaa !5
  %365 = load double, ptr %10, align 8, !tbaa !5
  %366 = load double, ptr %11, align 8, !tbaa !5
  %367 = load double, ptr %6, align 8, !tbaa !5
  %368 = load double, ptr %7, align 8, !tbaa !5
  %369 = load double, ptr %12, align 8, !tbaa !5
  %370 = load ptr, ptr %9, align 8, !tbaa !9
  %371 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %365, double noundef %366, double noundef %367, double noundef %368, double noundef %369, double noundef 0x3FBE41FF31573B47, double noundef 0x3FE45A8D3FA710DB, ptr noundef %370)
  %372 = fadd double %364, %371
  store double %372, ptr %15, align 8, !tbaa !5
  %373 = load double, ptr %15, align 8, !tbaa !5
  %374 = load double, ptr %10, align 8, !tbaa !5
  %375 = load double, ptr %11, align 8, !tbaa !5
  %376 = load double, ptr %6, align 8, !tbaa !5
  %377 = load double, ptr %7, align 8, !tbaa !5
  %378 = load double, ptr %12, align 8, !tbaa !5
  %379 = load ptr, ptr %9, align 8, !tbaa !9
  %380 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %374, double noundef %375, double noundef %376, double noundef %377, double noundef %378, double noundef 0x3FBA1817A317A81E, double noundef 0xBFE7E1F37346A54E, ptr noundef %379)
  %381 = fadd double %373, %380
  store double %381, ptr %15, align 8, !tbaa !5
  %382 = load double, ptr %15, align 8, !tbaa !5
  %383 = load double, ptr %10, align 8, !tbaa !5
  %384 = load double, ptr %11, align 8, !tbaa !5
  %385 = load double, ptr %6, align 8, !tbaa !5
  %386 = load double, ptr %7, align 8, !tbaa !5
  %387 = load double, ptr %12, align 8, !tbaa !5
  %388 = load ptr, ptr %9, align 8, !tbaa !9
  %389 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %383, double noundef %384, double noundef %385, double noundef %386, double noundef %387, double noundef 0x3FBA1817A317A81E, double noundef 0x3FE7E1F37346A54E, ptr noundef %388)
  %390 = fadd double %382, %389
  store double %390, ptr %15, align 8, !tbaa !5
  %391 = load double, ptr %15, align 8, !tbaa !5
  %392 = load double, ptr %10, align 8, !tbaa !5
  %393 = load double, ptr %11, align 8, !tbaa !5
  %394 = load double, ptr %6, align 8, !tbaa !5
  %395 = load double, ptr %7, align 8, !tbaa !5
  %396 = load double, ptr %12, align 8, !tbaa !5
  %397 = load ptr, ptr %9, align 8, !tbaa !9
  %398 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %392, double noundef %393, double noundef %394, double noundef %395, double noundef %396, double noundef 0x3FB5519FE196E24D, double noundef 0xBFEADA0BD5EFD6E7, ptr noundef %397)
  %399 = fadd double %391, %398
  store double %399, ptr %15, align 8, !tbaa !5
  %400 = load double, ptr %15, align 8, !tbaa !5
  %401 = load double, ptr %10, align 8, !tbaa !5
  %402 = load double, ptr %11, align 8, !tbaa !5
  %403 = load double, ptr %6, align 8, !tbaa !5
  %404 = load double, ptr %7, align 8, !tbaa !5
  %405 = load double, ptr %12, align 8, !tbaa !5
  %406 = load ptr, ptr %9, align 8, !tbaa !9
  %407 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %401, double noundef %402, double noundef %403, double noundef %404, double noundef %405, double noundef 0x3FB5519FE196E24D, double noundef 0x3FEADA0BD5EFD6E7, ptr noundef %406)
  %408 = fadd double %400, %407
  store double %408, ptr %15, align 8, !tbaa !5
  %409 = load double, ptr %15, align 8, !tbaa !5
  %410 = load double, ptr %10, align 8, !tbaa !5
  %411 = load double, ptr %11, align 8, !tbaa !5
  %412 = load double, ptr %6, align 8, !tbaa !5
  %413 = load double, ptr %7, align 8, !tbaa !5
  %414 = load double, ptr %12, align 8, !tbaa !5
  %415 = load ptr, ptr %9, align 8, !tbaa !9
  %416 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %410, double noundef %411, double noundef %412, double noundef %413, double noundef %414, double noundef 0x3FB00B467DF7E477, double noundef 0xBFED31064173FD92, ptr noundef %415)
  %417 = fadd double %409, %416
  store double %417, ptr %15, align 8, !tbaa !5
  %418 = load double, ptr %15, align 8, !tbaa !5
  %419 = load double, ptr %10, align 8, !tbaa !5
  %420 = load double, ptr %11, align 8, !tbaa !5
  %421 = load double, ptr %6, align 8, !tbaa !5
  %422 = load double, ptr %7, align 8, !tbaa !5
  %423 = load double, ptr %12, align 8, !tbaa !5
  %424 = load ptr, ptr %9, align 8, !tbaa !9
  %425 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %419, double noundef %420, double noundef %421, double noundef %422, double noundef %423, double noundef 0x3FB00B467DF7E477, double noundef 0x3FED31064173FD92, ptr noundef %424)
  %426 = fadd double %418, %425
  store double %426, ptr %15, align 8, !tbaa !5
  %427 = load double, ptr %15, align 8, !tbaa !5
  %428 = load double, ptr %10, align 8, !tbaa !5
  %429 = load double, ptr %11, align 8, !tbaa !5
  %430 = load double, ptr %6, align 8, !tbaa !5
  %431 = load double, ptr %7, align 8, !tbaa !5
  %432 = load double, ptr %12, align 8, !tbaa !5
  %433 = load ptr, ptr %9, align 8, !tbaa !9
  %434 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %428, double noundef %429, double noundef %430, double noundef %431, double noundef %432, double noundef 0x3FA4C9B5EA53B679, double noundef 0xBFEED8DBA7BD769F, ptr noundef %433)
  %435 = fadd double %427, %434
  store double %435, ptr %15, align 8, !tbaa !5
  %436 = load double, ptr %15, align 8, !tbaa !5
  %437 = load double, ptr %10, align 8, !tbaa !5
  %438 = load double, ptr %11, align 8, !tbaa !5
  %439 = load double, ptr %6, align 8, !tbaa !5
  %440 = load double, ptr %7, align 8, !tbaa !5
  %441 = load double, ptr %12, align 8, !tbaa !5
  %442 = load ptr, ptr %9, align 8, !tbaa !9
  %443 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %437, double noundef %438, double noundef %439, double noundef %440, double noundef %441, double noundef 0x3FA4C9B5EA53B679, double noundef 0x3FEED8DBA7BD769F, ptr noundef %442)
  %444 = fadd double %436, %443
  store double %444, ptr %15, align 8, !tbaa !5
  %445 = load double, ptr %15, align 8, !tbaa !5
  %446 = load double, ptr %10, align 8, !tbaa !5
  %447 = load double, ptr %11, align 8, !tbaa !5
  %448 = load double, ptr %6, align 8, !tbaa !5
  %449 = load double, ptr %7, align 8, !tbaa !5
  %450 = load double, ptr %12, align 8, !tbaa !5
  %451 = load ptr, ptr %9, align 8, !tbaa !9
  %452 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %446, double noundef %447, double noundef %448, double noundef %449, double noundef %450, double noundef 0x3F9209680274E8AA, double noundef 0xBFEFC7B5A0C71CE0, ptr noundef %451)
  %453 = fadd double %445, %452
  store double %453, ptr %15, align 8, !tbaa !5
  %454 = load double, ptr %15, align 8, !tbaa !5
  %455 = load double, ptr %10, align 8, !tbaa !5
  %456 = load double, ptr %11, align 8, !tbaa !5
  %457 = load double, ptr %6, align 8, !tbaa !5
  %458 = load double, ptr %7, align 8, !tbaa !5
  %459 = load double, ptr %12, align 8, !tbaa !5
  %460 = load ptr, ptr %9, align 8, !tbaa !9
  %461 = call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef %455, double noundef %456, double noundef %457, double noundef %458, double noundef %459, double noundef 0x3F9209680274E8AA, double noundef 0x3FEFC7B5A0C71CE0, ptr noundef %460)
  %462 = fadd double %454, %461
  store double %462, ptr %15, align 8, !tbaa !5
  %463 = load double, ptr %15, align 8, !tbaa !5
  %464 = fmul double %463, 5.000000e-01
  %465 = load double, ptr %11, align 8, !tbaa !5
  %466 = load double, ptr %10, align 8, !tbaa !5
  %467 = fsub double %465, %466
  %468 = fmul double %464, %467
  %469 = fdiv double %468, 0x401921FB54442D18
  store double %469, ptr %15, align 8, !tbaa !5
  %470 = load double, ptr %16, align 8, !tbaa !5
  %471 = load double, ptr %12, align 8, !tbaa !5
  %472 = load double, ptr %14, align 8, !tbaa !5
  %473 = load double, ptr %15, align 8, !tbaa !5
  %474 = fadd double %472, %473
  %475 = fneg double %471
  %476 = call double @llvm.fmuladd.f64(double %475, double %474, double %470)
  store double %476, ptr %20, align 8, !tbaa !5
  br label %477

477:                                              ; preds = %203, %58
  %478 = load double, ptr %20, align 8, !tbaa !5
  %479 = load ptr, ptr %9, align 8, !tbaa !9
  %480 = call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef %478, double noundef 0.000000e+00, ptr noundef %479)
  store double %480, ptr %20, align 8, !tbaa !5
  %481 = load double, ptr %20, align 8, !tbaa !5
  %482 = load ptr, ptr %9, align 8, !tbaa !9
  %483 = call noundef double @_ZN11alglib_impl10ae_minrealEddPNS_8ae_stateE(double noundef %481, double noundef 1.000000e+00, ptr noundef %482)
  store double %483, ptr %20, align 8, !tbaa !5
  %484 = load double, ptr %20, align 8, !tbaa !5
  store double %484, ptr %5, align 8
  store i32 1, ptr %21, align 4
  br label %485

485:                                              ; preds = %477, %44
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #4
  %486 = load double, ptr %5, align 8
  ret double %486
}

declare noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef, ptr noundef) #2

declare noundef zeroext i1 @_ZN11alglib_impl13ae_fp_greaterEdd(double noundef, double noundef) #2

declare noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef, double noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #3

declare noundef zeroext i1 @_ZN11alglib_impl8ae_fp_eqEdd(double noundef, double noundef) #2

declare noundef i64 @_ZN11alglib_impl7ae_signEdPNS_8ae_stateE(double noundef, ptr noundef) #2

declare noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef, ptr noundef) #2

declare void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext, ptr noundef, ptr noundef) #2

declare noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef, ptr noundef) #2

declare noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef, ptr noundef) #2

declare noundef zeroext i1 @_ZN11alglib_impl13ae_fp_less_eqEdd(double noundef, double noundef) #2

declare noundef double @_ZN11alglib_impl7ae_asinEdPNS_8ae_stateE(double noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare hidden noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef) #1

declare noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef, double noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare hidden noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef) #1

declare noundef double @_ZN11alglib_impl10ae_minrealEddPNS_8ae_stateE(double noundef, double noundef, ptr noundef) #2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str.1 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local noundef double @_ZN11alglib_impl18bivariatenormalcdfEdddPNS_8ae_stateE(double noundef %0, double noundef %1, double noundef %2, ptr noundef %3) local_unnamed_addr #0 {
  %5 = tail call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %0, ptr noundef %3)
  tail call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %5, ptr noundef nonnull @.str.1, ptr noundef %3)
  %6 = tail call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %1, ptr noundef %3)
  tail call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %6, ptr noundef nonnull @.str.2, ptr noundef %3)
  %7 = tail call noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef %2, ptr noundef %3)
  tail call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %7, ptr noundef nonnull @.str.3, ptr noundef %3)
  %8 = tail call noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef -1.000000e+00, double noundef %2)
  br i1 %8, label %9, label %11

9:                                                ; preds = %4
  %10 = tail call noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef %2, double noundef 1.000000e+00)
  br label %11

11:                                               ; preds = %9, %4
  %12 = phi i1 [ false, %4 ], [ %10, %9 ]
  tail call void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext %12, ptr noundef nonnull @.str.4, ptr noundef %3)
  %13 = tail call noundef zeroext i1 @_ZN11alglib_impl8ae_fp_eqEdd(double noundef %2, double noundef 0.000000e+00)
  br i1 %13, label %14, label %18

14:                                               ; preds = %11
  %15 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %0, ptr noundef %3)
  %16 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %1, ptr noundef %3)
  %17 = fmul double %15, %16
  br label %159

18:                                               ; preds = %11
  %19 = tail call noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef %2, ptr noundef %3)
  %20 = tail call noundef zeroext i1 @_ZN11alglib_impl13ae_fp_less_eqEdd(double noundef %19, double noundef 8.000000e-01)
  br i1 %20, label %21, label %53

21:                                               ; preds = %18
  %22 = tail call noundef double @_ZN11alglib_impl7ae_asinEdPNS_8ae_stateE(double noundef %2, ptr noundef %3)
  %23 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCFE40CE6D4F026, double noundef 0xBFC007A5F8F630E4, ptr noundef %3)
  %24 = fadd double %23, 0.000000e+00
  %25 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCFE40CE6D4F026, double noundef 0x3FC007A5F8F630E4, ptr noundef %3)
  %26 = fadd double %24, %25
  %27 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCDE3155C256AB5, double noundef 0xBFD78A8D20A8B19D, ptr noundef %3)
  %28 = fadd double %26, %27
  %29 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCDE3155C256AB5, double noundef 0x3FD78A8D20A8B19D, ptr noundef %3)
  %30 = fadd double %28, %29
  %31 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCA0163E6B1AB71, double noundef 0xBFE2CB4F05C077F9, ptr noundef %3)
  %32 = fadd double %30, %31
  %33 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FCA0163E6B1AB71, double noundef 0x3FE2CB4F05C077F9, ptr noundef %3)
  %34 = fadd double %32, %33
  %35 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FC47D7258F22D8E, double noundef 0xBFE8A30AEED88F36, ptr noundef %3)
  %36 = fadd double %34, %35
  %37 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FC47D7258F22D8E, double noundef 0x3FE8A30AEED88F36, ptr noundef %3)
  %38 = fadd double %36, %37
  %39 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FBB60602BCE617F, double noundef 0xBFECEE874FFB88B4, ptr noundef %3)
  %40 = fadd double %38, %39
  %41 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FBB60602BCE617F, double noundef 0x3FECEE874FFB88B4, ptr noundef %3)
  %42 = fadd double %40, %41
  %43 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FA8275D9DEA6D8B, double noundef 0xBFEF68F1D8E42E81, ptr noundef %3)
  %44 = fadd double %42, %43
  %45 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %22, double noundef %0, double noundef %1, double noundef 0x3FA8275D9DEA6D8B, double noundef 0x3FEF68F1D8E42E81, ptr noundef %3)
  %46 = fadd double %44, %45
  %47 = fmul double %46, 5.000000e-01
  %48 = fmul double %22, %47
  %49 = fdiv double %48, 0x401921FB54442D18
  %50 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %0, ptr noundef %3)
  %51 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %1, ptr noundef %3)
  %52 = tail call double @llvm.fmuladd.f64(double %50, double %51, double %49)
  br label %156

53:                                               ; preds = %18
  %54 = fneg double %0
  %55 = fneg double %1
  %56 = tail call noundef i64 @_ZN11alglib_impl7ae_signEdPNS_8ae_stateE(double noundef %2, ptr noundef %3)
  %57 = sitofp i64 %56 to double
  %58 = tail call noundef zeroext i1 @_ZN11alglib_impl13ae_fp_greaterEdd(double noundef %57, double noundef 0.000000e+00)
  br i1 %58, label %59, label %63

59:                                               ; preds = %53
  %60 = tail call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef %54, double noundef %55, ptr noundef %3)
  %61 = fneg double %60
  %62 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %61, ptr noundef %3)
  br label %68

63:                                               ; preds = %53
  %64 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %0, ptr noundef %3)
  %65 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %55, ptr noundef %3)
  %66 = fsub double %64, %65
  %67 = tail call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %66, ptr noundef %3)
  br label %68

68:                                               ; preds = %63, %59
  %.0305 = phi double [ %62, %59 ], [ %67, %63 ]
  %69 = fsub double 1.000000e+00, %2
  %70 = fadd double %2, 1.000000e+00
  %71 = fmul double %69, %70
  %72 = tail call noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef %71, ptr noundef %3)
  %73 = fneg double %57
  %74 = tail call double @llvm.fmuladd.f64(double %57, double %1, double %54)
  %75 = tail call noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef %74, ptr noundef %3)
  %76 = fmul double %57, %0
  %77 = tail call double @llvm.fmuladd.f64(double %76, double %55, double 4.000000e+00)
  %78 = fmul double %77, 1.250000e-01
  %79 = fneg double %72
  %80 = fmul double %72, %79
  %81 = tail call double @llvm.fmuladd.f64(double %75, double %75, double %80)
  %82 = fmul double %78, %81
  %83 = fdiv double %82, 3.000000e+00
  %84 = fsub double 1.000000e+00, %83
  %85 = fmul double %72, %84
  %86 = fneg double %75
  %87 = fmul double %75, %86
  %88 = fmul double %72, 2.000000e+00
  %89 = fmul double %72, %88
  %90 = fdiv double %87, %89
  %91 = tail call noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef %90, ptr noundef %3)
  %92 = fmul double %78, %75
  %93 = fmul double %75, %92
  %94 = fdiv double %93, 3.000000e+00
  %95 = fsub double 1.000000e+00, %94
  %96 = tail call noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef 0x401921FB54442D18, ptr noundef %3)
  %97 = fdiv double %86, %72
  %98 = tail call noundef double @_ZN11alglib_impl9normalcdfEdPNS_8ae_stateE(double noundef %97, ptr noundef %3)
  %99 = fmul double %95, %86
  %100 = fmul double %96, %99
  %101 = fmul double %98, %100
  %102 = tail call double @llvm.fmuladd.f64(double %85, double %91, double %101)
  %103 = fmul double %76, %55
  %104 = fmul double %103, 5.000000e-01
  %105 = tail call noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef %104, ptr noundef %3)
  %106 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC38D6C490A336F, double noundef 0xBFB3973DF98B86AD, ptr noundef %3)
  %107 = fadd double %106, 0.000000e+00
  %108 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC38D6C490A336F, double noundef 0x3FB3973DF98B86AD, ptr noundef %3)
  %109 = fadd double %107, %108
  %110 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC31819B52C5991, double noundef 0xBFCD281636928BC1, ptr noundef %3)
  %111 = fadd double %109, %110
  %112 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC31819B52C5991, double noundef 0x3FCD281636928BC1, ptr noundef %3)
  %113 = fadd double %111, %112
  %114 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC230348F34A534, double noundef 0xBFD7EACCF15652C3, ptr noundef %3)
  %115 = fadd double %113, %114
  %116 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC230348F34A534, double noundef 0x3FD7EACCF15652C3, ptr noundef %3)
  %117 = fadd double %115, %116
  %118 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC0DB2C5DB26DFE, double noundef 0xBFE05905C13F7FF7, ptr noundef %3)
  %119 = fadd double %117, %118
  %120 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FC0DB2C5DB26DFE, double noundef 0x3FE05905C13F7FF7, ptr noundef %3)
  %121 = fadd double %119, %120
  %122 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FBE41FF31573B47, double noundef 0xBFE45A8D3FA710DB, ptr noundef %3)
  %123 = fadd double %121, %122
  %124 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FBE41FF31573B47, double noundef 0x3FE45A8D3FA710DB, ptr noundef %3)
  %125 = fadd double %123, %124
  %126 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FBA1817A317A81E, double noundef 0xBFE7E1F37346A54E, ptr noundef %3)
  %127 = fadd double %125, %126
  %128 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FBA1817A317A81E, double noundef 0x3FE7E1F37346A54E, ptr noundef %3)
  %129 = fadd double %127, %128
  %130 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FB5519FE196E24D, double noundef 0xBFEADA0BD5EFD6E7, ptr noundef %3)
  %131 = fadd double %129, %130
  %132 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FB5519FE196E24D, double noundef 0x3FEADA0BD5EFD6E7, ptr noundef %3)
  %133 = fadd double %131, %132
  %134 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FB00B467DF7E477, double noundef 0xBFED31064173FD92, ptr noundef %3)
  %135 = fadd double %133, %134
  %136 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FB00B467DF7E477, double noundef 0x3FED31064173FD92, ptr noundef %3)
  %137 = fadd double %135, %136
  %138 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FA4C9B5EA53B679, double noundef 0xBFEED8DBA7BD769F, ptr noundef %3)
  %139 = fadd double %137, %138
  %140 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3FA4C9B5EA53B679, double noundef 0x3FEED8DBA7BD769F, ptr noundef %3)
  %141 = fadd double %139, %140
  %142 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3F9209680274E8AA, double noundef 0xBFEFC7B5A0C71CE0, ptr noundef %3)
  %143 = fadd double %141, %142
  %144 = tail call noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef 0.000000e+00, double noundef %72, double noundef %54, double noundef %55, double noundef %57, double noundef 0x3F9209680274E8AA, double noundef 0x3FEFC7B5A0C71CE0, ptr noundef %3)
  %145 = fadd double %143, %144
  %146 = fmul double %145, 5.000000e-01
  %147 = insertelement <2 x double> poison, double %105, i64 0
  %148 = insertelement <2 x double> %147, double %72, i64 1
  %149 = insertelement <2 x double> poison, double %102, i64 0
  %150 = insertelement <2 x double> %149, double %146, i64 1
  %151 = fmul <2 x double> %148, %150
  %152 = fdiv <2 x double> %151, <double 0x401921FB54442D18, double 0x401921FB54442D18>
  %shift = shufflevector <2 x double> %152, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %153 = fadd <2 x double> %152, %shift
  %154 = extractelement <2 x double> %153, i64 0
  %155 = tail call double @llvm.fmuladd.f64(double %73, double %154, double %.0305)
  br label %156

156:                                              ; preds = %68, %21
  %.0 = phi double [ %52, %21 ], [ %155, %68 ]
  %157 = tail call noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef %.0, double noundef 0.000000e+00, ptr noundef %3)
  %158 = tail call noundef double @_ZN11alglib_impl10ae_minrealEddPNS_8ae_stateE(double noundef %157, double noundef 1.000000e+00, ptr noundef %3)
  br label %159

159:                                              ; preds = %156, %14
  %.0304 = phi double [ %17, %14 ], [ %158, %156 ]
  ret double %.0304
}

declare noundef double @_ZN11alglib_impl7ae_fabsEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN11alglib_impl13ae_fp_greaterEdd(double noundef, double noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN11alglib_impl10ae_fp_lessEdd(double noundef, double noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #2

declare noundef zeroext i1 @_ZN11alglib_impl8ae_fp_eqEdd(double noundef, double noundef) local_unnamed_addr #1

declare noundef i64 @_ZN11alglib_impl7ae_signEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

declare noundef double @_ZN11alglib_impl6ae_expEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN11alglib_impl9ae_assertEbPKcPNS_8ae_stateE(i1 noundef zeroext, ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN11alglib_impl11ae_isfiniteEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

declare noundef double @_ZN11alglib_impl7ae_sqrtEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN11alglib_impl13ae_fp_less_eqEdd(double noundef, double noundef) local_unnamed_addr #1

declare noundef double @_ZN11alglib_impl7ae_asinEdPNS_8ae_stateE(double noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate3EddddddPNS_8ae_stateE(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef) local_unnamed_addr #0

declare noundef double @_ZN11alglib_impl10ae_maxrealEddPNS_8ae_stateE(double noundef, double noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden noundef double @_ZN11alglib_implL25normaldistr_bvnintegrate6EdddddddPNS_8ae_stateE(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef) local_unnamed_addr #0

declare noundef double @_ZN11alglib_impl10ae_minrealEddPNS_8ae_stateE(double noundef, double noundef, ptr noundef) local_unnamed_addr #1

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,ReassociatePass,SLPVectorizerPass,SROAPass,TailCallElimPass,VectorCombinePass