define i32 @function(i8* %x, i32* %y) { 
entry: 
  %load_x = load i8, ptr %x, align 1 
  %load_y = load i32, ptr %y, align 4 
  %ext_X = zext i8 %load_x to i32 
  %add_result = add i32 %load_y, %ext_X 
  %trunc_result = trunc i32 %add_result to i16 
  %ret = zext i16 %trunc_result to i32 
  ret i32 %ret 
}

define i32 @another_function(i16* %x, i64* %y) { 
entry: 
  %load_x = load i16, ptr %x, align 2 
  %load_y = load i64, ptr %y, align 8 
  %ext_X = sext i16 %load_x to i64 
  %mul_result = mul i64 %load_y, %ext_X 
  %trunc_result = trunc i64 %mul_result to i32 
  ret i32 %trunc_result 
}