hugr-llvm 0.25.0

A general and extensible crate for lowering HUGRs into LLVM IR
Documentation
---
source: hugr-llvm/src/extension/conversions.rs
expression: mod_str
---
; ModuleID = 'test_context'
source_filename = "test_context"

@0 = private unnamed_addr constant [58 x i8] c"Float value too big to convert to int of given width (64)\00", align 1

define private { i1, { i32, i8* }, i64 } @_hl.main.1(double %0) {
alloca_block:
  br label %entry_block

entry_block:                                      ; preds = %alloca_block
  %within_upper_bound = fcmp olt double %0, 0x43F0000000000000
  %within_lower_bound = fcmp ole double 0.000000e+00, %0
  %success = and i1 %within_upper_bound, %within_lower_bound
  %trunc_result = fptoui double %0 to i64
  %1 = insertvalue { i1, { i32, i8* }, i64 } { i1 true, { i32, i8* } poison, i64 poison }, i64 %trunc_result, 2
  %2 = select i1 %success, { i1, { i32, i8* }, i64 } %1, { i1, { i32, i8* }, i64 } { i1 false, { i32, i8* } { i32 2, i8* getelementptr inbounds ([58 x i8], [58 x i8]* @0, i32 0, i32 0) }, i64 poison }
  ret { i1, { i32, i8* }, i64 } %2
}