; 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::smoothnessmonitor" = type { i64, i64, i8, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, %"struct.alglib_impl::ae_vector", %"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", i64, i64, i64, double, i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", double, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", double, %"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::rcommstate", i8, i8, i64, i64, double, double, i8, %"struct.alglib_impl::optguardreport", double, double, %"struct.alglib_impl::optguardnonc0report", %"struct.alglib_impl::optguardnonc0report", double, double, %"struct.alglib_impl::optguardnonc1test0report", %"struct.alglib_impl::optguardnonc1test0report", double, double, %"struct.alglib_impl::optguardnonc1test1report", %"struct.alglib_impl::optguardnonc1test1report", i8, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::rcommstate", %"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_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"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_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix" }
%"struct.alglib_impl::optguardreport" = type { i8, i8, i64, double, i8, i8, i8, i64, double, i8, i64, i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_matrix", %"struct.alglib_impl::ae_matrix" }
%"struct.alglib_impl::optguardnonc0report" = type { i8, i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, i64, i64, i64, i64 }
%"struct.alglib_impl::optguardnonc1test0report" = type { i8, i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, i64, i64, i64, i64 }
%"struct.alglib_impl::optguardnonc1test1report" = type { i8, i64, i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, %"struct.alglib_impl::ae_vector", %"struct.alglib_impl::ae_vector", i64, i64, i64, i64, i64 }
%"struct.alglib_impl::rcommstate" = type { i32, %"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" = type { i64, i64, i8, %"struct.alglib_impl::ae_dyn_block", %union.anon.0 }
%"struct.alglib_impl::ae_dyn_block" = type { ptr, ptr, ptr, ptr }
%union.anon.0 = type { ptr }
%"struct.alglib_impl::ae_matrix" = type { i64, i64, i64, i64, i8, %"struct.alglib_impl::ae_dyn_block", %union.anon.1 }
%union.anon.1 = 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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl25_optguardreport_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl30_optguardnonc0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl35_optguardnonc1test0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl35_optguardnonc1test1report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #1

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

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

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

declare void @_ZN11alglib_impl21_rcommstate_init_copyEPNS_10rcommstateEPKS0_PNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #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 = { 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_impl17smoothnessmonitorE", !13, i64 0, !13, i64 8, !10, i64 16, !14, i64 24, !14, i64 88, !13, i64 152, !14, i64 160, !14, i64 224, !14, i64 288, !16, i64 352, !14, i64 432, !14, i64 496, !13, i64 560, !13, i64 568, !13, i64 576, !17, i64 584, !13, i64 592, !14, i64 600, !14, i64 664, !17, i64 728, !14, i64 736, !14, i64 800, !17, i64 864, !16, i64 872, !16, i64 952, !16, i64 1032, !14, i64 1112, !14, i64 1176, !18, i64 1240, !10, i64 1504, !10, i64 1505, !13, i64 1512, !13, i64 1520, !17, i64 1528, !17, i64 1536, !10, i64 1544, !20, i64 1552, !17, i64 1848, !17, i64 1856, !21, i64 1864, !21, i64 2184, !17, i64 2504, !17, i64 2512, !22, i64 2520, !22, i64 2840, !17, i64 3160, !17, i64 3168, !23, i64 3176, !23, i64 3504, !10, i64 3832, !14, i64 3840, !14, i64 3904, !16, i64 3968, !18, i64 4048, !14, i64 4312, !14, i64 4376, !14, i64 4440, !14, i64 4504, !14, i64 4568, !14, i64 4632, !14, i64 4696, !14, i64 4760, !16, i64 4824, !16, i64 4904, !14, i64 4984, !14, i64 5048, !14, i64 5112, !14, i64 5176, !14, i64 5240, !14, i64 5304, !14, i64 5368, !14, i64 5432, !14, i64 5496, !14, i64 5560, !16, i64 5624}
!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 = !{!"_ZTSN11alglib_impl9ae_matrixE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24, !10, i64 32, !15, i64 40, !7, i64 72}
!17 = !{!"double", !7, i64 0}
!18 = !{!"_ZTSN11alglib_impl10rcommstateE", !19, i64 0, !14, i64 8, !14, i64 72, !14, i64 136, !14, i64 200}
!19 = !{!"int", !7, i64 0}
!20 = !{!"_ZTSN11alglib_impl14optguardreportE", !10, i64 0, !10, i64 1, !13, i64 8, !17, i64 16, !10, i64 24, !10, i64 25, !10, i64 26, !13, i64 32, !17, i64 40, !10, i64 48, !13, i64 56, !13, i64 64, !14, i64 72, !16, i64 136, !16, i64 216}
!21 = !{!"_ZTSN11alglib_impl19optguardnonc0reportE", !10, i64 0, !13, i64 8, !14, i64 16, !14, i64 80, !13, i64 144, !14, i64 152, !14, i64 216, !13, i64 280, !13, i64 288, !13, i64 296, !13, i64 304, !13, i64 312}
!22 = !{!"_ZTSN11alglib_impl24optguardnonc1test0reportE", !10, i64 0, !13, i64 8, !14, i64 16, !14, i64 80, !13, i64 144, !14, i64 152, !14, i64 216, !13, i64 280, !13, i64 288, !13, i64 296, !13, i64 304, !13, i64 312}
!23 = !{!"_ZTSN11alglib_impl24optguardnonc1test1reportE", !10, i64 0, !13, i64 8, !13, i64 16, !14, i64 24, !14, i64 88, !13, i64 152, !14, i64 160, !14, i64 224, !13, i64 288, !13, i64 296, !13, i64 304, !13, i64 312, !13, i64 320}
!24 = !{!12, !13, i64 8}
!25 = !{!12, !10, i64 16}
!26 = !{i8 0, i8 2}
!27 = !{}
!28 = !{!12, !13, i64 152}
!29 = !{!12, !13, i64 560}
!30 = !{!12, !13, i64 568}
!31 = !{!12, !13, i64 576}
!32 = !{!12, !17, i64 584}
!33 = !{!12, !13, i64 592}
!34 = !{!12, !17, i64 728}
!35 = !{!12, !17, i64 864}
!36 = !{!12, !10, i64 1504}
!37 = !{!12, !10, i64 1505}
!38 = !{!12, !13, i64 1512}
!39 = !{!12, !13, i64 1520}
!40 = !{!12, !17, i64 1528}
!41 = !{!12, !17, i64 1536}
!42 = !{!12, !10, i64 1544}
!43 = !{!12, !17, i64 1848}
!44 = !{!12, !17, i64 1856}
!45 = !{!12, !17, i64 2504}
!46 = !{!12, !17, i64 2512}
!47 = !{!12, !17, i64 3160}
!48 = !{!12, !17, i64 3168}
!49 = !{!12, !10, i64 3832}


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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl25_optguardreport_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl30_optguardnonc0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl35_optguardnonc1test0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11alglib_impl35_optguardnonc1test1report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #0

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN11alglib_impl28_smoothnessmonitor_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef %0, ptr noundef %1, ptr noundef %2, i1 noundef zeroext %3) local_unnamed_addr #0 {
  %5 = load <2 x i64>, ptr %1, align 8, !tbaa !5
  store <2 x i64> %5, ptr %0, align 8, !tbaa !5
  %6 = getelementptr inbounds i8, ptr %1, i64 16
  %7 = load i8, ptr %6, align 8, !tbaa !9, !range !23, !noundef !24
  %8 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 %7, ptr %8, align 8, !tbaa !9
  %9 = getelementptr inbounds i8, ptr %0, i64 24
  %10 = getelementptr inbounds i8, ptr %1, i64 24
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %9, ptr noundef nonnull %10, ptr noundef %2, i1 noundef zeroext %3)
  %11 = getelementptr inbounds i8, ptr %0, i64 88
  %12 = getelementptr inbounds i8, ptr %1, i64 88
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %11, ptr noundef nonnull %12, ptr noundef %2, i1 noundef zeroext %3)
  %13 = getelementptr inbounds i8, ptr %1, i64 152
  %14 = load i64, ptr %13, align 8, !tbaa !25
  %15 = getelementptr inbounds i8, ptr %0, i64 152
  store i64 %14, ptr %15, align 8, !tbaa !25
  %16 = getelementptr inbounds i8, ptr %0, i64 160
  %17 = getelementptr inbounds i8, ptr %1, i64 160
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef %2, i1 noundef zeroext %3)
  %18 = getelementptr inbounds i8, ptr %0, i64 224
  %19 = getelementptr inbounds i8, ptr %1, i64 224
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef %2, i1 noundef zeroext %3)
  %20 = getelementptr inbounds i8, ptr %0, i64 288
  %21 = getelementptr inbounds i8, ptr %1, i64 288
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef %2, i1 noundef zeroext %3)
  %22 = getelementptr inbounds i8, ptr %0, i64 352
  %23 = getelementptr inbounds i8, ptr %1, i64 352
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %2, i1 noundef zeroext %3)
  %24 = getelementptr inbounds i8, ptr %0, i64 432
  %25 = getelementptr inbounds i8, ptr %1, i64 432
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %24, ptr noundef nonnull %25, ptr noundef %2, i1 noundef zeroext %3)
  %26 = getelementptr inbounds i8, ptr %0, i64 496
  %27 = getelementptr inbounds i8, ptr %1, i64 496
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef %2, i1 noundef zeroext %3)
  %28 = getelementptr inbounds i8, ptr %1, i64 560
  %29 = getelementptr inbounds i8, ptr %0, i64 560
  %30 = load <2 x i64>, ptr %28, align 8, !tbaa !5
  store <2 x i64> %30, ptr %29, align 8, !tbaa !5
  %31 = getelementptr inbounds i8, ptr %1, i64 576
  %32 = load i64, ptr %31, align 8, !tbaa !26
  %33 = getelementptr inbounds i8, ptr %0, i64 576
  store i64 %32, ptr %33, align 8, !tbaa !26
  %34 = getelementptr inbounds i8, ptr %1, i64 584
  %35 = load double, ptr %34, align 8, !tbaa !27
  %36 = getelementptr inbounds i8, ptr %0, i64 584
  store double %35, ptr %36, align 8, !tbaa !27
  %37 = getelementptr inbounds i8, ptr %1, i64 592
  %38 = load i64, ptr %37, align 8, !tbaa !28
  %39 = getelementptr inbounds i8, ptr %0, i64 592
  store i64 %38, ptr %39, align 8, !tbaa !28
  %40 = getelementptr inbounds i8, ptr %0, i64 600
  %41 = getelementptr inbounds i8, ptr %1, i64 600
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %40, ptr noundef nonnull %41, ptr noundef %2, i1 noundef zeroext %3)
  %42 = getelementptr inbounds i8, ptr %0, i64 664
  %43 = getelementptr inbounds i8, ptr %1, i64 664
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %42, ptr noundef nonnull %43, ptr noundef %2, i1 noundef zeroext %3)
  %44 = getelementptr inbounds i8, ptr %1, i64 728
  %45 = load double, ptr %44, align 8, !tbaa !29
  %46 = getelementptr inbounds i8, ptr %0, i64 728
  store double %45, ptr %46, align 8, !tbaa !29
  %47 = getelementptr inbounds i8, ptr %0, i64 736
  %48 = getelementptr inbounds i8, ptr %1, i64 736
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %47, ptr noundef nonnull %48, ptr noundef %2, i1 noundef zeroext %3)
  %49 = getelementptr inbounds i8, ptr %0, i64 800
  %50 = getelementptr inbounds i8, ptr %1, i64 800
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %49, ptr noundef nonnull %50, ptr noundef %2, i1 noundef zeroext %3)
  %51 = getelementptr inbounds i8, ptr %1, i64 864
  %52 = load double, ptr %51, align 8, !tbaa !30
  %53 = getelementptr inbounds i8, ptr %0, i64 864
  store double %52, ptr %53, align 8, !tbaa !30
  %54 = getelementptr inbounds i8, ptr %0, i64 872
  %55 = getelementptr inbounds i8, ptr %1, i64 872
  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 %0, i64 952
  %57 = getelementptr inbounds i8, ptr %1, i64 952
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %56, ptr noundef nonnull %57, ptr noundef %2, i1 noundef zeroext %3)
  %58 = getelementptr inbounds i8, ptr %0, i64 1032
  %59 = getelementptr inbounds i8, ptr %1, i64 1032
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %58, ptr noundef nonnull %59, ptr noundef %2, i1 noundef zeroext %3)
  %60 = getelementptr inbounds i8, ptr %0, i64 1112
  %61 = getelementptr inbounds i8, ptr %1, i64 1112
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %60, ptr noundef nonnull %61, ptr noundef %2, i1 noundef zeroext %3)
  %62 = getelementptr inbounds i8, ptr %0, i64 1176
  %63 = getelementptr inbounds i8, ptr %1, i64 1176
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_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 1240
  %65 = getelementptr inbounds i8, ptr %1, i64 1240
  tail call void @_ZN11alglib_impl21_rcommstate_init_copyEPNS_10rcommstateEPKS0_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 1504
  %67 = load i8, ptr %66, align 8, !tbaa !31, !range !23, !noundef !24
  %68 = getelementptr inbounds i8, ptr %0, i64 1504
  store i8 %67, ptr %68, align 8, !tbaa !31
  %69 = getelementptr inbounds i8, ptr %1, i64 1505
  %70 = load i8, ptr %69, align 1, !tbaa !32, !range !23, !noundef !24
  %71 = getelementptr inbounds i8, ptr %0, i64 1505
  store i8 %70, ptr %71, align 1, !tbaa !32
  %72 = getelementptr inbounds i8, ptr %1, i64 1512
  %73 = getelementptr inbounds i8, ptr %0, i64 1512
  %74 = load <2 x i64>, ptr %72, align 8, !tbaa !5
  store <2 x i64> %74, ptr %73, align 8, !tbaa !5
  %75 = getelementptr inbounds i8, ptr %1, i64 1528
  %76 = getelementptr inbounds i8, ptr %0, i64 1528
  %77 = load <2 x double>, ptr %75, align 8, !tbaa !33
  store <2 x double> %77, ptr %76, align 8, !tbaa !33
  %78 = getelementptr inbounds i8, ptr %1, i64 1544
  %79 = load i8, ptr %78, align 8, !tbaa !34, !range !23, !noundef !24
  %80 = getelementptr inbounds i8, ptr %0, i64 1544
  store i8 %79, ptr %80, align 8, !tbaa !34
  %81 = getelementptr inbounds i8, ptr %0, i64 1552
  %82 = getelementptr inbounds i8, ptr %1, i64 1552
  tail call void @_ZN11alglib_impl25_optguardreport_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %81, ptr noundef nonnull %82, ptr noundef %2, i1 noundef zeroext %3)
  %83 = getelementptr inbounds i8, ptr %1, i64 1848
  %84 = getelementptr inbounds i8, ptr %0, i64 1848
  %85 = load <2 x double>, ptr %83, align 8, !tbaa !33
  store <2 x double> %85, ptr %84, align 8, !tbaa !33
  %86 = getelementptr inbounds i8, ptr %0, i64 1864
  %87 = getelementptr inbounds i8, ptr %1, i64 1864
  tail call void @_ZN11alglib_impl30_optguardnonc0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %86, ptr noundef nonnull %87, ptr noundef %2, i1 noundef zeroext %3)
  %88 = getelementptr inbounds i8, ptr %0, i64 2184
  %89 = getelementptr inbounds i8, ptr %1, i64 2184
  tail call void @_ZN11alglib_impl30_optguardnonc0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %88, ptr noundef nonnull %89, ptr noundef %2, i1 noundef zeroext %3)
  %90 = getelementptr inbounds i8, ptr %1, i64 2504
  %91 = getelementptr inbounds i8, ptr %0, i64 2504
  %92 = load <2 x double>, ptr %90, align 8, !tbaa !33
  store <2 x double> %92, ptr %91, align 8, !tbaa !33
  %93 = getelementptr inbounds i8, ptr %0, i64 2520
  %94 = getelementptr inbounds i8, ptr %1, i64 2520
  tail call void @_ZN11alglib_impl35_optguardnonc1test0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %93, ptr noundef nonnull %94, ptr noundef %2, i1 noundef zeroext %3)
  %95 = getelementptr inbounds i8, ptr %0, i64 2840
  %96 = getelementptr inbounds i8, ptr %1, i64 2840
  tail call void @_ZN11alglib_impl35_optguardnonc1test0report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %95, ptr noundef nonnull %96, ptr noundef %2, i1 noundef zeroext %3)
  %97 = getelementptr inbounds i8, ptr %1, i64 3160
  %98 = getelementptr inbounds i8, ptr %0, i64 3160
  %99 = load <2 x double>, ptr %97, align 8, !tbaa !33
  store <2 x double> %99, ptr %98, align 8, !tbaa !33
  %100 = getelementptr inbounds i8, ptr %0, i64 3176
  %101 = getelementptr inbounds i8, ptr %1, i64 3176
  tail call void @_ZN11alglib_impl35_optguardnonc1test1report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %100, ptr noundef nonnull %101, ptr noundef %2, i1 noundef zeroext %3)
  %102 = getelementptr inbounds i8, ptr %0, i64 3504
  %103 = getelementptr inbounds i8, ptr %1, i64 3504
  tail call void @_ZN11alglib_impl35_optguardnonc1test1report_init_copyEPvPKvPNS_8ae_stateEb(ptr noundef nonnull %102, ptr noundef nonnull %103, ptr noundef %2, i1 noundef zeroext %3)
  %104 = getelementptr inbounds i8, ptr %1, i64 3832
  %105 = load i8, ptr %104, align 8, !tbaa !35, !range !23, !noundef !24
  %106 = getelementptr inbounds i8, ptr %0, i64 3832
  store i8 %105, ptr %106, align 8, !tbaa !35
  %107 = getelementptr inbounds i8, ptr %0, i64 3840
  %108 = getelementptr inbounds i8, ptr %1, i64 3840
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %107, ptr noundef nonnull %108, ptr noundef %2, i1 noundef zeroext %3)
  %109 = getelementptr inbounds i8, ptr %0, i64 3904
  %110 = getelementptr inbounds i8, ptr %1, i64 3904
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %109, ptr noundef nonnull %110, ptr noundef %2, i1 noundef zeroext %3)
  %111 = getelementptr inbounds i8, ptr %0, i64 3968
  %112 = getelementptr inbounds i8, ptr %1, i64 3968
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %111, ptr noundef nonnull %112, ptr noundef %2, i1 noundef zeroext %3)
  %113 = getelementptr inbounds i8, ptr %0, i64 4048
  %114 = getelementptr inbounds i8, ptr %1, i64 4048
  tail call void @_ZN11alglib_impl21_rcommstate_init_copyEPNS_10rcommstateEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %113, ptr noundef nonnull %114, ptr noundef %2, i1 noundef zeroext %3)
  %115 = getelementptr inbounds i8, ptr %0, i64 4312
  %116 = getelementptr inbounds i8, ptr %1, i64 4312
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %115, ptr noundef nonnull %116, ptr noundef %2, i1 noundef zeroext %3)
  %117 = getelementptr inbounds i8, ptr %0, i64 4376
  %118 = getelementptr inbounds i8, ptr %1, i64 4376
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %117, ptr noundef nonnull %118, ptr noundef %2, i1 noundef zeroext %3)
  %119 = getelementptr inbounds i8, ptr %0, i64 4440
  %120 = getelementptr inbounds i8, ptr %1, i64 4440
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %119, ptr noundef nonnull %120, ptr noundef %2, i1 noundef zeroext %3)
  %121 = getelementptr inbounds i8, ptr %0, i64 4504
  %122 = getelementptr inbounds i8, ptr %1, i64 4504
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %121, ptr noundef nonnull %122, ptr noundef %2, i1 noundef zeroext %3)
  %123 = getelementptr inbounds i8, ptr %0, i64 4568
  %124 = getelementptr inbounds i8, ptr %1, i64 4568
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %123, ptr noundef nonnull %124, ptr noundef %2, i1 noundef zeroext %3)
  %125 = getelementptr inbounds i8, ptr %0, i64 4632
  %126 = getelementptr inbounds i8, ptr %1, i64 4632
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef %2, i1 noundef zeroext %3)
  %127 = getelementptr inbounds i8, ptr %0, i64 4696
  %128 = getelementptr inbounds i8, ptr %1, i64 4696
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %127, ptr noundef nonnull %128, ptr noundef %2, i1 noundef zeroext %3)
  %129 = getelementptr inbounds i8, ptr %0, i64 4760
  %130 = getelementptr inbounds i8, ptr %1, i64 4760
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %129, ptr noundef nonnull %130, ptr noundef %2, i1 noundef zeroext %3)
  %131 = getelementptr inbounds i8, ptr %0, i64 4824
  %132 = getelementptr inbounds i8, ptr %1, i64 4824
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %131, ptr noundef nonnull %132, ptr noundef %2, i1 noundef zeroext %3)
  %133 = getelementptr inbounds i8, ptr %0, i64 4904
  %134 = getelementptr inbounds i8, ptr %1, i64 4904
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %133, ptr noundef nonnull %134, ptr noundef %2, i1 noundef zeroext %3)
  %135 = getelementptr inbounds i8, ptr %0, i64 4984
  %136 = getelementptr inbounds i8, ptr %1, i64 4984
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %135, ptr noundef nonnull %136, ptr noundef %2, i1 noundef zeroext %3)
  %137 = getelementptr inbounds i8, ptr %0, i64 5048
  %138 = getelementptr inbounds i8, ptr %1, i64 5048
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %137, ptr noundef nonnull %138, ptr noundef %2, i1 noundef zeroext %3)
  %139 = getelementptr inbounds i8, ptr %0, i64 5112
  %140 = getelementptr inbounds i8, ptr %1, i64 5112
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %139, ptr noundef nonnull %140, ptr noundef %2, i1 noundef zeroext %3)
  %141 = getelementptr inbounds i8, ptr %0, i64 5176
  %142 = getelementptr inbounds i8, ptr %1, i64 5176
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %141, ptr noundef nonnull %142, ptr noundef %2, i1 noundef zeroext %3)
  %143 = getelementptr inbounds i8, ptr %0, i64 5240
  %144 = getelementptr inbounds i8, ptr %1, i64 5240
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %143, ptr noundef nonnull %144, ptr noundef %2, i1 noundef zeroext %3)
  %145 = getelementptr inbounds i8, ptr %0, i64 5304
  %146 = getelementptr inbounds i8, ptr %1, i64 5304
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %145, ptr noundef nonnull %146, ptr noundef %2, i1 noundef zeroext %3)
  %147 = getelementptr inbounds i8, ptr %0, i64 5368
  %148 = getelementptr inbounds i8, ptr %1, i64 5368
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %147, ptr noundef nonnull %148, ptr noundef %2, i1 noundef zeroext %3)
  %149 = getelementptr inbounds i8, ptr %0, i64 5432
  %150 = getelementptr inbounds i8, ptr %1, i64 5432
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %149, ptr noundef nonnull %150, ptr noundef %2, i1 noundef zeroext %3)
  %151 = getelementptr inbounds i8, ptr %0, i64 5496
  %152 = getelementptr inbounds i8, ptr %1, i64 5496
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %151, ptr noundef nonnull %152, ptr noundef %2, i1 noundef zeroext %3)
  %153 = getelementptr inbounds i8, ptr %0, i64 5560
  %154 = getelementptr inbounds i8, ptr %1, i64 5560
  tail call void @_ZN11alglib_impl19ae_vector_init_copyEPNS_9ae_vectorEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %153, ptr noundef nonnull %154, ptr noundef %2, i1 noundef zeroext %3)
  %155 = getelementptr inbounds i8, ptr %0, i64 5624
  %156 = getelementptr inbounds i8, ptr %1, i64 5624
  tail call void @_ZN11alglib_impl19ae_matrix_init_copyEPNS_9ae_matrixEPKS0_PNS_8ae_stateEb(ptr noundef nonnull %155, ptr noundef nonnull %156, ptr noundef %2, i1 noundef zeroext %3)
  ret void
}

declare void @_ZN11alglib_impl21_rcommstate_init_copyEPNS_10rcommstateEPKS0_PNS_8ae_stateEb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) 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" }

!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 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 16}
!10 = !{!"_ZTSN11alglib_impl17smoothnessmonitorE", !6, i64 0, !6, i64 8, !11, i64 16, !12, i64 24, !12, i64 88, !6, i64 152, !12, i64 160, !12, i64 224, !12, i64 288, !15, i64 352, !12, i64 432, !12, i64 496, !6, i64 560, !6, i64 568, !6, i64 576, !16, i64 584, !6, i64 592, !12, i64 600, !12, i64 664, !16, i64 728, !12, i64 736, !12, i64 800, !16, i64 864, !15, i64 872, !15, i64 952, !15, i64 1032, !12, i64 1112, !12, i64 1176, !17, i64 1240, !11, i64 1504, !11, i64 1505, !6, i64 1512, !6, i64 1520, !16, i64 1528, !16, i64 1536, !11, i64 1544, !19, i64 1552, !16, i64 1848, !16, i64 1856, !20, i64 1864, !20, i64 2184, !16, i64 2504, !16, i64 2512, !21, i64 2520, !21, i64 2840, !16, i64 3160, !16, i64 3168, !22, i64 3176, !22, i64 3504, !11, i64 3832, !12, i64 3840, !12, i64 3904, !15, i64 3968, !17, i64 4048, !12, i64 4312, !12, i64 4376, !12, i64 4440, !12, i64 4504, !12, i64 4568, !12, i64 4632, !12, i64 4696, !12, i64 4760, !15, i64 4824, !15, i64 4904, !12, i64 4984, !12, i64 5048, !12, i64 5112, !12, i64 5176, !12, i64 5240, !12, i64 5304, !12, i64 5368, !12, i64 5432, !12, i64 5496, !12, i64 5560, !15, i64 5624}
!11 = !{!"bool", !7, i64 0}
!12 = !{!"_ZTSN11alglib_impl9ae_vectorE", !6, i64 0, !6, i64 8, !11, i64 16, !13, i64 24, !7, i64 56}
!13 = !{!"_ZTSN11alglib_impl12ae_dyn_blockE", !14, i64 0, !14, i64 8, !14, i64 16, !14, i64 24}
!14 = !{!"any pointer", !7, i64 0}
!15 = !{!"_ZTSN11alglib_impl9ae_matrixE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !11, i64 32, !13, i64 40, !7, i64 72}
!16 = !{!"double", !7, i64 0}
!17 = !{!"_ZTSN11alglib_impl10rcommstateE", !18, i64 0, !12, i64 8, !12, i64 72, !12, i64 136, !12, i64 200}
!18 = !{!"int", !7, i64 0}
!19 = !{!"_ZTSN11alglib_impl14optguardreportE", !11, i64 0, !11, i64 1, !6, i64 8, !16, i64 16, !11, i64 24, !11, i64 25, !11, i64 26, !6, i64 32, !16, i64 40, !11, i64 48, !6, i64 56, !6, i64 64, !12, i64 72, !15, i64 136, !15, i64 216}
!20 = !{!"_ZTSN11alglib_impl19optguardnonc0reportE", !11, i64 0, !6, i64 8, !12, i64 16, !12, i64 80, !6, i64 144, !12, i64 152, !12, i64 216, !6, i64 280, !6, i64 288, !6, i64 296, !6, i64 304, !6, i64 312}
!21 = !{!"_ZTSN11alglib_impl24optguardnonc1test0reportE", !11, i64 0, !6, i64 8, !12, i64 16, !12, i64 80, !6, i64 144, !12, i64 152, !12, i64 216, !6, i64 280, !6, i64 288, !6, i64 296, !6, i64 304, !6, i64 312}
!22 = !{!"_ZTSN11alglib_impl24optguardnonc1test1reportE", !11, i64 0, !6, i64 8, !6, i64 16, !12, i64 24, !12, i64 88, !6, i64 152, !12, i64 160, !12, i64 224, !6, i64 288, !6, i64 296, !6, i64 304, !6, i64 312, !6, i64 320}
!23 = !{i8 0, i8 2}
!24 = !{}
!25 = !{!10, !6, i64 152}
!26 = !{!10, !6, i64 576}
!27 = !{!10, !16, i64 584}
!28 = !{!10, !6, i64 592}
!29 = !{!10, !16, i64 728}
!30 = !{!10, !16, i64 864}
!31 = !{!10, !11, i64 1504}
!32 = !{!10, !11, i64 1505}
!33 = !{!16, !16, i64 0}
!34 = !{!10, !11, i64 1544}
!35 = !{!10, !11, i64 3832}


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