; The same computation with no float_computations flag: what the adaptive profile forbids, refused on its line. define i64 @main() #0 { entry: call void @__quantum__rt__initialize(ptr null) %a = fadd double 0.25, 0.5 %b = fmul double %a, 2.0 call void @__quantum__qis__ry__body(double %b, ptr null) call void @__quantum__qis__h__body(ptr inttoptr (i64 1 to ptr)) call void @__quantum__qis__mz__body(ptr null, ptr writeonly null) call void @__quantum__qis__mz__body(ptr inttoptr (i64 1 to ptr), ptr writeonly inttoptr (i64 1 to ptr)) %r0 = call i1 @__quantum__rt__read_result(ptr readonly null) %r1 = call i1 @__quantum__rt__read_result(ptr readonly inttoptr (i64 1 to ptr)) %x = xor i1 %r0, %r1 %n = xor i1 %x, true br i1 %n, label %same, label %out same: call void @__quantum__qis__x__body(ptr inttoptr (i64 2 to ptr)) br label %out out: call void @__quantum__qis__mz__body(ptr inttoptr (i64 2 to ptr), ptr writeonly inttoptr (i64 2 to ptr)) ret i64 0 } attributes #0 = { "entry_point" "qir_profiles"="adaptive_profile" "output_labeling_schema"="labels" "required_num_qubits"="3" "required_num_results"="3" } attributes #1 = { "irreversible" } !llvm.module.flags = !{!0, !1, !2, !3} !0 = !{i32 1, !"qir_major_version", i32 2} !1 = !{i32 7, !"qir_minor_version", i32 1} !2 = !{i32 1, !"dynamic_qubit_management", i1 false} !3 = !{i32 1, !"dynamic_result_management", i1 false}