; ModuleID = '__module' source_filename = "__module" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" define i64 @__crasher_manual_min2__main(ptr %input_ptrs, ptr %output_ptrs, ptr %tmp_buffer, ptr %events, ptr %user_data, ptr %runtime, i64 %continuation_point) { entry: br label %start start: ; preds = %entry %0 = call i1 @____crasher_manual_min2__main_partition_0(ptr %input_ptrs, ptr %output_ptrs, ptr %tmp_buffer, ptr %events, ptr %user_data, ptr %runtime) %1 = getelementptr [0 x ptr], ptr %output_ptrs, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 ret i64 0 } define i1 @____crasher_manual_min2__main_partition_0(ptr %input_ptrs, ptr %output_ptrs, ptr %tmp_buffer, ptr %events, ptr %user_data, ptr %runtime) { entry: %0 = alloca i64, align 8 %1 = getelementptr [0 x ptr], ptr %input_ptrs, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 %3 = call i1 @____crasher_manual_min2__main_x5_2(ptr %2, ptr %0) %4 = alloca i128, align 8 %5 = call i1 @____crasher_manual_min2__main_x6_3(ptr %0, ptr %4) %6 = alloca i256, align 8 %7 = call i1 @____crasher_manual_min2__main_zero_ext.5_5(ptr %4, ptr %6) %8 = alloca i256, align 8 %9 = call i1 @____crasher_manual_min2__main_x9_4(ptr %4, ptr %0, ptr %8) %10 = getelementptr [0 x ptr], ptr %output_ptrs, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 %12 = call i1 @____crasher_manual_min2__main_gate_src_6(ptr %6, ptr %8, ptr %11) ret i1 false } define private i1 @____crasher_manual_min2__main_x5_2(ptr %update_value_ptr, ptr %output_0_ptr) { entry: %x4 = load i64, ptr %update_value_ptr, align 8 %x41 = load i64, ptr %update_value_ptr, align 8 %x42 = load i64, ptr %update_value_ptr, align 8 %start_is_inbounds = icmp ult i64 %x41, 51 %0 = select i1 %start_is_inbounds, i64 %x41, i64 0 %1 = shl i64 2251799813685247, %0 %mask = xor i64 %1, -1 %2 = and i64 %mask, %x4 %3 = shl i64 %x42, %0 %4 = or i64 %2, %3 %result = select i1 %start_is_inbounds, i64 %4, i64 %x4 %5 = and i64 %result, 2251799813685247 store i64 %5, ptr %output_0_ptr, align 8 ret i1 false } define private i1 @____crasher_manual_min2__main_x6_3(ptr %operand_1_ptr, ptr %output_0_ptr) { entry: %x5 = load i64, ptr %operand_1_ptr, align 8 %0 = zext i64 %x5 to i128 %1 = shl i128 %0, 51 %2 = or i128 0, %1 %x51 = load i64, ptr %operand_1_ptr, align 8 %3 = zext i64 %x51 to i128 %4 = shl i128 %3, 0 %5 = or i128 %2, %4 %6 = and i128 %5, 5070602400912917605986812821503 store i128 %6, ptr %output_0_ptr, align 8 ret i1 false } define private i1 @____crasher_manual_min2__main_zero_ext.5_5(ptr %operand_ptr, ptr %output_0_ptr) { entry: %x6 = load i128, ptr %operand_ptr, align 8 %0 = zext i128 %x6 to i256 %1 = and i256 %0, 11417981541647679048466287755595961091061972991 store i256 %1, ptr %output_0_ptr, align 8 ret i1 false } define private i1 @____crasher_manual_min2__main_x9_4(ptr %operand_0_ptr, ptr %operand_1_ptr, ptr %output_0_ptr) { entry: %x6 = load i128, ptr %operand_0_ptr, align 8 %0 = zext i128 %x6 to i256 %1 = shl i256 %0, 51 %2 = or i256 0, %1 %x5 = load i64, ptr %operand_1_ptr, align 8 %3 = zext i64 %x5 to i256 %4 = shl i256 %3, 0 %5 = or i256 %2, %4 %6 = and i256 %5, 11417981541647679048466287755595961091061972991 store i256 %6, ptr %output_0_ptr, align 8 ret i1 false } define private i1 @____crasher_manual_min2__main_gate_src_6(ptr %lhs_ptr, ptr %rhs_ptr, ptr %output_0_ptr) { entry: %zero_ext.5 = load i256, ptr %lhs_ptr, align 8 %x9 = load i256, ptr %rhs_ptr, align 8 %0 = icmp ne i256 %zero_ext.5, %x9 %1 = or i1 false, %0 %2 = and i1 %1, true store i1 %2, ptr %output_0_ptr, align 1 ret i1 false } define i64 @__crasher_manual_min2__main_packed(ptr %input_ptrs, ptr %output_ptrs, ptr %tmp_buffer, ptr %events, ptr %user_data, ptr %runtime, i64 %continuation_point) { entry: %0 = alloca [1 x ptr], align 8 %1 = alloca i64, align 8 %2 = getelementptr [0 x ptr], ptr %0, i32 0, i32 0 store ptr %1, ptr %2, align 8 %3 = getelementptr [0 x ptr], ptr %input_ptrs, i32 0, i32 0 %4 = load ptr, ptr %3, align 8 %5 = getelementptr [0 x i8], ptr %4, i32 0, i32 0 %6 = load i56, ptr %5, align 8 %7 = lshr i56 %6, 0 %8 = zext i56 %7 to i64 %9 = and i64 2251799813685247, %8 store i64 %9, ptr %1, align 8 %10 = alloca [1 x ptr], align 8 %11 = alloca i1, align 1 %12 = getelementptr [0 x ptr], ptr %10, i32 0, i32 0 store ptr %11, ptr %12, align 8 %13 = call i64 @__crasher_manual_min2__main(ptr %0, ptr %10, ptr %tmp_buffer, ptr %events, ptr %user_data, ptr %runtime, i64 %continuation_point) %14 = getelementptr [0 x ptr], ptr %10, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr [0 x ptr], ptr %output_ptrs, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = getelementptr [0 x i8], ptr %17, i32 0, i32 0 %19 = load i1, ptr %15, align 1 %20 = zext i1 %19 to i8 store i8 %20, ptr %18, align 1 ret i64 %13 }