; ModuleID = 'qir_unrolled_iterations' source_filename = "qir_unrolled_iterations" %Qubit = type opaque %Result = type opaque @0 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @1 = private unnamed_addr constant [2 x i8] c"1\00", align 1 define void @__hugr__.main.1() local_unnamed_addr #0 { alloca_block: tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %0 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %0, label %21, label %cond_374_case_0 cond_374_case_0: ; preds = %alloca_block, %21 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %1 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %1, label %2, label %cond_374_case_0.1 2: ; preds = %cond_374_case_0 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.1 cond_374_case_0.1: ; preds = %2, %cond_374_case_0 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %3 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %3, label %4, label %cond_374_case_0.2 4: ; preds = %cond_374_case_0.1 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.2 cond_374_case_0.2: ; preds = %4, %cond_374_case_0.1 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %5 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %5, label %6, label %cond_374_case_0.3 6: ; preds = %cond_374_case_0.2 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.3 cond_374_case_0.3: ; preds = %6, %cond_374_case_0.2 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %7 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %7, label %8, label %cond_374_case_0.4 8: ; preds = %cond_374_case_0.3 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.4 cond_374_case_0.4: ; preds = %8, %cond_374_case_0.3 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %9 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %9, label %10, label %cond_374_case_0.5 10: ; preds = %cond_374_case_0.4 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.5 cond_374_case_0.5: ; preds = %10, %cond_374_case_0.4 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %11 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %11, label %12, label %cond_374_case_0.6 12: ; preds = %cond_374_case_0.5 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.6 cond_374_case_0.6: ; preds = %12, %cond_374_case_0.5 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %13 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %13, label %14, label %cond_374_case_0.7 14: ; preds = %cond_374_case_0.6 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.7 cond_374_case_0.7: ; preds = %14, %cond_374_case_0.6 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %15 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %15, label %16, label %cond_374_case_0.8 16: ; preds = %cond_374_case_0.7 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.8 cond_374_case_0.8: ; preds = %16, %cond_374_case_0.7 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* nonnull inttoptr (i64 2 to %Qubit*)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*), %Result* nonnull inttoptr (i64 2 to %Result*)) %17 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 2 to %Result*)) br i1 %17, label %18, label %cond_374_case_0.9 18: ; preds = %cond_374_case_0.8 tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0.9 cond_374_case_0.9: ; preds = %18, %cond_374_case_0.8 tail call void @__quantum__qis__mz__body(%Qubit* null, %Result* null) %19 = tail call i1 @__quantum__qis__read_result__body(%Result* null) tail call void @__quantum__rt__bool_record_output(i1 %19, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i64 0, i64 0)) tail call void @__quantum__qis__mz__body(%Qubit* nonnull inttoptr (i64 1 to %Qubit*), %Result* nonnull inttoptr (i64 1 to %Result*)) %20 = tail call i1 @__quantum__qis__read_result__body(%Result* nonnull inttoptr (i64 1 to %Result*)) tail call void @__quantum__rt__bool_record_output(i1 %20, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @1, i64 0, i64 0)) ret void 21: ; preds = %alloca_block tail call void @__quantum__qis__phasedx__body(double 0x3FF921FB54442D18, double 0xBFF921FB54442D18, %Qubit* null) tail call void @__quantum__qis__rz__body(double 0x400921FB54442D18, %Qubit* null) br label %cond_374_case_0 } declare void @__quantum__qis__mz__body(%Qubit*, %Result*) local_unnamed_addr declare i1 @__quantum__qis__read_result__body(%Result*) local_unnamed_addr declare void @__quantum__rt__bool_record_output(i1, i8*) local_unnamed_addr declare void @__quantum__qis__phasedx__body(double, double, %Qubit*) local_unnamed_addr declare void @__quantum__qis__rz__body(double, %Qubit*) local_unnamed_addr attributes #0 = { "entry_point" "output_labeling_schema" "qir_profiles"="custom" "required_num_qubits"="3" "required_num_results"="3" } !llvm.module.flags = !{!0, !1, !2, !3} !0 = !{i32 1, !"qir_major_version", i32 1} !1 = !{i32 7, !"qir_minor_version", i32 0} !2 = !{i32 1, !"dynamic_qubit_management", i1 false} !3 = !{i32 1, !"dynamic_result_management", i1 false}