; LLVM IR from Dimandragon/non-parametric-dsp :: alglib-cpp/src (optimization)

; 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"

%"struct.alglib_impl::xbfgshessian" = type { i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, i64, double, double, double, double, double, double, double, i64, double, double, %"struct.alglib_impl::ae_matrix", i64, double, double, double, i64, double, %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", i8, i64, %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", i8, %"struct.alglib_impl::ae_vector", i8, i64, %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i8, %"struct.alglib_impl::ae_vector", double, double, i64, %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector" }
%"struct.alglib_impl::ae_matrix" = type { i64, i64, i64, i64, i8, %"struct.alglib_impl::ae_dyn_block", %union.anon.1 }
%"struct.alglib_impl::ae_dyn_block" = type { ptr, ptr, ptr, ptr }
%union.anon.1 = type { ptr }
%"struct.alglib_impl::ae_vector" = type { i64, i64, i8, %"struct.alglib_impl::ae_dyn_block", %union.anon.0 }
%union.anon.0 = type { ptr }

; 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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN11alglib_impl23_xbfgshessian_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef %0, ptr noundef %1, ptr noundef %2, i1 noundef zeroext %3) #2 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i8, align 1
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %11 = zext i1 %3 to i8
  store i8 %11, ptr %8, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #3
  %12 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %12, ptr %9, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #3
  %13 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %13, ptr %10, align 8, !tbaa !5
  %14 = load ptr, ptr %10, align 8, !tbaa !5
  %15 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %14, i32 0, i32 0
  %16 = load i64, ptr %15, align 8, !tbaa !11
  %17 = load ptr, ptr %9, align 8, !tbaa !5
  %18 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %17, i32 0, i32 0
  store i64 %16, ptr %18, align 8, !tbaa !11
  %19 = load ptr, ptr %9, align 8, !tbaa !5
  %20 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %19, i32 0, i32 1
  %21 = load ptr, ptr %10, align 8, !tbaa !5
  %22 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %21, i32 0, i32 1
  %23 = load ptr, ptr %7, align 8, !tbaa !5
  %24 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %25 = trunc i8 %24 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %20, ptr noundef %22, ptr noundef %23, i1 noundef zeroext %25)
  %26 = load ptr, ptr %9, align 8, !tbaa !5
  %27 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %26, i32 0, i32 2
  %28 = load ptr, ptr %10, align 8, !tbaa !5
  %29 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %28, i32 0, i32 2
  %30 = load ptr, ptr %7, align 8, !tbaa !5
  %31 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %32 = trunc i8 %31 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %27, ptr noundef %29, ptr noundef %30, i1 noundef zeroext %32)
  %33 = load ptr, ptr %10, align 8, !tbaa !5
  %34 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %33, i32 0, i32 3
  %35 = load i64, ptr %34, align 8, !tbaa !20
  %36 = load ptr, ptr %9, align 8, !tbaa !5
  %37 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %36, i32 0, i32 3
  store i64 %35, ptr %37, align 8, !tbaa !20
  %38 = load ptr, ptr %10, align 8, !tbaa !5
  %39 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %38, i32 0, i32 4
  %40 = load i64, ptr %39, align 8, !tbaa !21
  %41 = load ptr, ptr %9, align 8, !tbaa !5
  %42 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %41, i32 0, i32 4
  store i64 %40, ptr %42, align 8, !tbaa !21
  %43 = load ptr, ptr %10, align 8, !tbaa !5
  %44 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %43, i32 0, i32 5
  %45 = load double, ptr %44, align 8, !tbaa !22
  %46 = load ptr, ptr %9, align 8, !tbaa !5
  %47 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %46, i32 0, i32 5
  store double %45, ptr %47, align 8, !tbaa !22
  %48 = load ptr, ptr %10, align 8, !tbaa !5
  %49 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %48, i32 0, i32 6
  %50 = load double, ptr %49, align 8, !tbaa !23
  %51 = load ptr, ptr %9, align 8, !tbaa !5
  %52 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %51, i32 0, i32 6
  store double %50, ptr %52, align 8, !tbaa !23
  %53 = load ptr, ptr %10, align 8, !tbaa !5
  %54 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %53, i32 0, i32 7
  %55 = load double, ptr %54, align 8, !tbaa !24
  %56 = load ptr, ptr %9, align 8, !tbaa !5
  %57 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %56, i32 0, i32 7
  store double %55, ptr %57, align 8, !tbaa !24
  %58 = load ptr, ptr %10, align 8, !tbaa !5
  %59 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %58, i32 0, i32 8
  %60 = load double, ptr %59, align 8, !tbaa !25
  %61 = load ptr, ptr %9, align 8, !tbaa !5
  %62 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %61, i32 0, i32 8
  store double %60, ptr %62, align 8, !tbaa !25
  %63 = load ptr, ptr %10, align 8, !tbaa !5
  %64 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %63, i32 0, i32 9
  %65 = load double, ptr %64, align 8, !tbaa !26
  %66 = load ptr, ptr %9, align 8, !tbaa !5
  %67 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %66, i32 0, i32 9
  store double %65, ptr %67, align 8, !tbaa !26
  %68 = load ptr, ptr %10, align 8, !tbaa !5
  %69 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %68, i32 0, i32 10
  %70 = load double, ptr %69, align 8, !tbaa !27
  %71 = load ptr, ptr %9, align 8, !tbaa !5
  %72 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %71, i32 0, i32 10
  store double %70, ptr %72, align 8, !tbaa !27
  %73 = load ptr, ptr %10, align 8, !tbaa !5
  %74 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %73, i32 0, i32 11
  %75 = load double, ptr %74, align 8, !tbaa !28
  %76 = load ptr, ptr %9, align 8, !tbaa !5
  %77 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %76, i32 0, i32 11
  store double %75, ptr %77, align 8, !tbaa !28
  %78 = load ptr, ptr %10, align 8, !tbaa !5
  %79 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %78, i32 0, i32 12
  %80 = load i64, ptr %79, align 8, !tbaa !29
  %81 = load ptr, ptr %9, align 8, !tbaa !5
  %82 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %81, i32 0, i32 12
  store i64 %80, ptr %82, align 8, !tbaa !29
  %83 = load ptr, ptr %10, align 8, !tbaa !5
  %84 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %83, i32 0, i32 13
  %85 = load double, ptr %84, align 8, !tbaa !30
  %86 = load ptr, ptr %9, align 8, !tbaa !5
  %87 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %86, i32 0, i32 13
  store double %85, ptr %87, align 8, !tbaa !30
  %88 = load ptr, ptr %10, align 8, !tbaa !5
  %89 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %88, i32 0, i32 14
  %90 = load double, ptr %89, align 8, !tbaa !31
  %91 = load ptr, ptr %9, align 8, !tbaa !5
  %92 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %91, i32 0, i32 14
  store double %90, ptr %92, align 8, !tbaa !31
  %93 = load ptr, ptr %9, align 8, !tbaa !5
  %94 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %93, i32 0, i32 15
  %95 = load ptr, ptr %10, align 8, !tbaa !5
  %96 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %95, i32 0, i32 15
  %97 = load ptr, ptr %7, align 8, !tbaa !5
  %98 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %99 = trunc i8 %98 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %94, ptr noundef %96, ptr noundef %97, i1 noundef zeroext %99)
  %100 = load ptr, ptr %10, align 8, !tbaa !5
  %101 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %100, i32 0, i32 16
  %102 = load i64, ptr %101, align 8, !tbaa !32
  %103 = load ptr, ptr %9, align 8, !tbaa !5
  %104 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %103, i32 0, i32 16
  store i64 %102, ptr %104, align 8, !tbaa !32
  %105 = load ptr, ptr %10, align 8, !tbaa !5
  %106 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %105, i32 0, i32 17
  %107 = load double, ptr %106, align 8, !tbaa !33
  %108 = load ptr, ptr %9, align 8, !tbaa !5
  %109 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %108, i32 0, i32 17
  store double %107, ptr %109, align 8, !tbaa !33
  %110 = load ptr, ptr %10, align 8, !tbaa !5
  %111 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %110, i32 0, i32 18
  %112 = load double, ptr %111, align 8, !tbaa !34
  %113 = load ptr, ptr %9, align 8, !tbaa !5
  %114 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %113, i32 0, i32 18
  store double %112, ptr %114, align 8, !tbaa !34
  %115 = load ptr, ptr %10, align 8, !tbaa !5
  %116 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %115, i32 0, i32 19
  %117 = load double, ptr %116, align 8, !tbaa !35
  %118 = load ptr, ptr %9, align 8, !tbaa !5
  %119 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %118, i32 0, i32 19
  store double %117, ptr %119, align 8, !tbaa !35
  %120 = load ptr, ptr %10, align 8, !tbaa !5
  %121 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %120, i32 0, i32 20
  %122 = load i64, ptr %121, align 8, !tbaa !36
  %123 = load ptr, ptr %9, align 8, !tbaa !5
  %124 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %123, i32 0, i32 20
  store i64 %122, ptr %124, align 8, !tbaa !36
  %125 = load ptr, ptr %10, align 8, !tbaa !5
  %126 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %125, i32 0, i32 21
  %127 = load double, ptr %126, align 8, !tbaa !37
  %128 = load ptr, ptr %9, align 8, !tbaa !5
  %129 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %128, i32 0, i32 21
  store double %127, ptr %129, align 8, !tbaa !37
  %130 = load ptr, ptr %9, align 8, !tbaa !5
  %131 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %130, i32 0, i32 22
  %132 = load ptr, ptr %10, align 8, !tbaa !5
  %133 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %132, i32 0, i32 22
  %134 = load ptr, ptr %7, align 8, !tbaa !5
  %135 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %136 = trunc i8 %135 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %131, ptr noundef %133, ptr noundef %134, i1 noundef zeroext %136)
  %137 = load ptr, ptr %9, align 8, !tbaa !5
  %138 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %137, i32 0, i32 23
  %139 = load ptr, ptr %10, align 8, !tbaa !5
  %140 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %139, i32 0, i32 23
  %141 = load ptr, ptr %7, align 8, !tbaa !5
  %142 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %143 = trunc i8 %142 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %138, ptr noundef %140, ptr noundef %141, i1 noundef zeroext %143)
  %144 = load ptr, ptr %9, align 8, !tbaa !5
  %145 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %144, i32 0, i32 24
  %146 = load ptr, ptr %10, align 8, !tbaa !5
  %147 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %146, i32 0, i32 24
  %148 = load ptr, ptr %7, align 8, !tbaa !5
  %149 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %150 = trunc i8 %149 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %145, ptr noundef %147, ptr noundef %148, i1 noundef zeroext %150)
  %151 = load ptr, ptr %9, align 8, !tbaa !5
  %152 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %151, i32 0, i32 25
  %153 = load ptr, ptr %10, align 8, !tbaa !5
  %154 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %153, i32 0, i32 25
  %155 = load ptr, ptr %7, align 8, !tbaa !5
  %156 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %157 = trunc i8 %156 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %152, ptr noundef %154, ptr noundef %155, i1 noundef zeroext %157)
  %158 = load ptr, ptr %10, align 8, !tbaa !5
  %159 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %158, i32 0, i32 26
  %160 = load i8, ptr %159, align 8, !tbaa !38, !range !18, !noundef !19
  %161 = trunc i8 %160 to i1
  %162 = load ptr, ptr %9, align 8, !tbaa !5
  %163 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %162, i32 0, i32 26
  %164 = zext i1 %161 to i8
  store i8 %164, ptr %163, align 8, !tbaa !38
  %165 = load ptr, ptr %10, align 8, !tbaa !5
  %166 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %165, i32 0, i32 27
  %167 = load i64, ptr %166, align 8, !tbaa !39
  %168 = load ptr, ptr %9, align 8, !tbaa !5
  %169 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %168, i32 0, i32 27
  store i64 %167, ptr %169, align 8, !tbaa !39
  %170 = load ptr, ptr %9, align 8, !tbaa !5
  %171 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %170, i32 0, i32 28
  %172 = load ptr, ptr %10, align 8, !tbaa !5
  %173 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %172, i32 0, i32 28
  %174 = load ptr, ptr %7, align 8, !tbaa !5
  %175 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %176 = trunc i8 %175 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %171, ptr noundef %173, ptr noundef %174, i1 noundef zeroext %176)
  %177 = load ptr, ptr %9, align 8, !tbaa !5
  %178 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %177, i32 0, i32 29
  %179 = load ptr, ptr %10, align 8, !tbaa !5
  %180 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %179, i32 0, i32 29
  %181 = load ptr, ptr %7, align 8, !tbaa !5
  %182 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %183 = trunc i8 %182 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %178, ptr noundef %180, ptr noundef %181, i1 noundef zeroext %183)
  %184 = load ptr, ptr %10, align 8, !tbaa !5
  %185 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %184, i32 0, i32 30
  %186 = load i8, ptr %185, align 8, !tbaa !40, !range !18, !noundef !19
  %187 = trunc i8 %186 to i1
  %188 = load ptr, ptr %9, align 8, !tbaa !5
  %189 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %188, i32 0, i32 30
  %190 = zext i1 %187 to i8
  store i8 %190, ptr %189, align 8, !tbaa !40
  %191 = load ptr, ptr %9, align 8, !tbaa !5
  %192 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %191, i32 0, i32 31
  %193 = load ptr, ptr %10, align 8, !tbaa !5
  %194 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %193, i32 0, i32 31
  %195 = load ptr, ptr %7, align 8, !tbaa !5
  %196 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %197 = trunc i8 %196 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %192, ptr noundef %194, ptr noundef %195, i1 noundef zeroext %197)
  %198 = load ptr, ptr %10, align 8, !tbaa !5
  %199 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %198, i32 0, i32 32
  %200 = load i8, ptr %199, align 8, !tbaa !41, !range !18, !noundef !19
  %201 = trunc i8 %200 to i1
  %202 = load ptr, ptr %9, align 8, !tbaa !5
  %203 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %202, i32 0, i32 32
  %204 = zext i1 %201 to i8
  store i8 %204, ptr %203, align 8, !tbaa !41
  %205 = load ptr, ptr %10, align 8, !tbaa !5
  %206 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %205, i32 0, i32 33
  %207 = load i64, ptr %206, align 8, !tbaa !42
  %208 = load ptr, ptr %9, align 8, !tbaa !5
  %209 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %208, i32 0, i32 33
  store i64 %207, ptr %209, align 8, !tbaa !42
  %210 = load ptr, ptr %9, align 8, !tbaa !5
  %211 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %210, i32 0, i32 34
  %212 = load ptr, ptr %10, align 8, !tbaa !5
  %213 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %212, i32 0, i32 34
  %214 = load ptr, ptr %7, align 8, !tbaa !5
  %215 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %216 = trunc i8 %215 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %211, ptr noundef %213, ptr noundef %214, i1 noundef zeroext %216)
  %217 = load ptr, ptr %9, align 8, !tbaa !5
  %218 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %217, i32 0, i32 35
  %219 = load ptr, ptr %10, align 8, !tbaa !5
  %220 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %219, i32 0, i32 35
  %221 = load ptr, ptr %7, align 8, !tbaa !5
  %222 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %223 = trunc i8 %222 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %218, ptr noundef %220, ptr noundef %221, i1 noundef zeroext %223)
  %224 = load ptr, ptr %9, align 8, !tbaa !5
  %225 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %224, i32 0, i32 36
  %226 = load ptr, ptr %10, align 8, !tbaa !5
  %227 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %226, i32 0, i32 36
  %228 = load ptr, ptr %7, align 8, !tbaa !5
  %229 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %230 = trunc i8 %229 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %225, ptr noundef %227, ptr noundef %228, i1 noundef zeroext %230)
  %231 = load ptr, ptr %9, align 8, !tbaa !5
  %232 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %231, i32 0, i32 37
  %233 = load ptr, ptr %10, align 8, !tbaa !5
  %234 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %233, i32 0, i32 37
  %235 = load ptr, ptr %7, align 8, !tbaa !5
  %236 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %237 = trunc i8 %236 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %232, ptr noundef %234, ptr noundef %235, i1 noundef zeroext %237)
  %238 = load ptr, ptr %9, align 8, !tbaa !5
  %239 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %238, i32 0, i32 38
  %240 = load ptr, ptr %10, align 8, !tbaa !5
  %241 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %240, i32 0, i32 38
  %242 = load ptr, ptr %7, align 8, !tbaa !5
  %243 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %244 = trunc i8 %243 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %239, ptr noundef %241, ptr noundef %242, i1 noundef zeroext %244)
  %245 = load ptr, ptr %9, align 8, !tbaa !5
  %246 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %245, i32 0, i32 39
  %247 = load ptr, ptr %10, align 8, !tbaa !5
  %248 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %247, i32 0, i32 39
  %249 = load ptr, ptr %7, align 8, !tbaa !5
  %250 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %251 = trunc i8 %250 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %246, ptr noundef %248, ptr noundef %249, i1 noundef zeroext %251)
  %252 = load ptr, ptr %10, align 8, !tbaa !5
  %253 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %252, i32 0, i32 40
  %254 = load i8, ptr %253, align 8, !tbaa !43, !range !18, !noundef !19
  %255 = trunc i8 %254 to i1
  %256 = load ptr, ptr %9, align 8, !tbaa !5
  %257 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %256, i32 0, i32 40
  %258 = zext i1 %255 to i8
  store i8 %258, ptr %257, align 8, !tbaa !43
  %259 = load ptr, ptr %9, align 8, !tbaa !5
  %260 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %259, i32 0, i32 41
  %261 = load ptr, ptr %10, align 8, !tbaa !5
  %262 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %261, i32 0, i32 41
  %263 = load ptr, ptr %7, align 8, !tbaa !5
  %264 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %265 = trunc i8 %264 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %260, ptr noundef %262, ptr noundef %263, i1 noundef zeroext %265)
  %266 = load ptr, ptr %10, align 8, !tbaa !5
  %267 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %266, i32 0, i32 42
  %268 = load double, ptr %267, align 8, !tbaa !44
  %269 = load ptr, ptr %9, align 8, !tbaa !5
  %270 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %269, i32 0, i32 42
  store double %268, ptr %270, align 8, !tbaa !44
  %271 = load ptr, ptr %10, align 8, !tbaa !5
  %272 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %271, i32 0, i32 43
  %273 = load double, ptr %272, align 8, !tbaa !45
  %274 = load ptr, ptr %9, align 8, !tbaa !5
  %275 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %274, i32 0, i32 43
  store double %273, ptr %275, align 8, !tbaa !45
  %276 = load ptr, ptr %10, align 8, !tbaa !5
  %277 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %276, i32 0, i32 44
  %278 = load i64, ptr %277, align 8, !tbaa !46
  %279 = load ptr, ptr %9, align 8, !tbaa !5
  %280 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %279, i32 0, i32 44
  store i64 %278, ptr %280, align 8, !tbaa !46
  %281 = load ptr, ptr %9, align 8, !tbaa !5
  %282 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %281, i32 0, i32 45
  %283 = load ptr, ptr %10, align 8, !tbaa !5
  %284 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %283, i32 0, i32 45
  %285 = load ptr, ptr %7, align 8, !tbaa !5
  %286 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %287 = trunc i8 %286 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %282, ptr noundef %284, ptr noundef %285, i1 noundef zeroext %287)
  %288 = load ptr, ptr %9, align 8, !tbaa !5
  %289 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %288, i32 0, i32 46
  %290 = load ptr, ptr %10, align 8, !tbaa !5
  %291 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %290, i32 0, i32 46
  %292 = load ptr, ptr %7, align 8, !tbaa !5
  %293 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %294 = trunc i8 %293 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %289, ptr noundef %291, ptr noundef %292, i1 noundef zeroext %294)
  %295 = load ptr, ptr %9, align 8, !tbaa !5
  %296 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %295, i32 0, i32 47
  %297 = load ptr, ptr %10, align 8, !tbaa !5
  %298 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %297, i32 0, i32 47
  %299 = load ptr, ptr %7, align 8, !tbaa !5
  %300 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %301 = trunc i8 %300 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %296, ptr noundef %298, ptr noundef %299, i1 noundef zeroext %301)
  %302 = load ptr, ptr %9, align 8, !tbaa !5
  %303 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %302, i32 0, i32 48
  %304 = load ptr, ptr %10, align 8, !tbaa !5
  %305 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %304, i32 0, i32 48
  %306 = load ptr, ptr %7, align 8, !tbaa !5
  %307 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %308 = trunc i8 %307 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %303, ptr noundef %305, ptr noundef %306, i1 noundef zeroext %308)
  %309 = load ptr, ptr %9, align 8, !tbaa !5
  %310 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %309, i32 0, i32 49
  %311 = load ptr, ptr %10, align 8, !tbaa !5
  %312 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %311, i32 0, i32 49
  %313 = load ptr, ptr %7, align 8, !tbaa !5
  %314 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %315 = trunc i8 %314 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %310, ptr noundef %312, ptr noundef %313, i1 noundef zeroext %315)
  %316 = load ptr, ptr %9, align 8, !tbaa !5
  %317 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %316, i32 0, i32 50
  %318 = load ptr, ptr %10, align 8, !tbaa !5
  %319 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %318, i32 0, i32 50
  %320 = load ptr, ptr %7, align 8, !tbaa !5
  %321 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %322 = trunc i8 %321 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %317, ptr noundef %319, ptr noundef %320, i1 noundef zeroext %322)
  %323 = load ptr, ptr %9, align 8, !tbaa !5
  %324 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %323, i32 0, i32 51
  %325 = load ptr, ptr %10, align 8, !tbaa !5
  %326 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %325, i32 0, i32 51
  %327 = load ptr, ptr %7, align 8, !tbaa !5
  %328 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %329 = trunc i8 %328 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %324, ptr noundef %326, ptr noundef %327, i1 noundef zeroext %329)
  %330 = load ptr, ptr %9, align 8, !tbaa !5
  %331 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %330, i32 0, i32 52
  %332 = load ptr, ptr %10, align 8, !tbaa !5
  %333 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %332, i32 0, i32 52
  %334 = load ptr, ptr %7, align 8, !tbaa !5
  %335 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %336 = trunc i8 %335 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %331, ptr noundef %333, ptr noundef %334, i1 noundef zeroext %336)
  %337 = load ptr, ptr %9, align 8, !tbaa !5
  %338 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %337, i32 0, i32 53
  %339 = load ptr, ptr %10, align 8, !tbaa !5
  %340 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %339, i32 0, i32 53
  %341 = load ptr, ptr %7, align 8, !tbaa !5
  %342 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %343 = trunc i8 %342 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %338, ptr noundef %340, ptr noundef %341, i1 noundef zeroext %343)
  %344 = load ptr, ptr %9, align 8, !tbaa !5
  %345 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %344, i32 0, i32 54
  %346 = load ptr, ptr %10, align 8, !tbaa !5
  %347 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %346, i32 0, i32 54
  %348 = load ptr, ptr %7, align 8, !tbaa !5
  %349 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %350 = trunc i8 %349 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %345, ptr noundef %347, ptr noundef %348, i1 noundef zeroext %350)
  %351 = load ptr, ptr %9, align 8, !tbaa !5
  %352 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %351, i32 0, i32 55
  %353 = load ptr, ptr %10, align 8, !tbaa !5
  %354 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %353, i32 0, i32 55
  %355 = load ptr, ptr %7, align 8, !tbaa !5
  %356 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %357 = trunc i8 %356 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %352, ptr noundef %354, ptr noundef %355, i1 noundef zeroext %357)
  %358 = load ptr, ptr %9, align 8, !tbaa !5
  %359 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %358, i32 0, i32 56
  %360 = load ptr, ptr %10, align 8, !tbaa !5
  %361 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %360, i32 0, i32 56
  %362 = load ptr, ptr %7, align 8, !tbaa !5
  %363 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %364 = trunc i8 %363 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %359, ptr noundef %361, ptr noundef %362, i1 noundef zeroext %364)
  %365 = load ptr, ptr %9, align 8, !tbaa !5
  %366 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %365, i32 0, i32 57
  %367 = load ptr, ptr %10, align 8, !tbaa !5
  %368 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %367, i32 0, i32 57
  %369 = load ptr, ptr %7, align 8, !tbaa !5
  %370 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %371 = trunc i8 %370 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %366, ptr noundef %368, ptr noundef %369, i1 noundef zeroext %371)
  %372 = load ptr, ptr %9, align 8, !tbaa !5
  %373 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %372, i32 0, i32 58
  %374 = load ptr, ptr %10, align 8, !tbaa !5
  %375 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %374, i32 0, i32 58
  %376 = load ptr, ptr %7, align 8, !tbaa !5
  %377 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %378 = trunc i8 %377 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %373, ptr noundef %375, ptr noundef %376, i1 noundef zeroext %378)
  %379 = load ptr, ptr %9, align 8, !tbaa !5
  %380 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %379, i32 0, i32 59
  %381 = load ptr, ptr %10, align 8, !tbaa !5
  %382 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %381, i32 0, i32 59
  %383 = load ptr, ptr %7, align 8, !tbaa !5
  %384 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %385 = trunc i8 %384 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %380, ptr noundef %382, ptr noundef %383, i1 noundef zeroext %385)
  %386 = load ptr, ptr %9, align 8, !tbaa !5
  %387 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %386, i32 0, i32 60
  %388 = load ptr, ptr %10, align 8, !tbaa !5
  %389 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %388, i32 0, i32 60
  %390 = load ptr, ptr %7, align 8, !tbaa !5
  %391 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %392 = trunc i8 %391 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %387, ptr noundef %389, ptr noundef %390, i1 noundef zeroext %392)
  %393 = load ptr, ptr %9, align 8, !tbaa !5
  %394 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %393, i32 0, i32 61
  %395 = load ptr, ptr %10, align 8, !tbaa !5
  %396 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %395, i32 0, i32 61
  %397 = load ptr, ptr %7, align 8, !tbaa !5
  %398 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %399 = trunc i8 %398 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %394, ptr noundef %396, ptr noundef %397, i1 noundef zeroext %399)
  %400 = load ptr, ptr %9, align 8, !tbaa !5
  %401 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %400, i32 0, i32 62
  %402 = load ptr, ptr %10, align 8, !tbaa !5
  %403 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %402, i32 0, i32 62
  %404 = load ptr, ptr %7, align 8, !tbaa !5
  %405 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %406 = trunc i8 %405 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %401, ptr noundef %403, ptr noundef %404, i1 noundef zeroext %406)
  %407 = load ptr, ptr %9, align 8, !tbaa !5
  %408 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %407, i32 0, i32 63
  %409 = load ptr, ptr %10, align 8, !tbaa !5
  %410 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %409, i32 0, i32 63
  %411 = load ptr, ptr %7, align 8, !tbaa !5
  %412 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %413 = trunc i8 %412 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %408, ptr noundef %410, ptr noundef %411, i1 noundef zeroext %413)
  %414 = load ptr, ptr %9, align 8, !tbaa !5
  %415 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %414, i32 0, i32 64
  %416 = load ptr, ptr %10, align 8, !tbaa !5
  %417 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %416, i32 0, i32 64
  %418 = load ptr, ptr %7, align 8, !tbaa !5
  %419 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %420 = trunc i8 %419 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %415, ptr noundef %417, ptr noundef %418, i1 noundef zeroext %420)
  %421 = load ptr, ptr %9, align 8, !tbaa !5
  %422 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %421, i32 0, i32 65
  %423 = load ptr, ptr %10, align 8, !tbaa !5
  %424 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %423, i32 0, i32 65
  %425 = load ptr, ptr %7, align 8, !tbaa !5
  %426 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %427 = trunc i8 %426 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %422, ptr noundef %424, ptr noundef %425, i1 noundef zeroext %427)
  %428 = load ptr, ptr %9, align 8, !tbaa !5
  %429 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %428, i32 0, i32 66
  %430 = load ptr, ptr %10, align 8, !tbaa !5
  %431 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %430, i32 0, i32 66
  %432 = load ptr, ptr %7, align 8, !tbaa !5
  %433 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %434 = trunc i8 %433 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %429, ptr noundef %431, ptr noundef %432, i1 noundef zeroext %434)
  %435 = load ptr, ptr %9, align 8, !tbaa !5
  %436 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %435, i32 0, i32 67
  %437 = load ptr, ptr %10, align 8, !tbaa !5
  %438 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %437, i32 0, i32 67
  %439 = load ptr, ptr %7, align 8, !tbaa !5
  %440 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %441 = trunc i8 %440 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %436, ptr noundef %438, ptr noundef %439, i1 noundef zeroext %441)
  %442 = load ptr, ptr %9, align 8, !tbaa !5
  %443 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %442, i32 0, i32 68
  %444 = load ptr, ptr %10, align 8, !tbaa !5
  %445 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %444, i32 0, i32 68
  %446 = load ptr, ptr %7, align 8, !tbaa !5
  %447 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %448 = trunc i8 %447 to i1
  call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef %443, ptr noundef %445, ptr noundef %446, i1 noundef zeroext %448)
  %449 = load ptr, ptr %9, align 8, !tbaa !5
  %450 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %449, i32 0, i32 69
  %451 = load ptr, ptr %10, align 8, !tbaa !5
  %452 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %451, i32 0, i32 69
  %453 = load ptr, ptr %7, align 8, !tbaa !5
  %454 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %455 = trunc i8 %454 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %450, ptr noundef %452, ptr noundef %453, i1 noundef zeroext %455)
  %456 = load ptr, ptr %9, align 8, !tbaa !5
  %457 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %456, i32 0, i32 70
  %458 = load ptr, ptr %10, align 8, !tbaa !5
  %459 = getelementptr inbounds %"struct.alglib_impl::xbfgshessian", ptr %458, i32 0, i32 70
  %460 = load ptr, ptr %7, align 8, !tbaa !5
  %461 = load i8, ptr %8, align 1, !tbaa !9, !range !18, !noundef !19
  %462 = trunc i8 %461 to i1
  call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef %457, ptr noundef %459, ptr noundef %460, i1 noundef zeroext %462)
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #3
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 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 #3 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTSN11alglib_impl12xbfgshessianE", !13, i64 0, !14, i64 8, !14, i64 72, !13, i64 136, !13, i64 144, !16, i64 152, !16, i64 160, !16, i64 168, !16, i64 176, !16, i64 184, !16, i64 192, !16, i64 200, !13, i64 208, !16, i64 216, !16, i64 224, !17, i64 232, !13, i64 312, !16, i64 320, !16, i64 328, !16, i64 336, !13, i64 344, !16, i64 352, !17, i64 360, !17, i64 440, !17, i64 520, !17, i64 600, !10, i64 680, !13, i64 688, !17, i64 696, !17, i64 776, !10, i64 856, !14, i64 864, !10, i64 928, !13, i64 936, !17, i64 944, !14, i64 1024, !14, i64 1088, !17, i64 1152, !14, i64 1232, !14, i64 1296, !10, i64 1360, !14, i64 1368, !16, i64 1432, !16, i64 1440, !13, i64 1448, !17, i64 1456, !14, i64 1536, !14, i64 1600, !14, i64 1664, !14, i64 1728, !14, i64 1792, !14, i64 1856, !17, i64 1920, !17, i64 2000, !17, i64 2080, !17, i64 2160, !17, i64 2240, !17, i64 2320, !17, i64 2400, !17, i64 2480, !14, i64 2560, !14, i64 2624, !17, i64 2688, !14, i64 2768, !17, i64 2832, !17, i64 2912, !17, i64 2992, !17, i64 3072, !17, i64 3152, !14, i64 3232, !14, i64 3296}
!13 = !{!"long", !7, i64 0}
!14 = !{!"_ZTSN11alglib_impl9ae_vectorE", !13, i64 0, !13, i64 8, !10, i64 16, !15, i64 24, !7, i64 56}
!15 = !{!"_ZTSN11alglib_impl12ae_dyn_blockE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!16 = !{!"double", !7, i64 0}
!17 = !{!"_ZTSN11alglib_impl9ae_matrixE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24, !10, i64 32, !15, i64 40, !7, i64 72}
!18 = !{i8 0, i8 2}
!19 = !{}
!20 = !{!12, !13, i64 136}
!21 = !{!12, !13, i64 144}
!22 = !{!12, !16, i64 152}
!23 = !{!12, !16, i64 160}
!24 = !{!12, !16, i64 168}
!25 = !{!12, !16, i64 176}
!26 = !{!12, !16, i64 184}
!27 = !{!12, !16, i64 192}
!28 = !{!12, !16, i64 200}
!29 = !{!12, !13, i64 208}
!30 = !{!12, !16, i64 216}
!31 = !{!12, !16, i64 224}
!32 = !{!12, !13, i64 312}
!33 = !{!12, !16, i64 320}
!34 = !{!12, !16, i64 328}
!35 = !{!12, !16, i64 336}
!36 = !{!12, !13, i64 344}
!37 = !{!12, !16, i64 352}
!38 = !{!12, !10, i64 680}
!39 = !{!12, !13, i64 688}
!40 = !{!12, !10, i64 856}
!41 = !{!12, !10, i64 928}
!42 = !{!12, !13, i64 936}
!43 = !{!12, !10, i64 1360}
!44 = !{!12, !16, i64 1432}
!45 = !{!12, !16, i64 1440}
!46 = !{!12, !13, i64 1448}


; 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"

declare void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

declare void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN11alglib_impl23_xbfgshessian_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef %0, ptr noundef %1, ptr noundef %2, i1 noundef zeroext %3) local_unnamed_addr #1 {
  %5 = load i64, ptr %1, align 8, !tbaa !5
  store i64 %5, ptr %0, align 8, !tbaa !5
  %6 = getelementptr inbounds i8, ptr %0, i64 8
  %7 = getelementptr inbounds i8, ptr %1, i64 8
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %6, ptr noundef nonnull %7, ptr noundef %2, i1 noundef zeroext %3)
  %8 = getelementptr inbounds i8, ptr %0, i64 72
  %9 = getelementptr inbounds i8, ptr %1, i64 72
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %8, ptr noundef nonnull %9, ptr noundef %2, i1 noundef zeroext %3)
  %10 = getelementptr inbounds i8, ptr %1, i64 136
  %11 = getelementptr inbounds i8, ptr %0, i64 136
  %12 = load <2 x i64>, ptr %10, align 8, !tbaa !16
  store <2 x i64> %12, ptr %11, align 8, !tbaa !16
  %13 = getelementptr inbounds i8, ptr %1, i64 152
  %14 = getelementptr inbounds i8, ptr %0, i64 152
  %15 = load <2 x double>, ptr %13, align 8, !tbaa !17
  store <2 x double> %15, ptr %14, align 8, !tbaa !17
  %16 = getelementptr inbounds i8, ptr %1, i64 168
  %17 = getelementptr inbounds i8, ptr %0, i64 168
  %18 = load <2 x double>, ptr %16, align 8, !tbaa !17
  store <2 x double> %18, ptr %17, align 8, !tbaa !17
  %19 = getelementptr inbounds i8, ptr %1, i64 184
  %20 = getelementptr inbounds i8, ptr %0, i64 184
  %21 = load <2 x double>, ptr %19, align 8, !tbaa !17
  store <2 x double> %21, ptr %20, align 8, !tbaa !17
  %22 = getelementptr inbounds i8, ptr %1, i64 200
  %23 = load double, ptr %22, align 8, !tbaa !18
  %24 = getelementptr inbounds i8, ptr %0, i64 200
  store double %23, ptr %24, align 8, !tbaa !18
  %25 = getelementptr inbounds i8, ptr %1, i64 208
  %26 = load i64, ptr %25, align 8, !tbaa !19
  %27 = getelementptr inbounds i8, ptr %0, i64 208
  store i64 %26, ptr %27, align 8, !tbaa !19
  %28 = getelementptr inbounds i8, ptr %1, i64 216
  %29 = getelementptr inbounds i8, ptr %0, i64 216
  %30 = load <2 x double>, ptr %28, align 8, !tbaa !17
  store <2 x double> %30, ptr %29, align 8, !tbaa !17
  %31 = getelementptr inbounds i8, ptr %0, i64 232
  %32 = getelementptr inbounds i8, ptr %1, i64 232
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %31, ptr noundef nonnull %32, ptr noundef %2, i1 noundef zeroext %3)
  %33 = getelementptr inbounds i8, ptr %1, i64 312
  %34 = load i64, ptr %33, align 8, !tbaa !20
  %35 = getelementptr inbounds i8, ptr %0, i64 312
  store i64 %34, ptr %35, align 8, !tbaa !20
  %36 = getelementptr inbounds i8, ptr %1, i64 320
  %37 = getelementptr inbounds i8, ptr %0, i64 320
  %38 = load <2 x double>, ptr %36, align 8, !tbaa !17
  store <2 x double> %38, ptr %37, align 8, !tbaa !17
  %39 = getelementptr inbounds i8, ptr %1, i64 336
  %40 = load double, ptr %39, align 8, !tbaa !21
  %41 = getelementptr inbounds i8, ptr %0, i64 336
  store double %40, ptr %41, align 8, !tbaa !21
  %42 = getelementptr inbounds i8, ptr %1, i64 344
  %43 = load i64, ptr %42, align 8, !tbaa !22
  %44 = getelementptr inbounds i8, ptr %0, i64 344
  store i64 %43, ptr %44, align 8, !tbaa !22
  %45 = getelementptr inbounds i8, ptr %1, i64 352
  %46 = load double, ptr %45, align 8, !tbaa !23
  %47 = getelementptr inbounds i8, ptr %0, i64 352
  store double %46, ptr %47, align 8, !tbaa !23
  %48 = getelementptr inbounds i8, ptr %0, i64 360
  %49 = getelementptr inbounds i8, ptr %1, i64 360
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %48, ptr noundef nonnull %49, ptr noundef %2, i1 noundef zeroext %3)
  %50 = getelementptr inbounds i8, ptr %0, i64 440
  %51 = getelementptr inbounds i8, ptr %1, i64 440
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %50, ptr noundef nonnull %51, ptr noundef %2, i1 noundef zeroext %3)
  %52 = getelementptr inbounds i8, ptr %0, i64 520
  %53 = getelementptr inbounds i8, ptr %1, i64 520
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %52, ptr noundef nonnull %53, ptr noundef %2, i1 noundef zeroext %3)
  %54 = getelementptr inbounds i8, ptr %0, i64 600
  %55 = getelementptr inbounds i8, ptr %1, i64 600
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %54, ptr noundef nonnull %55, ptr noundef %2, i1 noundef zeroext %3)
  %56 = getelementptr inbounds i8, ptr %1, i64 680
  %57 = load i8, ptr %56, align 8, !tbaa !24, !range !25, !noundef !26
  %58 = getelementptr inbounds i8, ptr %0, i64 680
  store i8 %57, ptr %58, align 8, !tbaa !24
  %59 = getelementptr inbounds i8, ptr %1, i64 688
  %60 = load i64, ptr %59, align 8, !tbaa !27
  %61 = getelementptr inbounds i8, ptr %0, i64 688
  store i64 %60, ptr %61, align 8, !tbaa !27
  %62 = getelementptr inbounds i8, ptr %0, i64 696
  %63 = getelementptr inbounds i8, ptr %1, i64 696
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %62, ptr noundef nonnull %63, ptr noundef %2, i1 noundef zeroext %3)
  %64 = getelementptr inbounds i8, ptr %0, i64 776
  %65 = getelementptr inbounds i8, ptr %1, i64 776
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %64, ptr noundef nonnull %65, ptr noundef %2, i1 noundef zeroext %3)
  %66 = getelementptr inbounds i8, ptr %1, i64 856
  %67 = load i8, ptr %66, align 8, !tbaa !28, !range !25, !noundef !26
  %68 = getelementptr inbounds i8, ptr %0, i64 856
  store i8 %67, ptr %68, align 8, !tbaa !28
  %69 = getelementptr inbounds i8, ptr %0, i64 864
  %70 = getelementptr inbounds i8, ptr %1, i64 864
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %69, ptr noundef nonnull %70, ptr noundef %2, i1 noundef zeroext %3)
  %71 = getelementptr inbounds i8, ptr %1, i64 928
  %72 = load i8, ptr %71, align 8, !tbaa !29, !range !25, !noundef !26
  %73 = getelementptr inbounds i8, ptr %0, i64 928
  store i8 %72, ptr %73, align 8, !tbaa !29
  %74 = getelementptr inbounds i8, ptr %1, i64 936
  %75 = load i64, ptr %74, align 8, !tbaa !30
  %76 = getelementptr inbounds i8, ptr %0, i64 936
  store i64 %75, ptr %76, align 8, !tbaa !30
  %77 = getelementptr inbounds i8, ptr %0, i64 944
  %78 = getelementptr inbounds i8, ptr %1, i64 944
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %77, ptr noundef nonnull %78, ptr noundef %2, i1 noundef zeroext %3)
  %79 = getelementptr inbounds i8, ptr %0, i64 1024
  %80 = getelementptr inbounds i8, ptr %1, i64 1024
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %79, ptr noundef nonnull %80, ptr noundef %2, i1 noundef zeroext %3)
  %81 = getelementptr inbounds i8, ptr %0, i64 1088
  %82 = getelementptr inbounds i8, ptr %1, i64 1088
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %81, ptr noundef nonnull %82, ptr noundef %2, i1 noundef zeroext %3)
  %83 = getelementptr inbounds i8, ptr %0, i64 1152
  %84 = getelementptr inbounds i8, ptr %1, i64 1152
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %83, ptr noundef nonnull %84, ptr noundef %2, i1 noundef zeroext %3)
  %85 = getelementptr inbounds i8, ptr %0, i64 1232
  %86 = getelementptr inbounds i8, ptr %1, i64 1232
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %85, ptr noundef nonnull %86, ptr noundef %2, i1 noundef zeroext %3)
  %87 = getelementptr inbounds i8, ptr %0, i64 1296
  %88 = getelementptr inbounds i8, ptr %1, i64 1296
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %87, ptr noundef nonnull %88, ptr noundef %2, i1 noundef zeroext %3)
  %89 = getelementptr inbounds i8, ptr %1, i64 1360
  %90 = load i8, ptr %89, align 8, !tbaa !31, !range !25, !noundef !26
  %91 = getelementptr inbounds i8, ptr %0, i64 1360
  store i8 %90, ptr %91, align 8, !tbaa !31
  %92 = getelementptr inbounds i8, ptr %0, i64 1368
  %93 = getelementptr inbounds i8, ptr %1, i64 1368
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %92, ptr noundef nonnull %93, ptr noundef %2, i1 noundef zeroext %3)
  %94 = getelementptr inbounds i8, ptr %1, i64 1432
  %95 = getelementptr inbounds i8, ptr %0, i64 1432
  %96 = load <2 x double>, ptr %94, align 8, !tbaa !17
  store <2 x double> %96, ptr %95, align 8, !tbaa !17
  %97 = getelementptr inbounds i8, ptr %1, i64 1448
  %98 = load i64, ptr %97, align 8, !tbaa !32
  %99 = getelementptr inbounds i8, ptr %0, i64 1448
  store i64 %98, ptr %99, align 8, !tbaa !32
  %100 = getelementptr inbounds i8, ptr %0, i64 1456
  %101 = getelementptr inbounds i8, ptr %1, i64 1456
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %100, ptr noundef nonnull %101, ptr noundef %2, i1 noundef zeroext %3)
  %102 = getelementptr inbounds i8, ptr %0, i64 1536
  %103 = getelementptr inbounds i8, ptr %1, i64 1536
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %102, ptr noundef nonnull %103, ptr noundef %2, i1 noundef zeroext %3)
  %104 = getelementptr inbounds i8, ptr %0, i64 1600
  %105 = getelementptr inbounds i8, ptr %1, i64 1600
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %104, ptr noundef nonnull %105, ptr noundef %2, i1 noundef zeroext %3)
  %106 = getelementptr inbounds i8, ptr %0, i64 1664
  %107 = getelementptr inbounds i8, ptr %1, i64 1664
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %106, ptr noundef nonnull %107, ptr noundef %2, i1 noundef zeroext %3)
  %108 = getelementptr inbounds i8, ptr %0, i64 1728
  %109 = getelementptr inbounds i8, ptr %1, i64 1728
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef %2, i1 noundef zeroext %3)
  %110 = getelementptr inbounds i8, ptr %0, i64 1792
  %111 = getelementptr inbounds i8, ptr %1, i64 1792
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %110, ptr noundef nonnull %111, ptr noundef %2, i1 noundef zeroext %3)
  %112 = getelementptr inbounds i8, ptr %0, i64 1856
  %113 = getelementptr inbounds i8, ptr %1, i64 1856
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %112, ptr noundef nonnull %113, ptr noundef %2, i1 noundef zeroext %3)
  %114 = getelementptr inbounds i8, ptr %0, i64 1920
  %115 = getelementptr inbounds i8, ptr %1, i64 1920
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %114, ptr noundef nonnull %115, ptr noundef %2, i1 noundef zeroext %3)
  %116 = getelementptr inbounds i8, ptr %0, i64 2000
  %117 = getelementptr inbounds i8, ptr %1, i64 2000
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %116, ptr noundef nonnull %117, ptr noundef %2, i1 noundef zeroext %3)
  %118 = getelementptr inbounds i8, ptr %0, i64 2080
  %119 = getelementptr inbounds i8, ptr %1, i64 2080
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %118, ptr noundef nonnull %119, ptr noundef %2, i1 noundef zeroext %3)
  %120 = getelementptr inbounds i8, ptr %0, i64 2160
  %121 = getelementptr inbounds i8, ptr %1, i64 2160
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %120, ptr noundef nonnull %121, ptr noundef %2, i1 noundef zeroext %3)
  %122 = getelementptr inbounds i8, ptr %0, i64 2240
  %123 = getelementptr inbounds i8, ptr %1, i64 2240
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef %2, i1 noundef zeroext %3)
  %124 = getelementptr inbounds i8, ptr %0, i64 2320
  %125 = getelementptr inbounds i8, ptr %1, i64 2320
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %124, ptr noundef nonnull %125, ptr noundef %2, i1 noundef zeroext %3)
  %126 = getelementptr inbounds i8, ptr %0, i64 2400
  %127 = getelementptr inbounds i8, ptr %1, i64 2400
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef %2, i1 noundef zeroext %3)
  %128 = getelementptr inbounds i8, ptr %0, i64 2480
  %129 = getelementptr inbounds i8, ptr %1, i64 2480
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %128, ptr noundef nonnull %129, ptr noundef %2, i1 noundef zeroext %3)
  %130 = getelementptr inbounds i8, ptr %0, i64 2560
  %131 = getelementptr inbounds i8, ptr %1, i64 2560
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %130, ptr noundef nonnull %131, ptr noundef %2, i1 noundef zeroext %3)
  %132 = getelementptr inbounds i8, ptr %0, i64 2624
  %133 = getelementptr inbounds i8, ptr %1, i64 2624
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %132, ptr noundef nonnull %133, ptr noundef %2, i1 noundef zeroext %3)
  %134 = getelementptr inbounds i8, ptr %0, i64 2688
  %135 = getelementptr inbounds i8, ptr %1, i64 2688
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %134, ptr noundef nonnull %135, ptr noundef %2, i1 noundef zeroext %3)
  %136 = getelementptr inbounds i8, ptr %0, i64 2768
  %137 = getelementptr inbounds i8, ptr %1, i64 2768
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %136, ptr noundef nonnull %137, ptr noundef %2, i1 noundef zeroext %3)
  %138 = getelementptr inbounds i8, ptr %0, i64 2832
  %139 = getelementptr inbounds i8, ptr %1, i64 2832
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %138, ptr noundef nonnull %139, ptr noundef %2, i1 noundef zeroext %3)
  %140 = getelementptr inbounds i8, ptr %0, i64 2912
  %141 = getelementptr inbounds i8, ptr %1, i64 2912
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %140, ptr noundef nonnull %141, ptr noundef %2, i1 noundef zeroext %3)
  %142 = getelementptr inbounds i8, ptr %0, i64 2992
  %143 = getelementptr inbounds i8, ptr %1, i64 2992
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %142, ptr noundef nonnull %143, ptr noundef %2, i1 noundef zeroext %3)
  %144 = getelementptr inbounds i8, ptr %0, i64 3072
  %145 = getelementptr inbounds i8, ptr %1, i64 3072
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %144, ptr noundef nonnull %145, ptr noundef %2, i1 noundef zeroext %3)
  %146 = getelementptr inbounds i8, ptr %0, i64 3152
  %147 = getelementptr inbounds i8, ptr %1, i64 3152
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %146, ptr noundef nonnull %147, ptr noundef %2, i1 noundef zeroext %3)
  %148 = getelementptr inbounds i8, ptr %0, i64 3232
  %149 = getelementptr inbounds i8, ptr %1, i64 3232
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %148, ptr noundef nonnull %149, ptr noundef %2, i1 noundef zeroext %3)
  %150 = getelementptr inbounds i8, ptr %0, i64 3296
  %151 = getelementptr inbounds i8, ptr %1, i64 3296
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %150, ptr noundef nonnull %151, ptr noundef %2, i1 noundef zeroext %3)
  ret void
}

attributes #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 = { 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" }

!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, !7, i64 0}
!6 = !{!"_ZTSN11alglib_impl12xbfgshessianE", !7, i64 0, !10, i64 8, !10, i64 72, !7, i64 136, !7, i64 144, !14, i64 152, !14, i64 160, !14, i64 168, !14, i64 176, !14, i64 184, !14, i64 192, !14, i64 200, !7, i64 208, !14, i64 216, !14, i64 224, !15, i64 232, !7, i64 312, !14, i64 320, !14, i64 328, !14, i64 336, !7, i64 344, !14, i64 352, !15, i64 360, !15, i64 440, !15, i64 520, !15, i64 600, !11, i64 680, !7, i64 688, !15, i64 696, !15, i64 776, !11, i64 856, !10, i64 864, !11, i64 928, !7, i64 936, !15, i64 944, !10, i64 1024, !10, i64 1088, !15, i64 1152, !10, i64 1232, !10, i64 1296, !11, i64 1360, !10, i64 1368, !14, i64 1432, !14, i64 1440, !7, i64 1448, !15, i64 1456, !10, i64 1536, !10, i64 1600, !10, i64 1664, !10, i64 1728, !10, i64 1792, !10, i64 1856, !15, i64 1920, !15, i64 2000, !15, i64 2080, !15, i64 2160, !15, i64 2240, !15, i64 2320, !15, i64 2400, !15, i64 2480, !10, i64 2560, !10, i64 2624, !15, i64 2688, !10, i64 2768, !15, i64 2832, !15, i64 2912, !15, i64 2992, !15, i64 3072, !15, i64 3152, !10, i64 3232, !10, i64 3296}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSN11alglib_impl9ae_vectorE", !7, i64 0, !7, i64 8, !11, i64 16, !12, i64 24, !8, i64 56}
!11 = !{!"bool", !8, i64 0}
!12 = !{!"_ZTSN11alglib_impl12ae_dyn_blockE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!13 = !{!"any pointer", !8, i64 0}
!14 = !{!"double", !8, i64 0}
!15 = !{!"_ZTSN11alglib_impl9ae_matrixE", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !11, i64 32, !12, i64 40, !8, i64 72}
!16 = !{!7, !7, i64 0}
!17 = !{!14, !14, i64 0}
!18 = !{!6, !14, i64 200}
!19 = !{!6, !7, i64 208}
!20 = !{!6, !7, i64 312}
!21 = !{!6, !14, i64 336}
!22 = !{!6, !7, i64 344}
!23 = !{!6, !14, i64 352}
!24 = !{!6, !11, i64 680}
!25 = !{i8 0, i8 2}
!26 = !{}
!27 = !{!6, !7, i64 688}
!28 = !{!6, !11, i64 856}
!29 = !{!6, !11, i64 928}
!30 = !{!6, !7, i64 936}
!31 = !{!6, !11, i64 1360}
!32 = !{!6, !7, i64 1448}


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