; LLVM IR from berquist/rchem :: libpyquante2 (chgp)

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

; Function Attrs: nounwind uwtable
define dso_local double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39) #0 {
  %41 = alloca double, align 8
  %42 = alloca i32, align 4
  %43 = alloca double, align 8
  %44 = alloca double, align 8
  %45 = alloca double, align 8
  %46 = alloca ptr, align 8
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca i32, align 4
  %53 = alloca double, align 8
  %54 = alloca double, align 8
  %55 = alloca double, align 8
  %56 = alloca ptr, align 8
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca i32, align 4
  %63 = alloca double, align 8
  %64 = alloca double, align 8
  %65 = alloca double, align 8
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca ptr, align 8
  %72 = alloca i32, align 4
  %73 = alloca double, align 8
  %74 = alloca double, align 8
  %75 = alloca double, align 8
  %76 = alloca ptr, align 8
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca ptr, align 8
  store i32 %0, ptr %42, align 4, !tbaa !5
  store double %1, ptr %43, align 8, !tbaa !9
  store double %2, ptr %44, align 8, !tbaa !9
  store double %3, ptr %45, align 8, !tbaa !9
  store ptr %4, ptr %46, align 8, !tbaa !11
  store i32 %5, ptr %47, align 4, !tbaa !5
  store i32 %6, ptr %48, align 4, !tbaa !5
  store i32 %7, ptr %49, align 4, !tbaa !5
  store ptr %8, ptr %50, align 8, !tbaa !11
  store ptr %9, ptr %51, align 8, !tbaa !11
  store i32 %10, ptr %52, align 4, !tbaa !5
  store double %11, ptr %53, align 8, !tbaa !9
  store double %12, ptr %54, align 8, !tbaa !9
  store double %13, ptr %55, align 8, !tbaa !9
  store ptr %14, ptr %56, align 8, !tbaa !11
  store i32 %15, ptr %57, align 4, !tbaa !5
  store i32 %16, ptr %58, align 4, !tbaa !5
  store i32 %17, ptr %59, align 4, !tbaa !5
  store ptr %18, ptr %60, align 8, !tbaa !11
  store ptr %19, ptr %61, align 8, !tbaa !11
  store i32 %20, ptr %62, align 4, !tbaa !5
  store double %21, ptr %63, align 8, !tbaa !9
  store double %22, ptr %64, align 8, !tbaa !9
  store double %23, ptr %65, align 8, !tbaa !9
  store ptr %24, ptr %66, align 8, !tbaa !11
  store i32 %25, ptr %67, align 4, !tbaa !5
  store i32 %26, ptr %68, align 4, !tbaa !5
  store i32 %27, ptr %69, align 4, !tbaa !5
  store ptr %28, ptr %70, align 8, !tbaa !11
  store ptr %29, ptr %71, align 8, !tbaa !11
  store i32 %30, ptr %72, align 4, !tbaa !5
  store double %31, ptr %73, align 8, !tbaa !9
  store double %32, ptr %74, align 8, !tbaa !9
  store double %33, ptr %75, align 8, !tbaa !9
  store ptr %34, ptr %76, align 8, !tbaa !11
  store i32 %35, ptr %77, align 4, !tbaa !5
  store i32 %36, ptr %78, align 4, !tbaa !5
  store i32 %37, ptr %79, align 4, !tbaa !5
  store ptr %38, ptr %80, align 8, !tbaa !11
  store ptr %39, ptr %81, align 8, !tbaa !11
  %82 = load i32, ptr %57, align 4, !tbaa !5
  %83 = icmp sgt i32 %82, 0
  br i1 %83, label %84, label %174

84:                                               ; preds = %40
  %85 = load i32, ptr %42, align 4, !tbaa !5
  %86 = load double, ptr %43, align 8, !tbaa !9
  %87 = load double, ptr %44, align 8, !tbaa !9
  %88 = load double, ptr %45, align 8, !tbaa !9
  %89 = load ptr, ptr %46, align 8, !tbaa !11
  %90 = load i32, ptr %47, align 4, !tbaa !5
  %91 = add nsw i32 %90, 1
  %92 = load i32, ptr %48, align 4, !tbaa !5
  %93 = load i32, ptr %49, align 4, !tbaa !5
  %94 = load ptr, ptr %50, align 8, !tbaa !11
  %95 = load ptr, ptr %51, align 8, !tbaa !11
  %96 = load i32, ptr %52, align 4, !tbaa !5
  %97 = load double, ptr %53, align 8, !tbaa !9
  %98 = load double, ptr %54, align 8, !tbaa !9
  %99 = load double, ptr %55, align 8, !tbaa !9
  %100 = load ptr, ptr %56, align 8, !tbaa !11
  %101 = load i32, ptr %57, align 4, !tbaa !5
  %102 = sub nsw i32 %101, 1
  %103 = load i32, ptr %58, align 4, !tbaa !5
  %104 = load i32, ptr %59, align 4, !tbaa !5
  %105 = load ptr, ptr %60, align 8, !tbaa !11
  %106 = load ptr, ptr %61, align 8, !tbaa !11
  %107 = load i32, ptr %62, align 4, !tbaa !5
  %108 = load double, ptr %63, align 8, !tbaa !9
  %109 = load double, ptr %64, align 8, !tbaa !9
  %110 = load double, ptr %65, align 8, !tbaa !9
  %111 = load ptr, ptr %66, align 8, !tbaa !11
  %112 = load i32, ptr %67, align 4, !tbaa !5
  %113 = load i32, ptr %68, align 4, !tbaa !5
  %114 = load i32, ptr %69, align 4, !tbaa !5
  %115 = load ptr, ptr %70, align 8, !tbaa !11
  %116 = load ptr, ptr %71, align 8, !tbaa !11
  %117 = load i32, ptr %72, align 4, !tbaa !5
  %118 = load double, ptr %73, align 8, !tbaa !9
  %119 = load double, ptr %74, align 8, !tbaa !9
  %120 = load double, ptr %75, align 8, !tbaa !9
  %121 = load ptr, ptr %76, align 8, !tbaa !11
  %122 = load i32, ptr %77, align 4, !tbaa !5
  %123 = load i32, ptr %78, align 4, !tbaa !5
  %124 = load i32, ptr %79, align 4, !tbaa !5
  %125 = load ptr, ptr %80, align 8, !tbaa !11
  %126 = load ptr, ptr %81, align 8, !tbaa !11
  %127 = call double @contr_hrr(i32 noundef %85, double noundef %86, double noundef %87, double noundef %88, ptr noundef %89, i32 noundef %91, i32 noundef %92, i32 noundef %93, ptr noundef %94, ptr noundef %95, i32 noundef %96, double noundef %97, double noundef %98, double noundef %99, ptr noundef %100, i32 noundef %102, i32 noundef %103, i32 noundef %104, ptr noundef %105, ptr noundef %106, i32 noundef %107, double noundef %108, double noundef %109, double noundef %110, ptr noundef %111, i32 noundef %112, i32 noundef %113, i32 noundef %114, ptr noundef %115, ptr noundef %116, i32 noundef %117, double noundef %118, double noundef %119, double noundef %120, ptr noundef %121, i32 noundef %122, i32 noundef %123, i32 noundef %124, ptr noundef %125, ptr noundef %126)
  %128 = load double, ptr %43, align 8, !tbaa !9
  %129 = load double, ptr %53, align 8, !tbaa !9
  %130 = fsub double %128, %129
  %131 = load i32, ptr %42, align 4, !tbaa !5
  %132 = load double, ptr %43, align 8, !tbaa !9
  %133 = load double, ptr %44, align 8, !tbaa !9
  %134 = load double, ptr %45, align 8, !tbaa !9
  %135 = load ptr, ptr %46, align 8, !tbaa !11
  %136 = load i32, ptr %47, align 4, !tbaa !5
  %137 = load i32, ptr %48, align 4, !tbaa !5
  %138 = load i32, ptr %49, align 4, !tbaa !5
  %139 = load ptr, ptr %50, align 8, !tbaa !11
  %140 = load ptr, ptr %51, align 8, !tbaa !11
  %141 = load i32, ptr %52, align 4, !tbaa !5
  %142 = load double, ptr %53, align 8, !tbaa !9
  %143 = load double, ptr %54, align 8, !tbaa !9
  %144 = load double, ptr %55, align 8, !tbaa !9
  %145 = load ptr, ptr %56, align 8, !tbaa !11
  %146 = load i32, ptr %57, align 4, !tbaa !5
  %147 = sub nsw i32 %146, 1
  %148 = load i32, ptr %58, align 4, !tbaa !5
  %149 = load i32, ptr %59, align 4, !tbaa !5
  %150 = load ptr, ptr %60, align 8, !tbaa !11
  %151 = load ptr, ptr %61, align 8, !tbaa !11
  %152 = load i32, ptr %62, align 4, !tbaa !5
  %153 = load double, ptr %63, align 8, !tbaa !9
  %154 = load double, ptr %64, align 8, !tbaa !9
  %155 = load double, ptr %65, align 8, !tbaa !9
  %156 = load ptr, ptr %66, align 8, !tbaa !11
  %157 = load i32, ptr %67, align 4, !tbaa !5
  %158 = load i32, ptr %68, align 4, !tbaa !5
  %159 = load i32, ptr %69, align 4, !tbaa !5
  %160 = load ptr, ptr %70, align 8, !tbaa !11
  %161 = load ptr, ptr %71, align 8, !tbaa !11
  %162 = load i32, ptr %72, align 4, !tbaa !5
  %163 = load double, ptr %73, align 8, !tbaa !9
  %164 = load double, ptr %74, align 8, !tbaa !9
  %165 = load double, ptr %75, align 8, !tbaa !9
  %166 = load ptr, ptr %76, align 8, !tbaa !11
  %167 = load i32, ptr %77, align 4, !tbaa !5
  %168 = load i32, ptr %78, align 4, !tbaa !5
  %169 = load i32, ptr %79, align 4, !tbaa !5
  %170 = load ptr, ptr %80, align 8, !tbaa !11
  %171 = load ptr, ptr %81, align 8, !tbaa !11
  %172 = call double @contr_hrr(i32 noundef %131, double noundef %132, double noundef %133, double noundef %134, ptr noundef %135, i32 noundef %136, i32 noundef %137, i32 noundef %138, ptr noundef %139, ptr noundef %140, i32 noundef %141, double noundef %142, double noundef %143, double noundef %144, ptr noundef %145, i32 noundef %147, i32 noundef %148, i32 noundef %149, ptr noundef %150, ptr noundef %151, i32 noundef %152, double noundef %153, double noundef %154, double noundef %155, ptr noundef %156, i32 noundef %157, i32 noundef %158, i32 noundef %159, ptr noundef %160, ptr noundef %161, i32 noundef %162, double noundef %163, double noundef %164, double noundef %165, ptr noundef %166, i32 noundef %167, i32 noundef %168, i32 noundef %169, ptr noundef %170, ptr noundef %171)
  %173 = call double @llvm.fmuladd.f64(double %130, double %172, double %127)
  store double %173, ptr %41, align 8
  br label %680

174:                                              ; preds = %40
  %175 = load i32, ptr %58, align 4, !tbaa !5
  %176 = icmp sgt i32 %175, 0
  br i1 %176, label %177, label %267

177:                                              ; preds = %174
  %178 = load i32, ptr %42, align 4, !tbaa !5
  %179 = load double, ptr %43, align 8, !tbaa !9
  %180 = load double, ptr %44, align 8, !tbaa !9
  %181 = load double, ptr %45, align 8, !tbaa !9
  %182 = load ptr, ptr %46, align 8, !tbaa !11
  %183 = load i32, ptr %47, align 4, !tbaa !5
  %184 = load i32, ptr %48, align 4, !tbaa !5
  %185 = add nsw i32 %184, 1
  %186 = load i32, ptr %49, align 4, !tbaa !5
  %187 = load ptr, ptr %50, align 8, !tbaa !11
  %188 = load ptr, ptr %51, align 8, !tbaa !11
  %189 = load i32, ptr %52, align 4, !tbaa !5
  %190 = load double, ptr %53, align 8, !tbaa !9
  %191 = load double, ptr %54, align 8, !tbaa !9
  %192 = load double, ptr %55, align 8, !tbaa !9
  %193 = load ptr, ptr %56, align 8, !tbaa !11
  %194 = load i32, ptr %57, align 4, !tbaa !5
  %195 = load i32, ptr %58, align 4, !tbaa !5
  %196 = sub nsw i32 %195, 1
  %197 = load i32, ptr %59, align 4, !tbaa !5
  %198 = load ptr, ptr %60, align 8, !tbaa !11
  %199 = load ptr, ptr %61, align 8, !tbaa !11
  %200 = load i32, ptr %62, align 4, !tbaa !5
  %201 = load double, ptr %63, align 8, !tbaa !9
  %202 = load double, ptr %64, align 8, !tbaa !9
  %203 = load double, ptr %65, align 8, !tbaa !9
  %204 = load ptr, ptr %66, align 8, !tbaa !11
  %205 = load i32, ptr %67, align 4, !tbaa !5
  %206 = load i32, ptr %68, align 4, !tbaa !5
  %207 = load i32, ptr %69, align 4, !tbaa !5
  %208 = load ptr, ptr %70, align 8, !tbaa !11
  %209 = load ptr, ptr %71, align 8, !tbaa !11
  %210 = load i32, ptr %72, align 4, !tbaa !5
  %211 = load double, ptr %73, align 8, !tbaa !9
  %212 = load double, ptr %74, align 8, !tbaa !9
  %213 = load double, ptr %75, align 8, !tbaa !9
  %214 = load ptr, ptr %76, align 8, !tbaa !11
  %215 = load i32, ptr %77, align 4, !tbaa !5
  %216 = load i32, ptr %78, align 4, !tbaa !5
  %217 = load i32, ptr %79, align 4, !tbaa !5
  %218 = load ptr, ptr %80, align 8, !tbaa !11
  %219 = load ptr, ptr %81, align 8, !tbaa !11
  %220 = call double @contr_hrr(i32 noundef %178, double noundef %179, double noundef %180, double noundef %181, ptr noundef %182, i32 noundef %183, i32 noundef %185, i32 noundef %186, ptr noundef %187, ptr noundef %188, i32 noundef %189, double noundef %190, double noundef %191, double noundef %192, ptr noundef %193, i32 noundef %194, i32 noundef %196, i32 noundef %197, ptr noundef %198, ptr noundef %199, i32 noundef %200, double noundef %201, double noundef %202, double noundef %203, ptr noundef %204, i32 noundef %205, i32 noundef %206, i32 noundef %207, ptr noundef %208, ptr noundef %209, i32 noundef %210, double noundef %211, double noundef %212, double noundef %213, ptr noundef %214, i32 noundef %215, i32 noundef %216, i32 noundef %217, ptr noundef %218, ptr noundef %219)
  %221 = load double, ptr %44, align 8, !tbaa !9
  %222 = load double, ptr %54, align 8, !tbaa !9
  %223 = fsub double %221, %222
  %224 = load i32, ptr %42, align 4, !tbaa !5
  %225 = load double, ptr %43, align 8, !tbaa !9
  %226 = load double, ptr %44, align 8, !tbaa !9
  %227 = load double, ptr %45, align 8, !tbaa !9
  %228 = load ptr, ptr %46, align 8, !tbaa !11
  %229 = load i32, ptr %47, align 4, !tbaa !5
  %230 = load i32, ptr %48, align 4, !tbaa !5
  %231 = load i32, ptr %49, align 4, !tbaa !5
  %232 = load ptr, ptr %50, align 8, !tbaa !11
  %233 = load ptr, ptr %51, align 8, !tbaa !11
  %234 = load i32, ptr %52, align 4, !tbaa !5
  %235 = load double, ptr %53, align 8, !tbaa !9
  %236 = load double, ptr %54, align 8, !tbaa !9
  %237 = load double, ptr %55, align 8, !tbaa !9
  %238 = load ptr, ptr %56, align 8, !tbaa !11
  %239 = load i32, ptr %57, align 4, !tbaa !5
  %240 = load i32, ptr %58, align 4, !tbaa !5
  %241 = sub nsw i32 %240, 1
  %242 = load i32, ptr %59, align 4, !tbaa !5
  %243 = load ptr, ptr %60, align 8, !tbaa !11
  %244 = load ptr, ptr %61, align 8, !tbaa !11
  %245 = load i32, ptr %62, align 4, !tbaa !5
  %246 = load double, ptr %63, align 8, !tbaa !9
  %247 = load double, ptr %64, align 8, !tbaa !9
  %248 = load double, ptr %65, align 8, !tbaa !9
  %249 = load ptr, ptr %66, align 8, !tbaa !11
  %250 = load i32, ptr %67, align 4, !tbaa !5
  %251 = load i32, ptr %68, align 4, !tbaa !5
  %252 = load i32, ptr %69, align 4, !tbaa !5
  %253 = load ptr, ptr %70, align 8, !tbaa !11
  %254 = load ptr, ptr %71, align 8, !tbaa !11
  %255 = load i32, ptr %72, align 4, !tbaa !5
  %256 = load double, ptr %73, align 8, !tbaa !9
  %257 = load double, ptr %74, align 8, !tbaa !9
  %258 = load double, ptr %75, align 8, !tbaa !9
  %259 = load ptr, ptr %76, align 8, !tbaa !11
  %260 = load i32, ptr %77, align 4, !tbaa !5
  %261 = load i32, ptr %78, align 4, !tbaa !5
  %262 = load i32, ptr %79, align 4, !tbaa !5
  %263 = load ptr, ptr %80, align 8, !tbaa !11
  %264 = load ptr, ptr %81, align 8, !tbaa !11
  %265 = call double @contr_hrr(i32 noundef %224, double noundef %225, double noundef %226, double noundef %227, ptr noundef %228, i32 noundef %229, i32 noundef %230, i32 noundef %231, ptr noundef %232, ptr noundef %233, i32 noundef %234, double noundef %235, double noundef %236, double noundef %237, ptr noundef %238, i32 noundef %239, i32 noundef %241, i32 noundef %242, ptr noundef %243, ptr noundef %244, i32 noundef %245, double noundef %246, double noundef %247, double noundef %248, ptr noundef %249, i32 noundef %250, i32 noundef %251, i32 noundef %252, ptr noundef %253, ptr noundef %254, i32 noundef %255, double noundef %256, double noundef %257, double noundef %258, ptr noundef %259, i32 noundef %260, i32 noundef %261, i32 noundef %262, ptr noundef %263, ptr noundef %264)
  %266 = call double @llvm.fmuladd.f64(double %223, double %265, double %220)
  store double %266, ptr %41, align 8
  br label %680

267:                                              ; preds = %174
  %268 = load i32, ptr %59, align 4, !tbaa !5
  %269 = icmp sgt i32 %268, 0
  br i1 %269, label %270, label %360

270:                                              ; preds = %267
  %271 = load i32, ptr %42, align 4, !tbaa !5
  %272 = load double, ptr %43, align 8, !tbaa !9
  %273 = load double, ptr %44, align 8, !tbaa !9
  %274 = load double, ptr %45, align 8, !tbaa !9
  %275 = load ptr, ptr %46, align 8, !tbaa !11
  %276 = load i32, ptr %47, align 4, !tbaa !5
  %277 = load i32, ptr %48, align 4, !tbaa !5
  %278 = load i32, ptr %49, align 4, !tbaa !5
  %279 = add nsw i32 %278, 1
  %280 = load ptr, ptr %50, align 8, !tbaa !11
  %281 = load ptr, ptr %51, align 8, !tbaa !11
  %282 = load i32, ptr %52, align 4, !tbaa !5
  %283 = load double, ptr %53, align 8, !tbaa !9
  %284 = load double, ptr %54, align 8, !tbaa !9
  %285 = load double, ptr %55, align 8, !tbaa !9
  %286 = load ptr, ptr %56, align 8, !tbaa !11
  %287 = load i32, ptr %57, align 4, !tbaa !5
  %288 = load i32, ptr %58, align 4, !tbaa !5
  %289 = load i32, ptr %59, align 4, !tbaa !5
  %290 = sub nsw i32 %289, 1
  %291 = load ptr, ptr %60, align 8, !tbaa !11
  %292 = load ptr, ptr %61, align 8, !tbaa !11
  %293 = load i32, ptr %62, align 4, !tbaa !5
  %294 = load double, ptr %63, align 8, !tbaa !9
  %295 = load double, ptr %64, align 8, !tbaa !9
  %296 = load double, ptr %65, align 8, !tbaa !9
  %297 = load ptr, ptr %66, align 8, !tbaa !11
  %298 = load i32, ptr %67, align 4, !tbaa !5
  %299 = load i32, ptr %68, align 4, !tbaa !5
  %300 = load i32, ptr %69, align 4, !tbaa !5
  %301 = load ptr, ptr %70, align 8, !tbaa !11
  %302 = load ptr, ptr %71, align 8, !tbaa !11
  %303 = load i32, ptr %72, align 4, !tbaa !5
  %304 = load double, ptr %73, align 8, !tbaa !9
  %305 = load double, ptr %74, align 8, !tbaa !9
  %306 = load double, ptr %75, align 8, !tbaa !9
  %307 = load ptr, ptr %76, align 8, !tbaa !11
  %308 = load i32, ptr %77, align 4, !tbaa !5
  %309 = load i32, ptr %78, align 4, !tbaa !5
  %310 = load i32, ptr %79, align 4, !tbaa !5
  %311 = load ptr, ptr %80, align 8, !tbaa !11
  %312 = load ptr, ptr %81, align 8, !tbaa !11
  %313 = call double @contr_hrr(i32 noundef %271, double noundef %272, double noundef %273, double noundef %274, ptr noundef %275, i32 noundef %276, i32 noundef %277, i32 noundef %279, ptr noundef %280, ptr noundef %281, i32 noundef %282, double noundef %283, double noundef %284, double noundef %285, ptr noundef %286, i32 noundef %287, i32 noundef %288, i32 noundef %290, ptr noundef %291, ptr noundef %292, i32 noundef %293, double noundef %294, double noundef %295, double noundef %296, ptr noundef %297, i32 noundef %298, i32 noundef %299, i32 noundef %300, ptr noundef %301, ptr noundef %302, i32 noundef %303, double noundef %304, double noundef %305, double noundef %306, ptr noundef %307, i32 noundef %308, i32 noundef %309, i32 noundef %310, ptr noundef %311, ptr noundef %312)
  %314 = load double, ptr %45, align 8, !tbaa !9
  %315 = load double, ptr %55, align 8, !tbaa !9
  %316 = fsub double %314, %315
  %317 = load i32, ptr %42, align 4, !tbaa !5
  %318 = load double, ptr %43, align 8, !tbaa !9
  %319 = load double, ptr %44, align 8, !tbaa !9
  %320 = load double, ptr %45, align 8, !tbaa !9
  %321 = load ptr, ptr %46, align 8, !tbaa !11
  %322 = load i32, ptr %47, align 4, !tbaa !5
  %323 = load i32, ptr %48, align 4, !tbaa !5
  %324 = load i32, ptr %49, align 4, !tbaa !5
  %325 = load ptr, ptr %50, align 8, !tbaa !11
  %326 = load ptr, ptr %51, align 8, !tbaa !11
  %327 = load i32, ptr %52, align 4, !tbaa !5
  %328 = load double, ptr %53, align 8, !tbaa !9
  %329 = load double, ptr %54, align 8, !tbaa !9
  %330 = load double, ptr %55, align 8, !tbaa !9
  %331 = load ptr, ptr %56, align 8, !tbaa !11
  %332 = load i32, ptr %57, align 4, !tbaa !5
  %333 = load i32, ptr %58, align 4, !tbaa !5
  %334 = load i32, ptr %59, align 4, !tbaa !5
  %335 = sub nsw i32 %334, 1
  %336 = load ptr, ptr %60, align 8, !tbaa !11
  %337 = load ptr, ptr %61, align 8, !tbaa !11
  %338 = load i32, ptr %62, align 4, !tbaa !5
  %339 = load double, ptr %63, align 8, !tbaa !9
  %340 = load double, ptr %64, align 8, !tbaa !9
  %341 = load double, ptr %65, align 8, !tbaa !9
  %342 = load ptr, ptr %66, align 8, !tbaa !11
  %343 = load i32, ptr %67, align 4, !tbaa !5
  %344 = load i32, ptr %68, align 4, !tbaa !5
  %345 = load i32, ptr %69, align 4, !tbaa !5
  %346 = load ptr, ptr %70, align 8, !tbaa !11
  %347 = load ptr, ptr %71, align 8, !tbaa !11
  %348 = load i32, ptr %72, align 4, !tbaa !5
  %349 = load double, ptr %73, align 8, !tbaa !9
  %350 = load double, ptr %74, align 8, !tbaa !9
  %351 = load double, ptr %75, align 8, !tbaa !9
  %352 = load ptr, ptr %76, align 8, !tbaa !11
  %353 = load i32, ptr %77, align 4, !tbaa !5
  %354 = load i32, ptr %78, align 4, !tbaa !5
  %355 = load i32, ptr %79, align 4, !tbaa !5
  %356 = load ptr, ptr %80, align 8, !tbaa !11
  %357 = load ptr, ptr %81, align 8, !tbaa !11
  %358 = call double @contr_hrr(i32 noundef %317, double noundef %318, double noundef %319, double noundef %320, ptr noundef %321, i32 noundef %322, i32 noundef %323, i32 noundef %324, ptr noundef %325, ptr noundef %326, i32 noundef %327, double noundef %328, double noundef %329, double noundef %330, ptr noundef %331, i32 noundef %332, i32 noundef %333, i32 noundef %335, ptr noundef %336, ptr noundef %337, i32 noundef %338, double noundef %339, double noundef %340, double noundef %341, ptr noundef %342, i32 noundef %343, i32 noundef %344, i32 noundef %345, ptr noundef %346, ptr noundef %347, i32 noundef %348, double noundef %349, double noundef %350, double noundef %351, ptr noundef %352, i32 noundef %353, i32 noundef %354, i32 noundef %355, ptr noundef %356, ptr noundef %357)
  %359 = call double @llvm.fmuladd.f64(double %316, double %358, double %313)
  store double %359, ptr %41, align 8
  br label %680

360:                                              ; preds = %267
  %361 = load i32, ptr %77, align 4, !tbaa !5
  %362 = icmp sgt i32 %361, 0
  br i1 %362, label %363, label %453

363:                                              ; preds = %360
  %364 = load i32, ptr %42, align 4, !tbaa !5
  %365 = load double, ptr %43, align 8, !tbaa !9
  %366 = load double, ptr %44, align 8, !tbaa !9
  %367 = load double, ptr %45, align 8, !tbaa !9
  %368 = load ptr, ptr %46, align 8, !tbaa !11
  %369 = load i32, ptr %47, align 4, !tbaa !5
  %370 = load i32, ptr %48, align 4, !tbaa !5
  %371 = load i32, ptr %49, align 4, !tbaa !5
  %372 = load ptr, ptr %50, align 8, !tbaa !11
  %373 = load ptr, ptr %51, align 8, !tbaa !11
  %374 = load i32, ptr %52, align 4, !tbaa !5
  %375 = load double, ptr %53, align 8, !tbaa !9
  %376 = load double, ptr %54, align 8, !tbaa !9
  %377 = load double, ptr %55, align 8, !tbaa !9
  %378 = load ptr, ptr %56, align 8, !tbaa !11
  %379 = load i32, ptr %57, align 4, !tbaa !5
  %380 = load i32, ptr %58, align 4, !tbaa !5
  %381 = load i32, ptr %59, align 4, !tbaa !5
  %382 = load ptr, ptr %60, align 8, !tbaa !11
  %383 = load ptr, ptr %61, align 8, !tbaa !11
  %384 = load i32, ptr %62, align 4, !tbaa !5
  %385 = load double, ptr %63, align 8, !tbaa !9
  %386 = load double, ptr %64, align 8, !tbaa !9
  %387 = load double, ptr %65, align 8, !tbaa !9
  %388 = load ptr, ptr %66, align 8, !tbaa !11
  %389 = load i32, ptr %67, align 4, !tbaa !5
  %390 = add nsw i32 %389, 1
  %391 = load i32, ptr %68, align 4, !tbaa !5
  %392 = load i32, ptr %69, align 4, !tbaa !5
  %393 = load ptr, ptr %70, align 8, !tbaa !11
  %394 = load ptr, ptr %71, align 8, !tbaa !11
  %395 = load i32, ptr %72, align 4, !tbaa !5
  %396 = load double, ptr %73, align 8, !tbaa !9
  %397 = load double, ptr %74, align 8, !tbaa !9
  %398 = load double, ptr %75, align 8, !tbaa !9
  %399 = load ptr, ptr %76, align 8, !tbaa !11
  %400 = load i32, ptr %77, align 4, !tbaa !5
  %401 = sub nsw i32 %400, 1
  %402 = load i32, ptr %78, align 4, !tbaa !5
  %403 = load i32, ptr %79, align 4, !tbaa !5
  %404 = load ptr, ptr %80, align 8, !tbaa !11
  %405 = load ptr, ptr %81, align 8, !tbaa !11
  %406 = call double @contr_hrr(i32 noundef %364, double noundef %365, double noundef %366, double noundef %367, ptr noundef %368, i32 noundef %369, i32 noundef %370, i32 noundef %371, ptr noundef %372, ptr noundef %373, i32 noundef %374, double noundef %375, double noundef %376, double noundef %377, ptr noundef %378, i32 noundef %379, i32 noundef %380, i32 noundef %381, ptr noundef %382, ptr noundef %383, i32 noundef %384, double noundef %385, double noundef %386, double noundef %387, ptr noundef %388, i32 noundef %390, i32 noundef %391, i32 noundef %392, ptr noundef %393, ptr noundef %394, i32 noundef %395, double noundef %396, double noundef %397, double noundef %398, ptr noundef %399, i32 noundef %401, i32 noundef %402, i32 noundef %403, ptr noundef %404, ptr noundef %405)
  %407 = load double, ptr %63, align 8, !tbaa !9
  %408 = load double, ptr %73, align 8, !tbaa !9
  %409 = fsub double %407, %408
  %410 = load i32, ptr %42, align 4, !tbaa !5
  %411 = load double, ptr %43, align 8, !tbaa !9
  %412 = load double, ptr %44, align 8, !tbaa !9
  %413 = load double, ptr %45, align 8, !tbaa !9
  %414 = load ptr, ptr %46, align 8, !tbaa !11
  %415 = load i32, ptr %47, align 4, !tbaa !5
  %416 = load i32, ptr %48, align 4, !tbaa !5
  %417 = load i32, ptr %49, align 4, !tbaa !5
  %418 = load ptr, ptr %50, align 8, !tbaa !11
  %419 = load ptr, ptr %51, align 8, !tbaa !11
  %420 = load i32, ptr %52, align 4, !tbaa !5
  %421 = load double, ptr %53, align 8, !tbaa !9
  %422 = load double, ptr %54, align 8, !tbaa !9
  %423 = load double, ptr %55, align 8, !tbaa !9
  %424 = load ptr, ptr %56, align 8, !tbaa !11
  %425 = load i32, ptr %57, align 4, !tbaa !5
  %426 = load i32, ptr %58, align 4, !tbaa !5
  %427 = load i32, ptr %59, align 4, !tbaa !5
  %428 = load ptr, ptr %60, align 8, !tbaa !11
  %429 = load ptr, ptr %61, align 8, !tbaa !11
  %430 = load i32, ptr %62, align 4, !tbaa !5
  %431 = load double, ptr %63, align 8, !tbaa !9
  %432 = load double, ptr %64, align 8, !tbaa !9
  %433 = load double, ptr %65, align 8, !tbaa !9
  %434 = load ptr, ptr %66, align 8, !tbaa !11
  %435 = load i32, ptr %67, align 4, !tbaa !5
  %436 = load i32, ptr %68, align 4, !tbaa !5
  %437 = load i32, ptr %69, align 4, !tbaa !5
  %438 = load ptr, ptr %70, align 8, !tbaa !11
  %439 = load ptr, ptr %71, align 8, !tbaa !11
  %440 = load i32, ptr %72, align 4, !tbaa !5
  %441 = load double, ptr %73, align 8, !tbaa !9
  %442 = load double, ptr %74, align 8, !tbaa !9
  %443 = load double, ptr %75, align 8, !tbaa !9
  %444 = load ptr, ptr %76, align 8, !tbaa !11
  %445 = load i32, ptr %77, align 4, !tbaa !5
  %446 = sub nsw i32 %445, 1
  %447 = load i32, ptr %78, align 4, !tbaa !5
  %448 = load i32, ptr %79, align 4, !tbaa !5
  %449 = load ptr, ptr %80, align 8, !tbaa !11
  %450 = load ptr, ptr %81, align 8, !tbaa !11
  %451 = call double @contr_hrr(i32 noundef %410, double noundef %411, double noundef %412, double noundef %413, ptr noundef %414, i32 noundef %415, i32 noundef %416, i32 noundef %417, ptr noundef %418, ptr noundef %419, i32 noundef %420, double noundef %421, double noundef %422, double noundef %423, ptr noundef %424, i32 noundef %425, i32 noundef %426, i32 noundef %427, ptr noundef %428, ptr noundef %429, i32 noundef %430, double noundef %431, double noundef %432, double noundef %433, ptr noundef %434, i32 noundef %435, i32 noundef %436, i32 noundef %437, ptr noundef %438, ptr noundef %439, i32 noundef %440, double noundef %441, double noundef %442, double noundef %443, ptr noundef %444, i32 noundef %446, i32 noundef %447, i32 noundef %448, ptr noundef %449, ptr noundef %450)
  %452 = call double @llvm.fmuladd.f64(double %409, double %451, double %406)
  store double %452, ptr %41, align 8
  br label %680

453:                                              ; preds = %360
  %454 = load i32, ptr %78, align 4, !tbaa !5
  %455 = icmp sgt i32 %454, 0
  br i1 %455, label %456, label %546

456:                                              ; preds = %453
  %457 = load i32, ptr %42, align 4, !tbaa !5
  %458 = load double, ptr %43, align 8, !tbaa !9
  %459 = load double, ptr %44, align 8, !tbaa !9
  %460 = load double, ptr %45, align 8, !tbaa !9
  %461 = load ptr, ptr %46, align 8, !tbaa !11
  %462 = load i32, ptr %47, align 4, !tbaa !5
  %463 = load i32, ptr %48, align 4, !tbaa !5
  %464 = load i32, ptr %49, align 4, !tbaa !5
  %465 = load ptr, ptr %50, align 8, !tbaa !11
  %466 = load ptr, ptr %51, align 8, !tbaa !11
  %467 = load i32, ptr %52, align 4, !tbaa !5
  %468 = load double, ptr %53, align 8, !tbaa !9
  %469 = load double, ptr %54, align 8, !tbaa !9
  %470 = load double, ptr %55, align 8, !tbaa !9
  %471 = load ptr, ptr %56, align 8, !tbaa !11
  %472 = load i32, ptr %57, align 4, !tbaa !5
  %473 = load i32, ptr %58, align 4, !tbaa !5
  %474 = load i32, ptr %59, align 4, !tbaa !5
  %475 = load ptr, ptr %60, align 8, !tbaa !11
  %476 = load ptr, ptr %61, align 8, !tbaa !11
  %477 = load i32, ptr %62, align 4, !tbaa !5
  %478 = load double, ptr %63, align 8, !tbaa !9
  %479 = load double, ptr %64, align 8, !tbaa !9
  %480 = load double, ptr %65, align 8, !tbaa !9
  %481 = load ptr, ptr %66, align 8, !tbaa !11
  %482 = load i32, ptr %67, align 4, !tbaa !5
  %483 = load i32, ptr %68, align 4, !tbaa !5
  %484 = add nsw i32 %483, 1
  %485 = load i32, ptr %69, align 4, !tbaa !5
  %486 = load ptr, ptr %70, align 8, !tbaa !11
  %487 = load ptr, ptr %71, align 8, !tbaa !11
  %488 = load i32, ptr %72, align 4, !tbaa !5
  %489 = load double, ptr %73, align 8, !tbaa !9
  %490 = load double, ptr %74, align 8, !tbaa !9
  %491 = load double, ptr %75, align 8, !tbaa !9
  %492 = load ptr, ptr %76, align 8, !tbaa !11
  %493 = load i32, ptr %77, align 4, !tbaa !5
  %494 = load i32, ptr %78, align 4, !tbaa !5
  %495 = sub nsw i32 %494, 1
  %496 = load i32, ptr %79, align 4, !tbaa !5
  %497 = load ptr, ptr %80, align 8, !tbaa !11
  %498 = load ptr, ptr %81, align 8, !tbaa !11
  %499 = call double @contr_hrr(i32 noundef %457, double noundef %458, double noundef %459, double noundef %460, ptr noundef %461, i32 noundef %462, i32 noundef %463, i32 noundef %464, ptr noundef %465, ptr noundef %466, i32 noundef %467, double noundef %468, double noundef %469, double noundef %470, ptr noundef %471, i32 noundef %472, i32 noundef %473, i32 noundef %474, ptr noundef %475, ptr noundef %476, i32 noundef %477, double noundef %478, double noundef %479, double noundef %480, ptr noundef %481, i32 noundef %482, i32 noundef %484, i32 noundef %485, ptr noundef %486, ptr noundef %487, i32 noundef %488, double noundef %489, double noundef %490, double noundef %491, ptr noundef %492, i32 noundef %493, i32 noundef %495, i32 noundef %496, ptr noundef %497, ptr noundef %498)
  %500 = load double, ptr %64, align 8, !tbaa !9
  %501 = load double, ptr %74, align 8, !tbaa !9
  %502 = fsub double %500, %501
  %503 = load i32, ptr %42, align 4, !tbaa !5
  %504 = load double, ptr %43, align 8, !tbaa !9
  %505 = load double, ptr %44, align 8, !tbaa !9
  %506 = load double, ptr %45, align 8, !tbaa !9
  %507 = load ptr, ptr %46, align 8, !tbaa !11
  %508 = load i32, ptr %47, align 4, !tbaa !5
  %509 = load i32, ptr %48, align 4, !tbaa !5
  %510 = load i32, ptr %49, align 4, !tbaa !5
  %511 = load ptr, ptr %50, align 8, !tbaa !11
  %512 = load ptr, ptr %51, align 8, !tbaa !11
  %513 = load i32, ptr %52, align 4, !tbaa !5
  %514 = load double, ptr %53, align 8, !tbaa !9
  %515 = load double, ptr %54, align 8, !tbaa !9
  %516 = load double, ptr %55, align 8, !tbaa !9
  %517 = load ptr, ptr %56, align 8, !tbaa !11
  %518 = load i32, ptr %57, align 4, !tbaa !5
  %519 = load i32, ptr %58, align 4, !tbaa !5
  %520 = load i32, ptr %59, align 4, !tbaa !5
  %521 = load ptr, ptr %60, align 8, !tbaa !11
  %522 = load ptr, ptr %61, align 8, !tbaa !11
  %523 = load i32, ptr %62, align 4, !tbaa !5
  %524 = load double, ptr %63, align 8, !tbaa !9
  %525 = load double, ptr %64, align 8, !tbaa !9
  %526 = load double, ptr %65, align 8, !tbaa !9
  %527 = load ptr, ptr %66, align 8, !tbaa !11
  %528 = load i32, ptr %67, align 4, !tbaa !5
  %529 = load i32, ptr %68, align 4, !tbaa !5
  %530 = load i32, ptr %69, align 4, !tbaa !5
  %531 = load ptr, ptr %70, align 8, !tbaa !11
  %532 = load ptr, ptr %71, align 8, !tbaa !11
  %533 = load i32, ptr %72, align 4, !tbaa !5
  %534 = load double, ptr %73, align 8, !tbaa !9
  %535 = load double, ptr %74, align 8, !tbaa !9
  %536 = load double, ptr %75, align 8, !tbaa !9
  %537 = load ptr, ptr %76, align 8, !tbaa !11
  %538 = load i32, ptr %77, align 4, !tbaa !5
  %539 = load i32, ptr %78, align 4, !tbaa !5
  %540 = sub nsw i32 %539, 1
  %541 = load i32, ptr %79, align 4, !tbaa !5
  %542 = load ptr, ptr %80, align 8, !tbaa !11
  %543 = load ptr, ptr %81, align 8, !tbaa !11
  %544 = call double @contr_hrr(i32 noundef %503, double noundef %504, double noundef %505, double noundef %506, ptr noundef %507, i32 noundef %508, i32 noundef %509, i32 noundef %510, ptr noundef %511, ptr noundef %512, i32 noundef %513, double noundef %514, double noundef %515, double noundef %516, ptr noundef %517, i32 noundef %518, i32 noundef %519, i32 noundef %520, ptr noundef %521, ptr noundef %522, i32 noundef %523, double noundef %524, double noundef %525, double noundef %526, ptr noundef %527, i32 noundef %528, i32 noundef %529, i32 noundef %530, ptr noundef %531, ptr noundef %532, i32 noundef %533, double noundef %534, double noundef %535, double noundef %536, ptr noundef %537, i32 noundef %538, i32 noundef %540, i32 noundef %541, ptr noundef %542, ptr noundef %543)
  %545 = call double @llvm.fmuladd.f64(double %502, double %544, double %499)
  store double %545, ptr %41, align 8
  br label %680

546:                                              ; preds = %453
  %547 = load i32, ptr %79, align 4, !tbaa !5
  %548 = icmp sgt i32 %547, 0
  br i1 %548, label %549, label %639

549:                                              ; preds = %546
  %550 = load i32, ptr %42, align 4, !tbaa !5
  %551 = load double, ptr %43, align 8, !tbaa !9
  %552 = load double, ptr %44, align 8, !tbaa !9
  %553 = load double, ptr %45, align 8, !tbaa !9
  %554 = load ptr, ptr %46, align 8, !tbaa !11
  %555 = load i32, ptr %47, align 4, !tbaa !5
  %556 = load i32, ptr %48, align 4, !tbaa !5
  %557 = load i32, ptr %49, align 4, !tbaa !5
  %558 = load ptr, ptr %50, align 8, !tbaa !11
  %559 = load ptr, ptr %51, align 8, !tbaa !11
  %560 = load i32, ptr %52, align 4, !tbaa !5
  %561 = load double, ptr %53, align 8, !tbaa !9
  %562 = load double, ptr %54, align 8, !tbaa !9
  %563 = load double, ptr %55, align 8, !tbaa !9
  %564 = load ptr, ptr %56, align 8, !tbaa !11
  %565 = load i32, ptr %57, align 4, !tbaa !5
  %566 = load i32, ptr %58, align 4, !tbaa !5
  %567 = load i32, ptr %59, align 4, !tbaa !5
  %568 = load ptr, ptr %60, align 8, !tbaa !11
  %569 = load ptr, ptr %61, align 8, !tbaa !11
  %570 = load i32, ptr %62, align 4, !tbaa !5
  %571 = load double, ptr %63, align 8, !tbaa !9
  %572 = load double, ptr %64, align 8, !tbaa !9
  %573 = load double, ptr %65, align 8, !tbaa !9
  %574 = load ptr, ptr %66, align 8, !tbaa !11
  %575 = load i32, ptr %67, align 4, !tbaa !5
  %576 = load i32, ptr %68, align 4, !tbaa !5
  %577 = load i32, ptr %69, align 4, !tbaa !5
  %578 = add nsw i32 %577, 1
  %579 = load ptr, ptr %70, align 8, !tbaa !11
  %580 = load ptr, ptr %71, align 8, !tbaa !11
  %581 = load i32, ptr %72, align 4, !tbaa !5
  %582 = load double, ptr %73, align 8, !tbaa !9
  %583 = load double, ptr %74, align 8, !tbaa !9
  %584 = load double, ptr %75, align 8, !tbaa !9
  %585 = load ptr, ptr %76, align 8, !tbaa !11
  %586 = load i32, ptr %77, align 4, !tbaa !5
  %587 = load i32, ptr %78, align 4, !tbaa !5
  %588 = load i32, ptr %79, align 4, !tbaa !5
  %589 = sub nsw i32 %588, 1
  %590 = load ptr, ptr %80, align 8, !tbaa !11
  %591 = load ptr, ptr %81, align 8, !tbaa !11
  %592 = call double @contr_hrr(i32 noundef %550, double noundef %551, double noundef %552, double noundef %553, ptr noundef %554, i32 noundef %555, i32 noundef %556, i32 noundef %557, ptr noundef %558, ptr noundef %559, i32 noundef %560, double noundef %561, double noundef %562, double noundef %563, ptr noundef %564, i32 noundef %565, i32 noundef %566, i32 noundef %567, ptr noundef %568, ptr noundef %569, i32 noundef %570, double noundef %571, double noundef %572, double noundef %573, ptr noundef %574, i32 noundef %575, i32 noundef %576, i32 noundef %578, ptr noundef %579, ptr noundef %580, i32 noundef %581, double noundef %582, double noundef %583, double noundef %584, ptr noundef %585, i32 noundef %586, i32 noundef %587, i32 noundef %589, ptr noundef %590, ptr noundef %591)
  %593 = load double, ptr %65, align 8, !tbaa !9
  %594 = load double, ptr %75, align 8, !tbaa !9
  %595 = fsub double %593, %594
  %596 = load i32, ptr %42, align 4, !tbaa !5
  %597 = load double, ptr %43, align 8, !tbaa !9
  %598 = load double, ptr %44, align 8, !tbaa !9
  %599 = load double, ptr %45, align 8, !tbaa !9
  %600 = load ptr, ptr %46, align 8, !tbaa !11
  %601 = load i32, ptr %47, align 4, !tbaa !5
  %602 = load i32, ptr %48, align 4, !tbaa !5
  %603 = load i32, ptr %49, align 4, !tbaa !5
  %604 = load ptr, ptr %50, align 8, !tbaa !11
  %605 = load ptr, ptr %51, align 8, !tbaa !11
  %606 = load i32, ptr %52, align 4, !tbaa !5
  %607 = load double, ptr %53, align 8, !tbaa !9
  %608 = load double, ptr %54, align 8, !tbaa !9
  %609 = load double, ptr %55, align 8, !tbaa !9
  %610 = load ptr, ptr %56, align 8, !tbaa !11
  %611 = load i32, ptr %57, align 4, !tbaa !5
  %612 = load i32, ptr %58, align 4, !tbaa !5
  %613 = load i32, ptr %59, align 4, !tbaa !5
  %614 = load ptr, ptr %60, align 8, !tbaa !11
  %615 = load ptr, ptr %61, align 8, !tbaa !11
  %616 = load i32, ptr %62, align 4, !tbaa !5
  %617 = load double, ptr %63, align 8, !tbaa !9
  %618 = load double, ptr %64, align 8, !tbaa !9
  %619 = load double, ptr %65, align 8, !tbaa !9
  %620 = load ptr, ptr %66, align 8, !tbaa !11
  %621 = load i32, ptr %67, align 4, !tbaa !5
  %622 = load i32, ptr %68, align 4, !tbaa !5
  %623 = load i32, ptr %69, align 4, !tbaa !5
  %624 = load ptr, ptr %70, align 8, !tbaa !11
  %625 = load ptr, ptr %71, align 8, !tbaa !11
  %626 = load i32, ptr %72, align 4, !tbaa !5
  %627 = load double, ptr %73, align 8, !tbaa !9
  %628 = load double, ptr %74, align 8, !tbaa !9
  %629 = load double, ptr %75, align 8, !tbaa !9
  %630 = load ptr, ptr %76, align 8, !tbaa !11
  %631 = load i32, ptr %77, align 4, !tbaa !5
  %632 = load i32, ptr %78, align 4, !tbaa !5
  %633 = load i32, ptr %79, align 4, !tbaa !5
  %634 = sub nsw i32 %633, 1
  %635 = load ptr, ptr %80, align 8, !tbaa !11
  %636 = load ptr, ptr %81, align 8, !tbaa !11
  %637 = call double @contr_hrr(i32 noundef %596, double noundef %597, double noundef %598, double noundef %599, ptr noundef %600, i32 noundef %601, i32 noundef %602, i32 noundef %603, ptr noundef %604, ptr noundef %605, i32 noundef %606, double noundef %607, double noundef %608, double noundef %609, ptr noundef %610, i32 noundef %611, i32 noundef %612, i32 noundef %613, ptr noundef %614, ptr noundef %615, i32 noundef %616, double noundef %617, double noundef %618, double noundef %619, ptr noundef %620, i32 noundef %621, i32 noundef %622, i32 noundef %623, ptr noundef %624, ptr noundef %625, i32 noundef %626, double noundef %627, double noundef %628, double noundef %629, ptr noundef %630, i32 noundef %631, i32 noundef %632, i32 noundef %634, ptr noundef %635, ptr noundef %636)
  %638 = call double @llvm.fmuladd.f64(double %595, double %637, double %592)
  store double %638, ptr %41, align 8
  br label %680

639:                                              ; preds = %546
  br label %640

640:                                              ; preds = %639
  br label %641

641:                                              ; preds = %640
  br label %642

642:                                              ; preds = %641
  br label %643

643:                                              ; preds = %642
  br label %644

644:                                              ; preds = %643
  %645 = load i32, ptr %42, align 4, !tbaa !5
  %646 = load double, ptr %43, align 8, !tbaa !9
  %647 = load double, ptr %44, align 8, !tbaa !9
  %648 = load double, ptr %45, align 8, !tbaa !9
  %649 = load ptr, ptr %46, align 8, !tbaa !11
  %650 = load i32, ptr %47, align 4, !tbaa !5
  %651 = load i32, ptr %48, align 4, !tbaa !5
  %652 = load i32, ptr %49, align 4, !tbaa !5
  %653 = load ptr, ptr %50, align 8, !tbaa !11
  %654 = load ptr, ptr %51, align 8, !tbaa !11
  %655 = load i32, ptr %52, align 4, !tbaa !5
  %656 = load double, ptr %53, align 8, !tbaa !9
  %657 = load double, ptr %54, align 8, !tbaa !9
  %658 = load double, ptr %55, align 8, !tbaa !9
  %659 = load ptr, ptr %56, align 8, !tbaa !11
  %660 = load ptr, ptr %60, align 8, !tbaa !11
  %661 = load ptr, ptr %61, align 8, !tbaa !11
  %662 = load i32, ptr %62, align 4, !tbaa !5
  %663 = load double, ptr %63, align 8, !tbaa !9
  %664 = load double, ptr %64, align 8, !tbaa !9
  %665 = load double, ptr %65, align 8, !tbaa !9
  %666 = load ptr, ptr %66, align 8, !tbaa !11
  %667 = load i32, ptr %67, align 4, !tbaa !5
  %668 = load i32, ptr %68, align 4, !tbaa !5
  %669 = load i32, ptr %69, align 4, !tbaa !5
  %670 = load ptr, ptr %70, align 8, !tbaa !11
  %671 = load ptr, ptr %71, align 8, !tbaa !11
  %672 = load i32, ptr %72, align 4, !tbaa !5
  %673 = load double, ptr %73, align 8, !tbaa !9
  %674 = load double, ptr %74, align 8, !tbaa !9
  %675 = load double, ptr %75, align 8, !tbaa !9
  %676 = load ptr, ptr %76, align 8, !tbaa !11
  %677 = load ptr, ptr %80, align 8, !tbaa !11
  %678 = load ptr, ptr %81, align 8, !tbaa !11
  %679 = call double @contr_vrr(i32 noundef %645, double noundef %646, double noundef %647, double noundef %648, ptr noundef %649, i32 noundef %650, i32 noundef %651, i32 noundef %652, ptr noundef %653, ptr noundef %654, i32 noundef %655, double noundef %656, double noundef %657, double noundef %658, ptr noundef %659, ptr noundef %660, ptr noundef %661, i32 noundef %662, double noundef %663, double noundef %664, double noundef %665, ptr noundef %666, i32 noundef %667, i32 noundef %668, i32 noundef %669, ptr noundef %670, ptr noundef %671, i32 noundef %672, double noundef %673, double noundef %674, double noundef %675, ptr noundef %676, ptr noundef %677, ptr noundef %678)
  store double %679, ptr %41, align 8
  br label %680

680:                                              ; preds = %644, %549, %456, %363, %270, %177, %84
  %681 = load double, ptr %41, align 8
  ret double %681
}

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

; Function Attrs: nounwind uwtable
declare dso_local double @contr_vrr(i32 noundef, double noundef, double noundef, double noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, ptr noundef, ptr noundef) #0

attributes #0 = { nounwind 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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }

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

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


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

; Function Attrs: nounwind uwtable
define dso_local double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39) local_unnamed_addr #0 {
  %41 = icmp sgt i32 %15, 0
  br i1 %41, label %42, label %49

common.ret542:                                    ; preds = %87, %78, %69, %60, %51, %42, %common.ret
  %common.ret542.op = phi double [ %94, %common.ret ], [ %48, %42 ], [ %57, %51 ], [ %66, %60 ], [ %75, %69 ], [ %84, %78 ], [ %93, %87 ]
  ret double %common.ret542.op

42:                                               ; preds = %40
  %43 = add nsw i32 %5, 1
  %44 = add nsw i32 %15, -1
  %45 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %43, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %44, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %46 = fsub double %1, %11
  %47 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %44, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %48 = tail call double @llvm.fmuladd.f64(double %46, double %47, double %45)
  br label %common.ret542

49:                                               ; preds = %40
  %50 = icmp sgt i32 %16, 0
  br i1 %50, label %51, label %58

51:                                               ; preds = %49
  %52 = add nsw i32 %6, 1
  %53 = add nsw i32 %16, -1
  %54 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %52, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %53, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %55 = fsub double %2, %12
  %56 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %53, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %57 = tail call double @llvm.fmuladd.f64(double %55, double %56, double %54)
  br label %common.ret542

58:                                               ; preds = %49
  %59 = icmp sgt i32 %17, 0
  br i1 %59, label %60, label %67

60:                                               ; preds = %58
  %61 = add nsw i32 %7, 1
  %62 = add nsw i32 %17, -1
  %63 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %61, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %62, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %64 = fsub double %3, %13
  %65 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %62, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %66 = tail call double @llvm.fmuladd.f64(double %64, double %65, double %63)
  br label %common.ret542

67:                                               ; preds = %58
  %68 = icmp sgt i32 %35, 0
  br i1 %68, label %69, label %76

69:                                               ; preds = %67
  %70 = add nsw i32 %25, 1
  %71 = add nsw i32 %35, -1
  %72 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %70, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %71, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %73 = fsub double %21, %31
  %74 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %71, i32 noundef %36, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %75 = tail call double @llvm.fmuladd.f64(double %73, double %74, double %72)
  br label %common.ret542

76:                                               ; preds = %67
  %77 = icmp sgt i32 %36, 0
  br i1 %77, label %78, label %85

78:                                               ; preds = %76
  %79 = add nsw i32 %26, 1
  %80 = add nsw i32 %36, -1
  %81 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %79, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %80, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %82 = fsub double %22, %32
  %83 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %80, i32 noundef %37, ptr noundef %38, ptr noundef %39)
  %84 = tail call double @llvm.fmuladd.f64(double %82, double %83, double %81)
  br label %common.ret542

85:                                               ; preds = %76
  %86 = icmp sgt i32 %37, 0
  br i1 %86, label %87, label %common.ret

87:                                               ; preds = %85
  %88 = add nsw i32 %27, 1
  %89 = add nsw i32 %37, -1
  %90 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %88, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %89, ptr noundef %38, ptr noundef %39)
  %91 = fsub double %23, %33
  %92 = tail call double @contr_hrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, i32 noundef %15, i32 noundef %16, i32 noundef %17, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, i32 noundef %35, i32 noundef %36, i32 noundef %89, ptr noundef %38, ptr noundef %39)
  %93 = tail call double @llvm.fmuladd.f64(double %91, double %92, double %90)
  br label %common.ret542

common.ret:                                       ; preds = %85
  %94 = tail call double @contr_vrr(i32 noundef %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7, ptr noundef %8, ptr noundef %9, i32 noundef %10, double noundef %11, double noundef %12, double noundef %13, ptr noundef %14, ptr noundef %18, ptr noundef %19, i32 noundef %20, double noundef %21, double noundef %22, double noundef %23, ptr noundef %24, i32 noundef %25, i32 noundef %26, i32 noundef %27, ptr noundef %28, ptr noundef %29, i32 noundef %30, double noundef %31, double noundef %32, double noundef %33, ptr noundef %34, ptr noundef %38, ptr noundef %39)
  br label %common.ret542
}

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

; Function Attrs: nounwind uwtable
declare dso_local double @contr_vrr(i32 noundef, double noundef, double noundef, double noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef, double noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

attributes #0 = { nounwind 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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }

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

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


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